CMS-Wave Features
Advanced Features
The most recent CMS-Wave code developed is Version 3.2. Several new capabilities and advanced features in this version include:
- Full-plane
- Automatic wave run-up calculation
- Infra-gravity wave
- Nonlinear wave-wave interaction
- Muddy bottom
- Binary file output
- Selection of multiple processors
- Permeable structure
- Spatially varied wind input
- Spatially varied spectral input
- Grid nesting
Users can use SMS11 or simply edit the existing model control file *.std to specify some of these advanced features.
- To include (trigger) either of wave run-up, infra-gravity wave, nonlinear wave-wave interaction,
binary (xmdf) output, multiple processors, muddy bed, and spatial wind field input is just a one- click step in the SMS11 interface (Fig 6.1). Additional files are required for the muddy bed and spatial wind field input.
- If the muddy bed calculation is required, users shall prepare a mud.dat file or *.mud (in the
same format as *.dep) to list the spatial maximum kinematic viscosity for the entire grid (recommended maximum kinematic viscosity for mud is 0.04 m2/sec)
- If the spatial wind field input is required, users shall prepare a wind.dat file or *.wind (in the
same format as *.cur) to provide the x- and y-component wind speed data corresponding to the incident wave conditions in the model grid.
Permeable Structures
- Permeable structure – users will need to select and specify permeable structure cells through
SMS11 CMS-Wave Assign Cell Attributes and select Permeable Breakwater (see Fig 6.2). Because this permeable structure cell feature is not yet available (functional) in the present SMS11 Beta, users need to modify the *.struct to manually assign the permeable structure cells of interest. Recall that each feature cell is described by four parameters, istruc, jstruc, kstruc, and cstruc in a line format in *.struct (CMS-Wave Technical Report CHL-TR-08-13).
istruc = i-th column in the grid jstruc = j-th row in the grid kstruc = feature cell identity = 1, for adding alternative feature or structure (immersed or exposed) without
modifying the input depth
= 2, for calculation of wave runup and overwash on beach face or structure, and
adjacent land
= 3, for calculation of transmitted waves of a floating breakwater = 4, for vertical wall breakwater = 5, for composite or rubble-mound breakwater = 6, for a highly permeable structure like the pier or bridge
=7, for a low-permeable structure, like the rubble-mound breakwater
cstruc =feature structure characteristic length = feature structure depth, for kstruc = 1 (assume a land cell if not provided) = beach/structure elevation above mean water level, for kstruc = 2 (use the input
depth if not provided; no effect for cstruc < 0)
= floating breakwater draft, for kstruc =3 (skip if not provided or cstruc < 0.05 m) = breakwater/structure elevation, for kstruc = 4 or 5 (use the input depth if not
provided; immersed if cstruc < 0)
= the permeable portion (>0, the section below the mean water depth) of a high-
crest structure for kstruc = 6 or 7 In the Figure 2 example, users can modify 2009.struct to assign South Jetty 6 seaward end breakwater cells as permeable ones. The top 10 lines of the modified 2009.struct is shown below (the number 191 in the first row is the total structure cells in *.struct) 191 76 110 7 1.5 77 110 7 1.5 78 110 7 1.5 79 110 7 1.5 76 111 7 1.5 77 111 7 1.5 91 10 5 92 10 5 93 10 5
Figure 6.2.1 CMS-Wave '''Assign Cell Attributes 'in SMS11.
Spatially Varied Spectral Wave Input
- Spatially varied spectral input – This is simply the case as in a child grid that spatially varied
wave spectra are permitted to assign at user specified locations along or near the seaward boundary of the child grid. To apply spatially varied spectra for wave input without a parent grid, users will need to prepare the wave input file with the format as described in the child grid run. A FORTRAN program merge-eng-to-nst.exe is provided to combine all wave spectra files (*.eng) from individual locations into a single wave input file in the format for spatially varied spectral input to CMS-Wave. Figure 6.4.1 shows the map of two locations that each location has a wave input files available, 2009-ndbc.eng at Pt 1 (coordinates are 192,602 m and 151,037 m) and 2009-sp154.eng at Pt 2 (coordinates are 192,315 m and 149,579 m) – recall that 2009- ndbc.eng and 2009-sp154.eng were originally generated for the parent grid. Figure 6.4.2 shows running merge-eng-to-nst.exe in DOS to combine two wave input files into one single wave input file (spatially varied spectral wave input to the child grid). Because 2009-ndbc.eng and 2009-sp154.eng were generated respect to the shore-normal direction at 167 deg and the local child grid orientation is 165 deg, a -2 deg direction adjustment is needed in running merge-eng- to-nst.exe here.
It is required that all individual wave input files must cover the same period and timestamps (users must edit the files to fill the missing data). In the example, wave spectra at time stamps 09122000, 0912003, and 0912006 are missing in 2009-ndbc.eng, and wave spectra at timestamps 09120400 and 09121000 are missing in 2009-sp154.eng. Two revised files, 2009-ndbc-edit.eng and 2009-sp154-edit.eng (cover the time period from 09120103 to 09123121 in 3-hr interval) are actually used in merge-eng-to-nst.exe to generate c2009.nst.
Figure 6.4.1 Child grid domain and two wave input locations Pt1 and Pt2.
Figure 6.4.2 Example of running merge-eng-to-nst.exe in DOS.
- Users can visit the CIRP Wiki site http://cirp.usace.army.mil/wiki/CMS-Wave for CMS-Wave
validation cases or use the link below to access and download more CMS-Wave examples ftp://chlguest:3bit5map@134.164.34.99/Lin/CMS-Wave/CMS-Wave-Package
Grid Nesting
- Grid Nesting – Users can use the CMS-Wave Assign Cell Attributes and Nesting Output (Fig
6.2) to specify the wave information output cells for saving spectrum data file (to serve as wave input to a child grid run). Figure 6.3.1 shows 6 nesting output locations (blue triangle) using the Shark River 2009.sim case. The nesting output file is *.nst (in the case of running CMS steering, an additional file nst.dat is automatically generated that merge all individual cycle *.nst files). Figure 6.3.2 shows a child grid domain (c2009.sim) within the parent grid (the child grid was generated based on scatter points converted from the parent grid). The child grid wave input file (2009.nst, as generated from the parent grid) shall be assigned in the child *.std. This can be done by manually editing the child *.std or using the SMS CMS-Wave and Nest Grid menu (Fig 6.3.3).
Figure 6.3.1 Nesting output 6 locations (blue triangle) and monitoring output 3 stations (red
square).
Figure 6.3.2 The child grid domain and spectral input stations (blue triangle).
Figure 6.3.3 CMS-Wave '''Nest Grid 'and '''Nesting Options 'menu in SMS11.
The child wave input file format is almost identical to the parent *.eng. The only difference is that the child wave input has additional 3 parameters (the local x and y coordinates, and local significant wave height at the spectral wave input location) in the individual spectral header along with the regular 5 parameters (spectral id, wind speed, wind direction, spectral peak frequency, water level adjustment) in the parent *.eng. The top 10 lines of 2009.nst is shown below (notice the 8th line is a spectral header for the 1st individual wave input spectrum):
30 35 6 167.00 0.04 0.05 0.06 0.07 0.08 0.09 0.10 0.11 0.12 0.13 0.14 0.15 0.16 0.17 0.18 0.19 0.20 0.21 0.22 0.23 0.24 0.25 0.26 0.27 0.28 0.29 0.30 0.31 0.32 0.33 9120103 9.80 -221.0 0.1200 0.00 192440.33 150712.28 0.563 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
To run the child grid in the steering mode, the spectral wave input file needs to be renamed to a default “nest.dat” (overwrite the wave input filename in the child *.std). It is noted that this “nest.dat” is only required for the child steering run. The parent grid run must be conducted and completed first to start a child grid run irrespective of whether CMS-Wave is or is not coupled with CMS-Flow (see more information in ERDC/CHL CHETN-IV-76).