MOM6
MOM_diag_mediator.F90 File Reference
#include "version_variable.h"
Include dependency graph for MOM_diag_mediator.F90:

Go to the source code of this file.

Data Types

interface  mom_diag_mediator::post_data
 
type  mom_diag_mediator::axes_grp
 A group of 1D axes that comprise a 1D/2D/3D mesh. More...
 
type  mom_diag_mediator::diag_type
 This type is used to represent a diagnostic at the diag_mediator level. There can be both 'primary' and 'seconday' diagnostics. The primaries reside in the diag_csdiags array. They have an id which is an index into this array. The secondaries are 'variations' on the primary diagnostic. For example the CMOR diagnostics are secondary. The secondary diagnostics are kept in a list with the primary diagnostic as the head. More...
 
type  mom_diag_mediator::diag_ctrl
 The following data type a list of diagnostic fields an their variants, as well as variables that control the handling of model output. More...
 

Modules

module  mom_diag_mediator
 

Macros

#define __DO_SAFETY_CHECKS__
 
#define IMPLIES(A, B)   ((.not. (A)) .or. (B))
 
#define DIAG_ALLOC_CHUNK_SIZE   100
 

Functions/Subroutines

subroutine, public mom_diag_mediator::set_axes_info (G, GV, param_file, diag_cs, set_vertical)
 Sets up diagnostics axes. More...
 
subroutine, public mom_diag_mediator::diag_register_area_ids (diag_cs, id_area_t, id_area_q)
 Attaches the id of cell areas to axes groups for use with cell_measures. More...
 
subroutine, public mom_diag_mediator::diag_register_volume_ids (diag_cs, id_vol_t)
 Attaches the id of cell volumes to axes groups for use with cell_measures. More...
 
subroutine, public mom_diag_mediator::define_axes_group (diag_cs, handles, axes, nz, vertical_coordinate_number, x_cell_method, y_cell_method, v_cell_method, is_h_point, is_q_point, is_u_point, is_v_point, is_layer, is_interface, is_native, needs_remapping, needs_interpolating, xyave_axes)
 Defines a group of "axes" from list of handles. More...
 
subroutine, public mom_diag_mediator::set_diag_mediator_grid (G, diag_cs)
 
subroutine mom_diag_mediator::post_data_0d (diag_field_id, field, diag_cs, is_static)
 
subroutine, public mom_diag_mediator::post_data_1d_k (diag_field_id, field, diag_cs, is_static)
 
subroutine mom_diag_mediator::post_data_2d (diag_field_id, field, diag_cs, is_static, mask)
 
subroutine mom_diag_mediator::post_data_2d_low (diag, field, diag_cs, is_static, mask)
 
subroutine mom_diag_mediator::post_data_3d (diag_field_id, field, diag_cs, is_static, mask, alt_h)
 
subroutine mom_diag_mediator::post_data_3d_low (diag, field, diag_cs, is_static, mask)
 
subroutine mom_diag_mediator::post_xy_average (diag_cs, diag, field)
 Post the horizontally area-averaged diagnostic. More...
 
subroutine, public mom_diag_mediator::enable_averaging (time_int_in, time_end_in, diag_cs)
 
subroutine, public mom_diag_mediator::disable_averaging (diag_cs)
 
logical function, public mom_diag_mediator::query_averaging_enabled (diag_cs, time_int, time_end)
 
type(time_type) function, public mom_diag_mediator::get_diag_time_end (diag_cs)
 
integer function, public mom_diag_mediator::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, conversion, v_extensive)
 Returns the "diag_mediator" handle for a group (native, CMOR, z-coord, ...) of diagnostics derived from one field. More...
 
logical function mom_diag_mediator::register_diag_field_expand_cmor (dm_id, 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, conversion, v_extensive)
 Returns True if either the native of CMOr version of the diagnostic were registered. Updates 'dm_id' after calling register_diag_field_expand_axes() for both native and CMOR variants of the field. More...
 
integer function mom_diag_mediator::register_diag_field_expand_axes (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)
 Returns an FMS id from register_diag_field_fms (the diag_manager routine) after expanding axes (axes-group) into handles and conditionally adding an FMS area_id for cell_measures. More...
 
subroutine mom_diag_mediator::add_diag_to_list (diag_cs, dm_id, fms_id, this_diag, axes, module_name, field_name, msg)
 Create a diagnostic type and attached to list. More...
 
subroutine mom_diag_mediator::attach_cell_methods (id, axes, ostring, cell_methods, x_cell_method, y_cell_method, v_cell_method, v_extensive)
 Attaches "cell_methods" attribute to a variable based on defaults for axes_grp or optional arguments. More...
 
integer function, public mom_diag_mediator::register_scalar_field (module_name, field_name, init_time, diag_cs, long_name, units, missing_value, range, standard_name, do_not_log, err_msg, interp_method, cmor_field_name, cmor_long_name, cmor_units, cmor_standard_name)
 
integer function, public mom_diag_mediator::register_static_field (module_name, field_name, axes, long_name, units, missing_value, range, mask_variant, standard_name, do_not_log, interp_method, tile_count, cmor_field_name, cmor_long_name, cmor_units, cmor_standard_name, area)
 Registers a static diagnostic, returning an integer handle. More...
 
subroutine mom_diag_mediator::describe_option (opt_name, value, diag_CS)
 
integer function, public mom_diag_mediator::ocean_register_diag (var_desc, G, diag_CS, day)
 Registers a diagnostic using the information encapsulated in the vardesc type argument and returns an integer handle to this diagostic. That integer handle is negative if the diagnostic is unused. More...
 
subroutine, public mom_diag_mediator::diag_mediator_infrastructure_init (err_msg)
 
subroutine, public mom_diag_mediator::diag_mediator_init (G, nz, param_file, diag_cs, doc_file_dir)
 diag_mediator_init initializes the MOM diag_mediator and opens the available diagnostics file, if appropriate. More...
 
subroutine, public mom_diag_mediator::diag_set_state_ptrs (h, T, S, eqn_of_state, diag_cs)
 
subroutine, public mom_diag_mediator::diag_update_remap_grids (diag_cs, alt_h)
 Build/update vertical grids for diagnostic remapping. More...
 
subroutine, public mom_diag_mediator::diag_masks_set (G, nz, missing_value, diag_cs)
 diag_masks_set sets up the 2d and 3d masks for diagnostics More...
 
subroutine, public mom_diag_mediator::diag_mediator_close_registration (diag_CS)
 
subroutine, public mom_diag_mediator::diag_mediator_end (time, diag_CS, end_diag_manager)
 
character(len=15) function mom_diag_mediator::i2s (a, n_in)
 
subroutine mom_diag_mediator::set_diag_mask (diag, diag_cs, axes)
 Associates the mask pointers within diag with the appropriate mask based on the axes group. More...
 
integer function mom_diag_mediator::get_new_diag_id (diag_cs)
 Returns a new diagnostic id, it may be necessary to expand the diagnostics array. More...
 
subroutine mom_diag_mediator::initialize_diag_type (diag)
 Initializes a diag_type (used after allocating new memory) More...
 
subroutine mom_diag_mediator::alloc_diag_with_id (diag_id, diag_cs, diag)
 
subroutine mom_diag_mediator::log_available_diag (used, module_name, field_name, cell_methods_string, comment, diag_CS, long_name, units, standard_name)
 Log a diagnostic to the available diagnostics file. More...
 

Variables

integer mom_diag_mediator::id_clock_diag_mediator
 
integer mom_diag_mediator::id_clock_diag_remap
 
integer mom_diag_mediator::id_clock_diag_grid_updates
 

Macro Definition Documentation

◆ __DO_SAFETY_CHECKS__

#define __DO_SAFETY_CHECKS__

◆ DIAG_ALLOC_CHUNK_SIZE

#define DIAG_ALLOC_CHUNK_SIZE   100

◆ IMPLIES

#define IMPLIES (   A,
 
)    ((.not. (A)) .or. (B))