mom_tracer_types module reference

This module contains the tracer_type() and and tracer_registry_type(). .

More…

Data Types

tracer_type

The tracer type.

tracer_registry_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.