Module ocean_tpm_mod
OVERVIEW
Ocean tracer package module
Currently this module only works for the ocean model,
but it could be extended (or generalized) to work with other
models.
This module consists of eight subroutines, three are called as
the model is intialized, four are called every time-step, and
one is called at model ending. The subroutines are called in
the following order.
These routines are called once at model startup in the
ocean_tracer_init routine:
ocean_tpm_init: This routine saves pointers to "global" model
structures, such as Grid and Domain. Also this
routine will call specified routines to set default
values for each tracer for such things as advection
scheme, tracer name, etc.
ocean_tpm_start: This routine calls specified routines to
allocate appropriate storage for the tracer packages,
perform pre-processing and initialization (possibly
from extra restart information) and set parameters,
either via namelist or via the field manager.
These routines are called each time-step from
update_ocean_tracer (one before integration and one after):
ocean_tpm_sbc: Calls specified routines to handle surface
coundary condition calculations. Some or all of
this functionality may be moved into a new, generalized
boundary condition manager.
ocean_tpm_bbc: Calls specified routines to handle bottom
coundary condition calculations.
ocean_tpm_source: Calls specified routines to calculate the
source array for each tracer in the tracer packages.
ocean_tpm_tracer: For those packages which need to do
post-processing after the continuity equation has
been integrated, calls may be placed here. This
could be for global, annual means, for instance.
This routine is called once at the end of the run from
ocean_tracer_end:
ocean_tpm_end: Call routines to finish up any loose ends, such
as saving extra restart fields.
OTHER MODULES USED
field_manager_mod
mpp_mod
ocean_tpm_util_mod
ocean_types_mod
ocean_age_tracer_mod
ocmip2_cfc_mod
ocmip2_biotic_mod
ocean_bgc_restore_mod
ocean_bgc_phyto_mod
time_manager_mod
PUBLIC INTERFACE
PUBLIC DATA
None.
PUBLIC ROUTINES
-
do_time_calc
-
DESCRIPTION
- call subroutines to perform time calculations
-
ocean_tpm_bbc
-
DESCRIPTION
- call subroutines to perform bottom boundary condition
calculations
-
ocean_tpm_end
-
DESCRIPTION
- Finish up calculations for the tracer packages,
possibly writing out non-field restart information
-
ocean_tpm_sbc
-
DESCRIPTION
- call subroutines to perform surface boundary condition
calculations
-
ocean_tpm_init
-
DESCRIPTION
- Set up any extra fields needed by the tracer packages
Save pointers to various "types", such as Grid and Domains.
-
ocean_tpm_source
-
DESCRIPTION
- Calculate the source arrays for the tracer packages
-
ocean_tpm_start
-
DESCRIPTION
- Start the tracer packages.
This could include reading in extra restart information,
processing namelists or doing initial calculations
-
ocean_tpm_tracer
-
DESCRIPTION
- Subroutine to do calculations needed every time-step after
the continuity equation has been integrated
DATA SETS
None.
ERROR MESSAGES
None.
REFERENCES
None.
COMPILER SPECIFICS
None.
PRECOMPILER OPTIONS
None.
LOADER OPTIONS
None.
TEST PROGRAM
None.
KNOWN BUGS
None.
NOTES
None.
FUTURE PLANS
None.