PUBLIC INTERFACE ~ PUBLIC DATA ~ PUBLIC ROUTINES ~ NAMELIST ~ DIAGNOSTIC FIELDS ~ ERROR MESSAGES ~ REFERENCES ~ NOTES

Module ocean_grids_mod

Contact:  M.J. Harrison R. C. Pacanowski Zhi Liang
Reviewers:  S.M. Griffies
Change History: WebCVS Log


OVERVIEW

Set up the ocean model grid spacing

This module sets up the ocean model grid based on information read in from the grid_spec.nc file. It translates the generic names from the grid_spec.nc file to the names used by mom4.


OTHER MODULES USED

       constants_mod
diag_manager_mod
fms_mod
mpp_domains_mod
mpp_mod
mosaic_mod
ocean_domains_mod
ocean_parameters_mod
ocean_types_mod
ocean_workspace_mod

PUBLIC INTERFACE

ocean_grids_init:
set_ocean_grid_size:
set_ocean_hgrid_arrays:
set_ocean_vgrid_arrays:
axes_info:
update_boundaries:


PUBLIC DATA

None.


PUBLIC ROUTINES

  1. ocean_grids_init

    DESCRIPTION
    Initialize the grids module.


  2. set_ocean_grid_size

    DESCRIPTION
    Set the ocean grid size. Model expects the grid specification file to be called grid_spec.nc.


  3. set_ocean_hgrid_arrays

    DESCRIPTION
    Define horizontal (and some vertical) grid arrays.

    --------------------------------------------------------------------------------------------------------------------- Grid% grid_spec grid_spec grid_spec Description var field field field VERSION_0 VERSION_1 VERSION_2(mosaic) --------------------------------------------------------------------------------------------------------------------- ocean_vgrid.nc k=1,nk zt zt zt zeta(2k-1) zw zw zb zeta(2k)

    ocean_hgrid.nc i=1,ni j=1,nj grid_x_t gridlon_t grid_x_T x(2i ,2) grid_x_u gridlon_vert_t grid_x_C x(2i+1,1) grid_y_t gridlat_t grid_y_T y(ni/4,2j) grid_y_u gridlat_vert_t grid_y_C y(ni/4,2j+1)

    T xt(i,j) geolon_t(i,j) x_T(i,j) x(2i,2j) yt geolat_t y_T y(2i,2j) dtw dtw ds_01_11_T dx(2i-1,2j) distance to western face of t cell dte dte ds_11_21_T dx(2i,2j) distance to eastern face of t cell dts dts ds_10_11_T dy(2i,2j-1) distance to southern face of t cell dtn dtn ds_11_12_T dy(2i,2j) distance to northern face of t cell

    dxt dxt ds_01_21_T dx(2i,2j) +dx(2i-1,2j) width of t cell dxtn dxtn ds_02_22_T dx(2i-1,2j+1)+dx(2i,2j+1) width of northern face of t cell dxte dxte ds_00_20_C dx(2i,2j) +dx(2i+1,2j) distance to adjacent t cell to the east! dyt dyt ds_10_12_T dy(2i,2j) +dy(2i,2j-1) height of t cell dytn dytn ds_00_02_C dy(2i,2j) +dy(2i,2j+1) distance to adjacent t cell to the north! dyte dyte ds_20_22_T dy(2i+1,2j-1)+dy(2i+1,2j) height of eastern face of t cell

    C NOTE: The "first" (I,J) C-cell is the one shifted NE of the "first" (I,J) T-cell

    xu geolon_c x_C x(2i+1,2j+1) yu geolat_c y_c y(2i+1,2j+1) dxu dxu ds_01_21_C dx(2i+1,2j+1)+dx(2i,2j+1) width of u cell dxun dxun ds_02_22_C dx(2i,2j+2)+dx(2i+1,2j+2) width of northern face of u cell dyu dyu ds_10_12_C dy(2i+1,2j+1)+dy(2i+1,2j) height of u cell dyue dyue ds_20_22_C dy(2i+2,2j)+dy(2i+2,2j+1) height of eastern face of u cell

    dyun dyun ds_11_12_C dy(2i+1,2j+1)+dy(2i+1,2j+2) distance to adjacent u cell to the north +ds_10_11_C(i,j+1) satisfies sum rule dyte(i,j)=dyun(i,j-1) dxue dxue ds_11_21_C dx(2i+1,2j+1)+dx(2i+2,2j+1) distance to adjacent u cell to the east! +ds_01_11_C(i+1,j)

    duw duw ds_01_11_C dx(2i,2j+1) distance to western face of u cell due due ds_11_21_C dx(2i+1,2j+1) distance to eastern face of u cell dus dus ds_10_11_C dy(2i+1,2j) distance to southern face of u cell dun dun ds_11_12_C dy(2i+1,2j+1) distance to northern face of u cell

    sin_rot sin_rot angle_C sin(angle_dx(2*i+1,2*j+1) sin of rotation angle at corner cell centers cos_rot cos_rot angle_C cos(angle_dx(2*i+1,2*j+1) cos of rotation angle at corner cell centers

    Following are the available fields in mosaic files -------------------------------------------------------- Mosaic file fields -------------------------------------------------------- ocean_hgrid.nc x, y, dx, dy, angle_dx, area ocean_vgrid.nc zeta topog.nc depth



  4. set_ocean_vgrid_arrays

    DESCRIPTION
    Compute vertical (and some horizontal) grids for ocean model. Also compute axes information for diagnostic manager.


  5. axes_info

    DESCRIPTION
    Set up axes definitions.


  6. update_boundaries

    DESCRIPTION
    Set halo points at model boundaries equal to values at boundaries if no grid connectivity exists. If model is connected along boundary (e.g., tripolar) then use mpp_update_domains.



NAMELIST

&ocean_grids_nml

read_rho0_profile
To read in an initial rho0(k) profile to assist in defining the initial settings for the pressure increments dst, for use in setting the pressure-based vertical coordinate grids. Ideally, this profile is determined by the level averaged density in the initial conditions. Note that it is essential to have rho0_profile have a sensible value at all depths even if there is no water there, since there are places where we divide by rho0_profile in rock. Also, be mindful that with denser water at depth, the pressure levels will be coarser at depth than if using the trivial density profile rho0(k)=rho0. This option is experimental, so it is recommended that user maintain the default read_rho0_profile=.false.
[logical]
debug_this_module
For debugging. Note that most of the debugging stuff has been removed, but keep flag around in case need in future.
[logical]
verbose_init
Prints out lots of initial checksums. Useful to have on, so defaulted to true.
[logical]


DATA SETS

None.


ERROR MESSAGES

None.


REFERENCES

  1. S.M. Griffies, M.J. Harrison, A. Rosati, and R.C. Pacanowski A Technical Guide to MOM4 (2003)


COMPILER SPECIFICS

None.


PRECOMPILER OPTIONS

None.


LOADER OPTIONS

None.


TEST PROGRAM

None.


KNOWN BUGS

None.


NOTES

None.


FUTURE PLANS

None.


top