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_zint[integer] :: Diagnostic IDs.%id_zint_100m[integer] :: Diagnostic IDs.%id_surf[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 [CU conc-1 ~> 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.%advect_scheme[integer] :: flag for advection scheme%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.