SMS:CGWAVE Files

From XMS Wiki
Jump to: navigation, search

The input and output files for a CGWAVE model are as follows:

Input Files
Name Description
CGI CGWAVE Input File
CG1 CGWAVE Input 1D Depths File
XYZ Bathymetry File
XML Extensible Markup Language (XML) File
MIF Points Polylines and Polygons Management Info Format File
MID Points Polylines and Polygons File
SMS SMS Project File
Output Files
Name Description
CGO CGWAVE Output File
H5 CGWAVE Translator Output XMDF File
OUT CGWAVE Wave Potential Output File
MATERIALS Materials File
MAT Materials File
MAP Mesh File

Input Files

The *.cgi File

CGWVE always requires an input file to run. This input file is created by SMS with an extension of *.cgi (CGwave Input). It is an ASCII file that defines the model parameters, the boundary definition, the nodal locations and the connectivity. Lines that begin with a "%" indicate the line is a comment. These are terminated with a "&" character. There is a comment for each value on the data line, so five comment lines indicate the following data line will have five values. This format is generally followed throughout. Some utilities available for processing CGWAVE data files require that all the "standard" comments exist. The model parameter data is sequentially read, and follows the following format:

%number of characters in title &

 %number of terms in the fourier-bessel series solution (default = 35) &
 %output echo frequency to screen &
 %maximum number of iterations for convergence &
 %max no of iters. for nonlinear mecha (fri,breaking,dispersion) &
          30          35         100      500000          10

Title of this Run, jul 10 2007

 %type of application &
 %type of open boundary condition &
 %bottom friction &
 %wave breaking &
 %nonlinear dispersion relation &
 %choice of solver &
           0           3           1           1           0           2
 %number of components &
           1
 %Incident Wave Angle || Wave Period(s) || Incident Wave Amplitude &
  225.0000000000000000E+00   30.00000000000000       1.000000000000000    
 %exterior reflection &
 %bottom friction coefficient &
 %wave breaking parameter &
 %tolerance for the equations &
 %tolerance for nonlinear mechanisms &
   0.00E+00    0.12E+00    0.15E+00    0.10E-09    0.10E-06

After the model parameter data comes the boundary definition. This includes two blocks of data marked with "&C" to indicate a boundary open to have waves enter, and "&B" for sections of coastline and islands (land boundaries). There can only be one "Open" boundary (&C). Its type will be 0 or 1 indicating semi-circle or full circle. The full circle is applied when modeling waves around an island. Multiple closed boundaries (&B) may be included. One for each segment of the coastline (changing reflection coefficients), and at least one for each island in the domain.

%Open boundary flag

 %type of open boundary &
 %number of nodes on it &
 %center of the circle - x &
 %center of the circle - y &
 %initial angle &
 %semicircle orientation angle (ccw from +x axis, E=0, N=90, W=180, S=270) &
 %node id, ... ... 

&C

0  220 0.000000000E+00 0.000000000E+00 0.000000000E+00 0.230036700E+02
         220         219         218         217         216         215
         214         213         212         211         210         209
         208         207         206         205         204         203
         .
         .
         .
         .
         .
 %Coastline boundary flag
 %number of nodes on it &
 %reflection coefficient &
 %node id, ... ... 

&B

         360  5.0000000000000003E-02
           1         221         440         659         880         881
        1103        1329        1559        1793        1794        2036
        2285        2538        2798        2799        2800        3070
         .
         .
         .
         .
         .

Following the boundary definition, the file includes the locations of the computational nodes with a "&N" identifier:

 %Node coordinates and Depth &
 %number of nodes &

&N

      236211
-0.452985572E+04  0.259162993E+04  0.215026303E+00 -0.452888341E+04  0.259197240E+04  0.242541197E+00
-0.452784808E+04  0.259233707E+04  0.271839587E+00 -0.452671893E+04  0.259273479E+04  0.303792731E+00
-0.452546078E+04  0.259317794E+04  0.334700922E+00 -0.452409490E+04  0.259365905E+04  0.361240031E+00
         .
         .
         .
         .
         .

Following the nodal locations comes the material definitions with a "&M" identifier. Material types define two important options for CGWAVE. First, roughness is specified as a material. Second, floating breakwaters are defined in the material block. Each type of breakwater, and each roughness zone will require it's own material type. The materials are then assigned to each element in the element block below. In the example below, two materials are defined. The first has a roughness of 0.5 and is type 0, indicating it is not a floating breakwater. The second has the same roughness and is of type 1, indicating it is a floating breakwater. For the floating breakwater, two additional parameters are included, a draft and a coefficient of transmission.

%Materials
%number of materials &
%material id &
%bottom friction &
%floating dock &
%draft &
%coefficient.

&M 2 1 0.5000 0 0.0000 0.0000 2 0.5000 1 0.0000 1.0000

Following the material definitions comes the element connectivity with a "&E" identifier. Each line includes the three node identifiers that make up an element and the material type that fills that element.

 %Elements
 %number of elements &

&E

      456220
           1         221           2        1
         221         222           2        1
         222           3           2        1
        .
         .
         .
         .
         .

The *.cg1 File

When running CGWAVE from for varied sloped, semi-circular boundaries, it is recommended that the two "Semi 1D Lines" option be used. This option transforms the input wave conditions from the offshore depth to a variety of depths as those conditions propagate shoreward. The transformed conditions are mapped to the variable depth boundary of the semi-circle (open boundary). SMS extracts depths from the surrounding survey if it exists. Otherwise it is necessary to create a profile from the deep water location where the wave conditions are sampled, through to the coastline. The file format includes two such profiles. One marches down the left side of the semi-circle, and the other down the right. The format of each profile includes the distance between sample points and the number of sample points. Two other values are included as space holders for now. SMS always writes out "0.0 1" for these values. The file then includes one line for each sample point including a depth and an optional roughness value at that depth as follows:

0.5000 4912  0.0  1
   73.394101    0.120000
   73.223910    0.120000
   73.053719    0.120000
         .
         .
         .
         .
   9.177065    0.120000
   7.433389    0.120000
   5.914170    0.120000

Output Files

CGWAVE creates a single *.cgo ASCII solution file. It includes a block of data for each input wave condition. The file includes a complex number that defines the wave amplitude and phase at each node for each wave condition. When pulling this file into SMS, the CGWAVE–Trans post-processor will be executed in order to turn the *.cgo ASCII file into an XMDF (*.h5) file that can be easily read by SMS.

Related Topics