MOM6
|
Data Types | |
type | axes_grp |
A group of 1D axes that comprise a 1D/2D/3D mesh. More... | |
type | 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... | |
type | 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... | |
interface | post_data |
Functions/Subroutines | |
subroutine, public | set_axes_info (G, GV, param_file, diag_cs, set_vertical) |
Sets up diagnostics axes. More... | |
subroutine, public | 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 | 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 | 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 | set_diag_mediator_grid (G, diag_cs) |
subroutine | post_data_0d (diag_field_id, field, diag_cs, is_static) |
subroutine, public | post_data_1d_k (diag_field_id, field, diag_cs, is_static) |
subroutine | post_data_2d (diag_field_id, field, diag_cs, is_static, mask) |
subroutine | post_data_2d_low (diag, field, diag_cs, is_static, mask) |
subroutine | post_data_3d (diag_field_id, field, diag_cs, is_static, mask, alt_h) |
subroutine | post_data_3d_low (diag, field, diag_cs, is_static, mask) |
subroutine | post_xy_average (diag_cs, diag, field) |
Post the horizontally area-averaged diagnostic. More... | |
subroutine, public | enable_averaging (time_int_in, time_end_in, diag_cs) |
subroutine, public | disable_averaging (diag_cs) |
logical function, public | query_averaging_enabled (diag_cs, time_int, time_end) |
type(time_type) function, public | get_diag_time_end (diag_cs) |
integer function, public | 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 | 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 | 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 | 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 | 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 | 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 | 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 | describe_option (opt_name, value, diag_CS) |
integer function, public | 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 | diag_mediator_infrastructure_init (err_msg) |
subroutine, public | 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 | diag_set_state_ptrs (h, T, S, eqn_of_state, diag_cs) |
subroutine, public | diag_update_remap_grids (diag_cs, alt_h) |
Build/update vertical grids for diagnostic remapping. More... | |
subroutine, public | diag_masks_set (G, nz, missing_value, diag_cs) |
diag_masks_set sets up the 2d and 3d masks for diagnostics More... | |
subroutine, public | diag_mediator_close_registration (diag_CS) |
subroutine, public | diag_mediator_end (time, diag_CS, end_diag_manager) |
character(len=15) function | i2s (a, n_in) |
subroutine | 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 | get_new_diag_id (diag_cs) |
Returns a new diagnostic id, it may be necessary to expand the diagnostics array. More... | |
subroutine | initialize_diag_type (diag) |
Initializes a diag_type (used after allocating new memory) More... | |
subroutine | alloc_diag_with_id (diag_id, diag_cs, diag) |
subroutine | 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 | id_clock_diag_mediator |
integer | id_clock_diag_remap |
integer | id_clock_diag_grid_updates |
|
private |
Create a diagnostic type and attached to list.
diag_cs | Diagnostics mediator control structure | |
[in,out] | dm_id | The diag_mediator ID for this diagnostic group |
[in] | fms_id | The FMS diag_manager ID for this diagnostic |
this_diag | This diagnostic | |
[in] | axes | Container w/ up to 3 integer handles that indicates axes for this field |
[in] | module_name | Name of this module, usually "ocean_model" or "ice_shelf_model" |
[in] | field_name | Name of diagnostic |
[in] | msg | Message for errors |
Definition at line 1371 of file MOM_diag_mediator.F90.
References alloc_diag_with_id(), mom_error_handler::assert(), get_new_diag_id(), and set_diag_mask().
Referenced by register_diag_field_expand_cmor().
|
private |
Definition at line 2211 of file MOM_diag_mediator.F90.
Referenced by add_diag_to_list(), register_scalar_field(), and register_static_field().
|
private |
Attaches "cell_methods" attribute to a variable based on defaults for axes_grp or optional arguments.
[in] | id | Handle to diagnostic |
[in] | axes | Container w/ up to 3 integer handles that indicates axes for this field |
[out] | ostring | The cell_methods strings that would appear in the file |
[in] | cell_methods | 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. |
[in] | x_cell_method | Specifies the cell method for the x-direction. Use '' have no method. |
[in] | y_cell_method | Specifies the cell method for the y-direction. Use '' have no method. |
[in] | v_cell_method | Specifies the cell method for the vertical direction. Use '' have no method. |
[in] | v_extensive | True for vertically extensive fields (vertically integrated). Default/absent for intensive. |
Definition at line 1396 of file MOM_diag_mediator.F90.
References mom_error_handler::mom_error().
Referenced by register_diag_field_expand_cmor().
subroutine, public mom_diag_mediator::define_axes_group | ( | type(diag_ctrl), intent(in), target | diag_cs, |
integer, dimension(:), intent(in) | handles, | ||
type(axes_grp), intent(out) | axes, | ||
integer, intent(in), optional | nz, | ||
integer, intent(in), optional | vertical_coordinate_number, | ||
character(len=*), intent(in), optional | x_cell_method, | ||
character(len=*), intent(in), optional | y_cell_method, | ||
character(len=*), intent(in), optional | v_cell_method, | ||
logical, intent(in), optional | is_h_point, | ||
logical, intent(in), optional | is_q_point, | ||
logical, intent(in), optional | is_u_point, | ||
logical, intent(in), optional | is_v_point, | ||
logical, intent(in), optional | is_layer, | ||
logical, intent(in), optional | is_interface, | ||
logical, intent(in), optional | is_native, | ||
logical, intent(in), optional | needs_remapping, | ||
logical, intent(in), optional | needs_interpolating, | ||
type(axes_grp), optional, target | xyave_axes | ||
) |
Defines a group of "axes" from list of handles.
[in] | diag_cs | Diagnostics control structure |
[in] | handles | A list of 1D axis handles |
[out] | axes | The group of 1D axes |
[in] | nz | Number of layers in this diagnostic grid |
[in] | vertical_coordinate_number | Index number for vertical coordinate |
[in] | x_cell_method | A x-direction cell method used to construct the "cell_methods" attribute in CF convention |
[in] | y_cell_method | A y-direction cell method used to construct the "cell_methods" attribute in CF convention |
[in] | v_cell_method | A vertical direction cell method used to construct the "cell_methods" attribute in CF convention |
[in] | is_h_point | If true, indicates this axes group for h-point located fields |
[in] | is_q_point | If true, indicates this axes group for q-point located fields |
[in] | is_u_point | If true, indicates this axes group for u-point located fields |
[in] | is_v_point | If true, indicates this axes group for v-point located fields |
[in] | is_layer | If true, indicates that this axes group is for a layer vertically-located field. |
[in] | is_interface | If true, indicates that this axes group is for an interface vertically-located field. |
[in] | is_native | If true, indicates that this axes group is for a native model grid. False for any other grid. |
[in] | needs_remapping | If true, indicates that this axes group is for a intensive layer-located field that must be remapped to these axes. Used for rank>2. |
[in] | needs_interpolating | If true, indicates that this axes group is for a sampled interface-located field that must be interpolated to these axes. Used for rank>2. |
xyave_axes | The corresponding axes group for horizontally area-average diagnostics |
Definition at line 434 of file MOM_diag_mediator.F90.
References i2s(), and mom_error_handler::mom_error().
Referenced by set_axes_info().
|
private |
Definition at line 1695 of file MOM_diag_mediator.F90.
Referenced by log_available_diag().
subroutine, public mom_diag_mediator::diag_masks_set | ( | type(ocean_grid_type), intent(in), target | G, |
integer, intent(in) | nz, | ||
real, intent(in) | missing_value, | ||
type(diag_ctrl), pointer | diag_cs | ||
) |
diag_masks_set sets up the 2d and 3d masks for diagnostics
[in] | g | The ocean grid type. |
[in] | nz | The number of layers in the model's native grid. |
[in] | missing_value | A value to use for masked points. |
diag_cs | A pointer to a type with many variables used for diagnostics |
Definition at line 2002 of file MOM_diag_mediator.F90.
Referenced by mom::initialize_mom().
subroutine, public mom_diag_mediator::diag_mediator_close_registration | ( | type(diag_ctrl), intent(inout) | diag_CS | ) |
Definition at line 2040 of file MOM_diag_mediator.F90.
Referenced by mom_main(), and ocean_model_mod::ocean_model_init().
subroutine, public mom_diag_mediator::diag_mediator_end | ( | type(time_type), intent(in) | time, |
type(diag_ctrl), intent(inout) | diag_CS, | ||
logical, intent(in), optional | end_diag_manager | ||
) |
[in] | end_diag_manager | If true, call diag_manager_end() |
Definition at line 2055 of file MOM_diag_mediator.F90.
Referenced by mom_main(), and ocean_model_mod::ocean_model_end().
subroutine, public mom_diag_mediator::diag_mediator_infrastructure_init | ( | character(len=*), intent(out), optional | err_msg | ) |
Definition at line 1814 of file MOM_diag_mediator.F90.
subroutine, public mom_diag_mediator::diag_mediator_init | ( | type(ocean_grid_type), intent(inout), target | G, |
integer, intent(in) | nz, | ||
type(param_file_type), intent(in) | param_file, | ||
type(diag_ctrl), intent(inout) | diag_cs, | ||
character(len=*), intent(in), optional | doc_file_dir | ||
) |
diag_mediator_init initializes the MOM diag_mediator and opens the available diagnostics file, if appropriate.
[in,out] | g | The ocean grid type. |
[in] | nz | The number of layers in the model's native grid. |
[in] | param_file | Parameter file structure |
[in,out] | diag_cs | A pointer to a type with many variables used for diagnostics |
[in] | doc_file_dir | A directory in which to create the file |
Definition at line 1823 of file MOM_diag_mediator.F90.
References id_clock_diag_grid_updates, id_clock_diag_mediator, id_clock_diag_remap, initialize_diag_type(), mom_error_handler::is_root_pe(), and mom_error_handler::mom_error().
subroutine, public mom_diag_mediator::diag_register_area_ids | ( | type(diag_ctrl), intent(inout) | diag_cs, |
integer, intent(in), optional | id_area_t, | ||
integer, intent(in), optional | id_area_q | ||
) |
Attaches the id of cell areas to axes groups for use with cell_measures.
[in,out] | diag_cs | Diagnostics control structure |
[in] | id_area_t | Diag_mediator id for area of h-cells |
[in] | id_area_q | Diag_mediator id for area of q-cells |
Definition at line 389 of file MOM_diag_mediator.F90.
subroutine, public mom_diag_mediator::diag_register_volume_ids | ( | type(diag_ctrl), intent(inout) | diag_cs, |
integer, intent(in), optional | id_vol_t | ||
) |
Attaches the id of cell volumes to axes groups for use with cell_measures.
[in,out] | diag_cs | Diagnostics control structure |
[in] | id_vol_t | Diag_manager id for volume of h-cells |
Definition at line 417 of file MOM_diag_mediator.F90.
References mom_error_handler::mom_error().
subroutine, public mom_diag_mediator::diag_set_state_ptrs | ( | real, dimension(:,:,:), intent(in), target | h, |
real, dimension(:,:,:), intent(in), target | T, | ||
real, dimension(:,:,:), intent(in), target | S, | ||
type(eos_type), intent(in), pointer | eqn_of_state, | ||
type(diag_ctrl), intent(inout) | diag_cs | ||
) |
[in] | eqn_of_state | Equation of state structure |
Definition at line 1946 of file MOM_diag_mediator.F90.
subroutine, public mom_diag_mediator::diag_update_remap_grids | ( | type(diag_ctrl), intent(inout) | diag_cs, |
real, dimension(:,:,:), intent(in), optional, target | alt_h | ||
) |
Build/update vertical grids for diagnostic remapping.
[in,out] | diag_cs | Diagnostics control structure |
[in] | alt_h | Used if remapped grids should be something other than the current thicknesses |
Definition at line 1968 of file MOM_diag_mediator.F90.
References id_clock_diag_grid_updates.
Referenced by mom_bulk_mixed_layer::bulkmixedlayer(), mom_mixed_layer_restrat::mixedlayer_restrat_bml(), mom_mixed_layer_restrat::mixedlayer_restrat_general(), mom_dynamics_split_rk2::step_mom_dyn_split_rk2(), and mom_thickness_diffuse::thickness_diffuse().
subroutine, public mom_diag_mediator::disable_averaging | ( | type(diag_ctrl), intent(inout) | diag_cs | ) |
Definition at line 1001 of file MOM_diag_mediator.F90.
Referenced by mom_main(), and mom_ice_shelf::shelf_calc_flux().
subroutine, public mom_diag_mediator::enable_averaging | ( | real, intent(in) | time_int_in, |
type(time_type), intent(in) | time_end_in, | ||
type(diag_ctrl), intent(inout) | diag_cs | ||
) |
Definition at line 980 of file MOM_diag_mediator.F90.
Referenced by mom_barotropic::btstep(), mom_legacy_barotropic::legacy_btstep(), mom_main(), and mom_ice_shelf::shelf_calc_flux().
type(time_type) function, public mom_diag_mediator::get_diag_time_end | ( | type(diag_ctrl), intent(in) | diag_cs | ) |
Definition at line 1030 of file MOM_diag_mediator.F90.
|
private |
Returns a new diagnostic id, it may be necessary to expand the diagnostics array.
[in,out] | diag_cs | Diagnostics control structure |
Definition at line 2165 of file MOM_diag_mediator.F90.
References mom_error_handler::assert(), and initialize_diag_type().
Referenced by add_diag_to_list(), register_scalar_field(), and register_static_field().
|
private |
Definition at line 2092 of file MOM_diag_mediator.F90.
Referenced by define_axes_group().
|
private |
Initializes a diag_type (used after allocating new memory)
[in,out] | diag | diag_type to be initialized |
Definition at line 2196 of file MOM_diag_mediator.F90.
Referenced by diag_mediator_init(), and get_new_diag_id().
|
private |
Log a diagnostic to the available diagnostics file.
[in] | used | Whether this diagnostic was in the diag_table or not |
[in] | module_name | Name of the diagnostic module |
[in] | field_name | Name of this diagnostic field |
[in] | cell_methods_string | The spatial component of the CF cell_methods attribute |
[in] | comment | A comment to append after [Used|Unused] |
[in] | diag_cs | The diagnotics control structure |
[in] | long_name | CF long name of diagnostic |
[in] | units | Units for diagnostic |
[in] | standard_name | CF standardized name of diagnostic |
Definition at line 2237 of file MOM_diag_mediator.F90.
References describe_option().
Referenced by register_diag_field_expand_cmor(), register_scalar_field(), and register_static_field().
integer function, public mom_diag_mediator::ocean_register_diag | ( | type(vardesc), intent(in) | var_desc, |
type(ocean_grid_type), intent(in) | G, | ||
type(diag_ctrl), intent(in), target | diag_CS, | ||
type(time_type), intent(in) | 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.
[in] | var_desc | The vardesc type describing the diagnostic |
[in] | g | The ocean's grid type |
[in] | diag_cs | The diagnotic control structure |
[in] | day | The current model time |
Definition at line 1711 of file MOM_diag_mediator.F90.
References mom_error_handler::mom_error(), mom_io::query_vardesc(), and register_diag_field().
Referenced by mom_diag_to_z::ocean_register_diag_with_z().
|
private |
Definition at line 516 of file MOM_diag_mediator.F90.
References mom_error_handler::assert(), and id_clock_diag_mediator.
subroutine, public mom_diag_mediator::post_data_1d_k | ( | integer, intent(in) | diag_field_id, |
real, dimension(:), intent(in) | field, | ||
type(diag_ctrl), intent(in), target | diag_cs, | ||
logical, intent(in), optional | is_static | ||
) |
Definition at line 553 of file MOM_diag_mediator.F90.
References mom_error_handler::assert(), and id_clock_diag_mediator.
Referenced by mom_diapyc_energy_req::diapyc_energy_req_calc().
|
private |
Definition at line 590 of file MOM_diag_mediator.F90.
References mom_error_handler::assert(), id_clock_diag_mediator, and post_data_2d_low().
|
private |
Definition at line 621 of file MOM_diag_mediator.F90.
References mom_error_handler::assert(), and mom_error_handler::mom_error().
Referenced by post_data_2d().
|
private |
Definition at line 712 of file MOM_diag_mediator.F90.
References mom_error_handler::assert(), id_clock_diag_mediator, id_clock_diag_remap, mom_error_handler::mom_error(), and post_data_3d_low().
|
private |
Definition at line 835 of file MOM_diag_mediator.F90.
References mom_error_handler::assert(), mom_error_handler::mom_error(), and post_xy_average().
Referenced by post_data_3d().
|
private |
Post the horizontally area-averaged diagnostic.
[in] | diag | This diagnostic |
[in] | field | Diagnostic field |
[in] | diag_cs | Diagnostics mediator control structure |
Definition at line 936 of file MOM_diag_mediator.F90.
References mom_error_handler::assert(), and mom_diag_remap::horizontally_average_diag_field().
Referenced by post_data_3d_low().
logical function, public mom_diag_mediator::query_averaging_enabled | ( | type(diag_ctrl), intent(in) | diag_cs, |
real, intent(out), optional | time_int, | ||
type(time_type), intent(out), optional | time_end | ||
) |
Definition at line 1014 of file MOM_diag_mediator.F90.
Referenced by mom_lateral_mixing_coeffs::calc_resoln_function(), mom_lateral_mixing_coeffs::calc_slope_functions(), mom_lateral_mixing_coeffs::calc_visbeck_coeffs(), mom_diabatic_driver::diabatic(), mom_forcing_type::forcing_diagnostics(), mom_forcing_type::mech_forcing_diags(), and mom_opacity::set_opacity().
integer function, public mom_diag_mediator::register_diag_field | ( | character(len=*), intent(in) | module_name, |
character(len=*), intent(in) | field_name, | ||
type(axes_grp), intent(in), target | axes, | ||
type(time_type), intent(in) | init_time, | ||
character(len=*), intent(in), optional | long_name, | ||
character(len=*), intent(in), optional | units, | ||
real, intent(in), optional | missing_value, | ||
real, dimension(2), intent(in), optional | range, | ||
logical, intent(in), optional | mask_variant, | ||
character(len=*), intent(in), optional | standard_name, | ||
logical, intent(in), optional | verbose, | ||
logical, intent(in), optional | do_not_log, | ||
character(len=*), intent(out), optional | err_msg, | ||
character(len=*), intent(in), optional | interp_method, | ||
integer, intent(in), optional | tile_count, | ||
character(len=*), intent(in), optional | cmor_field_name, | ||
character(len=*), intent(in), optional | cmor_long_name, | ||
character(len=*), intent(in), optional | cmor_units, | ||
character(len=*), intent(in), optional | cmor_standard_name, | ||
character(len=*), intent(in), optional | cell_methods, | ||
character(len=*), intent(in), optional | x_cell_method, | ||
character(len=*), intent(in), optional | y_cell_method, | ||
character(len=*), intent(in), optional | v_cell_method, | ||
real, intent(in), optional | conversion, | ||
logical, intent(in), optional | v_extensive | ||
) |
Returns the "diag_mediator" handle for a group (native, CMOR, z-coord, ...) of diagnostics derived from one field.
[in] | module_name | Name of this module, usually "ocean_model" or "ice_shelf_model" |
[in] | field_name | Name of the diagnostic field |
[in] | axes | Container w/ up to 3 integer handles that indicates axes for this field |
[in] | init_time | Time at which a field is first available? |
[in] | long_name | Long name of a field. |
[in] | units | Units of a field. |
[in] | standard_name | Standardized name associated with a field |
[in] | missing_value | A value that indicates missing values. |
[in] | range | Valid range of a variable (not used in MOM?) |
[in] | mask_variant | If true a logical mask must be provided with post_data calls (not used in MOM?) |
[in] | verbose | If true, FMS is verbose (not used in MOM?) |
[in] | do_not_log | If true, do not log something (not used in MOM?) |
[out] | err_msg | String into which an error message might be placed (not used in MOM?) |
[in] | interp_method | If 'none' indicates the field should not be interpolated as a scalar |
[in] | tile_count | no clue (not used in MOM?) |
[in] | cmor_field_name | CMOR name of a field |
[in] | cmor_long_name | CMOR long name of a field |
[in] | cmor_units | CMOR units of a field |
[in] | cmor_standard_name | CMOR standardized name associated with a field |
[in] | cell_methods | 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. |
[in] | x_cell_method | Specifies the cell method for the x-direction. Use '' have no method. |
[in] | y_cell_method | Specifies the cell method for the y-direction. Use '' have no method. |
[in] | v_cell_method | Specifies the cell method for the vertical direction. Use '' have no method. |
[in] | conversion | A value to multiply data by before writing to file |
[in] | v_extensive | True for vertically extensive fields (vertically integrated). Default/absent for intensive. |
Definition at line 1048 of file MOM_diag_mediator.F90.
References register_diag_field_expand_cmor().
Referenced by mom_ale::ale_register_diags(), mom_coriolisadv::coriolisadv_init(), mom_diapyc_energy_req::diapyc_energy_req_init(), mom_diffconvection::diffconvection_init(), mom_int_tide_input::int_tide_input_init(), mom_kpp::kpp_init(), mom_neutral_diffusion::neutral_diffusion_diag_init(), and ocean_register_diag().
|
private |
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.
[in] | module_name | Name of this module, usually "ocean_model" or "ice_shelf_model" |
[in] | field_name | Name of the diagnostic field |
[in] | axes | Container w/ up to 3 integer handles that indicates axes for this field |
[in] | init_time | Time at which a field is first available? |
[in] | long_name | Long name of a field. |
[in] | units | Units of a field. |
[in] | standard_name | Standardized name associated with a field |
[in] | missing_value | A value that indicates missing values. |
[in] | range | Valid range of a variable (not used in MOM?) |
[in] | mask_variant | If true a logical mask must be provided with post_data calls (not used in MOM?) |
[in] | verbose | If true, FMS is verbose (not used in MOM?) |
[in] | do_not_log | If true, do not log something (not used in MOM?) |
[out] | err_msg | String into which an error message might be placed (not used in MOM?) |
[in] | interp_method | If 'none' indicates the field should not be interpolated as a scalar |
[in] | tile_count | no clue (not used in MOM?) |
Definition at line 1311 of file MOM_diag_mediator.F90.
Referenced by register_diag_field_expand_cmor().
|
private |
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.
[in,out] | dm_id | The diag_mediator ID for this diagnostic group |
[in] | module_name | Name of this module, usually "ocean_model" or "ice_shelf_model" |
[in] | field_name | Name of the diagnostic field |
[in] | axes | Container w/ up to 3 integer handles that indicates axes for this field |
[in] | init_time | Time at which a field is first available? |
[in] | long_name | Long name of a field. |
[in] | units | Units of a field. |
[in] | standard_name | Standardized name associated with a field |
[in] | missing_value | A value that indicates missing values. |
[in] | range | Valid range of a variable (not used in MOM?) |
[in] | mask_variant | If true a logical mask must be provided with post_data calls (not used in MOM?) |
[in] | verbose | If true, FMS is verbose (not used in MOM?) |
[in] | do_not_log | If true, do not log something (not used in MOM?) |
[out] | err_msg | String into which an error message might be placed (not used in MOM?) |
[in] | interp_method | If 'none' indicates the field should not be interpolated as a scalar |
[in] | tile_count | no clue (not used in MOM?) |
[in] | cmor_field_name | CMOR name of a field |
[in] | cmor_long_name | CMOR long name of a field |
[in] | cmor_units | CMOR units of a field |
[in] | cmor_standard_name | CMOR standardized name associated with a field |
[in] | cell_methods | 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. |
[in] | x_cell_method | Specifies the cell method for the x-direction. Use '' have no method. |
[in] | y_cell_method | Specifies the cell method for the y-direction. Use '' have no method. |
[in] | v_cell_method | Specifies the cell method for the vertical direction. Use '' have no method. |
[in] | conversion | A value to multiply data by before writing to file |
[in] | v_extensive | True for vertically extensive fields (vertically integrated). Default/absent for intensive. |
Definition at line 1159 of file MOM_diag_mediator.F90.
References add_diag_to_list(), attach_cell_methods(), mom_error_handler::is_root_pe(), log_available_diag(), and register_diag_field_expand_axes().
Referenced by register_diag_field().
integer function, public mom_diag_mediator::register_scalar_field | ( | character(len=*), intent(in) | module_name, |
character(len=*), intent(in) | field_name, | ||
type(time_type), intent(in) | init_time, | ||
type(diag_ctrl), intent(inout) | diag_cs, | ||
character(len=*), intent(in), optional | long_name, | ||
character(len=*), intent(in), optional | units, | ||
real, intent(in), optional | missing_value, | ||
real, dimension(2), intent(in), optional | range, | ||
character(len=*), intent(in), optional | standard_name, | ||
logical, intent(in), optional | do_not_log, | ||
character(len=*), intent(out), optional | err_msg, | ||
character(len=*), intent(in), optional | interp_method, | ||
character(len=*), intent(in), optional | cmor_field_name, | ||
character(len=*), intent(in), optional | cmor_long_name, | ||
character(len=*), intent(in), optional | cmor_units, | ||
character(len=*), intent(in), optional | cmor_standard_name | ||
) |
Definition at line 1486 of file MOM_diag_mediator.F90.
References alloc_diag_with_id(), mom_error_handler::assert(), get_new_diag_id(), mom_error_handler::is_root_pe(), and log_available_diag().
integer function, public mom_diag_mediator::register_static_field | ( | character(len=*), intent(in) | module_name, |
character(len=*), intent(in) | field_name, | ||
type(axes_grp), intent(in) | axes, | ||
character(len=*), intent(in), optional | long_name, | ||
character(len=*), intent(in), optional | units, | ||
real, intent(in), optional | missing_value, | ||
real, dimension(2), intent(in), optional | range, | ||
logical, intent(in), optional | mask_variant, | ||
character(len=*), intent(in), optional | standard_name, | ||
logical, intent(in), optional | do_not_log, | ||
character(len=*), intent(in), optional | interp_method, | ||
integer, intent(in), optional | tile_count, | ||
character(len=*), intent(in), optional | cmor_field_name, | ||
character(len=*), intent(in), optional | cmor_long_name, | ||
character(len=*), intent(in), optional | cmor_units, | ||
character(len=*), intent(in), optional | cmor_standard_name, | ||
integer, intent(in), optional | area | ||
) |
Registers a static diagnostic, returning an integer handle.
[in] | area | fms_id for area_t |
Definition at line 1591 of file MOM_diag_mediator.F90.
References alloc_diag_with_id(), mom_error_handler::assert(), get_new_diag_id(), mom_error_handler::is_root_pe(), and log_available_diag().
Referenced by mom_geothermal::geothermal_init().
subroutine, public mom_diag_mediator::set_axes_info | ( | type(ocean_grid_type), intent(inout) | G, |
type(verticalgrid_type), intent(in) | GV, | ||
type(param_file_type), intent(in) | param_file, | ||
type(diag_ctrl), intent(inout) | diag_cs, | ||
logical, intent(in), optional | set_vertical | ||
) |
Sets up diagnostics axes.
[in,out] | g | Ocean grid structure |
[in] | gv | ocean vertical grid structure |
[in] | param_file | Parameter file structure |
[in,out] | diag_cs | Diagnostics control structure |
[in] | set_vertical | If true or missing, set up vertical axes |
Definition at line 213 of file MOM_diag_mediator.F90.
References define_axes_group().
Referenced by mom::initialize_mom().
|
private |
Associates the mask pointers within diag with the appropriate mask based on the axes group.
[in] | diag_cs | Diag_mediator control structure |
[in,out] | diag | This diag type |
[in] | axes | Axes group |
Definition at line 2113 of file MOM_diag_mediator.F90.
Referenced by add_diag_to_list().
subroutine, public mom_diag_mediator::set_diag_mediator_grid | ( | type(ocean_grid_type), intent(inout) | G, |
type(diag_ctrl), intent(inout) | diag_cs | ||
) |
[in,out] | g | The ocean's grid structure |
Definition at line 501 of file MOM_diag_mediator.F90.
|
private |
Definition at line 207 of file MOM_diag_mediator.F90.
Referenced by diag_mediator_init(), and diag_update_remap_grids().
integer mom_diag_mediator::id_clock_diag_mediator |
Definition at line 207 of file MOM_diag_mediator.F90.
Referenced by diag_mediator_init(), post_data_0d(), post_data_1d_k(), post_data_2d(), and post_data_3d().
|
private |
Definition at line 207 of file MOM_diag_mediator.F90.
Referenced by diag_mediator_init(), and post_data_3d().