ROMS terrain-following, vertical coordinate have been revisited and further generalized to support additional transformation equations and numerous vertical stretching function provided that few constraints are satisfied. For more detailed information please check WikiROMS
. Notice that this Vertical S-coordinate link provides technical information, rules to follow when creating additional vertical stretching functions, metadata considerations to facilitate post-processing, and few examples comparing the vertical transformations.
The new tranformation and vertical stretching functions are now available in ROMS svn revision 322
(see track ticket
This implies that user need to be more careful from now on when preparing initial conditions, boundary conditions, climatologies, and observations since there are various ways to compute the depths of the grid in terms of the vertical transformations and their associated stretching parameters. A new routine netcdf_check_var
was added to module mod_netcdf.F
to check these parameters for consistency.
It is my plan to start releasing in the repository all the Matlab scripts that maybe used for pre- and post-processing. We need to guaranttee that users are using the official codes to compute the depths associated with a particular application. There are a lot of scripts that may not be doing this correctly. Anyway, it is a good idea to keep these scripts under svn control.Warning:
- All the standard input scripts (ocean*.in) were changed to add two new parameters Vtransform and Vstretching:
! Set vertical, terrain-following coordinates transformation equation andHere, Vtransform = 1 correspond to the original vertical transformation in ROMS (available since 1999). Vstretching = 1 corresponds also to the origina vertical stretching function (Song and Haidvogel, 1994). The advantages of the new transformation and stretching functions are discussed in WikiROMS.
! stretching function (see below for details), [1:Ngrids].
Vtransform == 1 ! transformation equation
Vstretching == 1 ! stretching function
! Vertical S-coordinates parameters, [1:Ngrids].
THETA_S == 5.0d0 ! surface stretching parameter
THETA_B == 0.4d0 ! bottom stretching parameter
TCLINE == 50.0d0 ! critical depth (m)
- In order to use the new transformation (Vtransform=2) and vertical stretching funtions (Vstretching=1,2,3) you need to regenerate your input netcdf files and provide the correct 3D fields that depend on the vertical grid (depths). Usually, such fields are interpolated to tthe terrain-following coordinate grid. Notice that in the idealized test problems, the 3D fields are automatically assigned at the correct depths and no changes are necessary when using analytical expressions.
- Notice that there are several possibilities for vertical stretching functions, Vstretching = 1,2,3. Functions 1 and 2 are appropriate for applications with depth bathymetry. I higlhly recommend to use function 3 in very shallow sediment applications (<200m). It is your resposability to choose the appropriate function for your application.