rgc_tracer module reference¶
This module contains the routines used to set up a dynamically passive tracer. Set up and use passive tracers requires the following: (1) register_RGC_tracer (2) apply diffusion, physics/chemistry and advect the tracer.
Data Types¶
tracer control structure |
Functions/Subroutines¶
This subroutine is used to register tracer fields. |
|
Initializes the NTR tracer fields in tr(:,:,:,:) and it sets up the tracer output. |
|
This subroutine applies diapycnal diffusion and any other column tracer physics or chemistry to the tracers from this file. |
|
Detailed Description¶
This module contains the routines used to set up a dynamically passive tracer. Set up and use passive tracers requires the following: (1) register_RGC_tracer (2) apply diffusion, physics/chemistry and advect the tracer.
Type Documentation¶
-
type
rgc_tracer/rgc_tracer_cs¶ tracer control structure
- Type fields:
%coupled_tracers[logical] :: These tracers are not offered to the coupler.%tracer_ic_file[character (len=200)] :: The full path to the IC file, or ” ” to initialize internally.%time[type(time_type),pointer] :: A pointer to the ocean model’s clock.%tr_reg[type( tracer_registry_type ),pointer] :: A pointer to the tracer registry.%tr[real(:,:,:,:),pointer] :: The array of tracers used in this package [kg kg-1].%tr_aux[real(:,:,:,:),pointer] :: The masked tracer concentration [kg kg-1].%land_val[real( ntr )] :: The value of tr used where land is masked out [kg kg-1].%csl[real] :: The length of the continental shelf (x direction) [km].%lensponge[real] :: the length of the sponge layer [km]%mask_tracers[logical] :: If true, tracers are masked out in massless layers.%use_sponge[logical] :: If true, sponges may be applied somewhere in the domain.%diag[type( diag_ctrl ),pointer] :: A structure that is used to regulate the timing of diagnostic output.%tr_desc[type( vardesc )( ntr )] :: Descriptions and metadata for the tracers.
Function/Subroutine Documentation¶
-
function
rgc_tracer/register_rgc_tracer(G, GV, param_file, CS, tr_Reg, restart_CS) [logical]¶ This subroutine is used to register tracer fields.
- Parameters:
g :: [in] The ocean’s grid structure
gv :: [in] The ocean’s vertical grid structure.
param_file :: [in] A structure indicating the open file to parse for model parameter values.
cs :: A pointer that is set to point to the control structure for this module (in/out).
tr_reg :: A pointer to the tracer registry.
restart_cs :: [inout] MOM restart control structure
- Call to:
mom_error_handler::mom_errorntrmom_tracer_registry::register_tracermom_io::var_desc
-
subroutine
rgc_tracer/initialize_rgc_tracer(restart, day, G, GV, h, diag, OBC, CS, layer_CSp, sponge_CSp)¶ Initializes the NTR tracer fields in tr(:,:,:,:) and it sets up the tracer output.
- Parameters:
g :: [in] Grid structure.
gv :: [in] The ocean’s vertical grid structure.
restart :: [in] .true. if the fields have already been read from a restart file.
day :: [in] Time of the start of the run.
h :: [in] Layer thickness [H ~> m or kg m-2]
diag :: [in] Structure used to regulate diagnostic output.
obc :: This open boundary condition type specifies whether, where, and what open boundary conditions are used. This is not being used for now.
cs :: The control structure returned by a previous call to RGC_register_tracer.
layer_csp :: A pointer to the control structure
sponge_csp :: A pointer to the control structure for the sponges, if they are in use. Otherwise this may be unassociated.
- Call to:
mom_ale_sponge::get_ale_sponge_nz_datamom_error_handler::mom_errorntrmom_io::query_vardescmom_sponge::set_up_sponge_field
-
subroutine
rgc_tracer/rgc_tracer_column_physics(h_old, h_new, ea, eb, fluxes, dt, G, GV, US, CS, evap_CFL_limit, minimum_forcing_depth)¶ This subroutine applies diapycnal diffusion and any other column tracer physics or chemistry to the tracers from this file. This is a simple example of a set of advected passive tracers.
- Parameters:
g :: [in] The ocean’s grid structure.
gv :: [in] The ocean’s vertical grid structure.
h_old :: [in] Layer thickness before entrainment [H ~> m or kg m-2].
h_new :: [in] Layer thickness after entrainment [H ~> m or kg m-2].
ea :: [in] an array to which the amount of fluid entrained
eb :: [in] an array to which the amount of fluid entrained
fluxes :: [in] A structure containing pointers to any possible forcing fields. Unused fields have NULL ptrs.
dt :: [in] The amount of time covered by this call [T ~> s].
us :: [in] A dimensional unit scaling type
cs :: The control structure returned by a previous call.
evap_cfl_limit :: [in] Limit on the fraction of the water that can be fluxed out of the top layer in a timestep [nondim].
minimum_forcing_depth :: [in] The smallest depth over which fluxes can be applied [H ~> m or kg m-2].
- Call to:
mom_tracer_diabatic::applytracerboundaryfluxesinoutntrmom_tracer_diabatic::tracer_vertdiff
-
subroutine
rgc_tracer/rgc_tracer_end(CS)¶ - Parameters:
cs :: The control structure returned by a previous call to RGC_register_tracer.
- Called from: