FMS
2024.03
Flexible Modeling System
|
fms_diag_yaml_mod is an integral part of diag_manager_mod. Its function is to read the diag_table.yaml to fill in the diag_yaml_object More...
Data Types | |
type | diagyamlobject_type |
Object that holds the information of the diag_yaml. More... | |
Functions/Subroutines | |
subroutine | add_axis_attribute (this, att_name, att_value) |
Add an attribute to an axis. More... | |
subroutine | add_axis_name (this, axis_name) |
subroutine | add_structured_axis_ids (this, axis_ids) |
integer function | axis_length (this) |
Get the axis length of a subaxis. More... | |
subroutine | check_if_valid_cart_name (cart_name) |
Check if a cart_name is valid and crashes if it isn't. | |
subroutine | check_if_valid_direction (direction) |
Check if a direction is valid and crashes if it isn't. | |
subroutine | check_if_valid_domain_position (domain_position) |
Check if a domain_position is valid and crashes if it isn't. | |
subroutine, public | create_new_z_subaxis (zbounds, var_axis_ids, diag_axis, naxis, file_axis_id, nfile_axis, nz_subaxis) |
Creates a new z subaxis to use. More... | |
subroutine, public | define_diurnal_axis (diag_axis, naxis, n_diurnal_samples, is_edges) |
Defined a new diurnal axis. More... | |
subroutine, public | define_new_axis (diag_axis, parent_axis, naxis, parent_id, starting_index, ending_index, compute_idx, global_idx, new_axis_id, zbounds, nz_subaxis) |
Creates a new subaxis and fills it will all the information it needs. More... | |
subroutine, public | define_new_subaxis_index (parent_axis, subRegion, diag_axis, naxis, is_x_or_y, write_on_this_pe) |
Fill in the subaxis object for a subRegion defined by index. More... | |
subroutine, public | define_new_subaxis_latlon (diag_axis, axis_ids, naxis, subRegion, is_cube_sphere, write_on_this_pe) |
Fill in the subaxis object for a subRegion defined by lat lon. More... | |
subroutine | diag_get_value_from_key (diag_file_id, par_id, key_name, value_name, is_optional) |
diag_manager wrapper to get_value_from_key to use for allocatable string variables More... | |
subroutine | diag_yaml_files_obj_init (obj) |
Initializes the non string values of a diagYamlFiles_type to its default values. More... | |
subroutine, public | diag_yaml_object_end () |
Destroys the diag_yaml object. | |
subroutine, public | diag_yaml_object_init (diag_subset_output) |
Uses the yaml_parser_mod to read in the diag_table and fill in the diag_yaml object. More... | |
subroutine, public | dump_diag_yaml_obj (filename) |
Prints out values from diag_yaml object for debugging. Only writes on root. More... | |
subroutine | fill_in_diag_fields (diag_file_id, yaml_fileobj, var_id, field, allow_averages) |
Fills in a diagYamlFilesVar_type with the contents of a variable block in diag_table.yaml. More... | |
subroutine | fill_in_diag_files (diag_yaml_id, diag_file_id, yaml_fileobj) |
Fills in a diagYamlFiles_type with the contents of a file block in diag_table.yaml. More... | |
subroutine | fill_subaxis (this, starting_index, ending_index, axis_id, parent_id, parent_axis_name, compute_idx, global_idx, zbounds, nz_subaxis) |
Fills in the information needed to define a subaxis. More... | |
integer function, dimension(:), allocatable, public | find_diag_field (diag_field_name, module_name) |
Determines if a diag_field is in the diag_yaml_object. More... | |
logical function, public | fms_diag_axis_object_end (axis_array) |
logical function, public | fms_diag_axis_object_init (axis_array) |
subroutine, public | fms_diag_yaml_out () |
Writes an output yaml with all available information on the written files. Will only write with root pe. Global attributes are limited to 16 per file. | |
pure character(len=:) function, allocatable | get_aux (this) |
Get the auxiliary name of an axis object. More... | |
pure integer function, public | get_axis_id_from_name (axis_name, diag_axis, naxis, set_name) |
integer function | get_axis_length (this) |
Get the length of the axis. More... | |
pure character(len=:) function, allocatable | get_axis_name (this, is_regional) |
pure integer function, dimension(basedate_size) | get_basedate (this) |
get the basedate of a diag_yaml type More... | |
subroutine | get_compute_domain (this, compute_idx, need_to_define_axis, tile_number) |
integer function, dimension(2) | get_compute_indices (this) |
Accesses its member compute_indices. More... | |
type(diagyamlfilesvar_type) function, pointer | get_diag_field_from_id (this, yaml_id) |
Get the diag_field yaml corresponding to a yaml_id. More... | |
integer function, dimension(:), allocatable, public | get_diag_field_ids (indices) |
Gets field indices corresponding to the indices (input argument) in the sorted variable_list. More... | |
pure type(diagyamlfilesvar_type) function, dimension(:), allocatable | get_diag_fields (this) |
get the diag_fields of a diag_yaml type More... | |
type(diagyamlfilesvar_type) function, dimension(:), allocatable, public | get_diag_fields_entries (indices) |
Gets the diag_field entries corresponding to the indices of the sorted variable_list. More... | |
type(diagyamlfiles_type) function, dimension(:), allocatable | get_diag_files (this) |
get the diag_files of a diag_yaml type More... | |
integer function, dimension(:), allocatable, public | get_diag_files_id (indices) |
Finds the indices of the diag_yamldiag_files(:) corresponding to fields in variable_list(indices) More... | |
pure character(len=8 *max_freq) function | get_diag_reduction_string (reduction_val) |
private function for getting reduction type string from parameter values More... | |
pure character(len=8 *size(unit_param)) function | get_diag_unit_string (unit_param) |
private function for getting unit string from diag_data parameter values More... | |
type(diagyamlobject_type) function, pointer, public | get_diag_yaml_obj () |
gets the diag_yaml module variable More... | |
pure integer function | get_diurnal_axis_samples (this) |
subroutine, public | get_domain_and_domain_type (diag_axis, axis_id, domain_type, domain, var_name) |
Loop through a variable's axis_id to determine and return the domain type and domain to use. More... | |
pure integer function | get_edges_id (this) |
integer function | get_ending_index (this) |
Accesses its member ending_index. More... | |
pure integer function | get_file_duration (this) |
Inquiry for diag_files_objfile_duration. More... | |
pure integer function | get_file_duration_units (this) |
Inquiry for diag_files_objfile_duration_units. More... | |
pure character(len=:) function, allocatable | get_file_fname (this) |
Inquiry for diag_files_objfile_fname. More... | |
pure integer function | get_file_freq (this) |
Inquiry for diag_files_objfile_freq. More... | |
pure integer function | get_file_frequnit (this) |
Inquiry for diag_files_objfile_frequnit. More... | |
pure character(len=max_str_len) function, dimension(:,:), allocatable | get_file_global_meta (this) |
Inquiry for diag_files_objfile_global_meta. More... | |
pure integer function | get_file_new_file_freq (this) |
Inquiry for diag_files_objfile_new_file_freq. More... | |
pure integer function | get_file_new_file_freq_units (this) |
Inquiry for diag_files_objfile_new_file_freq_units. More... | |
pure character(len=:) function, allocatable | get_file_start_time (this) |
Inquiry for diag_files_objfile_start_time. More... | |
type(subregion_type) function, pointer | get_file_sub_region (this) |
Inquiry for diag_files_objfile_subregion. More... | |
pure integer function | get_file_timeunit (this) |
Inquiry for diag_files_objfile_timeunit. More... | |
pure character(len=:) function, allocatable | get_file_unlimdim (this) |
Inquiry for diag_files_objfile_unlimdim. More... | |
pure character(:) function, dimension(:), allocatable | get_file_varlist (this) |
Inquiry for diag_files_objfile_varlist. More... | |
pure integer function | get_filename_time (this) |
Get the integer equivalent of the time to use to determine the filename, if using a wildcard file name (i.e ocn%4yr%2mo%2dy%2hr) More... | |
subroutine | get_global_io_domain (this, global_io_index) |
Get the starting and ending indices of the global io domain of the axis. More... | |
subroutine | get_indices (this, compute_idx, corners_indices, starting_index, ending_index, need_to_define_axis) |
Determine if the subRegion is in the current PE. If it is, determine the starting and ending indices of the current PE that belong to the subRegion. More... | |
integer function | get_length (this, cart_axis, domain_position, global_length) |
Get the length of a 2D domain. More... | |
pure integer function | get_n_diurnal (this) |
Inquiry for diag_yaml_files_var_objn_diurnal. More... | |
integer function | get_ntiles (this) |
Get the ntiles in a domain. More... | |
integer function, public | get_num_unique_fields () |
Determine the number of unique diag_fields in the diag_yaml_object. More... | |
pure integer function | get_parent_axis_id (this) |
pure integer function | get_pow_value (this) |
Inquiry for diag_yaml_files_var_objpow_value. More... | |
pure character(len=:) function, allocatable | get_set_name (this) |
Get the set name of an axis object. More... | |
integer function | get_starting_index (this) |
Accesses its member starting_index. More... | |
pure integer function, dimension(2) | get_structured_axis (this) |
subroutine | get_sub_region (diag_yaml_id, sub_region_id, sub_region, grid_type, fname) |
gets the lat/lon of the sub region to use in a diag_table yaml More... | |
pure integer function | get_subaxes_id (this) |
pure character(len=:) function, allocatable | get_title (this) |
get the title of a diag_yaml type More... | |
integer function | get_total_num_vars (diag_yaml_id, diag_file_id) |
gets the total number of variables in the diag_table yaml file More... | |
pure character(len=max_str_len) function, dimension(:,:), allocatable | get_var_attributes (this) |
Inquiry for diag_yaml_files_var_objvar_attributes. More... | |
pure character(len=:) function, allocatable | get_var_fname (this) |
Inquiry for diag_yaml_files_var_objvar_fname. More... | |
pure integer function, allocatable | get_var_kind (this) |
Inquiry for diag_yaml_files_var_objvar_kind. More... | |
pure character(len=:) function, allocatable | get_var_longname (this) |
Inquiry for diag_yaml_files_var_objvar_longname. More... | |
pure character(len=:) function, allocatable | get_var_module (this) |
Inquiry for diag_yaml_files_var_objvar_module. More... | |
pure character(len=:) function, allocatable | get_var_outname (this) |
Inquiry for diag_yaml_files_var_objvar_outname. More... | |
pure integer function, allocatable | get_var_reduction (this) |
Inquiry for diag_yaml_files_var_objvar_reduction. More... | |
pure character(len=:) function, allocatable | get_var_units (this) |
Inquiry for diag_yaml_files_var_objvar_units. More... | |
pure character(len=:) function, allocatable | get_var_varname (this) |
Inquiry for diag_yaml_files_var_objvar_varname. More... | |
pure real(kind=r4_kind) function, dimension(2) | get_var_zbounds (this) |
Inquiry for diag_yaml_files_var_objvar_zbounds. More... | |
pure logical function | has_aux (this) |
Determine if an axis object has an auxiliary name. More... | |
pure logical function | has_diag_basedate (this) |
diag_file_objdiag_basedate is on the stack, so this is always true More... | |
pure logical function | has_diag_fields (this) |
Checks if diag_file_objdiag_fields is allocated. More... | |
pure logical function | has_diag_files (this) |
Checks if diag_file_objdiag_files is allocated. More... | |
pure logical function | has_diag_title (this) |
Checks if diag_file_objdiag_title is allocated. More... | |
pure logical function | has_file_duration (this) |
diag_file_objfile_duration is allocated on th stack, so this is always true More... | |
pure logical function | has_file_duration_units (this) |
diag_file_objfile_duration_units is on the stack, so this will retrun true More... | |
pure logical function | has_file_fname (this) |
Checks if diag_file_objfile_fname is allocated. More... | |
pure logical function | has_file_freq (this) |
diag_file_objfile_freq is on the stack, so the object always has it More... | |
pure logical function | has_file_frequnit (this) |
Checks if diag_file_objfile_frequnit is allocated. More... | |
pure logical function | has_file_global_meta (this) |
Checks if diag_file_objfile_global_meta is allocated. More... | |
pure logical function | has_file_new_file_freq (this) |
diag_file_objfile_new_file_freq is defined on the stack, so this will return true More... | |
pure logical function | has_file_new_file_freq_units (this) |
Checks if diag_file_objfile_new_file_freq_units is allocated. More... | |
pure logical function | has_file_start_time (this) |
Checks if diag_file_objfile_start_time is allocated. More... | |
pure logical function | has_file_sub_region (this) |
Checks if diag_file_objfile_sub_region is being used and has the sub region variables allocated. More... | |
pure logical function | has_file_timeunit (this) |
Checks if diag_file_objfile_timeunit is allocated. More... | |
pure logical function | has_file_unlimdim (this) |
Checks if diag_file_objfile_unlimdim is allocated. More... | |
pure logical function | has_file_varlist (this) |
Checks if diag_file_objfile_varlist is allocated. More... | |
pure logical function | has_file_write (this) |
Checks if diag_file_objfile_write is on the stack, so this will always be true. More... | |
pure logical function | has_n_diurnal (this) |
Checks if diag_file_objn_diurnal is set. More... | |
pure logical function | has_pow_value (this) |
Checks if diag_file_objpow_value is set. More... | |
pure logical function | has_set_name (this) |
Determine if an axis object has a set_name. More... | |
pure logical function | has_var_attributes (this) |
Checks if diag_file_objvar_attributes is allocated. More... | |
pure logical function | has_var_fname (this) |
Checks if diag_file_objvar_fname is allocated. More... | |
pure logical function | has_var_kind (this) |
Checks if diag_file_objvar_kind is allocated. More... | |
pure logical function | has_var_longname (this) |
Checks if diag_file_objvar_longname is allocated. More... | |
pure logical function | has_var_module (this) |
Checks if diag_file_objvar_module is allocated. More... | |
pure logical function | has_var_outname (this) |
Checks if diag_file_objvar_outname is allocated. More... | |
pure logical function | has_var_reduction (this) |
Checks if diag_file_objvar_reduction is allocated. More... | |
pure logical function | has_var_units (this) |
Checks if diag_file_objvar_units is allocated. More... | |
pure logical function | has_var_varname (this) |
Checks if diag_file_objvar_varname is allocated. More... | |
pure logical function | has_var_write (this) |
diag_file_objvar_write is on the stack, so this returns true More... | |
pure logical function | has_var_zbounds (this) |
Checks if diag_file_objvar_zbounds is allocated. More... | |
subroutine | increase_new_file_freq_index (this) |
Increate the current_new_file_freq_index by 1. More... | |
pure logical function | is_file_subregional (this) |
logical function | is_global_meta (this) |
Inquiry for whether file_global_meta is allocated. More... | |
logical function, public | is_parent_axis (axis_id, parent_axis_id, diag_axis) |
Determine if the diag_axis(parent_axis_id) is the parent of diag_axis(axis_id) More... | |
pure logical function | is_unstructured_grid (this) |
logical function | is_var_attributes (this) |
Inquiry for whether var_attributes is allocated. More... | |
logical function | is_x_or_y_axis (this, x_or_y) |
Determine if an axis object is an x or y axis. More... | |
pure logical function | is_z_axis (this) |
pure character(len=120) function, dimension(2), public | parse_compress_att (compress_att) |
subroutine | parse_key (filename, buffer, file_freq, file_frequnit, var) |
This parses the freq, new_file_freq, or file_duration keys which are read in as a comma list. More... | |
subroutine | register_diag_axis_obj (this, axis_name, axis_data, units, cart_name, long_name, direction, set_name, Domain, Domain2, DomainU, aux, req, tile_count, domain_position, axis_length) |
Initialize the axis. More... | |
subroutine | set_axis_domain (this, Domain, Domain2, DomainU) |
Set the axis domain. More... | |
subroutine | set_axis_id (this, axis_id) |
Set the axis_id. More... | |
subroutine | set_edges (this, edges_name, edges_id) |
Set the name and ids of the edges. More... | |
subroutine | set_field_kind (field, skind) |
This checks if the kind of a diag field is valid and sets it. More... | |
subroutine | set_field_reduction (field, reduction_method) |
This checks if the reduction of a diag field is valid and sets it If the reduction method is diurnalXX or powXX, it gets the number of diurnal sample and the power value. More... | |
subroutine | set_file_time_units (yaml_fileobj, file_timeunit) |
This checks if the time unit in a diag file is valid and sets the integer equivalent. More... | |
subroutine | set_filename_time (yaml_fileobj, filename_time) |
This checks if the filename_time in a diag file is correct and sets the integer equivalent. More... | |
integer function | set_valid_time_units (time_units, error_msg) |
This checks if a time unit is valid and if it is, it assigns the integer equivalent. More... | |
pure integer function | size_diag_files (this) |
Find the number of files listed in the diag yaml. More... | |
integer pure function | size_file_varlist (this) |
Finds the number of variables in the file_varlist. More... | |
subroutine | write_axis_data (this, fms2io_fileobj, parent_axis) |
Write the axis data to an open fms2io_fileobj. More... | |
subroutine | write_axis_metadata (this, fms2io_fileobj, edges_in_file, parent_axis) |
Write the axis meta data to an open fileobj. More... | |
subroutine | write_diurnal_metadata (this, fms2io_fileobj) |
fms_diag_yaml_mod is an integral part of diag_manager_mod. Its function is to read the diag_table.yaml to fill in the diag_yaml_object
type fms_diag_yaml_mod::diagyamlobject_type |
Object that holds the information of the diag_yaml.
Definition at line 249 of file fms_diag_yaml.F90.
Public Attributes | |
type(diagyamlfilesvar_type), dimension(:), allocatable, public | diag_fields |
Diag fields info. | |
type(diagyamlfiles_type), dimension(:), allocatable, public | diag_files |
History file info. | |
Private Member Functions | |
procedure | get_basedate |
Returns the basedate array. | |
procedure | get_diag_field_from_id |
procedure | get_diag_fields |
Returns the diag_field array. | |
procedure | get_diag_files |
Returns the diag_files array. | |
procedure | get_title |
Returns the title. | |
procedure | has_diag_basedate |
procedure | has_diag_fields |
procedure | has_diag_files |
procedure | has_diag_title |
procedure | size_diag_files |
Private Attributes | |
integer, dimension(basedate_size), private | diag_basedate |
basedate array | |
character(len=:), allocatable, private | diag_title |
Experiment name. | |
|
private |
Add an attribute to an axis.
[in,out] | this | diag_axis obj |
[in] | att_name | Name of the attribute |
[in] | att_value | The attribute value to add |
Definition at line 293 of file fms_diag_axis_object.F90.
|
private |
[in,out] | this | diag_axis obj |
[in] | axis_ids | axis ids to add to the axis object |
Definition at line 544 of file fms_diag_axis_object.F90.
|
private |
Get the axis length of a subaxis.
[in] | this | diag_sub_axis obj |
Definition at line 873 of file fms_diag_axis_object.F90.
subroutine, public fms_diag_axis_object_mod::create_new_z_subaxis | ( | real(kind=r4_kind), dimension(2), intent(in) | zbounds, |
integer, dimension(:), intent(inout) | var_axis_ids, | ||
class(fmsdiagaxiscontainer_type), dimension(:), intent(inout), target | diag_axis, | ||
integer, intent(inout) | naxis, | ||
integer, dimension(:), intent(inout) | file_axis_id, | ||
integer, intent(inout) | nfile_axis, | ||
integer, intent(inout) | nz_subaxis | ||
) |
Creates a new z subaxis to use.
[in] | zbounds | Bounds of the Z axis |
[in,out] | var_axis_ids | The variable's axis_ids |
[in,out] | diag_axis | Array of diag_axis objects |
[in,out] | naxis | Number of axis that have been registered |
[in,out] | file_axis_id | The file's axis_ids |
[in,out] | nfile_axis | Number of axis that have been defined in file |
[in,out] | nz_subaxis | The number of z subaxis currently defined in the file |
Definition at line 1405 of file fms_diag_axis_object.F90.
subroutine, public fms_diag_axis_object_mod::define_diurnal_axis | ( | class(fmsdiagaxiscontainer_type), dimension(:), intent(inout), target | diag_axis, |
integer, intent(inout) | naxis, | ||
integer, intent(in) | n_diurnal_samples, | ||
logical, intent(in) | is_edges | ||
) |
Defined a new diurnal axis.
[in,out] | diag_axis | Array of axis containers |
[in,out] | naxis | Number of axis that have been defined |
[in] | n_diurnal_samples | The number of diurnal samples for the curent axis |
[in] | is_edges | Flag indicating if this is an edge axis |
Definition at line 470 of file fms_diag_axis_object.F90.
subroutine, public fms_diag_axis_object_mod::define_new_axis | ( | class(fmsdiagaxiscontainer_type), dimension(:), intent(inout), target | diag_axis, |
class(fmsdiagfullaxis_type), intent(inout) | parent_axis, | ||
integer, intent(inout) | naxis, | ||
integer, intent(in) | parent_id, | ||
integer, intent(in) | starting_index, | ||
integer, intent(in) | ending_index, | ||
integer, dimension(2), intent(in) | compute_idx, | ||
integer, dimension(2), intent(in), optional | global_idx, | ||
integer, intent(out), optional | new_axis_id, | ||
real(kind=r4_kind), dimension(2), intent(in), optional | zbounds, | ||
integer, intent(in), optional | nz_subaxis | ||
) |
Creates a new subaxis and fills it will all the information it needs.
[in,out] | diag_axis | Diag_axis object |
[in,out] | parent_axis | The parent axis |
[in,out] | naxis | The number of axis that have been defined |
[in] | parent_id | Id of the parent axis |
[in] | starting_index | PE's Starting index |
[in] | ending_index | PE's Ending index |
[in] | compute_idx | Starting and ending index of the axis's compute domain |
[in] | global_idx | Starting and ending index of the axis's global domain |
[out] | new_axis_id | Axis id of the axis this is creating |
[in] | zbounds | Bounds of the Z axis |
[in] | nz_subaxis | The number of z subaxis that have been defined in the file |
[in] | nz_subaxis | This is the axis id of the new axis! |
[in] | nz_subaxis | Add the axis_id of the new subaxis to the parent axis |
[in] | nz_subaxis | Allocate the new axis as a subaxis and fill it |
Definition at line 1259 of file fms_diag_axis_object.F90.
subroutine, public fms_diag_axis_object_mod::define_new_subaxis_index | ( | type(fmsdiagfullaxis_type), intent(inout) | parent_axis, |
type(subregion_type), intent(in) | subRegion, | ||
class(fmsdiagaxiscontainer_type), dimension(:), intent(inout), target | diag_axis, | ||
integer, intent(inout) | naxis, | ||
integer, intent(in) | is_x_or_y, | ||
logical, intent(out) | write_on_this_pe | ||
) |
Fill in the subaxis object for a subRegion defined by index.
[in,out] | diag_axis | Diag_axis object |
[in,out] | parent_axis | axis object of the parent |
[in,out] | naxis | Number of axis registered |
[in] | subregion | SubRegion definition from the yaml |
[in] | is_x_or_y | Flag indicating if it is a x or y axis |
[out] | write_on_this_pe | .true. if the subregion is on this PE |
Definition at line 1091 of file fms_diag_axis_object.F90.
subroutine, public fms_diag_axis_object_mod::define_new_subaxis_latlon | ( | class(fmsdiagaxiscontainer_type), dimension(:), intent(inout), target | diag_axis, |
integer, dimension(:), intent(in) | axis_ids, | ||
integer, intent(inout) | naxis, | ||
type(subregion_type), intent(in) | subRegion, | ||
logical, intent(in) | is_cube_sphere, | ||
logical, intent(out) | write_on_this_pe | ||
) |
Fill in the subaxis object for a subRegion defined by lat lon.
[in,out] | diag_axis | Diag_axis object |
[in] | axis_ids | Array of axes_ids |
[in,out] | naxis | Number of axis registered |
[in] | subregion | SubRegion definition from the yaml |
[in] | is_cube_sphere | .true. if this is a cubesphere |
[out] | write_on_this_pe | .true. if the subregion is on this PE |
Definition at line 1128 of file fms_diag_axis_object.F90.
|
private |
diag_manager wrapper to get_value_from_key to use for allocatable string variables
[in] | diag_file_id | Id of the file block in the yaml file |
[in] | par_id | Id of the parent block in the yaml file |
[in] | key_name | Key to look for in the parent block |
value_name | Value of the key | |
[in] | is_optional | Flag indicating if the key is optional |
Definition at line 716 of file fms_diag_yaml.F90.
|
private |
Initializes the non string values of a diagYamlFiles_type to its default values.
[out] | obj | diagYamlFiles_type object to initialize |
Definition at line 1246 of file fms_diag_yaml.F90.
subroutine, public fms_diag_yaml_mod::diag_yaml_object_init | ( | integer, intent(in) | diag_subset_output | ) |
Uses the yaml_parser_mod to read in the diag_table and fill in the diag_yaml object.
[in] | diag_subset_output | DIAG_ALL - Current PE is in the one and only pelist DIAG_OTHER - Current PE is not in the ocean pelist and there are multiple pelists DIAG_OCEAN - Current PE is in the ocean pelist and there are multiple pelists |
Loop through the number of nfiles and fill in the diag_yaml obj
Save the file name in the file_list
Save the filename in the diag_field type
initialize axes string
Save the variable name in the diag_file type
Save the variable name and the module name in the variable_list
Sort the file list in alphabetical order
Definition at line 359 of file fms_diag_yaml.F90.
subroutine, public fms_diag_yaml_mod::dump_diag_yaml_obj | ( | character(len=*), intent(in), optional | filename | ) |
Prints out values from diag_yaml object for debugging. Only writes on root.
[in] | filename | optional name of logfile to write to, otherwise prints to stdout |
Definition at line 1558 of file fms_diag_yaml.F90.
|
private |
Fills in a diagYamlFilesVar_type with the contents of a variable block in diag_table.yaml.
[in] | diag_file_id | Id of the file block in the yaml file |
[in] | yaml_fileobj | The yaml file obj for the variables |
[in] | var_id | Id of the variable block in the yaml file |
[in,out] | field | diagYamlFilesVar_type obj to read the contents into |
[in] | allow_averages | .True. if averages are allowed for this file |
Set the zbounds if they exist
Definition at line 627 of file fms_diag_yaml.F90.
|
private |
Fills in a diagYamlFiles_type with the contents of a file block in diag_table.yaml.
[in] | diag_yaml_id | Id of the diag_table.yaml |
[in] | diag_file_id | Id of the file block to read |
[in,out] | yaml_fileobj | diagYamlFiles_type obj to read the contents into |
Definition at line 541 of file fms_diag_yaml.F90.
|
private |
Fills in the information needed to define a subaxis.
[in,out] | this | diag_sub_axis obj |
[in] | starting_index | Starting index of the subRegion for the PE |
[in] | ending_index | Ending index of the subRegion for the PE |
[in] | axis_id | Axis id to assign to the subaxis |
[in] | parent_id | The id of the parent axis the subaxis belongs to |
[in] | parent_axis_name | Name of the parent_axis |
[in] | compute_idx | Starting and ending index of the axis's compute domain |
[in] | global_idx | Starting and ending index of the axis's compute domain |
[in] | zbounds | Bounds of the z-axis |
[in] | nz_subaxis | The number of z subaxis that have been defined in the file |
Definition at line 828 of file fms_diag_axis_object.F90.
integer function, dimension(:), allocatable, public fms_diag_yaml_mod::find_diag_field | ( | character(len=*), intent(in) | diag_field_name, |
character(len=*), intent(in) | module_name | ||
) |
Determines if a diag_field is in the diag_yaml_object.
[in] | diag_field_name | diag_field name to search for |
[in] | module_name | Name of the module, the variable is in |
Definition at line 1470 of file fms_diag_yaml.F90.
logical function, public fms_diag_axis_object_mod::fms_diag_axis_object_end | ( | class(fmsdiagaxiscontainer_type), dimension(:), intent(inout), allocatable | axis_array | ) |
[in,out] | axis_array | Array of diag_axis |
Definition at line 973 of file fms_diag_axis_object.F90.
logical function, public fms_diag_axis_object_mod::fms_diag_axis_object_init | ( | class(fmsdiagaxiscontainer_type), dimension(:), intent(inout), allocatable | axis_array | ) |
[in,out] | axis_array | Array of diag_axis |
Definition at line 961 of file fms_diag_axis_object.F90.
|
private |
Get the auxiliary name of an axis object.
[in] | this | diag_axis obj |
Definition at line 680 of file fms_diag_axis_object.F90.
pure integer function, public fms_diag_axis_object_mod::get_axis_id_from_name | ( | character(len=*), intent(in) | axis_name, |
class(fmsdiagaxiscontainer_type), dimension(:), intent(in) | diag_axis, | ||
integer, intent(in) | naxis, | ||
character(len=*), intent(in) | set_name | ||
) |
[in] | diag_axis | Array of axis object |
[in] | axis_name | Name of the axis |
[in] | naxis | Number of axis that have been registered |
[in] | set_name | Name of the axis set |
Definition at line 1352 of file fms_diag_axis_object.F90.
|
private |
Get the length of the axis.
[in] | this | diag_axis obj |
Definition at line 609 of file fms_diag_axis_object.F90.
|
private |
[in] | this | Axis object |
[in] | is_regional | Flag indicating if the axis is regional |
Definition at line 986 of file fms_diag_axis_object.F90.
|
private |
get the basedate of a diag_yaml type
[in] | this | The diag_yaml |
Definition at line 292 of file fms_diag_yaml.F90.
|
private |
[in] | this | diag_axis obj |
[in,out] | compute_idx | Compute domain of the axis |
[out] | need_to_define_axis | .true. if it needed to define the axis |
[in] | tile_number | The tile number of the axis |
[in] | tile_number | Initialize the output |
[in] | tile_number | If the axis is not domain decomposed, use the whole axis as the compute domain |
[in] | tile_number | If the the tile number is present and the current PE is not on the tile, then there is no need to define the axis |
[in] | tile_number | Get the compute domain for the current PE if it is an "X" or "Y" axis |
Definition at line 780 of file fms_diag_axis_object.F90.
|
private |
Accesses its member compute_indices.
[in] | this | diag_sub_axis object |
Definition at line 899 of file fms_diag_axis_object.F90.
|
private |
Get the diag_field yaml corresponding to a yaml_id.
[in] | this | The diag_yaml |
[in] | yaml_id | Yaml id |
Definition at line 333 of file fms_diag_yaml.F90.
integer function, dimension(:), allocatable, public fms_diag_yaml_mod::get_diag_field_ids | ( | integer, dimension(:), intent(in) | indices | ) |
Gets field indices corresponding to the indices (input argument) in the sorted variable_list.
[in] | indices | Indices of the fields in the sorted variable_list array |
Definition at line 1504 of file fms_diag_yaml.F90.
|
private |
get the diag_fields of a diag_yaml type
[in] | this | The diag_yaml |
Definition at line 349 of file fms_diag_yaml.F90.
type(diagyamlfilesvar_type) function, dimension (:), allocatable, public fms_diag_yaml_mod::get_diag_fields_entries | ( | integer, dimension(:), intent(in) | indices | ) |
Gets the diag_field entries corresponding to the indices of the sorted variable_list.
[in] | indices | Indices of the field in the sorted variable_list array |
Definition at line 1484 of file fms_diag_yaml.F90.
|
private |
get the diag_files of a diag_yaml type
[in] | this | The diag_yaml |
Definition at line 323 of file fms_diag_yaml.F90.
integer function, dimension(:), allocatable, public fms_diag_yaml_mod::get_diag_files_id | ( | integer, dimension(:), intent(in) | indices | ) |
Finds the indices of the diag_yamldiag_files(:) corresponding to fields in variable_list(indices)
[in] | indices | Indices of the field in the sorted variable_list |
Definition at line 1520 of file fms_diag_yaml.F90.
|
private |
private function for getting reduction type string from parameter values
[in] | reduction_val | reduction types (eg. time_average) |
Definition at line 1991 of file fms_diag_yaml.F90.
|
private |
private function for getting unit string from diag_data parameter values
[in] | unit_param | diag unit parameter values from diag_data_mod. eg. DIAG_SECONDS, DIAG_MINUTES,DIAG_HOURS, DIAG_DAYS, DIAG_YEARS |
Definition at line 1961 of file fms_diag_yaml.F90.
type (diagyamlobject_type) function, pointer, public fms_diag_yaml_mod::get_diag_yaml_obj |
gets the diag_yaml module variable
Definition at line 283 of file fms_diag_yaml.F90.
|
private |
[in] | this | Axis Object |
Definition at line 1379 of file fms_diag_axis_object.F90.
subroutine, public fms_diag_axis_object_mod::get_domain_and_domain_type | ( | class(fmsdiagaxiscontainer_type), dimension(:), intent(in), target | diag_axis, |
integer, dimension(:), intent(in) | axis_id, | ||
integer, intent(out) | domain_type, | ||
class(diagdomain_t), intent(out), pointer | domain, | ||
character(len=*), intent(in) | var_name | ||
) |
Loop through a variable's axis_id to determine and return the domain type and domain to use.
[in] | diag_axis | Array of diag_axis |
[in] | axis_id | Array of axis ids |
[out] | domain_type | fileobj_type to use |
[in] | var_name | Name of the variable (for error messages) |
Definition at line 1054 of file fms_diag_axis_object.F90.
|
private |
[in] | this | diag_axis obj |
Definition at line 572 of file fms_diag_axis_object.F90.
|
private |
Accesses its member ending_index.
[in] | this | diag_sub_axis object |
Definition at line 891 of file fms_diag_axis_object.F90.
|
private |
Inquiry for diag_files_objfile_duration.
[in] | this | The object being inquiried |
Definition at line 1070 of file fms_diag_yaml.F90.
|
private |
Inquiry for diag_files_objfile_duration_units.
[in] | this | The object being inquiried |
Definition at line 1078 of file fms_diag_yaml.F90.
|
private |
Inquiry for diag_files_objfile_fname.
[in] | this | The object being inquiried |
Definition at line 998 of file fms_diag_yaml.F90.
|
private |
Inquiry for diag_files_objfile_freq.
[in] | this | The object being inquiried |
Definition at line 1014 of file fms_diag_yaml.F90.
|
private |
Inquiry for diag_files_objfile_frequnit.
[in] | this | The object being inquiried |
Definition at line 1006 of file fms_diag_yaml.F90.
|
private |
Inquiry for diag_files_objfile_global_meta.
[in] | this | The object being inquiried |
Definition at line 1094 of file fms_diag_yaml.F90.
|
private |
Inquiry for diag_files_objfile_new_file_freq.
[in] | this | The object being inquiried |
Definition at line 1046 of file fms_diag_yaml.F90.
|
private |
Inquiry for diag_files_objfile_new_file_freq_units.
[in] | this | The object being inquiried |
Definition at line 1054 of file fms_diag_yaml.F90.
|
private |
Inquiry for diag_files_objfile_start_time.
[in] | this | The object being inquiried |
Definition at line 1062 of file fms_diag_yaml.F90.
|
private |
Inquiry for diag_files_objfile_subregion.
[in] | this | The object being inquiried |
Definition at line 1038 of file fms_diag_yaml.F90.
|
private |
Inquiry for diag_files_objfile_timeunit.
[in] | this | The object being inquiried |
Definition at line 1022 of file fms_diag_yaml.F90.
|
private |
Inquiry for diag_files_objfile_unlimdim.
[in] | this | The object being inquiried |
Definition at line 1030 of file fms_diag_yaml.F90.
|
private |
Inquiry for diag_files_objfile_varlist.
[in] | this | The object being inquiried |
Definition at line 1086 of file fms_diag_yaml.F90.
|
private |
Get the integer equivalent of the time to use to determine the filename, if using a wildcard file name (i.e ocn%4yr%2mo%2dy%2hr)
[in] | this | The object being inquiried |
Definition at line 1103 of file fms_diag_yaml.F90.
|
private |
Get the starting and ending indices of the global io domain of the axis.
[in] | this | diag_axis obj |
[out] | global_io_index | Global io domain starting and ending index |
Definition at line 583 of file fms_diag_axis_object.F90.
|
private |
Determine if the subRegion is in the current PE. If it is, determine the starting and ending indices of the current PE that belong to the subRegion.
[in] | this | diag_axis obj |
[in] | compute_idx | Current PE's compute domain |
[in] | corners_indices | The indices of the corners of the subRegion |
[out] | starting_index | Starting index of the subRegion for the current PE |
[out] | ending_index | Ending index of the subRegion for the current PE |
[out] | need_to_define_axis | .true. if it is needed to define an axis |
Definition at line 713 of file fms_diag_axis_object.F90.
|
private |
Get the length of a 2D domain.
[in] | this | diag_axis obj |
[in] | cart_axis | cart_axis of the axis |
[in] | domain_position | Domain position (CENTER, NORTH, EAST) |
[in] | global_length | global_length of the axis |
Definition at line 921 of file fms_diag_axis_object.F90.
|
private |
Inquiry for diag_yaml_files_var_objn_diurnal.
[in] | this | The object being inquiried |
Definition at line 1219 of file fms_diag_yaml.F90.
|
private |
Get the ntiles in a domain.
[in] | this | diag_axis obj |
Definition at line 907 of file fms_diag_axis_object.F90.
integer function, public fms_diag_yaml_mod::get_num_unique_fields |
Determine the number of unique diag_fields in the diag_yaml_object.
Definition at line 1461 of file fms_diag_yaml.F90.
|
private |
[in] | this | Axis Object |
Definition at line 1299 of file fms_diag_axis_object.F90.
|
private |
Inquiry for diag_yaml_files_var_objpow_value.
[in] | this | The object being inquiried |
Definition at line 1227 of file fms_diag_yaml.F90.
|
private |
Get the set name of an axis object.
[in] | this | diag_axis obj |
Definition at line 670 of file fms_diag_axis_object.F90.
|
private |
Accesses its member starting_index.
[in] | this | diag_sub_axis object |
Definition at line 883 of file fms_diag_axis_object.F90.
|
private |
[in] | this | diag_axis obj |
Definition at line 557 of file fms_diag_axis_object.F90.
|
private |
gets the lat/lon of the sub region to use in a diag_table yaml
[in] | diag_yaml_id | Id of the diag_table yaml file |
[in] | sub_region_id | Id of the region block to read from |
[in,out] | sub_region | Type that stores the sub_region |
[in] | grid_type | The grid_type as it is read from the file |
[in] | fname | filename of the subregion (for error messages) |
Definition at line 733 of file fms_diag_yaml.F90.
|
private |
[in] | this | Axis Object |
Definition at line 1318 of file fms_diag_axis_object.F90.
|
private |
get the title of a diag_yaml type
[in] | this | The diag_yaml |
Definition at line 313 of file fms_diag_yaml.F90.
|
private |
gets the total number of variables in the diag_table yaml file
[in] | diag_yaml_id | Id for the diag_table yaml |
[in] | diag_file_id | Id of the file in the diag_table yaml |
Definition at line 767 of file fms_diag_yaml.F90.
|
private |
Inquiry for diag_yaml_files_var_objvar_attributes.
[in] | this | The object being inquiried |
Definition at line 1211 of file fms_diag_yaml.F90.
|
private |
Inquiry for diag_yaml_files_var_objvar_fname.
[in] | this | The object being inquiried |
Definition at line 1134 of file fms_diag_yaml.F90.
|
private |
Inquiry for diag_yaml_files_var_objvar_kind.
[in] | this | The object being inquiried |
Definition at line 1166 of file fms_diag_yaml.F90.
|
private |
Inquiry for diag_yaml_files_var_objvar_longname.
[in] | this | The object being inquiried |
Definition at line 1187 of file fms_diag_yaml.F90.
|
private |
Inquiry for diag_yaml_files_var_objvar_module.
[in] | this | The object being inquiried |
Definition at line 1158 of file fms_diag_yaml.F90.
|
private |
Inquiry for diag_yaml_files_var_objvar_outname.
[in] | this | The object being inquiried |
Definition at line 1174 of file fms_diag_yaml.F90.
|
private |
Inquiry for diag_yaml_files_var_objvar_reduction.
[in] | this | The object being inquiried |
Definition at line 1150 of file fms_diag_yaml.F90.
|
private |
Inquiry for diag_yaml_files_var_objvar_units.
[in] | this | The object being inquiried |
Definition at line 1195 of file fms_diag_yaml.F90.
|
private |
Inquiry for diag_yaml_files_var_objvar_varname.
[in] | this | The object being inquiried |
Definition at line 1142 of file fms_diag_yaml.F90.
|
private |
Inquiry for diag_yaml_files_var_objvar_zbounds.
[in] | this | The object being inquiried |
Definition at line 1203 of file fms_diag_yaml.F90.
|
private |
Determine if an axis object has an auxiliary name.
[in] | this | diag_axis obj |
Definition at line 626 of file fms_diag_axis_object.F90.
|
private |
diag_file_objdiag_basedate is on the stack, so this is always true
[in] | this | diagYamlObject_type object to initialize |
Definition at line 1442 of file fms_diag_yaml.F90.
|
private |
Checks if diag_file_objdiag_fields is allocated.
[in] | this | diagYamlObject_type object to initialize |
Definition at line 1454 of file fms_diag_yaml.F90.
|
private |
Checks if diag_file_objdiag_files is allocated.
[in] | this | diagYamlObject_type object to initialize |
Definition at line 1448 of file fms_diag_yaml.F90.
|
private |
Checks if diag_file_objdiag_title is allocated.
[in] | this | diagYamlObject_type object to inquire |
Definition at line 1436 of file fms_diag_yaml.F90.
|
private |
diag_file_objfile_duration is allocated on th stack, so this is always true
[in] | this | diagYamlFiles_type object to initialize |
Definition at line 1324 of file fms_diag_yaml.F90.
|
private |
diag_file_objfile_duration_units is on the stack, so this will retrun true
[in] | this | diagYamlFiles_type object to initialize |
Definition at line 1330 of file fms_diag_yaml.F90.
|
private |
Checks if diag_file_objfile_fname is allocated.
[in] | this | diagYamlFiles_type object to initialize |
Definition at line 1260 of file fms_diag_yaml.F90.
|
private |
diag_file_objfile_freq is on the stack, so the object always has it
[in] | this | diagYamlFiles_type object to initialize |
Definition at line 1272 of file fms_diag_yaml.F90.
|
private |
Checks if diag_file_objfile_frequnit is allocated.
[in] | this | diagYamlFiles_type object to initialize |
Definition at line 1266 of file fms_diag_yaml.F90.
|
private |
Checks if diag_file_objfile_global_meta is allocated.
[in] | this | diagYamlFiles_type object to initialize |
Definition at line 1342 of file fms_diag_yaml.F90.
|
private |
diag_file_objfile_new_file_freq is defined on the stack, so this will return true
[in] | this | diagYamlFiles_type object to initialize |
Definition at line 1306 of file fms_diag_yaml.F90.
|
private |
Checks if diag_file_objfile_new_file_freq_units is allocated.
[in] | this | diagYamlFiles_type object to initialize |
Definition at line 1312 of file fms_diag_yaml.F90.
|
private |
Checks if diag_file_objfile_start_time is allocated.
[in] | this | diagYamlFiles_type object to initialize |
Definition at line 1318 of file fms_diag_yaml.F90.
|
private |
Checks if diag_file_objfile_sub_region is being used and has the sub region variables allocated.
[in] | this | diagYamlFiles_type object to initialize |
Definition at line 1296 of file fms_diag_yaml.F90.
|
private |
Checks if diag_file_objfile_timeunit is allocated.
[in] | this | diagYamlFiles_type object to initialize |
Definition at line 1278 of file fms_diag_yaml.F90.
|
private |
Checks if diag_file_objfile_unlimdim is allocated.
[in] | this | diagYamlFiles_type object to initialize |
Definition at line 1284 of file fms_diag_yaml.F90.
|
private |
Checks if diag_file_objfile_varlist is allocated.
[in] | this | diagYamlFiles_type object to initialize |
Definition at line 1336 of file fms_diag_yaml.F90.
|
private |
Checks if diag_file_objfile_write is on the stack, so this will always be true.
[in] | this | diagYamlFiles_type object to initialize |
Definition at line 1290 of file fms_diag_yaml.F90.
|
private |
Checks if diag_file_objn_diurnal is set.
[in] | this | diagYamlvar_type object to inquire |
Definition at line 1423 of file fms_diag_yaml.F90.
|
private |
Checks if diag_file_objpow_value is set.
[in] | this | diagYamlvar_type object to inquire |
Definition at line 1429 of file fms_diag_yaml.F90.
|
private |
Determine if an axis object has a set_name.
[in] | this | diag_axis obj |
Definition at line 637 of file fms_diag_axis_object.F90.
|
private |
Checks if diag_file_objvar_attributes is allocated.
[in] | this | diagYamlvar_type object to initialize |
Definition at line 1417 of file fms_diag_yaml.F90.
|
private |
Checks if diag_file_objvar_fname is allocated.
[in] | this | diagYamlvar_type object to initialize |
Definition at line 1349 of file fms_diag_yaml.F90.
|
private |
Checks if diag_file_objvar_kind is allocated.
[in] | this | diagYamlvar_type object to initialize |
Definition at line 1373 of file fms_diag_yaml.F90.
|
private |
Checks if diag_file_objvar_longname is allocated.
[in] | this | diagYamlvar_type object to initialize |
Definition at line 1399 of file fms_diag_yaml.F90.
|
private |
Checks if diag_file_objvar_module is allocated.
[in] | this | diagYamlvar_type object to initialize |
Definition at line 1367 of file fms_diag_yaml.F90.
|
private |
Checks if diag_file_objvar_outname is allocated.
[in] | this | diagYamlvar_type object to initialize |
Definition at line 1385 of file fms_diag_yaml.F90.
|
private |
Checks if diag_file_objvar_reduction is allocated.
[in] | this | diagYamlvar_type object to initialize |
Definition at line 1361 of file fms_diag_yaml.F90.
|
private |
Checks if diag_file_objvar_units is allocated.
[in] | this | diagYamlvar_type object to initialize |
Definition at line 1405 of file fms_diag_yaml.F90.
|
private |
Checks if diag_file_objvar_varname is allocated.
[in] | this | diagYamlvar_type object to initialize |
Definition at line 1355 of file fms_diag_yaml.F90.
|
private |
diag_file_objvar_write is on the stack, so this returns true
[in] | this | diagYamlvar_type object to initialize |
Definition at line 1379 of file fms_diag_yaml.F90.
|
private |
Checks if diag_file_objvar_zbounds is allocated.
[in] | this | diagYamlvar_type object to initialize |
Definition at line 1411 of file fms_diag_yaml.F90.
|
private |
Increate the current_new_file_freq_index by 1.
[in,out] | this | The file object |
Definition at line 1121 of file fms_diag_yaml.F90.
|
private |
Inquiry for whether file_global_meta is allocated.
[in] | this | The object being inquiried |
Definition at line 1111 of file fms_diag_yaml.F90.
logical function, public fms_diag_axis_object_mod::is_parent_axis | ( | integer, intent(in) | axis_id, |
integer, intent(in) | parent_axis_id, | ||
class(fmsdiagaxiscontainer_type), dimension(:), intent(in), target | diag_axis | ||
) |
Determine if the diag_axis(parent_axis_id) is the parent of diag_axis(axis_id)
[in] | axis_id | Axis id to check |
[in] | parent_axis_id | Axis id of the parent to check |
[in] | diag_axis | Array of diag_axis objects |
Definition at line 1473 of file fms_diag_axis_object.F90.
|
private |
[in] | this | diag_axis obj |
Definition at line 533 of file fms_diag_axis_object.F90.
|
private |
Inquiry for whether var_attributes is allocated.
[in] | this | The object being inquiried |
Definition at line 1235 of file fms_diag_yaml.F90.
|
private |
Determine if an axis object is an x or y axis.
[in] | this | diag_axis obj |
[in,out] | x_or_y | returns is_x_axis if it is a x axis is_y_axis if it is a y axis |
Definition at line 648 of file fms_diag_axis_object.F90.
|
private |
[in] | this | Axis object |
Definition at line 1008 of file fms_diag_axis_object.F90.
pure character(len=120) function, dimension(2), public fms_diag_axis_object_mod::parse_compress_att | ( | class(*), dimension(:), intent(in) | compress_att | ) |
[in] | compress_att | The compress attribute to parse |
Definition at line 1334 of file fms_diag_axis_object.F90.
|
private |
This parses the freq, new_file_freq, or file_duration keys which are read in as a comma list.
[in] | filename | The name of the file (for error messages) |
[in,out] | buffer | Buffer that was read in from the yaml |
[out] | file_freq | buffer to store the freq, new_file_freq, or file_duration after it is parsed |
[out] | file_frequnit | buffer to store the freq units, new_file_freq units, or file_duration units after it is parsed |
[in] | var | Name of the key parsing |
Definition at line 793 of file fms_diag_yaml.F90.
|
private |
Initialize the axis.
[in,out] | this | Diag_axis obj |
[in] | axis_name | Name of the axis |
[in] | axis_data | Array of coordinate values |
[in] | units | Units for the axis |
[in] | cart_name | Cartesian axis ("X", "Y", "Z", "T", "U", "N") |
[in] | long_name | Long name for the axis. |
[in] | set_name | Name of the parent axis, if it is a subaxis |
[in] | direction | Indicates the direction of the axis |
[in] | domain | 1D domain |
[in] | domain2 | 2D domain |
[in] | domainu | Unstructured domain |
[in] | aux | Auxiliary name, can only be geolon_t or geolat_t |
[in] | req | Required field names. |
[in] | tile_count | Number of tiles |
[in] | domain_position | Domain position, "NORTH" or "EAST" |
[in] | axis_length | The length of the axis size(axis_data(:)) |
[in] | axis_length | This is what fms2_io expects in the register_field call |
[in] | axis_length | This is what fms2_io expects in the register_field call |
Definition at line 204 of file fms_diag_axis_object.F90.
|
private |
Set the axis domain.
this | fms_domain obj | |
[in] | domain | 1d domain |
[in] | domain2 | 2d domain |
[in] | domainu | Unstructured domain |
Definition at line 943 of file fms_diag_axis_object.F90.
|
private |
Set the axis_id.
[in,out] | this | diag_axis obj |
Definition at line 689 of file fms_diag_axis_object.F90.
|
private |
Set the name and ids of the edges.
[in,out] | this | diag_axis obj |
[in] | edges_name | Name of the edges |
[in] | edges_id | Axis id of the edges |
[in] | edges_id | Saving the name and the id of the edges axis because it will make it easier to use downstream (i.e you need the edges name to write the attribute to the current axis, and you need the edges id to add to the diag file object so that you can write the edges to the file) |
Definition at line 698 of file fms_diag_axis_object.F90.
|
private |
This checks if the kind of a diag field is valid and sets it.
[in,out] | field | diagYamlFilesVar_type obj to read the contents into |
[in] | skind | The variable kind as read from diag_yaml |
Definition at line 883 of file fms_diag_yaml.F90.
|
private |
This checks if the reduction of a diag field is valid and sets it If the reduction method is diurnalXX or powXX, it gets the number of diurnal sample and the power value.
[in,out] | field | diagYamlFilesVar_type obj to read the contents into |
[in] | reduction_method | reduction method as read from the yaml |
Definition at line 906 of file fms_diag_yaml.F90.
|
private |
This checks if the time unit in a diag file is valid and sets the integer equivalent.
[in,out] | yaml_fileobj | diagYamlFiles_type obj to checK |
[in] | file_timeunit | file_timeunit as it is read from the diag_table |
Definition at line 854 of file fms_diag_yaml.F90.
|
private |
This checks if the filename_time in a diag file is correct and sets the integer equivalent.
[in,out] | yaml_fileobj | diagYamlFiles_type obj to check |
[in] | filename_time | filename_time as it is read from the yaml |
[in] | filename_time | This is the default |
Definition at line 862 of file fms_diag_yaml.F90.
|
private |
This checks if a time unit is valid and if it is, it assigns the integer equivalent.
[in] | time_units | The time_units as a string |
[in] | error_msg | Error message to append |
Definition at line 960 of file fms_diag_yaml.F90.
|
private |
Find the number of files listed in the diag yaml.
[in] | this | The diag_yaml |
Definition at line 302 of file fms_diag_yaml.F90.
|
private |
Finds the number of variables in the file_varlist.
[in] | this | The object being inquiried |
Definition at line 991 of file fms_diag_yaml.F90.
|
private |
Write the axis data to an open fms2io_fileobj.
[in] | this | diag_axis obj |
[in,out] | fms2io_fileobj | Fms2_io fileobj to write the data to |
[in] | parent_axis | The parent axis if this is a subaxis |
Definition at line 441 of file fms_diag_axis_object.F90.
|
private |
Write the axis meta data to an open fileobj.
[in] | this | diag_axis obj |
[in,out] | fms2io_fileobj | Fms2_io fileobj to write the data to |
[in] | edges_in_file | .True. if the edges to this axis are already in the file |
[in] | parent_axis | If the axis is a subaxis, axis object for the parent axis (this will be used to get some of the metadata info) |
Definition at line 310 of file fms_diag_axis_object.F90.
|
private |
[in] | this | Diurnal axis Object |
[in,out] | fms2io_fileobj | Fms2_io fileobj to write the data to |
Definition at line 1389 of file fms_diag_axis_object.F90.