7.1.3. g_tracer_utils module reference

<undocumented>

More…

7.1.3.1. Data Types

g_tracer_type

<undocumented>

g_diag_type

<undocumented>

g_diag_ctrl

<undocumented>

g_tracer_common

<undocumented>

7.1.3.3. Detailed Description

<undocumented>

7.1.3.4. Type Documentation

type g_tracer_utils/g_tracer_type
Type fields
  • % next [type( g_tracer_type ),pointer, private]

  • % index [integer,private]

  • % name [character(len=fm_string_len),private]

  • % longname [character(len=fm_string_len),private]

  • % alias [character(len=fm_string_len),private]

  • % package_name [character(len=fm_string_len),private]

  • % diag_name [character(len=fm_string_len),private]

  • % standard_name [character(len=fm_string_len),private]

  • % diag_field_units [character(len=fm_string_len),private]

  • % diag_field_scaling_factor [real,private]

  • % flux_gas_molwt [real,private]

  • % flux_gas_name [character(len=fm_string_len),private]

  • % flux_gas_type [character(len=fm_string_len),private]

  • % flux_runoff_name [character(len=fm_string_len),private]

  • % flux_wetdep_name [character(len=fm_string_len),private]

  • % flux_drydep_name [character(len=fm_string_len),private]

  • % implementation [character(len=fm_string_len),private]

  • % _allocatable [real,private]

  • % dimension [real(:,:,:),private]

  • % flux_param [real,private]

  • % flux_gas_param [real,private]

  • % ice_restart_file [character(len=fm_string_len),private]

  • % ocean_restart_file [character(len=fm_string_len),private]

  • % flux_gas_restart_file [character(len=fm_string_len),private]

  • % units [character(len=fm_string_len),private]

  • % flux_units [character(len=fm_string_len),private]

  • % field [real, dimension (:,:,:,:), pointer, private]

  • % field4d_ptr [real, dimension (:,:,:,:), pointer, private]

  • % field3d_ptr [real, dimension (:,:,:), pointer, private]

  • % field_3d [real, dimension (:,:,:), pointer, private]

  • % stf [real,private]

  • % _null [real,private]

  • % stf_gas [real,private]

  • % deltap [real,private]

  • % kw [real,private]

  • % btf [real,private]

  • % btm_reservoir [real,private]

  • % trunoff [real,private]

  • % runoff_tracer_flux [real,private]

  • % wetdep [real,private]

  • % drydep [real,private]

  • % csurf [real,private]

  • % alpha [real,private]

  • % sc_no [real,private]

  • % vmove [real,private]

  • % vdiff [real,private]

  • % vdiffuse_impl [real,private]

  • % vdiffusec_impl [real,private]

  • % boundary_forcing_tend [real,private]

  • % tendency [real, dimension (:,:,:), pointer, private]

  • % diag_id_field [integer,private]

  • % diag_id_stf [integer,private]

  • % diag_id_stf_gas [integer,private]

  • % diag_id_deltap [integer,private]

  • % diag_id_kw [integer,private]

  • % diag_id_trunoff [integer,private]

  • % diag_id_stf_gas_aux [integer,private]

  • % diag_id_alpha [integer,private]

  • % diag_id_csurf [integer,private]

  • % diag_id_sc_no [integer,private]

  • % diag_id_aux [integer,private]

  • % diag_id_btf [integer,private]

  • % diag_id_btm [integer,private]

  • % diag_id_vmove [integer,private]

  • % diag_id_vdiff [integer,private]

  • % diag_id_vdiffuse_impl [integer,private]

  • % diag_id_vdiffusec_impl [integer,private]

  • % diag_id_boundary_forcing_tend [integer,private]

  • % const_init_value [real,private]

  • % initial_value [real,private]

  • % sink_rate [real,private]

  • % prog [logical,private]

  • % move_vertical [logical,private]

  • % diff_vertical [logical,private]

  • % flux_gas [logical,private]

  • % flux_runoff [logical,private]

  • % flux_wetdep [logical,private]

  • % flux_drydep [logical,private]

  • % flux_bottom [logical,private]

  • % has_btm_reservoir [logical,private]

  • % runoff_added_to_stf [logical,private]

  • % flux_gas_ind [integer,private]

  • % flux_runoff_ind [integer,private]

  • % flux_wetdep_ind [integer,private]

  • % flux_drydep_ind [integer,private]

  • % requires_restart [logical,private]

  • % src_file [character(len=fm_string_len),private]

  • % src_var_name [character(len=fm_string_len),private]

  • % src_var_unit [character(len=fm_string_len),private]

  • % src_var_gridspec [character(len=fm_string_len),private]

  • % obc_src_file_name [character(len=fm_string_len),private]

  • % obc_src_field_name [character(len=fm_string_len),private]

  • % obc_lfac_in [real,private]

  • % obc_lfac_out [real,private]

  • % obc_has [logical,private]

  • % src_var_record [integer,private]

  • % requires_src_info [logical,private]

  • % src_var_unit_conversion [real,private]

  • % src_var_valid_min [real,private]

  • % src_var_valid_max [real,private]

type g_tracer_utils/g_diag_type
Type fields
  • % next [type( g_diag_type ),pointer, private]

  • % diag_id [integer,private]

  • % name [character(len=fm_string_len),private]

  • % longname [character(len=fm_string_len),private]

  • % package_name [character(len=fm_string_len),private]

  • % units [character(len=fm_string_len),private]

  • % axes [integer(3),private]

  • % init_time [type(time_type),private]

  • % missing_value [real,private]

  • % z_diag [integer,private]

  • % field_ptr [real(:,:,:),pointer, private]

type g_tracer_utils/g_diag_ctrl
Type fields
  • % handle [integer,private]

type g_tracer_utils/g_tracer_common
Type fields
  • % diag_cs [type( g_diag_ctrl ),private]

  • % isc [integer,private]

  • % iec [integer,private]

  • % jsc [integer,private]

  • % jec [integer,private]

  • % isd [integer,private]

  • % ied [integer,private]

  • % jsd [integer,private]

  • % jed [integer,private]

  • % nk [integer,private]

  • % ntau [integer,private]

  • % axes [integer, dimension (3), private]

  • % init_time [type(time_type),private]

  • % _allocatable [integer,private]

  • % dimension [integer(:,:),private]

  • % grid_tmask [real,private]

  • % _null [integer,private]

  • % _allocatable

  • % dimension

  • % grid_kmt [integer,private]

  • % _null

  • % grid_mask_coast [integer,private]

  • % ice_restart_file [character(len=fm_string_len),private]

  • % ocean_restart_file [character(len=fm_string_len),private]

7.1.3.5. Function/Subroutine Documentation

subroutine g_tracer_utils/g_tracer_start_param_list(package_name)
subroutine g_tracer_utils/g_tracer_end_param_list(package_name)
subroutine g_tracer_utils/g_tracer_add_param_real(name, var, value, do_not_log)
Parameters

do_not_log :: [in] If present and true, no stdout for parameter

subroutine g_tracer_utils/g_tracer_add_param_logical(name, var, value, do_not_log)
Parameters

do_not_log :: [in] If present and true, no stdout for parameter

subroutine g_tracer_utils/g_tracer_add_param_integer(name, var, value, do_not_log)
Parameters

do_not_log :: [in] If present and true, no stdout for parameter

subroutine g_tracer_utils/g_tracer_add_param_string(name, var, value, do_not_log)
Parameters

do_not_log :: [in] If present and true, no stdout for parameter

subroutine g_tracer_utils/g_tracer_add(node_ptr, package, name, longname, units, prog, const_init_value, init_value, flux_gas, flux_gas_name, flux_runoff, flux_wetdep, flux_drydep, flux_gas_molwt, flux_gas_param, flux_param, flux_bottom, btm_reservoir, move_vertical, diff_vertical, sink_rate, flux_gas_restart_file, flux_gas_type, requires_src_info, standard_name, diag_name, diag_field_units, diag_field_scaling_factor, implementation)
Call to

g_tracer_com

function g_tracer_utils/remap_bounds(ilb, jlb, klb, array) [real]
Called from

g_tracer_init

subroutine g_tracer_utils/g_tracer_init(g_tracer)
Call to

g_tracer_get_common remap_bounds

subroutine g_tracer_utils/g_tracer_flux_init(g_tracer, verbosity)
Parameters

verbosity :: [in] A 0-9 integer indicating a level of verbosity.

subroutine g_tracer_utils/g_tracer_register_diag(g_tracer)
Call to

g_register_diag_field g_tracer_com

subroutine g_tracer_utils/g_tracer_coupler_set(g_tracer_list, IOB_struc, value)
Call to

g_tracer_com fms_coupler_util::set_coupler_values

subroutine g_tracer_utils/g_tracer_coupler_get(g_tracer_list, IOB_struc, weight, model_time)
Call to

fms_coupler_util::extract_coupler_values g_tracer_com

Called from

g_tracer_coupler_accumulate

subroutine g_tracer_utils/g_tracer_coupler_accumulate(g_tracer_list, IOB_struc, weight, model_time)
Call to

g_tracer_coupler_get

Called from

generic_tracer::generic_tracer_coupler_accumulate

subroutine g_tracer_utils/g_tracer_set_csdiag(diag_CS)
Call to

g_tracer_com

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)
Call to

g_tracer_com

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)
Call to

g_tracer_com

Called from

g_tracer_column_int g_tracer_flux_at_depth g_tracer_init

subroutine g_tracer_utils/g_tracer_get_diagcs(diag_CS)
Call to

g_tracer_com

Called from

g_register_diag_field g_tracer_utils::g_send_data::g_send_data_0d g_tracer_utils::g_send_data::g_send_data_1d g_tracer_utils::g_send_data::g_send_data_2d g_tracer_utils::g_send_data::g_send_data_3d

subroutine g_tracer_utils/g_tracer_set_files(ice_restart_file, ocean_restart_file)
Call to

g_tracer_com

subroutine g_tracer_utils/g_tracer_get_4d(g_tracer_list, name, member, array_ptr)
subroutine g_tracer_utils/g_tracer_get_3d(g_tracer_list, name, member, array_ptr)
subroutine g_tracer_utils/g_tracer_get_2d(g_tracer_list, name, member, array_ptr)
subroutine g_tracer_utils/g_tracer_get_4d_val(g_tracer_list, name, member, array, isd, jsd)
subroutine g_tracer_utils/g_tracer_get_3d_val(g_tracer_list, name, member, array, isd, jsd, ntau, positive)
subroutine g_tracer_utils/g_tracer_get_2d_val(g_tracer_list, name, member, array, isd, jsd)
subroutine g_tracer_utils/g_tracer_get_real(g_tracer_list, name, member, value)
subroutine g_tracer_utils/g_tracer_get_string(g_tracer_list, name, member, string)
subroutine g_tracer_utils/g_tracer_set_2d(g_tracer_list, name, member, array, isd, jsd, weight)
subroutine g_tracer_utils/g_tracer_set_3d(g_tracer_list, name, member, array, isd, jsd, ntau)
subroutine g_tracer_utils/g_tracer_set_4d(g_tracer_list, name, member, array, isd, jsd)
subroutine g_tracer_utils/g_tracer_set_real(g_tracer_list, name, member, value)
subroutine g_tracer_utils/g_tracer_set_pointer_4d(g_tracer_list, name, member, array, ilb, jlb)
subroutine g_tracer_utils/g_tracer_set_pointer_3d(g_tracer_list, name, member, array, ilb, jlb)
subroutine g_tracer_utils/g_tracer_find(g_tracer, name)
Called from

g_tracer_utils::g_tracer_get_pointer::g_tracer_get_2d g_tracer_utils::g_tracer_get_values::g_tracer_get_2d_val g_tracer_utils::g_tracer_get_pointer::g_tracer_get_3d g_tracer_utils::g_tracer_get_values::g_tracer_get_3d_val g_tracer_utils::g_tracer_get_pointer::g_tracer_get_4d g_tracer_utils::g_tracer_get_values::g_tracer_get_4d_val g_tracer_get_obc_segment_props g_tracer_utils::g_tracer_get_values::g_tracer_get_real g_tracer_get_src_info g_tracer_utils::g_tracer_get_values::g_tracer_get_string g_tracer_utils::g_tracer_set_values::g_tracer_set_2d g_tracer_utils::g_tracer_set_values::g_tracer_set_3d g_tracer_utils::g_tracer_set_values::g_tracer_set_4d g_tracer_utils::g_tracer_set_pointer::g_tracer_set_pointer_3d g_tracer_utils::g_tracer_set_pointer::g_tracer_set_pointer_4d g_tracer_utils::g_tracer_set_values::g_tracer_set_real

subroutine g_tracer_utils/g_tracer_column_int(depth, ilb, jlb, var, dzt, rho_dzt, rd, k_level, integral, caller)
Call to

g_tracer_get_common mod_name

subroutine g_tracer_utils/g_tracer_flux_at_depth(depth, ilb, jlb, var, dzt, k_level, frac, initialized, flux, caller)
Call to

g_tracer_get_common mod_name

subroutine g_tracer_utils/g_tracer_send_diag(g_tracer_list, model_time, tau)
Call to

g_tracer_com g_tracer_is_prog

subroutine g_tracer_utils/g_tracer_traverse(g_tracer_list)
subroutine g_tracer_utils/g_tracer_get_name(g_tracer, string)
subroutine g_tracer_utils/g_tracer_get_alias(g_tracer, string)
function g_tracer_utils/g_tracer_is_prog(g_tracer) [logical]
Called from

g_tracer_send_diag generic_cobalt::generic_cobalt_update_from_source

subroutine g_tracer_utils/g_tracer_get_next(g_tracer, g_tracer_next)
Called from

generic_cobalt::generic_cobalt_update_from_source

subroutine g_tracer_utils/g_tracer_vertfill(g_tracer, h, kappa_dt, tau, larger_h_denom)

Returns tracer arrays (nominally T and S) with massless layers filled with sensible values, by diffusing vertically with a small but constant diffusivity.

Parameters

larger_h_denom :: [in] Present and true, add a large enough minimal thickness in the denominator of the flux calculations so that the fluxes are never so large as eliminate the transmission of information across groups of massless layers.

Call to

g_tracer_com

Called from

g_tracer_vertdiff_g generic_cobalt::generic_cobalt_update_from_source

subroutine g_tracer_utils/g_tracer_vertdiff_g(g_tracer, h_old, ea, eb, dt, kg_m2_to_H, m_to_H, tau, use_PressAlgorithm, do_vertfill_post)
Call to

g_tracer_com g_tracer_vertfill tridiag_solver_press_et_al

subroutine g_tracer_utils/tridiag_solver_press_et_al(a, b, c, r, u, n)

Solves a tridiagonal system of equations using the algorithm from Press et al.

@reference Numerical Recipes in Fortran77: The Art of Scientific Computing, 2nd Edition, by Press, Teukolsky, Vetterling, and Flannery, Cambridge University Press, Section 2.4 Tridiagonal and Diagonal Systems of Equations.

This subroutine solves a tridiagonal linear system of the form: a(i) * u(i-1) + b(i) * u(i) + c(i) * u(i+1) = r(i) for i = 1, …, n, where a, b, c are the sub-diagonal, diagonal, and super-diagonal elements, r is the right-hand side, and u is the solution vector.

Parameters
  • a :: [in] Sub-diagonal coefficients (a(1) unused)

  • b :: [in] Diagonal coefficients

  • c :: [in] Super-diagonal coefficients (c(n) unused)

  • r :: [in] Right-hand side vector

  • u :: [inout] Solution vector (input ignored, output overwritten)

  • n :: [in] Number of equations

Called from

g_tracer_vertdiff_g

subroutine g_tracer_utils/g_diag_field_add(node_ptr, diag_id, package_name, name, axes, init_time, longname, units, missing_value, Z_diag, field_ptr, Zname, Zlongname, Zunits)
Call to

g_register_diag_field

subroutine g_tracer_utils/g_tracer_print_info(g_tracer_list, verbosity)
subroutine g_tracer_utils/g_tracer_get_src_info(g_tracer_list, name, src_file, src_var_name, src_var_unit, src_var_gridspec, src_var_record, src_var_valid_min, src_var_valid_max)
Call to

g_tracer_find

subroutine g_tracer_utils/g_tracer_get_obc_segment_props(g_tracer_list, name, obc_has, src_file, src_var_name, lfac_in, lfac_out)
Parameters
  • obc_has :: [out] .true. if This tracer has OBC

  • src_var_name :: [out] OBC source file and variable in file

  • lfac_out :: [out] OBC reservoir inverse lengthscale factor

Call to

g_tracer_find

function g_tracer_utils/g_register_diag_field(module_name, field_name, axes, init_time, long_name, units, missing_value, range, mask_variant, standard_name, verbose, do_not_log, err_msg, interp_method, tile_count, cmor_field_name, cmor_long_name, cmor_units, cmor_standard_name, cell_methods, x_cell_method, y_cell_method, v_cell_method, diag_CS) [integer]
Return

undefined :: An integer handle for a diagnostic array.

Parameters
  • module_name :: [in] Name of this module, usually “ocean_model” or “ice_shelf_model”

  • field_name :: [in] Name of the diagnostic field

  • init_time :: [in] Time at which a field is first available?

  • long_name :: [in] Long name of a field.

  • units :: [in] Units of a field.

  • standard_name :: [in] Standardized name associated with a field

  • missing_value :: [in] A value that indicates missing values.

  • range :: [in] Valid range of a variable (not used in MOM?)

  • mask_variant :: [in] If true a logical mask must be provided with post_data calls (not used in MOM?)

  • verbose :: [in] If true, FMS is verbose (not used in MOM?)

  • do_not_log :: [in] If true, do not log something (not used in MOM?)

  • err_msg :: [out] String into which an error message might be placed (not used in MOM?)

  • interp_method :: [in] no clue (not used in MOM?)

  • tile_count :: [in] no clue (not used in MOM?)

  • cmor_field_name :: [in] CMOR name of a field

  • cmor_long_name :: [in] CMOR long name of a field

  • cmor_units :: [in] CMOR units of a field

  • cmor_standard_name :: [in] CMOR standardized name associated with a field

  • cell_methods :: [in] String to append as cell_methods attribute. Use ‘’ to have no attribute. If present, this overrides the default constructed from the default for each individual axis direction.

  • x_cell_method :: [in] Specifies the cell method for the x-direction. Use ‘’ have no method.

  • y_cell_method :: [in] Specifies the cell method for the y-direction. Use ‘’ have no method.

  • v_cell_method :: [in] Specifies the cell method for the vertical direction. Use ‘’ have no method.

Call to

g_tracer_get_diagcs

Called from

g_diag_field_add g_tracer_register_diag

function g_tracer_utils/g_send_data_0d(diag_field_id, field, time, err_msg, diag_CS) [logical]
Called from

g_tracer_utils::g_send_data::g_send_data_0d

function g_tracer_utils/g_send_data_1d(diag_field_id, field, time, is_in, mask, rmask, ie_in, weight, err_msg, diag_CS) [logical]
Called from

g_tracer_utils::g_send_data::g_send_data_1d

function g_tracer_utils/g_send_data_2d(diag_field_id, field, time, is_in, js_in, mask, rmask, ie_in, je_in, weight, err_msg, diag_CS) [logical]
Called from

g_tracer_utils::g_send_data::g_send_data_2d

function g_tracer_utils/g_send_data_3d(diag_field_id, field, time, is_in, js_in, ks_in, mask, rmask, ie_in, je_in, ke_in, weight, err_msg, diag_CS) [logical]
Called from

g_tracer_utils::g_send_data::g_send_data_3d

function g_tracer_utils/is_root_pe() [logical]

This returns .true. if the current PE is the root PE.

Called from

g_tracer_utils::g_tracer_add_param::g_tracer_add_param_integer g_tracer_utils::g_tracer_add_param::g_tracer_add_param_logical g_tracer_utils::g_tracer_add_param::g_tracer_add_param_real g_tracer_utils::g_tracer_add_param::g_tracer_add_param_string