namespace rgc_tracer¶
Overview¶
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. More…
namespace rgc_tracer { // global functions logical function, public register_rgc_tracer( HI HI, GV GV, param_file param_file, CS CS, tr_Reg tr_Reg, restart_CS restart_CS ); subroutine, public initialize_rgc_tracer( restart restart, day day, G G, GV GV, h h, diag diag, OBC OBC, CS CS, layer_CSp layer_CSp, sponge_CSp sponge_CSp ); subroutine, public rgc_tracer_column_physics( h_old h_old, h_new h_new, ea ea, eb eb, fluxes fluxes, dt dt, G G, GV GV, CS CS, evap_CFL_limit evap_CFL_limit, minimum_forcing_depth minimum_forcing_depth ); subroutine, public rgc_tracer_end(CS CS); } // namespace rgc_tracer
Detailed Documentation¶
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.
Global Functions¶
logical function, public register_rgc_tracer( HI HI, GV GV, param_file param_file, CS CS, tr_Reg tr_Reg, restart_CS restart_CS )
This subroutine is used to register tracer fields.
Parameters:
hi |
A horizontal index type structure. |
gv |
The ocean’s vertical grid structure. |
param_file |
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 |
A pointer to the restart control structure. |
subroutine, public initialize_rgc_tracer( restart restart, day day, G G, GV GV, h h, diag diag, OBC OBC, CS CS, layer_CSp layer_CSp, sponge_CSp sponge_CSp )
Initializes the NTR tracer fields in tr(:,:,:,:) and it sets up the tracer output.
Parameters:
g |
Grid structure. |
gv |
The ocean’s vertical grid structure. |
restart |
.true. if the fields have already been read from a restart file. |
day |
Time of the start of the run. |
h |
Layer thickness, in m or kg m-2. |
diag |
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. |
subroutine, public rgc_tracer_column_physics( h_old h_old, h_new h_new, ea ea, eb eb, fluxes fluxes, dt dt, G G, GV GV, CS CS, evap_CFL_limit evap_CFL_limit, minimum_forcing_depth 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 |
The ocean’s grid structure. |
gv |
The ocean’s vertical grid structure. |
h_old |
Layer thickness before entrainment [H ~> m or kg m-2]. |
h_new |
Layer thickness after entrainment [H ~> m or kg m-2]. |
ea |
an array to which the amount of fluid entrained |
eb |
an array to which the amount of fluid entrained |
fluxes |
A structure containing pointers to any possible forcing fields. Unused fields have NULL ptrs. |
dt |
The amount of time covered by this call [s]. |
cs |
The control structure returned by a previous call. |
evap_cfl_limit |
Limit on the fraction of the water that can be fluxed out of the top layer in a timestep [nondim]. |
minimum_forcing_depth |
The smallest depth over which fluxes can be applied [m]. |
subroutine, public rgc_tracer_end(CS CS)
Parameters:
cs |
The control structure returned by a previous call to RGC_register_tracer. |