nw2_tracers module reference

Ideal tracers designed to help diagnose a tracer diffusivity tensor in NeverWorld2.

More…

Data Types

nw2_tracers_cs

The control structure for the nw2_tracers() package.

Functions/Subroutines

register_nw2_tracers()

Register the NW2 tracer fields to be used with MOM.

initialize_nw2_tracers()

Sets the NW2 traces to their initial values and sets up the tracer output.

nw2_tracer_column_physics()

Applies diapycnal diffusion, aging and regeneration at the surface to the NW2 tracers.

nw2_tracer_dist()

The target value of a NeverWorld2 tracer label m [conc] at non-dimensional position x=lon/Lx, y=lat/Ly, z=eta/H.

nw2_tracers_end()

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 :: integer The number of tracers that are actually used.

  • % 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, dimension(:,:,:,:), pointer The array of tracers used in this package, in [conc] (g m-3)?

  • % restore_rate :: real, dimension(:), allocatable The rate at which the tracer is damped toward its target profile [T-1 ~> s-1].

  • % diag :: type(diag_ctrl), pointer A structure that is used to regulate the timing of diagnostic output.

  • % restart_csp :: type(mom_restart_cs), pointer A pointer to the restart controls structure.

[source]

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 parameters

  • cs :: 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_error mom_tracer_registry::register_tracer mom_io::var_desc

[source]

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 variables

  • diag :: 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:

mom_error_handler::mom_error nw2_tracer_dist

Called from:

mom_tracer_flow_control::tracer_flow_control_init

[source]

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 entrained

  • eb :: eb [in] an array to which the amount of fluid entrained

  • fluxes :: 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 variables

  • cs :: 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::applytracerboundaryfluxesinout mom_error_handler::mom_error nw2_tracer_dist mom_tracer_diabatic::tracer_vertdiff

[source]

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 tracer

  • g :: [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 i

  • j :: j [in] Cell index j

  • k :: k [in] Layer index k

Called from:

initialize_nw2_tracers nw2_tracer_column_physics

[source]

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:

mom_tracer_flow_control::tracer_flow_control_end

[source]

[source]