mom_tracer_types module reference¶
This module contains the tracer_type()
and and tracer_registry_type()
. .
Data Types¶
The tracer type. |
|
Type to carry basic tracer information. |
Detailed Description¶
This module contains the tracer_type()
and and tracer_registry_type()
. .
Type Documentation¶
-
type
mom_tracer_types/
tracer_type
¶ The tracer type.
- Type fields:
%
id_tr
[integer] :: Diagnostic IDs.%
id_tr_post_horzn
[integer] :: Diagnostic IDs.%
id_adx
[integer] :: Diagnostic IDs.%
id_ady
[integer] :: Diagnostic IDs.%
id_dfx
[integer] :: Diagnostic IDs.%
id_dfy
[integer] :: Diagnostic IDs.%
id_hbd_dfx
[integer] :: Diagnostic IDs.%
id_hbd_dfy
[integer] :: Diagnostic IDs.%
id_hbd_dfx_2d
[integer] :: Diagnostic IDs.%
id_hbd_dfy_2d
[integer] :: Diagnostic IDs.%
id_adx_2d
[integer] :: Diagnostic IDs.%
id_ady_2d
[integer] :: Diagnostic IDs.%
id_dfx_2d
[integer] :: Diagnostic IDs.%
id_dfy_2d
[integer] :: Diagnostic IDs.%
id_adv_xy
[integer] :: Diagnostic IDs.%
id_adv_xy_2d
[integer] :: Diagnostic IDs.%
id_dfxy_cont
[integer] :: Diagnostic IDs.%
id_dfxy_cont_2d
[integer] :: Diagnostic IDs.%
id_dfxy_conc
[integer] :: Diagnostic IDs.%
id_hbdxy_cont
[integer] :: Diagnostic IDs.%
id_hbdxy_cont_2d
[integer] :: Diagnostic IDs.%
id_hbdxy_conc
[integer] :: Diagnostic IDs.%
id_remap_conc
[integer] :: Diagnostic IDs.%
id_remap_cont
[integer] :: Diagnostic IDs.%
id_remap_cont_2d
[integer] :: Diagnostic IDs.%
id_tendency
[integer] :: Diagnostic IDs.%
id_trxh_tendency
[integer] :: Diagnostic IDs.%
id_trxh_tendency_2d
[integer] :: Diagnostic IDs.%
id_tr_vardec
[integer] :: Diagnostic IDs.%
id_net_surfflux
[integer] :: Diagnostic IDs.%
id_nlt_tendency
[integer] :: Diagnostic IDs.%
id_nlt_budget
[integer] :: Diagnostic IDs.%
t
[real(:,:,:),pointer] :: tracer concentration array [CU ~> conc]%
ad_x
[real(:,:,:),pointer] :: diagnostic array for x-advective tracer flux [CU H L2 T-1 ~> conc m3 s-1 or conc kg s-1]%
ad_y
[real(:,:,:),pointer] :: diagnostic array for y-advective tracer flux [CU H L2 T-1 ~> conc m3 s-1 or conc kg s-1]%
ad2d_x
[real(:,:),pointer] :: diagnostic vertical sum x-advective tracer flux [CU H L2 T-1 ~> conc m3 s-1 or conc kg s-1]%
ad2d_y
[real(:,:),pointer] :: diagnostic vertical sum y-advective tracer flux [CU H L2 T-1 ~> conc m3 s-1 or conc kg s-1]%
df_x
[real(:,:,:),pointer] :: diagnostic array for x-diffusive tracer flux [CU H L2 T-1 ~> conc m3 s-1 or conc kg s-1]%
df_y
[real(:,:,:),pointer] :: diagnostic array for y-diffusive tracer flux [conc H L2 T-1 ~> conc m3 s-1 or conc kg s-1]%
hbd_dfx
[real(:,:,:),pointer] :: diagnostic array for x-diffusive tracer flux [conc H L2 T-1 ~> conc m3 s-1 or conc kg s-1]%
hbd_dfy
[real(:,:,:),pointer] :: diagnostic array for y-diffusive tracer flux [conc H L2 T-1 ~> conc m3 s-1 or conc kg s-1]%
hbd_dfx_2d
[real(:,:),pointer] :: diagnostic array for x-diffusive tracer flux [conc H L2 T-1 ~> conc m3 s-1 or conc kg s-1]%
hbd_dfy_2d
[real(:,:),pointer] :: diagnostic array for y-diffusive tracer flux [conc H L2 T-1 ~> conc m3 s-1 or conc kg s-1] [conc H L2 T-1 ~> conc m3 s-1 or conc kg s-1]%
df2d_x
[real(:,:),pointer] :: diagnostic vertical sum x-diffusive flux [CU H L2 T-1 ~> conc m3 s-1 or conc kg s-1]%
df2d_y
[real(:,:),pointer] :: diagnostic vertical sum y-diffusive flux [CU H L2 T-1 ~> conc m3 s-1 or conc kg s-1]%
advection_xy
[real(:,:,:),pointer] :: convergence of lateral advective tracer fluxes [CU H T-1 ~> conc m s-1 or conc kg m-2 s-1]%
t_prev
[real(:,:,:),pointer] :: tracer concentration array at a previous timestep used for diagnostics [CU ~> conc]%
trxh_prev
[real(:,:,:),pointer] :: layer integrated tracer concentration array at a previous timestep used for diagnostics [CU H ~> conc m or conc kg m-2]%
name
[character (len=32)] :: tracer name used for diagnostics and error messages%
units
[character (len=64)] :: Physical dimensions of the tracer concentration.%
longname
[character (len=240)] :: Long name of the variable.%
registry_diags
[logical] :: If true, use the registry to set up the diagnostics associated with this tracer.%
conc_underflow
[real] :: A magnitude of tracer concentrations below which values should be set to 0. [CU ~> conc].%
conc_scale
[real] :: A scaling factor used to convert the concentrations of this tracer to its desired units [conc CU ~> 1].%
cmor_name
[character (len=64)] :: CMOR name of this tracer.%
cmor_units
[character (len=64)] :: CMOR physical dimensions of the tracer.%
cmor_longname
[character (len=240)] :: CMOR long name of the tracer.%
flux_nameroot
[character (len=32)] :: Short tracer name snippet used construct the names of flux diagnostics.%
flux_longname
[character (len=64)] :: A word or phrase used construct the long names of flux diagnostics.%
flux_scale
[real] :: A scaling factor used to convert the fluxes of this tracer to its desired units, including a factor compensating for H scaling. [conc m CU-1 H-1 ~> 1] or [conc kg m-2 CU-1 H-1 ~> 1].%
flux_units
[character (len=48)] :: The units for fluxes of this variable.%
conv_units
[character (len=48)] :: The units for the flux convergence of this tracer.%
conv_scale
[real] :: A scaling factor used to convert the flux convergence of this tracer to its desired units, including a factor compensating for H scaling. [conc m CU-1 H-1 ~> 1] or [conc kg m-2 CU-1 H-1 ~> 1].%
cmor_tendprefix
[character (len=48)] :: The CMOR variable prefix for tendencies of this tracer, required because CMOR does not follow any discernable pattern for these names.%
net_surfflux_name
[character (len=48)] :: Name to use for net_surfflux KPP diagnostic.%
nlt_budget_name
[character (len=48)] :: Name to use for NLT_budget KPP diagnostic.%
net_surfflux_longname
[character (len=128)] :: Long name to use for net_surfflux KPP diagnostic.%
ind_tr_squared
[integer] :: The tracer registry index for the square of this tracer.%
remap_tr
[logical] :: If true, this tracer should be vertically remapped.%
diag_form
[integer] :: An integer indicating which template is to be used to label diagnostics.
-
type
mom_tracer_types/
tracer_registry_type
¶ Type to carry basic tracer information.
- Type fields:
%
ntr
[integer] :: number of registered tracers%
tr
[type( tracer_type )(50)] :: array of registered tracers%
locked
[logical] :: New tracers may be registered if locked=.false. When locked=.true., no more tracers can be registered, at which point common diagnostics can be set up for the registered tracers.