nw2_tracers module reference
Ideal tracers designed to help diagnose a tracer diffusivity tensor in NeverWorld2.
Data Types
The control structure for the |
Functions/Subroutines
Register the NW2 tracer fields to be used with MOM. |
|
Sets the NW2 traces to their initial values and sets up the tracer output. |
|
Applies diapycnal diffusion, aging and regeneration at the surface to the NW2 tracers. |
|
The target value of a NeverWorld2 tracer label m [conc] at non-dimensional position x=lon/Lx, y=lat/Ly, z=eta/H. |
|
Deallocate any memory associated with this tracer package. |
Detailed Description
TBD.
Type Documentation
- type nw2_tracers/nw2_tracers_cs
The control structure for the
nw2_tracers()package. package.- Type fields:
% ntr ::
integerThe number of tracers that are actually used.% time ::
type(time_type), pointerA pointer to the ocean model’s clock.% tr_reg ::
type(tracer_registry_type), pointerA pointer to the tracer registry.% tr ::
real, dimension(:,:,:,:), pointerThe array of tracers used in this package, in [conc] (g m-3)?% restore_rate ::
real, dimension(:), allocatableThe rate at which the tracer is damped toward its target profile [T-1 ~> s-1].% diag ::
type(diag_ctrl), pointerA structure that is used to regulate the timing of diagnostic output.% restart_csp ::
type(mom_restart_cs), pointerA pointer to the restart controls structure.
Function/Subroutine Documentation
- function nw2_tracers/register_nw2_tracers(HI, GV, US, param_file, CS, tr_Reg, restart_CS)
Register the NW2 tracer fields to be used with MOM.
- Parameters:
hi :: [in] A horizontal index type structure
gv :: [in] The ocean’s vertical grid structure
us :: [in] A dimensional unit scaling type
param_file ::
param_file[in] A structure to parse for run-time parameterscs :: The control structure returned by a previous call to register_nw2_tracer.
tr_reg :: A pointer that is set to point to the control structure for the tracer advection and diffusion module
restart_cs :: [inout] MOM restart control struct
- Call to:
mom_error_handler::mom_errormom_tracer_registry::register_tracermom_io::var_desc
- subroutine nw2_tracers/initialize_nw2_tracers(restart, day, G, GV, US, h, tv, diag, CS)
Sets the NW2 traces to their initial values and sets up the tracer output.
- Parameters:
restart ::
restart[in] .true. if the fields have already been read from a restart file.day ::
day[in] Time of the start of the run.g :: [in] The ocean’s grid structure
gv :: [in] The ocean’s vertical grid structure
us :: [in] A dimensional unit scaling type
h ::
h[in] Layer thicknesses [H ~> m or kg m-2]tv ::
tv[in] A structure pointing to various thermodynamic variablesdiag ::
diag[in] A structure that is used to regulate diagnostic output.cs :: The control structure returned by a previous call to register_nw2_tracer.
- Call to:
- Called from:
- subroutine nw2_tracers/nw2_tracer_column_physics(h_old, h_new, ea, eb, fluxes, dt, G, GV, US, tv, CS, evap_CFL_limit, minimum_forcing_depth)
Applies diapycnal diffusion, aging and regeneration at the surface to the NW2 tracers.
- Parameters:
g :: [in] The ocean’s grid structure
gv :: [in] The ocean’s vertical grid structure
h_old ::
h_old[in] Layer thickness before entrainment [H ~> m or kg m-2].h_new ::
h_new[in] Layer thickness after entrainment [H ~> m or kg m-2].ea ::
ea[in] an array to which the amount of fluid entrainedeb ::
eb[in] an array to which the amount of fluid entrainedfluxes ::
fluxes[in] A structure containing pointers to thermodynamic and tracer forcing fields. Unused fields have NULL ptrs.dt ::
dt[in] The amount of time covered by this call [T ~> s]us :: [in] A dimensional unit scaling type
tv ::
tv[in] A structure pointing to various thermodynamic variablescs :: The control structure returned by a previous call to register_nw2_tracer.
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 ::
minimum_forcing_depth[in] The smallest depth over which fluxes can be applied [H ~> m or kg m-2]
- Call to:
mom_tracer_diabatic::applytracerboundaryfluxesinoutmom_error_handler::mom_errornw2_tracer_distmom_tracer_diabatic::tracer_vertdiff
- function nw2_tracers/nw2_tracer_dist(m, G, GV, eta, i, j, k)
The target value of a NeverWorld2 tracer label m [conc] at non-dimensional position x=lon/Lx, y=lat/Ly, z=eta/H.
- Parameters:
m ::
m[in] Indicates the NW2 tracerg :: [in] The ocean’s grid structure
gv :: [in] The ocean’s vertical grid structure
eta ::
eta[in] Interface position [Z ~> m]i ::
i[in] Cell index ij ::
j[in] Cell index jk ::
k[in] Layer index k
- Called from:
- subroutine nw2_tracers/nw2_tracers_end(CS)
Deallocate any memory associated with this tracer package.
- Parameters:
cs :: The control structure returned by a previous call to register_nw2_tracers.
- Called from: