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

Module ocean_tracer_mod

Contact:  Stephen Griffies Matt Harrison Richard D. Slater (initialization) Ron Pacanowski
Reviewers: 
Change History: WebCVS Log


OVERVIEW

This module time steps the tracer fields.

This module time steps the tracer fields. Initialization for the tracer packages is done as well.


OTHER MODULES USED

          constants_mod
diag_manager_mod
field_manager_mod
fms_mod
fms_io_mod
fm_util_mod
mpp_domains_mod
mpp_io_mod
mpp_mod
platform_mod
time_manager_mod
transport_matrix_mod
ocean_convect_mod
ocean_domains_mod
ocean_frazil_mod
ocean_bih_tracer_mod
ocean_generic_mod
ocean_lap_tracer_mod
ocean_obc_mod
ocean_parameters_mod
ocean_passive_mod
ocean_polar_filter_mod
ocean_shortwave_mod
ocean_tempsalt_mod
ocean_tpm_mod
ocean_tpm_util_mod
ocean_tracer_advect_mod
ocean_tracer_util_mod
ocean_types_mod
ocean_util_mod
ocean_vert_mix_mod
ocean_workspace_mod

PUBLIC INTERFACE

ocean_prog_tracer_init:
ocean_diag_tracer_init:
update_ocean_tracer:
update_advection_only:
ocean_tracer_restart:
ocean_tracer_end:
compute_tmask_limit:
remap_s_to_depth:
remap_depth_to_s:
inflow_nboundary_init:


PUBLIC DATA

None.


PUBLIC ROUTINES

  1. ocean_prog_tracer_init

    DESCRIPTION
    Initialization code for prognostic tracers, returning a pointer to the T_prog array.


  2. ocean_diag_tracer_init

    DESCRIPTION
    Initialization code for diagnostic tracers, returning a pointer to the T_diag array


  3. update_ocean_tracer

    DESCRIPTION
    Update value of tracer concentration to time taup1.

    Note that T_prog(n)%source is added at the very end of the time step, after the rho_dzt factor has been divided.


  4. update_advection_only

    DESCRIPTION
    Redo tracer updates for those that use only advection--nothing else. This method is useful for testing advection schemes.

    T_prog(n)%use_only_advection==.true. ignores all boundary forcing and sources, so if T_prog(n)%stf or pme, rivers, sources are nonzero, tracer diagnostics will spuriously indicate non-conservation.

    Assume for these tests that (1) vertical advection is done fully explictly in time (2) pme, rivers, stf, btf, and other sources are zero (3) do not use advect_sweby_all



  5. ocean_tracer_restart

    DESCRIPTION
    Write out restart files registered through register_restart_file


  6. ocean_tracer_end

    DESCRIPTION
    Write ocean tracer restarts


  7. compute_tmask_limit

    DESCRIPTION
    Provide for possibility that quicker advection reverts to first order upwind when tracer is outside a specified range. Likewise, may wish to revert neutral physics to horizontal diffusion.

    For this purpose, we define a mask which is set to unity where fluxes revert to first order upwind advection (if using quicker) and horizontal diffusion (if using neutral).

    This method is very ad hoc. What is preferred for advection is to use a monotonic scheme, such as mdfl_sweby or mdppm. For neutral physics, no analogous monotonic scheme has been implemented in mom4. Such could be useful, especially for passive tracers. In the meantime, tmask_limit provides a very rough limiter for neutral physics to help keep tracers within specified bounds.



  8. remap_s_to_depth

    DESCRIPTION
    Remap in the vertical from s-coordinate to depth and then send to diagnostic manager.

    This routine is mostly of use for terrain following vertical coordinates, which generally deviate a lot from depth or pressure coordinates. The zstar and pstar coordinates are very similar to z or pressure, so there is no need to do the remapping for purposes of visualization.

    The routine needs to be made more general and faster. It also has been found to be problematic, so it is NOT recommended. It remains here as a template for a better algorithm. Remapping methods in Ferret are much better.

    Use rho_dzt weighting to account for nonBoussinesq.

    Author: Stephen.Griffies@noaa.gov



  9. remap_depth_to_s

    DESCRIPTION
    Remap in the vertical from depth to s-coordinate. This routine is used for initializing terrain following coordinate models given an initial tracer field generated assuming depth-like vertical coordinate.

    This routine is of use for terrain following vertical coordinates, which generally deviate a lot from z, zstar, pressure, or pstar coordinates.

    Algorithm is very rudimentary and can be made better.

    Author: Stephen.Griffies@noaa.gov



  10. inflow_nboundary_init

    DESCRIPTION
    Initialize the mask, temp, and salt values at the northern boundary where we are specifying values for an inflow boundary condition.




NAMELIST

&ocean_tracer_nml

zero_tendency
If true, then will freeze the tracer fields.
[logical]
zero_tracer_source
To remove the T_prog%source contribution to tracer evolution. For debugging purposes. Default zero_tracer_source=.false.
[logical]
limit_age_tracer
Limit the values of age tracer to be less than total run time and greater than zero. Default limit_age_tracer=.true.
[logical]
age_tracer_max_init
Initial maximum age tracer. This nml provides the ability to start an integration with an age tracer that is not initialized to zero, say if we took an age tracer from another spin-up. Default age_tracer_max_init=0.0.
[real, units: years]
remap_depth_to_s_init
For remapping initial tracer distributions, generally determined according to depth vertical coordinates using the mom4 preprocessing schemes, onto s-coordinates. This method is of use for initializing terrain following coordinate simulations with mom4.
[logical]
frazil_heating_before_vphysics
For computing frazil heating before the implicit vertical physics (which includes boundary fluxes), and before vertical convection. This is the order that CM2.0 and CM2.1 performed their calculations of frazil. It is arguable that one should NOT do frazil until the end of a time step, after vertical physics and after surface boundary fluxes. Default frazil_heating_before_vphysics=.false.
[logical]
frazil_heating_after_vphysics
For computing frazil heating after the implicit vertical physics (which includes boundary fluxes), and after vertical convection. This is the recommended method. Default frazil_heating_after_vphysics=.false.
[logical]
tmask_limit_ts_same
tmask_limit is derived separately for the tracers. However, it may be appropriate to have the mask be the same for temp and salinity, in which case the neutral physics fluxes are self-consistent. But for some cases, such as when running with linear eos, may not wish to have the temp and salinity coupled when computing the mask.
[logical]
compute_tmask_limit_on
For updating the tmaks_limit array. This calculation is recommended for the following physics and advection schemes: 1/ quicker advection 2/ neutral physics 3/ submesoscale closure. The default is compute_tmask_limit_on=.true., but if none of the above schemes is used, then some time savings can be realized by setting compute_tmask_limit_on=.false.
[logical]
debug_this_module
For debugging the tracer module
[logical]
write_a_restart
Set true to write a restart. False setting only for rare cases where wish to benchmark model without measuring the cost of writing restarts and associated chksums. Default is write_a_restart=.true.
[logical]
interpolate_tprog_to_pbott
To linear interpolate the initial conditions for prognostic tracers to the partial bottom cells. Default interpolate_tprog_to_pbott=.true.
[logical]
interpolate_tdiag_to_pbott
To linear interpolate the initial conditions for diagnostic tracers to the partial bottom cells. Default interpolate_tdiag_to_pbott=.false.
[logical]
inflow_nboundary
For adding an inflow transport from the northern boundary which brings in temp and salinity according to inflow data files. Default is inflow_nboundary=.false.
[logical]
ocean_tpm_debug
For debugging ocean tracer package manager.
[logical]


DATA SETS

None.


ERROR MESSAGES

None.


REFERENCES

  1. R.C. Pacanowski and S.M. Griffies The MOM3 Manual (1999)
  2. S.M. Griffies, M.J. Harrison, R.C. Pacanowski, and A. Rosati A Technical Guide to MOM4 (2004)
  3. S.M. Griffies, Fundamentals of ocean climate models (2004)


COMPILER SPECIFICS

None.


PRECOMPILER OPTIONS

None.


LOADER OPTIONS

None.


TEST PROGRAM

None.


KNOWN BUGS

None.


NOTES

None.


FUTURE PLANS

None.


top