Using WWATCH on unstructured grids
Preparing a model configuration
The first thing to do is to get a mesh or generate one. This can be done using a regular / curvilinear grid by splitting quandrangles into triangles. this tool was particularly designed to do this This does not make a very nice grid (not isotropic) but if you want to keep the same grid you had in a flow model, well that is a possibility.
WWATCH reads in the grid with the GMSH file format for describing nodes and elements . It is also recommended that you define boundary points as extra elements (type 15 elements), and that you use a first tag set to 1 in order to distinguish the points for the open boundary . This is done with the various tools used here, and it greatly facilitates the development of new configurations.
With a GMSH file that has this feature of tagged open boundary points, you can use getopenboundaryMSH to get the two pieces needed for the
Open boundary conditions
In WWATCH the data for open boundary conditions is contained in the binary file nest.ww3 which is used during run time (i.e. when running ww3_shel ). This file contains the following information
- position of the “parent” grid nodes
- position of the “child” grid nodes and interpolation coefficients from parent to child (because of this particular information this is why it is usually very awkward to defined nesting in WWATCH… however this makes it less likely that you get goofy boundary conditions…)
- frequency-directional spectra at the “parent” grid node.
Because the nodes of your grid are typically spaced irregularly, it may be very tedious and unfriendly to define their position in the ww3_grid.inp of the parent model (one good reason for problems is that very often you do not know ahead of time the exact position where your child nodes will be …) but this is possible, and if you can do it it's the best solution. However, there are many cases where it is not practical (when using a multi_grid system for the parent …). In this case you may use this tool to use an ensemble of point output spectra from the parent model run, or even made up from buoy observations ... .
Forcing data (wind, water level, current, ice ...)
Before preparing the forcing fields for WWATCH using ww3_prep, you may find it useful to put forcing data from various grids onto the unstructured grid Otherwise the usual ww3_prep will preprocess forcing from a regular grid onto the model grid.
One good habit when starting a new configuration or working with a new forcing field is to verify that the forcing has been properly fed to the model. For this you can look at the model output fields for your forcing that will give you the wind, current or level exactly as it has been used in the wave model spectral evolution (including whatever interpolation in space and time was needed).
Post-processing: interpolation on regular grid
interpolation of ASCII files there is also a tool for NetCDF ...