mom_diag_manager_wrapper module reference

A simple (very thin) wrapper for register_diag_field to avoid a compiler bug with PGI.

More…

Functions/Subroutines

register_diag_field_array_fms()

An integer handle for a diagnostic array returned by register_diag_field()

register_diag_field_scalar_fms()

An integer handle for a diagnostic scalar array returned by register_diag_field()

Detailed Description

This module simply wraps register_diag_field() from FMS’s diag_manager_mod. We used to be able to import register_diag_field and rename it to from FMS’s diag_manager_mod. We used to be able to import register_diag_field and rename it to register_diag_field_fms() with a simple “use, only : register_diag_field_fms => register_diag_field” but PGI 16.5 has a bug that refuses to compile this - earlier versions did work. with a simple “use, only : register_diag_field_fms => register_diag_field” but PGI 16.5 has a bug that refuses to compile this - earlier versions did work.

Function/Subroutine Documentation

function mom_diag_manager_wrapper/register_diag_field_array_fms(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, area, volume) [integer]

An integer handle for a diagnostic array returned by register_diag_field()

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

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

  • axes :: [in] Container w/ up to 3 integer handles that indicates axes for this 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] If ‘none’ indicates the field should not be interpolated as a scalar

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

  • area :: [in] The FMS id of cell area

  • volume :: [in] The FMS id of cell volume

function mom_diag_manager_wrapper/register_diag_field_scalar_fms(module_name, field_name, init_time, long_name, units, missing_value, range, mask_variant, standard_name, verbose, do_not_log, err_msg, interp_method, tile_count, area, volume) [integer]

An integer handle for a diagnostic scalar array returned by register_diag_field()

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] If ‘none’ indicates the field should not be interpolated as a scalar

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

  • area :: [in] The FMS id of cell area (not used for scalars)

  • volume :: [in] The FMS id of cell volume (not used for scalars)