FMS 2025.01.02-dev
Flexible Modeling System
Loading...
Searching...
No Matches
diagyamlfiles_type Type Reference

type to hold the diag_file information More...

Collaboration diagram for diagyamlfiles_type:
[legend]

Public Member Functions

procedure, public get_file_duration (this)
 Inquiry for diag_files_objfile_duration.
 
procedure, public get_file_duration_units (this)
 Inquiry for diag_files_objfile_duration_units.
 
procedure, public get_file_fname (this)
 Inquiry for diag_files_objfile_fname.
 
procedure, public get_file_freq (this)
 Inquiry for diag_files_objfile_freq.
 
procedure, public get_file_frequnit (this)
 Inquiry for diag_files_objfile_frequnit.
 
procedure, public get_file_global_meta (this)
 Inquiry for diag_files_objfile_global_meta.
 
procedure, public get_file_new_file_freq (this)
 Inquiry for diag_files_objfile_new_file_freq.
 
procedure, public get_file_new_file_freq_units (this)
 Inquiry for diag_files_objfile_new_file_freq_units.
 
procedure, public get_file_start_time (this)
 Inquiry for diag_files_objfile_start_time.
 
procedure, public get_file_sub_region (this)
 Inquiry for diag_files_objfile_subregion.
 
procedure, public get_file_timeunit (this)
 Inquiry for diag_files_objfile_timeunit.
 
procedure, public get_file_unlimdim (this)
 Inquiry for diag_files_objfile_unlimdim.
 
procedure, public get_file_varlist (this)
 Inquiry for diag_files_objfile_varlist.
 
procedure, public 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)
 
procedure, public has_file_duration (this)
 diag_file_objfile_duration is allocated on th stack, so this is always true
 
procedure, public has_file_duration_units (this)
 diag_file_objfile_duration_units is on the stack, so this will retrun true
 
procedure, public has_file_fname (this)
 Has functions to determine if allocatable variables are true. If a variable is not an allocatable then is will always return .true.
 
procedure, public has_file_freq (this)
 diag_file_objfile_freq is on the stack, so the object always has it
 
procedure, public has_file_frequnit (this)
 Checks if diag_file_objfile_frequnit is allocated.
 
procedure, public has_file_global_meta (this)
 Checks if diag_file_objfile_global_meta is allocated.
 
procedure, public has_file_new_file_freq (this)
 diag_file_objfile_new_file_freq is defined on the stack, so this will return true
 
procedure, public has_file_new_file_freq_units (this)
 Checks if diag_file_objfile_new_file_freq_units is allocated.
 
procedure, public has_file_start_time (this)
 Checks if diag_file_objfile_start_time is allocated.
 
procedure, public has_file_sub_region (this)
 Checks if diag_file_objfile_sub_region is being used and has the sub region variables allocated.
 
procedure, public has_file_timeunit (this)
 Checks if diag_file_objfile_timeunit is allocated.
 
procedure, public has_file_unlimdim (this)
 Checks if diag_file_objfile_unlimdim is allocated.
 
procedure, public has_file_varlist (this)
 Checks if diag_file_objfile_varlist is allocated.
 
procedure, public increase_new_file_freq_index (this)
 Increate the current_new_file_freq_index by 1.
 
procedure, public is_global_meta (this)
 Inquiry for whether file_global_meta is allocated.
 
procedure, public size_file_varlist (this)
 All getter functions (functions named get_x(), for member field named x) return copies of the member variables unless explicitly noted.
 

Public Attributes

integer current_new_file_freq_index
 The index of the new_file_freq array Need to use MAX_STR_LEN because not all filenames/global attributes are the same length.
 
character(len=:), allocatable default_var_module
 The module for all of the variables in the file This may be overriden if the modules was defined at the variable level.
 
character(len=:), allocatable default_var_precision
 The precision for all of the variables in the file This may be overriden if the precison was defined at the variable level.
 
character(len=:), allocatable default_var_reduction
 The reduction for all of the variables in the file This may be overriden if the reduction was defined at the variable level.
 
integer, dimension(max_freq) file_duration
 How long the file should receive data after start time in file_duration_units. This optional field can only be used if the start_time field is present.  If this field is absent, then the file duration will be equal to the frequency for creating new files. NOTE: The file_duration_units field must also be present if this field is present.
 
integer, dimension(max_freq) file_duration_units
 The file duration units (DIAG_SECONDS, DIAG_MINUTES, & DIAG_HOURS, DIAG_DAYS, DIAG_YEARS)
 
integer, dimension(max_freq) file_freq
 the frequency of data
 
integer, dimension(max_freq) file_frequnit
 the frequency unit (DIAG_SECONDS, DIAG_MINUTES, DIAG_HOURS, DIAG_DAYS, DIAG_YEARS)
 
character(len=max_str_len), dimension(:,:), allocatable file_global_meta
 Array of key(dim=1) and values(dim=2) to be added as global meta data to the file.
 
integer, dimension(max_freq) file_new_file_freq
 Frequency for closing the existing file.
 
integer, dimension(max_freq) file_new_file_freq_units
 Time units for creating a new file. Required if “new_file_freq” used (DIAG_SECONDS, DIAG_MINUTES, & DIAG_HOURS, DIAG_DAYS, DIAG_YEARS)
 
character(len=max_str_len), dimension(:), allocatable file_outlist
 An array of variable output names within a file, used to distinguish varlist names for yaml output.
 
type(time_typefile_start_time
 Time to start the file for the first time.
 
logical file_start_time_set
 .True. if file_start_time has been set
 
type(subregion_typefile_sub_region
 type containing info about the subregion
 
integer file_timeunit
 The unit of time (DIAG_SECONDS, DIAG_MINUTES, DIAG_HOURS, DIAG_DAYS, DIAG_YEARS)
 
character(len=:), allocatable file_unlimdim
 The name of the unlimited dimension.
 
character(len=max_str_len), dimension(:), allocatable file_varlist
 An array of variable names within a file.
 
integer filename_time
 The time to use when setting the name of new files: begin, middle, or end of the time_bounds.
 

Private Attributes

character(len=:), allocatable file_fname
 file name
 

Detailed Description

type to hold the diag_file information

Definition at line 100 of file fms_diag_yaml.F90.

Member Function/Subroutine Documentation

◆ get_file_duration()

procedure, public get_file_duration ( class (diagyamlfiles_type), intent(in)  this)

Inquiry for diag_files_objfile_duration.

Returns
file_duration of a diag_yaml_file_obj
Parameters
[in]thisThe object being inquiried
Returns
What is returned

Definition at line 169 of file fms_diag_yaml.F90.

◆ get_file_duration_units()

procedure, public get_file_duration_units ( class (diagyamlfiles_type), intent(in)  this)

Inquiry for diag_files_objfile_duration_units.

Returns
file_duration_units of a diag_yaml_file_obj
Parameters
[in]thisThe object being inquiried
Returns
What is returned

Definition at line 170 of file fms_diag_yaml.F90.

◆ get_file_fname()

procedure, public get_file_fname ( class (diagyamlfiles_type), intent(in)  this)

Inquiry for diag_files_objfile_fname.

Returns
file_fname of a diag_yaml_file obj
Parameters
[in]thisThe object being inquiried
Returns
What is returned

Definition at line 160 of file fms_diag_yaml.F90.

◆ get_file_freq()

procedure, public get_file_freq ( class (diagyamlfiles_type), intent(in)  this)

Inquiry for diag_files_objfile_freq.

Returns
file_freq of a diag_yaml_file_obj
Parameters
[in]thisThe object being inquiried
Returns
What is returned

Definition at line 162 of file fms_diag_yaml.F90.

◆ get_file_frequnit()

procedure, public get_file_frequnit ( class (diagyamlfiles_type), intent(in)  this)

Inquiry for diag_files_objfile_frequnit.

Returns
file_frequnit of a diag_yaml_file_obj
Parameters
[in]thisThe object being inquiried
Returns
What is returned

Definition at line 161 of file fms_diag_yaml.F90.

◆ get_file_global_meta()

procedure, public get_file_global_meta ( class (diagyamlfiles_type), intent(in)  this)

Inquiry for diag_files_objfile_global_meta.

Returns
file_global_meta of a diag_yaml_file_obj
Parameters
[in]thisThe object being inquiried
Returns
What is returned

Definition at line 172 of file fms_diag_yaml.F90.

◆ get_file_new_file_freq()

procedure, public get_file_new_file_freq ( class (diagyamlfiles_type), intent(in)  this)

Inquiry for diag_files_objfile_new_file_freq.

Returns
file_new_file_freq of a diag_yaml_file_obj
Parameters
[in]thisThe object being inquiried
Returns
What is returned

Definition at line 166 of file fms_diag_yaml.F90.

◆ get_file_new_file_freq_units()

procedure, public get_file_new_file_freq_units ( class (diagyamlfiles_type), intent(in)  this)

Inquiry for diag_files_objfile_new_file_freq_units.

Returns
file_new_file_freq_units of a diag_yaml_file_obj
Parameters
[in]thisThe object being inquiried
Returns
What is returned

Definition at line 167 of file fms_diag_yaml.F90.

◆ get_file_start_time()

procedure, public get_file_start_time ( class (diagyamlfiles_type), intent(in)  this)

Inquiry for diag_files_objfile_start_time.

Returns
file_start_time of a diag_yaml_file_obj
Parameters
[in]thisThe object being inquiried
Returns
What is returned

Definition at line 168 of file fms_diag_yaml.F90.

◆ get_file_sub_region()

procedure, public get_file_sub_region ( class (diagyamlfiles_type), intent(in), target  this)

Inquiry for diag_files_objfile_subregion.

Returns
file_sub_region of a diag_yaml_file_obj
Parameters
[in]thisThe object being inquiried
Returns
What is returned

Definition at line 165 of file fms_diag_yaml.F90.

◆ get_file_timeunit()

procedure, public get_file_timeunit ( class (diagyamlfiles_type), intent(in)  this)

Inquiry for diag_files_objfile_timeunit.

Returns
file_timeunit of a diag_yaml_file_obj
Parameters
[in]thisThe object being inquiried
Returns
What is returned

Definition at line 163 of file fms_diag_yaml.F90.

◆ get_file_unlimdim()

procedure, public get_file_unlimdim ( class (diagyamlfiles_type), intent(in)  this)

Inquiry for diag_files_objfile_unlimdim.

Returns
file_unlimdim of a diag_yaml_file_obj
Parameters
[in]thisThe object being inquiried
Returns
What is returned

Definition at line 164 of file fms_diag_yaml.F90.

◆ get_file_varlist()

procedure, public get_file_varlist ( class (diagyamlfiles_type), intent(in)  this)

Inquiry for diag_files_objfile_varlist.

Returns
file_varlist of a diag_yaml_file_obj
Parameters
[in]thisThe object being inquiried
Returns
What is returned

Definition at line 171 of file fms_diag_yaml.F90.

◆ get_filename_time()

procedure, public get_filename_time ( class (diagyamlfiles_type), intent(in)  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)

Returns
the integer equivalent of the time to use to determine the filename
Parameters
[in]thisThe object being inquiried
Returns
What is returned

Definition at line 173 of file fms_diag_yaml.F90.

◆ has_file_duration()

procedure, public has_file_duration ( class(diagyamlfiles_type), intent(in)  this)

diag_file_objfile_duration is allocated on th stack, so this is always true

Returns
true
Parameters
[in]thisdiagYamlFiles_type object to initialize

Definition at line 186 of file fms_diag_yaml.F90.

◆ has_file_duration_units()

procedure, public has_file_duration_units ( class(diagyamlfiles_type), intent(in)  this)

diag_file_objfile_duration_units is on the stack, so this will retrun true

Returns
true
Parameters
[in]thisdiagYamlFiles_type object to initialize

Definition at line 187 of file fms_diag_yaml.F90.

◆ has_file_fname()

procedure, public has_file_fname ( class(diagyamlfiles_type), intent(in)  this)

Has functions to determine if allocatable variables are true. If a variable is not an allocatable then is will always return .true.

Returns
true if diag_file_objfile_fname is allocated
Parameters
[in]thisdiagYamlFiles_type object to initialize

Definition at line 177 of file fms_diag_yaml.F90.

◆ has_file_freq()

procedure, public has_file_freq ( class(diagyamlfiles_type), intent(in)  this)

diag_file_objfile_freq is on the stack, so the object always has it

Returns
true if diag_file_objfile_freq is allocated
Parameters
[in]thisdiagYamlFiles_type object to initialize

Definition at line 179 of file fms_diag_yaml.F90.

◆ has_file_frequnit()

procedure, public has_file_frequnit ( class(diagyamlfiles_type), intent(in)  this)

Checks if diag_file_objfile_frequnit is allocated.

Returns
true if diag_file_objfile_frequnit is allocated
Parameters
[in]thisdiagYamlFiles_type object to initialize

Definition at line 178 of file fms_diag_yaml.F90.

◆ has_file_global_meta()

procedure, public has_file_global_meta ( class(diagyamlfiles_type), intent(in)  this)

Checks if diag_file_objfile_global_meta is allocated.

Returns
true if diag_file_objfile_global_meta is allocated
Parameters
[in]thisdiagYamlFiles_type object to initialize

Definition at line 189 of file fms_diag_yaml.F90.

◆ has_file_new_file_freq()

procedure, public has_file_new_file_freq ( class(diagyamlfiles_type), intent(in)  this)

diag_file_objfile_new_file_freq is defined on the stack, so this will return true

Returns
true
Parameters
[in]thisdiagYamlFiles_type object to initialize

Definition at line 183 of file fms_diag_yaml.F90.

◆ has_file_new_file_freq_units()

procedure, public has_file_new_file_freq_units ( class(diagyamlfiles_type), intent(in)  this)

Checks if diag_file_objfile_new_file_freq_units is allocated.

Returns
true if diag_file_objfile_new_file_freq_units is allocated
Parameters
[in]thisdiagYamlFiles_type object to initialize

Definition at line 184 of file fms_diag_yaml.F90.

◆ has_file_start_time()

procedure, public has_file_start_time ( class(diagyamlfiles_type), intent(in)  this)

Checks if diag_file_objfile_start_time is allocated.

Returns
true if diag_file_objfile_start_time is allocated
Parameters
[in]thisdiagYamlFiles_type object to initialize

Definition at line 185 of file fms_diag_yaml.F90.

◆ has_file_sub_region()

procedure, public has_file_sub_region ( class(diagyamlfiles_type), intent(in)  this)

Checks if diag_file_objfile_sub_region is being used and has the sub region variables allocated.

Returns
true if diag_file_objfile_sub_region sub region variables are allocated
Parameters
[in]thisdiagYamlFiles_type object to initialize

Definition at line 182 of file fms_diag_yaml.F90.

◆ has_file_timeunit()

procedure, public has_file_timeunit ( class(diagyamlfiles_type), intent(in)  this)

Checks if diag_file_objfile_timeunit is allocated.

Returns
true if diag_file_objfile_timeunit is allocated
Parameters
[in]thisdiagYamlFiles_type object to initialize

Definition at line 180 of file fms_diag_yaml.F90.

◆ has_file_unlimdim()

procedure, public has_file_unlimdim ( class(diagyamlfiles_type), intent(in)  this)

Checks if diag_file_objfile_unlimdim is allocated.

Returns
true if diag_file_objfile_unlimdim is allocated
Parameters
[in]thisdiagYamlFiles_type object to initialize

Definition at line 181 of file fms_diag_yaml.F90.

◆ has_file_varlist()

procedure, public has_file_varlist ( class(diagyamlfiles_type), intent(in)  this)

Checks if diag_file_objfile_varlist is allocated.

Returns
true if diag_file_objfile_varlist is allocated
Parameters
[in]thisdiagYamlFiles_type object to initialize

Definition at line 188 of file fms_diag_yaml.F90.

◆ increase_new_file_freq_index()

procedure, public increase_new_file_freq_index ( class(diagyamlfiles_type), intent(inout)  this)

Increate the current_new_file_freq_index by 1.

Parameters
[in,out]thisThe file object

Definition at line 190 of file fms_diag_yaml.F90.

◆ is_global_meta()

procedure, public is_global_meta ( class (diagyamlfiles_type), intent(in)  this)

Inquiry for whether file_global_meta is allocated.

Returns
Flag indicating if file_global_meta is allocated
Parameters
[in]thisThe object being inquiried

Definition at line 174 of file fms_diag_yaml.F90.

◆ size_file_varlist()

procedure, public size_file_varlist ( class (diagyamlfiles_type), intent(in)  this)

All getter functions (functions named get_x(), for member field named x) return copies of the member variables unless explicitly noted.

Returns
the size of the diag_files_objfile_varlist array
Parameters
[in]thisThe object being inquiried

Definition at line 159 of file fms_diag_yaml.F90.

Member Data Documentation

◆ current_new_file_freq_index

integer current_new_file_freq_index

The index of the new_file_freq array Need to use MAX_STR_LEN because not all filenames/global attributes are the same length.

Definition at line 135 of file fms_diag_yaml.F90.

◆ default_var_module

character (len=:), allocatable default_var_module

The module for all of the variables in the file This may be overriden if the modules was defined at the variable level.

Definition at line 152 of file fms_diag_yaml.F90.

◆ default_var_precision

character (len=:), allocatable default_var_precision

The precision for all of the variables in the file This may be overriden if the precison was defined at the variable level.

Definition at line 146 of file fms_diag_yaml.F90.

◆ default_var_reduction

character (len=:), allocatable default_var_reduction

The reduction for all of the variables in the file This may be overriden if the reduction was defined at the variable level.

Definition at line 149 of file fms_diag_yaml.F90.

◆ file_duration

integer, dimension(max_freq) file_duration

How long the file should receive data after start time in file_duration_units. This optional field can only be used if the start_time field is present.  If this field is absent, then the file duration will be equal to the frequency for creating new files. NOTE: The file_duration_units field must also be present if this field is present.

Definition at line 123 of file fms_diag_yaml.F90.

◆ file_duration_units

integer, dimension(max_freq) file_duration_units

The file duration units (DIAG_SECONDS, DIAG_MINUTES, & DIAG_HOURS, DIAG_DAYS, DIAG_YEARS)

Definition at line 132 of file fms_diag_yaml.F90.

◆ file_fname

character (len=:), allocatable file_fname
private

file name

Definition at line 102 of file fms_diag_yaml.F90.

◆ file_freq

integer, dimension(max_freq) file_freq

the frequency of data

Definition at line 106 of file fms_diag_yaml.F90.

◆ file_frequnit

integer, dimension(max_freq) file_frequnit

the frequency unit (DIAG_SECONDS, DIAG_MINUTES, DIAG_HOURS, DIAG_DAYS, DIAG_YEARS)

Definition at line 103 of file fms_diag_yaml.F90.

◆ file_global_meta

character (len=max_str_len), dimension(:,:), allocatable file_global_meta

Array of key(dim=1) and values(dim=2) to be added as global meta data to the file.

Definition at line 142 of file fms_diag_yaml.F90.

◆ file_new_file_freq

integer, dimension(max_freq) file_new_file_freq

Frequency for closing the existing file.

Definition at line 112 of file fms_diag_yaml.F90.

◆ file_new_file_freq_units

integer, dimension(max_freq) file_new_file_freq_units

Time units for creating a new file. Required if “new_file_freq” used (DIAG_SECONDS, DIAG_MINUTES, & DIAG_HOURS, DIAG_DAYS, DIAG_YEARS)

Definition at line 113 of file fms_diag_yaml.F90.

◆ file_outlist

character (len=max_str_len), dimension(:), allocatable file_outlist

An array of variable output names within a file, used to distinguish varlist names for yaml output.

Definition at line 139 of file fms_diag_yaml.F90.

◆ file_start_time

type(time_type) file_start_time

Time to start the file for the first time.

Definition at line 117 of file fms_diag_yaml.F90.

◆ file_start_time_set

logical file_start_time_set

.True. if file_start_time has been set

Definition at line 119 of file fms_diag_yaml.F90.

◆ file_sub_region

type(subregion_type) file_sub_region

type containing info about the subregion

Definition at line 111 of file fms_diag_yaml.F90.

◆ file_timeunit

integer file_timeunit

The unit of time (DIAG_SECONDS, DIAG_MINUTES, DIAG_HOURS, DIAG_DAYS, DIAG_YEARS)

Definition at line 107 of file fms_diag_yaml.F90.

◆ file_unlimdim

character (len=:), allocatable file_unlimdim

The name of the unlimited dimension.

Definition at line 110 of file fms_diag_yaml.F90.

◆ file_varlist

character (len=max_str_len), dimension(:), allocatable file_varlist

An array of variable names within a file.

Definition at line 137 of file fms_diag_yaml.F90.

◆ filename_time

integer filename_time

The time to use when setting the name of new files: begin, middle, or end of the time_bounds.

Definition at line 120 of file fms_diag_yaml.F90.


The documentation for this type was generated from the following file: