g_tracer_utils module reference¶
g_tracer_utils()
module consists of core utility subroutines to be used by all generic tracer modules. These include the lowest level functions for adding, allocating memory, and record keeping of individual generic tracers irrespective of their physical/chemical nature.
module consists of core utility subroutines to be used by all generic tracer modules. These include the lowest level functions for adding, allocating memory, and record keeping of individual generic tracers irrespective of their physical/chemical nature.
Data Types¶
Unknown. |
|
The following type fields are common to ALL generic tracers and hence has to be instantiated only once. |
|
Each generic tracer node is an instant of a FORTRAN type with the following member variables. |
Functions/Subroutines¶
Unknown. |
|
Unknown. |
|
Unknown. |
|
Unknown. |
|
Unknown. |
|
Unknown. |
|
Unknown. |
|
Unknown. |
|
Unknown. |
|
Unknown. |
|
Unknown. |
|
Unknown. |
|
Unknown. |
|
Unknown. |
|
Unknown. |
|
Unknown. |
|
Is the tracer prognostic? |
|
get the next tracer in the list |
|
Vertical Diffusion of a tracer node. |
Detailed Description¶
g_tracer_utils()
module consists of core utility subroutines to be used by all generic tracer modules. These include the lowest level functions for adding, allocating memory, and record keeping of individual generic tracers irrespective of their physical/chemical nature.
module consists of core utility subroutines to be used by all generic tracer modules. These include the lowest level functions for adding, allocating memory, and record keeping of individual generic tracers irrespective of their physical/chemical nature.
Type Documentation¶
-
type
g_tracer_utils/
g_diag_type
¶ Unknown.
- Type fields
%
dummy
[integer,private] :: A dummy member, not part of the API.
-
type
g_tracer_utils/
g_tracer_common
¶ The following type fields are common to ALL generic tracers and hence has to be instantiated only once.
- Type fields
%
isd
[integer,private] :: Domain extents.%
jsd
[integer,private] :: Start index of the data domain in the j-direction.
-
type
g_tracer_utils/
g_tracer_type
¶ Each generic tracer node is an instant of a FORTRAN type with the following member variables. These member fields are supposed to uniquely define an individual tracer. One such type shall be instantiated for EACH individual tracer.
- Type fields
%
field
[real(:,:,:,:),pointer, private] :: Tracer concentration field in space (and time) MOM keeps the prognostic tracer fields at 3 time levels, hence 4D.%
trunoff
[real(:,:),allocatable, private] :: Tracer concentration in river runoff.%
requires_restart
[logical,private] :: Unknown.%
src_file
[character (len=fm_string_len),private] :: Tracer source filename.%
src_var_name
[character (len=fm_string_len),private] :: Tracer source variable name.%
src_var_unit
[character (len=fm_string_len),private] :: Tracer source variable units.%
src_var_gridspec
[character (len=fm_string_len),private] :: Tracer source grid file name.%
src_var_record
[integer,private] :: Unknown.%
requires_src_info
[logical,private] :: Unknown.%
src_var_unit_conversion
[real,private] :: This factor depends on the tracer. Ask Jasmin.%
src_var_valid_min
[real,private] :: Unknown.
Function/Subroutine Documentation¶
-
subroutine
g_tracer_utils/
g_tracer_flux_init
(g_tracer)¶ Unknown.
- Parameters
g_tracer :: Pointer to this tracer node
-
subroutine
g_tracer_utils/
g_tracer_set_csdiag
(diag_CS)¶ Unknown.
- Parameters
diag_cs :: [in] Unknown
- Called from
mom_generic_tracer::initialize_mom_generic_tracer
mom_generic_tracer::mom_generic_tracer_column_physics
-
subroutine
g_tracer_utils/
g_tracer_set_common
(isc, iec, jsc, jec, isd, ied, jsd, jed, nk, ntau, axes, grid_tmask, grid_kmt, init_time)¶ - Parameters
isc :: [in] Computation start index in i direction
iec :: [in] Computation end index in i direction
jsc :: [in] Computation start index in j direction
jec :: [in] Computation end index in j direction
isd :: [in] Data start index in i direction
ied :: [in] Data end index in i direction
jsd :: [in] Data start index in j direction
jed :: [in] Data end index in j direction
nk :: [in] Number of levels in k direction
ntau :: [in] Unknown
axes :: [in] Domain axes?
grid_tmask :: [in] Unknown
grid_kmt :: [in] Unknown
init_time :: [in] Unknown
-
subroutine
g_tracer_utils/
g_tracer_get_common
(isc, iec, jsc, jec, isd, ied, jsd, jed, nk, ntau, axes, grid_tmask, grid_mask_coast, grid_kmt, init_time, diag_CS)¶ - Parameters
isc :: [out] Computation start index in i direction
iec :: [out] Computation end index in i direction
jsc :: [out] Computation start index in j direction
jec :: [out] Computation end index in j direction
isd :: [out] Data start index in i direction
ied :: [out] Data end index in i direction
jsd :: [out] Data start index in j direction
jed :: [out] Data end index in j direction
nk :: [out] Number of levels in k direction
ntau :: [out] Unknown
axes :: [out] Unknown
init_time :: [out] Unknown
grid_tmask :: Unknown
grid_mask_coast :: Unknown
grid_kmt :: Unknown
diag_cs :: Unknown
-
subroutine
g_tracer_utils/
g_tracer_get_4d
(g_tracer_list, name, member, array_ptr)¶ Unknown.
- Parameters
name :: [in] Unknown
member :: [in] Unknown
g_tracer_list :: Unknown
array_ptr :: Unknown
-
subroutine
g_tracer_utils/
g_tracer_get_3d
(g_tracer_list, name, member, array_ptr)¶ Unknown.
- Parameters
name :: [in] Unknown
member :: [in] Unknown
g_tracer_list :: Unknown
array_ptr :: Unknown
-
subroutine
g_tracer_utils/
g_tracer_get_2d
(g_tracer_list, name, member, array_ptr)¶ Unknown.
- Parameters
name :: [in] Unknown
member :: [in] Unknown
g_tracer_list :: Unknown
array_ptr :: Unknown
-
subroutine
g_tracer_utils/
g_tracer_get_4d_val
(g_tracer_list, name, member, array, isd, jsd)¶ Unknown.
- Parameters
name :: [in] Unknown
member :: [in] Unknown
g_tracer_list :: Unknown
isd :: [in] Unknown
jsd :: [in] Unknown
array :: [out] Unknown
-
subroutine
g_tracer_utils/
g_tracer_get_3d_val
(g_tracer_list, name, member, array, isd, jsd, ntau, positive)¶ Unknown.
- Parameters
name :: [in] Unknown
member :: [in] Unknown
g_tracer_list :: Unknown
isd :: [in] Unknown
jsd :: [in] Unknown
ntau :: [in] Unknown
positive :: [in] Unknown
array :: [out] Unknown
-
subroutine
g_tracer_utils/
g_tracer_get_2d_val
(g_tracer_list, name, member, array, isd, jsd)¶ Unknown.
- Parameters
name :: [in] Unknown
member :: [in] Unknown
g_tracer_list :: Unknown
isd :: [in] Unknown
jsd :: [in] Unknown
array :: [out] Unknown
-
subroutine
g_tracer_utils/
g_tracer_get_real
(g_tracer_list, name, member, value)¶ Unknown.
- Parameters
name :: [in] Unknown
member :: [in] Unknown
g_tracer_list :: Unknown
value :: [out] Unknown
-
subroutine
g_tracer_utils/
g_tracer_get_string
(g_tracer_list, name, member, string)¶ Unknown.
- Parameters
name :: [in] Unknown
member :: [in] Unknown
g_tracer_list :: Unknown
string :: [out] Unknown
-
subroutine
g_tracer_utils/
g_tracer_set_2d
(g_tracer_list, name, member, array, isd, jsd, weight)¶ Unknown.
- Parameters
name :: [in] Unknown
member :: [in] Unknown
g_tracer_list :: Unknown
isd :: [in] Unknown
jsd :: [in] Unknown
array :: [in] Unknown
weight :: [in] Unknown
-
subroutine
g_tracer_utils/
g_tracer_set_3d
(g_tracer_list, name, member, array, isd, jsd, ntau)¶ Unknown.
- Parameters
name :: [in] Unknown
member :: [in] Unknown
g_tracer_list :: Unknown
isd :: [in] Unknown
jsd :: [in] Unknown
ntau :: [in] Unknown
array :: [in] Unknown
-
subroutine
g_tracer_utils/
g_tracer_set_4d
(g_tracer_list, name, member, array, isd, jsd)¶ Unknown.
- Parameters
name :: [in] Unknown
member :: [in] Unknown
g_tracer_list :: Unknown
isd :: [in] Unknown
jsd :: [in] Unknown
array :: [in] Unknown
-
subroutine
g_tracer_utils/
g_tracer_set_real
(g_tracer_list, name, member, value)¶ Unknown.
- Parameters
name :: [in] Unknown
member :: [in] Unknown
g_tracer_list :: Unknown
value :: [in] Unknown
-
subroutine
g_tracer_utils/
g_tracer_send_diag
(g_tracer_list, model_time, tau)¶ - Parameters
g_tracer_list :: pointer to the head of the generic tracer list
model_time :: [in] Time
tau :: [in] The time step for the field 4D field to be reported
-
subroutine
g_tracer_utils/
g_tracer_get_name
(g_tracer, string)¶ Unknown.
- Parameters
g_tracer :: Unknown
string :: [out] Unknown
-
subroutine
g_tracer_utils/
g_tracer_get_alias
(g_tracer, string)¶ Unknown.
- Parameters
g_tracer :: Unknown
string :: [out] Unknown
- Called from
mom_generic_tracer::initialize_mom_generic_tracer
mom_generic_tracer::mom_generic_tracer_column_physics
mom_generic_tracer::mom_generic_tracer_min_max
mom_generic_tracer::mom_generic_tracer_stock
mom_generic_tracer::register_mom_generic_tracer
-
function
g_tracer_utils/
g_tracer_is_prog
(g_tracer) [logical]¶ Is the tracer prognostic?
- Parameters
g_tracer :: Pointer to tracer node
-
subroutine
g_tracer_utils/
g_tracer_get_next
(g_tracer, g_tracer_next)¶ get the next tracer in the list
- Parameters
g_tracer :: Pointer to tracer node
g_tracer_next :: Pointer to the next tracer node in the list
-
subroutine
g_tracer_utils/
g_tracer_vertdiff_g
(g_tracer, h_old, ea, eb, dt, kg_m2_to_H, m_to_H, tau, mom)¶ Vertical Diffusion of a tracer node.
This subroutine solves a tridiagonal equation to find and set values of vertically diffused field for a tracer node.This is ported from GOLD (vertdiff) and simplified Since the surface flux from the atmosphere (stf) has the units of mol/m^2/sec the resulting tracer concentration has units of mol/Kg
- Parameters
g_tracer :: Unknown
h_old :: [in] Layer thickness before entrainment, in m or kg m-2.
ea :: [in] The amount of fluid entrained from the layer above, in H.
eb :: [in] The amount of fluid entrained from the layer below, in H.
dt :: [in] The amount of time covered by this call, in s.
kg_m2_to_h :: [in] A conversion factor that translates kg m-2 into the units of h_old (H)
m_to_h :: [in] A conversion factor that translates m into the units of h_old (H).
tau :: [in] Unknown
mom :: [in] Unknown