Some basic questions related to 2D current modeling in ROMS

Discussion of how to use ROMS on different regional and basin scale applications.

Moderators: arango, robertson

Post Reply
Message
Author
BAN

Some basic questions related to 2D current modeling in ROMS

#1 Unread post by BAN »

1: How to choose Cartesian grid over Spherical grid.
- as far as I can see the Cartesian/Spherical option is made in the grid file, by setting variable spherical='F'. Is this right?

2: In a new model application using only 2D physics and no tracers, the only model parameters that aught to be tuned, or at least sensitivity tested, are bottom friction and lateral friction, right?
- The parameters for bottom friction in ROMS are:
rdrd (linear), rdrg2 (quadratic) and Zob (logarithmic formulation), and only one should be activated at the time right (i.e. the other two must be zero)?
Are there any rules of thumb as to what parameterization work best in 2D and what the parameter values should be?

- The parameters for lateral friction in ROMS are:
visc2 (horiz. Laplacian viscosity) and visc4 (horiz. biharmonic viscosity), right?
Are there any rules of thumb as to what parameterization work best in 2D and what the parameter values should be?

3: Is there something missing in the following *.h file (runs fine but results not analyzed yet)
Note that:
- No tracers are activated.
- Model is only forced by tidal elevation at the boundary.
- Area small enough to exclude body forces.
/* Momentum terms...... */
/*default horizontal adv. 2D-momentum is 4th-order centered */
#define UV_COR /* Compute Coriolis term */
#define UV_QDRAG /* Quadratic bottom friction */
#define UV_VIS2 /* Comp. horiz. Laplacian viscosity */
#define UV_ADV /* Comp. momentum advection terms */

/* General model terms.... */
/* default 2D-physics are used (3D-physics if 'define SOLVE3D') */
#define MASKING /* There is land in the domain to be masked out */

/* Open boundary condition settings..... */
#define WEST_FSCHAPMAN /* Chapman condition on free surface */
#define WEST_M2FLATHER /* Flather condition on 2D momentum */
#define EAST_FSCHAPMAN /* See above */
#define EAST_M2FLATHER /* See above */
#define SOUTH_FSCHAPMAN /* See above */
#define SOUTH_M2FLATHER /* See above */
#define NORTH_FSCHAPMAN /* See above */
#define NORTH_M2FLATHER /* See above */

/* Analytical fields .... */
#define ANA_SMFLUX /* Ana. kinem. surface mom. stress, by default=0 */
#define ANA_FSOBC /* Ana. free-surface boundary conditions */
#define ANA_M2OBC /* Ana. 2D momentum boundary conditions */
#define ANA_INITIAL /* Ana. initial conditions */

/* Tide options ...... */
#define SSH_TIDES /* Imposing tidal elevation */
#define ADD_FSOBC /* add tidal elev. to open boundary-cond. data */
#define FSOBC_REDUCED /* boundary pg is calc. using boundary zeta */
#define RAMP_TIDES /* tides are ramped 1 day from zero */
If someone has the time to answer some of my questions than thank you allot in advance

User avatar
kate
Posts: 4091
Joined: Wed Jul 02, 2003 5:29 pm
Location: CFOS/UAF, USA

Re: Some basic questions related to 2D current modeling in ROMS

#2 Unread post by kate »

BAN wrote:1: How to choose Cartesian grid over Spherical grid.
- as far as I can see the Cartesian/Spherical option is made in the grid file, by setting variable spherical='F'. Is this right?
I can answer this at least. A Cartesian grid is one in which you set up an idealized "box" of a domain, with no particular latitude or longitude. It is a flat region in an x,y space. This sort of thing is used in many of the test problems.

Alternately, the more "realistic" domains are tied to the Earth somewhere, with latitute, longitude values, curvature, etc. These would have "spherical=T".

Note that this is a separate issue from the CURVGRID cpp flag, which determines whether or not you need the nonlinear advection terms suitable for a curvilinear grid. You can have a curvilinear grid in Cartesian space, though I guess it's hard to imagine a "spherical" grid with the Earth's curvature that doesn't have some slight curvilinearity.

BAN

Re: Some basic questions related to 2D current modeling in ROMS

#3 Unread post by BAN »

Dear Kate, thank you very much for your reply.

I think that I did not ask clearly enough in question 1.

The situation is as follows:
- I have a rotated Mercado-projection grid, although given in Lat Long coordinates, is almost identical to a regular spaced Cartesian grid.
- We also have a 2D barotropic model that will conduct tidal simulations in Cartesian coordinates using this grid, and we want to compare these model results with equivalent runs using ROMS.
- ROMS is now running using this grid (used a slightly modified version of the Easy-grid matlab functionality to create a *.nc grid-file).
- The grid is a usual ROMS input grid where Lat Long of all u, v, rho points are given (this is necessary in order to get ROMS to calculate Coriolis), but if I am not mistaken ROMS can also run for this domain using Cartesian coordinates.

And now to the question:
The thing that I do not know is if ROMS is running using Cartesian coordinates (faster I presume as the equations are simpler) or if ROMS is using spherical coordinates?? As far as I can see this can not be controlled by options in the *.h or *.in files but only by the logical parameter setting "spherical=T" or "spherical=F" in the grid file, or am I mistaken??

User avatar
kate
Posts: 4091
Joined: Wed Jul 02, 2003 5:29 pm
Location: CFOS/UAF, USA

Re: Some basic questions related to 2D current modeling in ROMS

#4 Unread post by kate »

If you have lat, lon, then you have a spherical grid.

Does ROMS ever calculate the Coriolis parameter outside of ana_grid? I thought it was counting on finding f in the grid file.

ROMS computes finite differences or finite volumes based entirely on the pm, pn fields that you provide. If these represent a flat space, then you have a flat space. It has nothing to do with the spherical flag. The spherical flag could be renamed to "has_latlon".

BAN

Re: Some basic questions related to 2D current modeling in ROMS

#5 Unread post by BAN »

- You are of cause right; f must be given in the grid file.
- OK the model solves the equations using curvilinear coordinates, and there is no guarantee that a flat model space is solved significantly faster than any other curvilinear grid.
For some reason I thought that the basic equations also were coded explicitly in regular Cartesian coordinates, and that ROMS would run faster for flat domains if these were invoked.

Once again thank you very much for your answer.

Post Reply