mom_tracer_diabatic module reference¶
This module contains routines that implement physical fluxes of tracers (e.g. due to surface fluxes or mixing). These are intended to be called from call_tracer_column_fns in the MOM_tracer_flow_control()
module. module.
Functions/Subroutines¶
This subroutine solves a tridiagonal equation for the final tracer concentrations after the dual-entrainments, and possibly sinking or surface and bottom sources, are applied. |
|
This subroutine solves a tridiagonal equation for the final tracer concentrations after Eulerian mixing, and possibly sinking or surface and bottom sources, are applied. |
|
This routine is modeled after applyBoundaryFluxesInOut in |
Detailed Description¶
This module contains routines that implement physical fluxes of tracers (e.g. due to surface fluxes or mixing). These are intended to be called from call_tracer_column_fns in the MOM_tracer_flow_control()
module. module.
Function/Subroutine Documentation¶
-
subroutine
mom_tracer_diabatic/
tracer_vertdiff
(h_old, ea, eb, dt, tr, G, GV, sfc_flux, btm_flux, btm_reservoir, sink_rate, convert_flux_in)¶ This subroutine solves a tridiagonal equation for the final tracer concentrations after the dual-entrainments, and possibly sinking or surface and bottom sources, are applied. The sinking is implemented with an fully implicit upwind advection scheme. Alternate time units can be used for the timestep, surface and bottom fluxes and sink_rate provided they are all consistent.
- Parameters:
g :: [in] ocean grid structure
gv :: [in] ocean vertical grid structure
h_old :: [in] layer thickness before entrainment [H ~> m or kg m-2]
ea :: [in] amount of fluid entrained from the layer above [H ~> m or kg m-2]
eb :: [in] amount of fluid entrained from the layer below [H ~> m or kg m-2]
tr :: [inout] tracer concentration in concentration units [CU]
dt :: [in] amount of time covered by this call [T ~> s]
sfc_flux :: [in] surface flux of the tracer in units of [CU R Z T-1 ~> CU kg m-2 s-1] or [CU H ~> CU m or CU kg m-2] if convert_flux_in is .false.
btm_flux :: [in] The (negative upward) bottom flux of the tracer in [CU R Z T-1 ~> CU kg m-2 s-1] or [CU H ~> CU m or CU kg m-2] if convert_flux_in is .false.
btm_reservoir :: [inout] amount of tracer in a bottom reservoir [CU R Z ~> CU kg m-2]
sink_rate :: [in] rate at which the tracer sinks [Z T-1 ~> m s-1]
convert_flux_in :: [in] True if the specified sfc_flux needs to be integrated in time
- Call to:
- Called from:
advection_test_tracer::advection_test_tracer_column_physics
boundary_impulse_tracer::boundary_impulse_tracer_column_physics
mom_cfc_cap::cfc_cap_column_physics
dome_tracer::dome_tracer_column_physics
regional_dyes::dye_tracer_column_physics
dyed_obc_tracer::dyed_obc_tracer_column_physics
ideal_age_example::ideal_age_tracer_column_physics
isomip_tracer::isomip_tracer_column_physics
mom_diabatic_driver::layered_diabatic
nw2_tracers::nw2_tracer_column_physics
mom_ocmip2_cfc::ocmip2_cfc_column_physics
oil_tracer::oil_tracer_column_physics
pseudo_salt_tracer::pseudo_salt_tracer_column_physics
rgc_tracer::rgc_tracer_column_physics
-
subroutine
mom_tracer_diabatic/
tracer_vertdiff_eulerian
(h_old, ent, dt, tr, G, GV, sfc_flux, btm_flux, btm_reservoir, sink_rate, convert_flux_in)¶ This subroutine solves a tridiagonal equation for the final tracer concentrations after Eulerian mixing, and possibly sinking or surface and bottom sources, are applied. The sinking is implemented with an fully implicit upwind advection scheme. Alternate time units can be used for the timestep, surface and bottom fluxes and sink_rate provided they are all consistent.
- Parameters:
g :: [in] ocean grid structure
gv :: [in] ocean vertical grid structure
h_old :: [in] layer thickness before entrainment [H ~> m or kg m-2]
ent :: [in] Amount of fluid mixed across interfaces [H ~> m or kg m-2]
tr :: [inout] tracer concentration in concentration units [CU]
dt :: [in] amount of time covered by this call [T ~> s]
sfc_flux :: [in] surface flux of the tracer in units of [CU R Z T-1 ~> CU kg m-2 s-1] or [CU H ~> CU m or CU kg m-2] if convert_flux_in is .false.
btm_flux :: [in] The (negative upward) bottom flux of the tracer in [CU kg m-2 T-1 ~> CU kg m-2 s-1] or [CU H ~> CU m or CU kg m-2] if convert_flux_in is .false.
btm_reservoir :: [inout] amount of tracer in a bottom reservoir [CU R Z ~> CU kg m-2]
sink_rate :: [in] rate at which the tracer sinks [Z T-1 ~> m s-1]
convert_flux_in :: [in] True if the specified sfc_flux needs to be integrated in time
- Call to:
- Called from:
mom_diabatic_driver::diabatic_ale
mom_diabatic_driver::diabatic_ale_legacy
-
subroutine
mom_tracer_diabatic/
applytracerboundaryfluxesinout
(G, GV, Tr, dt, fluxes, h, evap_CFL_limit, minimum_forcing_depth, in_flux_optional, out_flux_optional, update_h_opt)¶ This routine is modeled after applyBoundaryFluxesInOut in
MOM_diabatic_aux.F90
NOTE: Please note that in this routine sfc_flux gets set to zero to ensure that the surface flux of the tracer does not get applied again during a subsequent call to tracer_vertdif.- Parameters:
g :: [in] Grid structure
gv :: [in] ocean vertical grid structure
tr :: [inout] Tracer concentration on T-cell [conc]
dt :: [in] Time-step over which forcing is applied [T ~> s]
fluxes :: [in] Surface fluxes container
h :: [inout] Layer thickness [H ~> m or kg m-2]
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]
in_flux_optional :: [in] The total time-integrated amount of tracer that enters with freshwater [conc H ~> conc m or conc kg m-2]
out_flux_optional :: [in] The total time-integrated amount of tracer that leaves with freshwater [conc H ~> conc m or conc kg m-2]
update_h_opt :: [in] Optional flag to determine whether h should be updated
- Call to:
- Called from:
advection_test_tracer::advection_test_tracer_column_physics
boundary_impulse_tracer::boundary_impulse_tracer_column_physics
mom_cfc_cap::cfc_cap_column_physics
dome_tracer::dome_tracer_column_physics
regional_dyes::dye_tracer_column_physics
dyed_obc_tracer::dyed_obc_tracer_column_physics
ideal_age_example::ideal_age_tracer_column_physics
isomip_tracer::isomip_tracer_column_physics
mom_generic_tracer::mom_generic_tracer_column_physics
nw2_tracers::nw2_tracer_column_physics
mom_ocmip2_cfc::ocmip2_cfc_column_physics
mom_offline_main::offline_fw_fluxes_into_ocean
mom_offline_main::offline_fw_fluxes_out_ocean
oil_tracer::oil_tracer_column_physics
pseudo_salt_tracer::pseudo_salt_tracer_column_physics
rgc_tracer::rgc_tracer_column_physics