FMS 2025.01-dev
Flexible Modeling System
Loading...
Searching...
No Matches
diag_data_mod

Type descriptions and global variables for the diag_manager modules. More...

Data Types

type  coord_type
 Define the region for field output. More...
 
type  diag_atttype
 Attribute type for diagnostic fields. More...
 
type  diag_axis_type
 Type to hold the diagnostic axis description. More...
 
type  diag_fieldtype
 Diagnostic field type. More...
 
type  diag_global_att_type
 
type  diag_grid
 Contains the coordinates of the local domain to output. More...
 
type  file_type
 Type to define the diagnostic files that will be written as defined by the diagnostic table. More...
 
type  fmsdiagattribute_type
 Type to hold the attributes of the field/axis/file. More...
 
type  input_field_type
 Type to hold the input field description. More...
 
type  output_field_type
 Type to hold the output field description. More...
 

Functions/Subroutines

subroutine diag_data_init ()
 Initialize and write the version number of this file to the log file.
 
subroutine fms_add_attribute (this, att_name, att_value)
 Adds an attribute to the attribute type.
 
integer function get_base_day ()
 gets the module variable base_day
 
integer function get_base_hour ()
 gets the module variable base_hour
 
integer function get_base_minute ()
 gets the module variable base_minute
 
integer function get_base_month ()
 gets the module variable base_month
 
integer function get_base_second ()
 gets the module variable base_second
 
type(time_type) function get_base_time ()
 gets the module variable base_time
 
integer function get_base_year ()
 gets the module variable base_year
 
integer function get_var_type (var)
 gets the type of a variable
 
subroutine set_base_time (base_time_int)
 Set the module variable base_time.
 
subroutine write_metadata (this, fileobj, var_name, cell_methods)
 Writes out the attributes from an fmsDiagAttribute_type.
 

Variables

logical append_pelist_name = .FALSE.
 
character(len=7) avg_name = 'average'
 Name of the average fields.
 
integer, private base_day
 
integer, private base_hour
 
integer, private base_minute
 
integer, private base_month
 
integer, private base_second
 
type(time_type), private base_time
 The base_time read from diag_table.
 
logical, private base_time_set
 Flag indicating that the base_time is set This is to prevent users from calling set_base_time multiple times.
 
integer, private base_year
 
integer, parameter begin_time = 1
 Use the begining of the time average bounds.
 
real(r8_kind), parameter cmor_missing_value = 1.0e20
 CMOR standard missing value.
 
integer, parameter daily = 24
 
logical debug_diag_manager = .FALSE.
 
integer, parameter diag_all = 2
 
integer, parameter diag_days = 4
 
integer, parameter diag_field_not_found = -1
 Return value for a diag_field that isn't found in the diag_table.
 
integer, parameter diag_hours = 3
 
type(time_typediag_init_time
 Time diag_manager_init called. If init_time not included in diag_manager_init call, then same as base_time.
 
integer diag_log_unit
 
integer, parameter diag_minutes = 2
 
integer, parameter diag_months = 5
 
integer, parameter diag_not_found = -1
 
integer, parameter diag_not_registered = 0
 
character(len=1), parameter diag_null_string = " "
 
integer, parameter diag_ocean = 1
 
integer, parameter diag_other = 0
 
integer, parameter diag_registered_id = 10
 
integer, parameter diag_seconds = 1
 
integer, parameter diag_years = 6
 
integer, parameter direction_down = -1
 The axis points down if positive.
 
integer, parameter direction_up = 1
 The axis points up if positive.
 
integer, parameter diurnal = 2
 
logical do_diag_field_log = .FALSE.
 
real(r8_kind) empty = 0.0
 
integer, parameter end_of_run = -1
 
integer, parameter end_time = 3
 Use the end of the time average bounds.
 
integer, parameter every_time = 0
 
type(fmsnetcdfdomainfile_t), dimension(:), allocatable, target fileobj
 
type(fmsnetcdffile_t), dimension(:), allocatable, target fileobjnd
 
type(fmsnetcdfunstructureddomainfile_t), dimension(:), allocatable, target fileobju
 
type(file_type), dimension(:), allocatable, save files
 
real fill_value = NF_FILL_REAL
 Fill value used. Value will be NF90_FILL_REAL if using the netCDF module, otherwise will be 9.9692099683868690e+36.
 
logical first_send_data_call = .TRUE.
 
logical flush_nc_files = .FALSE.
 Control if diag_manager will force a flush of the netCDF file on each write. Note: changing this to .TRUE. can greatly reduce the performance of the model, as the model must wait until the flush to disk has completed.
 
character(len=2), dimension(:), allocatable fnum_for_domain
 If this file number in the array is for the "unstructured" or "2d" domain.
 
integer, parameter glo_reg_val = -999
 Value used in the region specification of the diag_table to indicate to use the full axis instead of a sub-axis.
 
integer, parameter glo_reg_val_alt = -1
 Alternate value used in the region specification of the diag_table to indicate to use the full axis instead of a sub-axis.
 
character(len=256) global_descriptor
 
integer, parameter i4 = -4
 
integer, parameter i8 = -8
 
integer, parameter index_gridtype = 2
 
type(input_field_type), dimension(:), allocatable input_fields
 
integer, parameter instantaneous = 0
 
integer, parameter is_x_axis = 1
 integer indicating that it is a x axis
 
integer, parameter is_y_axis = 2
 integer indicating that it is a y axis
 
logical issue_oor_warnings = .TRUE.
 Issue warnings if the output field has values outside the given range for a variable.
 
integer, parameter latlon_gridtype = 1
 
integer max_axes = 60
 Maximum number of independent axes.
 
integer max_axis_attributes = 4
 Maximum number of user definable attributes per axis.
 
integer max_field_attributes = 4
 Maximum number of user definable attributes per field. Liptak: Changed from 2 to 4 20170718.
 
integer, parameter max_fields_per_file = 300
 Maximum number of fields per file.
 
integer max_file_attributes = 2
 Maximum number of user definable global attributes per file.
 
integer max_files = 31
 Maximum number of output files allowed. Increase via diag_manager_nml.
 
integer max_input_fields = 600
 Maximum number of input fields. Increase via diag_manager_nml.
 
integer max_num_axis_sets = 25
 
integer max_out_per_in_field = 150
 Maximum number of output_fields per input_field. Increase via diag_manager_nml.
 
integer max_output_fields = 300
 Maximum number of output fields. Increase via diag_manager_nml.
 
integer, parameter max_str_len = 255
 Max length for a string.
 
integer, parameter max_subaxes = 10
 
real(r8_kind) max_value
 
integer, parameter middle_time = 2
 Use the middle of the time average bounds.
 
real(r8_kind) min_value
 
logical mix_snapshot_average_fields =.FALSE.
 
logical module_is_initialized = .FALSE.
 Indicate if diag_manager has been initialized.
 
integer, parameter monthly = 30
 Supported averaging intervals.
 
integer, parameter no_diag_averaging = 0
 
integer, parameter no_domain = 1
 Use the FmsNetcdfFile_t fileobj.
 
character(len=8) no_units = "NO UNITS"
 String indicating that the variable has no units.
 
integer null_axis_id
 
integer, parameter null_gridtype = DIAG_NULL
 
integer, parameter null_type_int = -999
 
integer num_files = 0
 Number of output files currenly in use by the diag_manager.
 
integer num_input_fields = 0
 Number of input fields in use.
 
integer num_output_fields = 0
 Number of output fields in use.
 
integer oor_warning = WARNING
 
logical oor_warnings_fatal = .FALSE.
 Cause a fatal error if the output field has a value outside the given range for a variable.
 
type(output_field_type), dimension(:), allocatable output_fields
 
integer pack_size = 1
 1 for double and 2 for float
 
character(len=6) pack_size_str ="double"
 Pack size as a string to be used in fms2_io register call set to "double" or "float".
 
character(len=32) pelist_name
 
logical prepend_date = .TRUE.
 Should the history file have the start date prepended to the file name. .TRUE. is only supported if the diag_manager_init routine is called with the optional time_init parameter.
 
integer, parameter r4 = 4
 
integer, parameter r8 = 8
 Supported type/kind of the variable.
 
logical region_out_use_alt_value = .TRUE.
 Will determine which value to use when checking a regional output if the region is the full axis or a sub-axis. The values are defined as GLO_REG_VAL (-999) and GLO_REG_VAL_ALT (-1) in diag_data_mod.
 
integer, parameter six_hourly = 6
 
integer, parameter string = 19
 s is the 19th letter of the alphabet
 
integer, parameter sub_regional = 4
 This is a file with a sub_region use the FmsNetcdfFile_t fileobj.
 
integer, parameter three_hourly = 3
 
integer, parameter time_average = 4
 The reduction method is average of values.
 
integer, parameter time_diurnal = 6
 The reduction method is diurnal.
 
integer, parameter time_max = 2
 The reduction method is max value.
 
integer, parameter time_min = 1
 The reduction method is min value.
 
integer, parameter time_none = 0
 There is no reduction method.
 
integer, parameter time_power = 7
 The reduction method is average with exponents.
 
integer, parameter time_rms = 5
 The reudction method is root mean square of values.
 
integer, parameter time_sum = 3
 The reduction method is sum of values.
 
character(len=10), dimension(6) time_unit_list = (/'seconds ', 'minutes ', 'hours ', 'days ', 'months ', 'years '/)
 
type(time_typetime_zero
 
integer, parameter two_d_domain = 2
 Use the FmsNetcdfDomainFile_t fileobj.
 
integer, parameter ug_domain = 3
 Use the FmsNetcdfUnstructuredDomainFile_t fileobj.
 
logical use_clock_average = .false.
 .TRUE. if the averaging of variable is done based on the clock For example, if doing daily averages and your start the simulation in day1_hour3, it will do the average between day1_hour3 to day2_hour 0 the default behavior will do the average between day1 hour3 to day2 hour3
 
logical use_cmor = .FALSE.
 Indicates if we should overwrite the MISSING_VALUE to use the CMOR missing value.
 
logical use_modern_diag = .false.
 Namelist flag to use the modernized diag_manager code.
 
logical use_mpp_io = .false.
 false is fms2_io (default); true is mpp_io
 
logical use_refactored_send = .false.
 Namelist flag to use refactored send_data math funcitons.
 
integer, parameter very_large_axis_length = 10000
 
integer, parameter very_large_file_freq = 100000
 
logical write_bytes_in_file = .FALSE.
 
integer, parameter yearly = 12
 

Detailed Description

Type descriptions and global variables for the diag_manager modules.

Author
Seth Underwood seth..nosp@m.unde.nosp@m.rwood.nosp@m.@noa.nosp@m.a.gov

Notation:

input field

The data structure describing the field as registered by the model code.

output field
The data structure describing the actual diagnostic output with requested frequency and other options.

Input fields, output fields, and output files are gathered in arrays called "input_fields", "output_fields", and "files", respectively. Indices in these arrays are used as pointers to create associations between various data structures.

Each input field associated with one or several output fields via array of indices output_fields; each output field points to the single "parent" input field with the input_field index, and to the output file with the output_file index.


Data Type Documentation

◆ diag_data_mod::coord_type

type diag_data_mod::coord_type

Define the region for field output.

Definition at line 171 of file diag_data.F90.

Collaboration diagram for coord_type:
[legend]

Public Attributes

real xbegin
 
real xend
 
real ybegin
 
real yend
 
real zbegin
 
real zend
 

Member Data Documentation

◆ xbegin

real xbegin

Definition at line 172 of file diag_data.F90.

◆ xend

real xend

Definition at line 173 of file diag_data.F90.

◆ ybegin

real ybegin

Definition at line 174 of file diag_data.F90.

◆ yend

real yend

Definition at line 175 of file diag_data.F90.

◆ zbegin

real zbegin

Definition at line 176 of file diag_data.F90.

◆ zend

real zend

Definition at line 177 of file diag_data.F90.

◆ diag_data_mod::diag_atttype

type diag_data_mod::diag_atttype

Attribute type for diagnostic fields.

Definition at line 157 of file diag_data.F90.

Collaboration diagram for diag_atttype:
[legend]

Public Attributes

character(len=1280) catt
 Character string to hold character value of attribute.
 
real, dimension(:), allocatable fatt
 REAL array to hold value of REAL attributes.
 
integer, dimension(:), allocatable iatt
 INTEGER array to hold value of INTEGER attributes.
 
integer len
 Number of values in attribute, or if a character string then length of the string.
 
character(len=128) name
 Name of the attribute.
 
integer type
 Data type of attribute values (NF_INT, NF_FLOAT, NF_CHAR)
 

Member Data Documentation

◆ catt

character(len=1280) catt

Character string to hold character value of attribute.

Definition at line 162 of file diag_data.F90.

◆ fatt

real, dimension(:), allocatable fatt

REAL array to hold value of REAL attributes.

Definition at line 163 of file diag_data.F90.

◆ iatt

integer, dimension(:), allocatable iatt

INTEGER array to hold value of INTEGER attributes.

Definition at line 164 of file diag_data.F90.

◆ len

integer len

Number of values in attribute, or if a character string then length of the string.

Definition at line 159 of file diag_data.F90.

◆ name

character(len=128) name

Name of the attribute.

Definition at line 161 of file diag_data.F90.

◆ type

integer type

Data type of attribute values (NF_INT, NF_FLOAT, NF_CHAR)

Definition at line 158 of file diag_data.F90.

◆ diag_data_mod::diag_axis_type

type diag_data_mod::diag_axis_type

Type to hold the diagnostic axis description.

Definition at line 306 of file diag_data.F90.

Collaboration diagram for diag_axis_type:
[legend]

Public Attributes

type(diag_atttype), dimension(:), allocatable attributes
 Array to hold user definable attributes.
 
character(len=128) aux
 
character(len=1) cart_name
 
real, dimension(:), pointer diag_type_data
 
integer direction
 
type(domain1ddomain
 
type(domain2ddomain2
 
integer domain_position
 The position in the doman (NORTH or EAST or CENTER)
 
type(domainugdomainug
 
integer edges
 
integer, dimension(max_subaxes) end
 
integer length
 
character(len=256) long_name
 
character(len=128) name
 
integer num_attributes
 Number of defined attibutes.
 
character(len=128) req
 
integer set
 
integer shift
 
integer, dimension(max_subaxes) start
 
type(domain2d), dimension(max_subaxes) subaxis_domain2
 
character(len=128), dimension(max_subaxes) subaxis_name
 
integer tile_count
 
character(len=256) units
 

Member Data Documentation

◆ attributes

type(diag_atttype), dimension(:), allocatable attributes

Array to hold user definable attributes.

Definition at line 321 of file diag_data.F90.

◆ aux

character(len=128) aux

Definition at line 319 of file diag_data.F90.

◆ cart_name

character(len=1) cart_name

Definition at line 309 of file diag_data.F90.

◆ diag_type_data

real, dimension(:), pointer diag_type_data

Definition at line 310 of file diag_data.F90.

◆ direction

integer direction

Definition at line 314 of file diag_data.F90.

◆ domain

type(domain1d) domain

Definition at line 315 of file diag_data.F90.

◆ domain2

type(domain2d) domain2

Definition at line 316 of file diag_data.F90.

◆ domain_position

integer domain_position

The position in the doman (NORTH or EAST or CENTER)

Definition at line 323 of file diag_data.F90.

◆ domainug

Definition at line 318 of file diag_data.F90.

◆ edges

integer edges

Definition at line 314 of file diag_data.F90.

◆ end

integer, dimension(max_subaxes) end

Definition at line 312 of file diag_data.F90.

◆ length

integer length

Definition at line 314 of file diag_data.F90.

◆ long_name

character(len=256) long_name

Definition at line 308 of file diag_data.F90.

◆ name

character(len=128) name

Definition at line 307 of file diag_data.F90.

◆ num_attributes

integer num_attributes

Number of defined attibutes.

Definition at line 322 of file diag_data.F90.

◆ req

character(len=128) req

Definition at line 319 of file diag_data.F90.

◆ set

integer set

Definition at line 314 of file diag_data.F90.

◆ shift

integer shift

Definition at line 314 of file diag_data.F90.

◆ start

integer, dimension(max_subaxes) start

Definition at line 311 of file diag_data.F90.

◆ subaxis_domain2

type(domain2d), dimension(max_subaxes) subaxis_domain2

Definition at line 317 of file diag_data.F90.

◆ subaxis_name

character(len=128), dimension(max_subaxes) subaxis_name

Definition at line 313 of file diag_data.F90.

◆ tile_count

integer tile_count

Definition at line 320 of file diag_data.F90.

◆ units

character(len=256) units

Definition at line 308 of file diag_data.F90.

◆ diag_data_mod::diag_fieldtype

type diag_data_mod::diag_fieldtype

Diagnostic field type.

Definition at line 146 of file diag_data.F90.

Collaboration diagram for diag_fieldtype:
[legend]

Public Attributes

type(domain2ddomain
 
type(domainugdomainu
 
character(len=128) fieldname
 Fieldname.
 
real miss
 
real miss_pack
 
logical miss_pack_present
 
logical miss_present
 
integer tile_count
 

Member Data Documentation

◆ domain

type(domain2d) domain

Definition at line 147 of file diag_data.F90.

◆ domainu

type(domainug) domainu

Definition at line 148 of file diag_data.F90.

◆ fieldname

character(len=128) fieldname

Fieldname.

Definition at line 152 of file diag_data.F90.

◆ miss

real miss

Definition at line 149 of file diag_data.F90.

◆ miss_pack

real miss_pack

Definition at line 149 of file diag_data.F90.

◆ miss_pack_present

logical miss_pack_present

Definition at line 150 of file diag_data.F90.

◆ miss_present

logical miss_present

Definition at line 150 of file diag_data.F90.

◆ tile_count

integer tile_count

Definition at line 151 of file diag_data.F90.

◆ diag_data_mod::diag_global_att_type

type diag_data_mod::diag_global_att_type

Definition at line 327 of file diag_data.F90.

Collaboration diagram for diag_global_att_type:
[legend]

Public Attributes

character(len=128) grid_type ='regular'
 
character(len=128) tile_name ='N/A'
 

Member Data Documentation

◆ grid_type

character(len=128) grid_type ='regular'

Definition at line 328 of file diag_data.F90.

◆ tile_name

character(len=128) tile_name ='N/A'

Definition at line 329 of file diag_data.F90.

◆ diag_data_mod::diag_grid

type diag_data_mod::diag_grid

Contains the coordinates of the local domain to output.

Definition at line 136 of file diag_data.F90.

Collaboration diagram for diag_grid:
[legend]

Public Attributes

real, dimension(3) end
 end coordinates (lat,lon,depth) of local domain to output
 
integer, dimension(3) l_end_indx
 end indices at each LOCAL PE
 
integer, dimension(3) l_start_indx
 start indices at each LOCAL PE
 
real, dimension(3) start
 start coordinates (lat,lon,depth) of local domain to output
 
integer, dimension(3) subaxes
 id returned from diag_subaxes_init of 3 subaxes
 

Member Data Documentation

◆ end

real, dimension(3) end

end coordinates (lat,lon,depth) of local domain to output

Definition at line 138 of file diag_data.F90.

◆ l_end_indx

integer, dimension(3) l_end_indx

end indices at each LOCAL PE

Definition at line 140 of file diag_data.F90.

◆ l_start_indx

integer, dimension(3) l_start_indx

start indices at each LOCAL PE

Definition at line 139 of file diag_data.F90.

◆ start

real, dimension(3) start

start coordinates (lat,lon,depth) of local domain to output

Definition at line 137 of file diag_data.F90.

◆ subaxes

integer, dimension(3) subaxes

id returned from diag_subaxes_init of 3 subaxes

Definition at line 141 of file diag_data.F90.

◆ diag_data_mod::file_type

type diag_data_mod::file_type

Type to define the diagnostic files that will be written as defined by the diagnostic table.

Definition at line 182 of file diag_data.F90.

Collaboration diagram for file_type:
[legend]

Public Attributes

type(diag_atttype), dimension(:), allocatable attributes
 Array to hold user definable attributes.
 
integer bytes_written
 
type(time_typeclose_time
 Time file closed. File does not allow data after close time.
 
integer duration
 
integer duration_units
 
type(diag_fieldtypef_avg_end
 
type(diag_fieldtypef_avg_nitems
 
type(diag_fieldtypef_avg_start
 
type(diag_fieldtypef_bounds
 
integer, dimension(max_fields_per_filefields
 
integer file_unit
 
character(len=10) filename_time_bounds
 
integer format
 
logical, allocatable is_time_axis_registered
 
type(time_typelast_flush
 
logical local
 .TRUE. if fields are output in a region instead of global.
 
character(len=128) long_name
 
character(len=fms_file_len) name
 Name of the output file.
 
integer new_file_freq
 frequency to create new file
 
integer new_file_freq_units
 time units of new_file_freq (days, hours, years, ...)
 
type(time_typenext_open
 Time to open a new file.
 
integer num_attributes
 Number of defined attibutes.
 
integer num_fields
 
integer output_freq
 
integer output_units
 
real rtime_current
 
type(time_typestart_time
 Time file opened.
 
integer tile_count
 
integer time_axis_id
 
integer time_bounds_id
 
integer time_index
 
integer time_units
 
logical(i4_kind) use_domain2d = .false.
 
logical(i4_kind) use_domainug = .false.
 

Member Data Documentation

◆ attributes

type(diag_atttype), dimension(:), allocatable attributes

Array to hold user definable attributes.

Definition at line 205 of file diag_data.F90.

◆ bytes_written

integer bytes_written

Definition at line 192 of file diag_data.F90.

◆ close_time

type(time_type) close_time

Time file closed. File does not allow data after close time.

Definition at line 203 of file diag_data.F90.

◆ duration

integer duration

Definition at line 196 of file diag_data.F90.

◆ duration_units

integer duration_units

Definition at line 197 of file diag_data.F90.

◆ f_avg_end

type(diag_fieldtype) f_avg_end

Definition at line 204 of file diag_data.F90.

◆ f_avg_nitems

type(diag_fieldtype) f_avg_nitems

Definition at line 204 of file diag_data.F90.

◆ f_avg_start

type(diag_fieldtype) f_avg_start

Definition at line 204 of file diag_data.F90.

◆ f_bounds

type(diag_fieldtype) f_bounds

Definition at line 204 of file diag_data.F90.

◆ fields

integer, dimension(max_fields_per_file) fields

Definition at line 185 of file diag_data.F90.

◆ file_unit

integer file_unit

Definition at line 191 of file diag_data.F90.

◆ filename_time_bounds

character(len=10) filename_time_bounds

Definition at line 217 of file diag_data.F90.

◆ format

integer format

Definition at line 189 of file diag_data.F90.

◆ is_time_axis_registered

logical, allocatable is_time_axis_registered

Definition at line 213 of file diag_data.F90.

◆ last_flush

type(time_type) last_flush

Definition at line 200 of file diag_data.F90.

◆ local

logical local

.TRUE. if fields are output in a region instead of global.

Definition at line 199 of file diag_data.F90.

◆ long_name

character(len=128) long_name

Definition at line 184 of file diag_data.F90.

◆ name

character(len=fms_file_len) name

Name of the output file.

Definition at line 183 of file diag_data.F90.

◆ new_file_freq

integer new_file_freq

frequency to create new file

Definition at line 194 of file diag_data.F90.

◆ new_file_freq_units

integer new_file_freq_units

time units of new_file_freq (days, hours, years, ...)

Definition at line 195 of file diag_data.F90.

◆ next_open

type(time_type) next_open

Time to open a new file.

Definition at line 201 of file diag_data.F90.

◆ num_attributes

integer num_attributes

Number of defined attibutes.

Definition at line 206 of file diag_data.F90.

◆ num_fields

integer num_fields

Definition at line 186 of file diag_data.F90.

◆ output_freq

integer output_freq

Definition at line 187 of file diag_data.F90.

◆ output_units

integer output_units

Definition at line 188 of file diag_data.F90.

◆ rtime_current

real rtime_current

Definition at line 215 of file diag_data.F90.

◆ start_time

type(time_type) start_time

Time file opened.

Definition at line 202 of file diag_data.F90.

◆ tile_count

integer tile_count

Definition at line 198 of file diag_data.F90.

◆ time_axis_id

integer time_axis_id

Definition at line 193 of file diag_data.F90.

◆ time_bounds_id

integer time_bounds_id

Definition at line 193 of file diag_data.F90.

◆ time_index

integer time_index

Definition at line 216 of file diag_data.F90.

◆ time_units

integer time_units

Definition at line 190 of file diag_data.F90.

◆ use_domain2d

logical(i4_kind) use_domain2d = .false.

Definition at line 210 of file diag_data.F90.

◆ use_domainug

logical(i4_kind) use_domainug = .false.

Definition at line 209 of file diag_data.F90.

◆ diag_data_mod::fmsdiagattribute_type

type diag_data_mod::fmsdiagattribute_type

Type to hold the attributes of the field/axis/file.

Definition at line 334 of file diag_data.F90.

Collaboration diagram for fmsdiagattribute_type:
[legend]

Public Member Functions

procedure add (this, att_name, att_value)
 Adds an attribute to the attribute type.
 
procedure write_metadata (this, fileobj, var_name, cell_methods)
 Writes out the attributes from an fmsDiagAttribute_type.
 

Public Attributes

character(len=:), allocatable att_name
 Name of the attribute.
 
class(*), dimension(:), allocatable att_value
 Value of the attribute.
 

Member Function/Subroutine Documentation

◆ add()

procedure add ( class(fmsdiagattribute_type), intent(inout)  this,
character(len=*), intent(in)  att_name,
class(*), dimension(:), intent(in)  att_value 
)

Adds an attribute to the attribute type.

Parameters
[in,out]thisDiag attribute type
[in]att_nameName of the attribute
[in]att_valueThe attribute value to add

Definition at line 338 of file diag_data.F90.

◆ write_metadata()

procedure write_metadata ( class(fmsdiagattribute_type), intent(inout)  this,
class(fmsnetcdffile_t), intent(inout)  fileobj,
character(len=*), intent(in)  var_name,
character(len=*), intent(inout), optional  cell_methods 
)

Writes out the attributes from an fmsDiagAttribute_type.

Parameters
[in,out]thisDiag attribute type
[in,out]fileobjFms2_io fileobj to write to
[in]var_nameThe name of the variable to write to
[in,out]cell_methodsThe cell methods attribute
[in,out]cell_methodsIf the attribute is cell methods append to the current cell_methods attribute value This will be writen once all of the cell_methods attributes are gathered ...

Definition at line 339 of file diag_data.F90.

Member Data Documentation

◆ att_name

character(len=:), allocatable att_name

Name of the attribute.

Definition at line 336 of file diag_data.F90.

◆ att_value

class(*), dimension(:), allocatable att_value

Value of the attribute.

Definition at line 335 of file diag_data.F90.

◆ diag_data_mod::input_field_type

type diag_data_mod::input_field_type

Type to hold the input field description.

Definition at line 222 of file diag_data.F90.

Collaboration diagram for input_field_type:
[legend]

Public Attributes

integer active_omp_level
 The current level of OpenMP nesting.
 
integer, dimension(3) axes
 
character(len=128) field_name
 
character(len=64) interp_method
 
logical issued_mask_ignore_warning
 Indicates if the mask_ignore_warning has been issued for this input field. Once .TRUE. the warning message is suppressed on all subsequent send_data calls.
 
logical local
 
type(coord_typelocal_coord
 
character(len=128) long_name
 
logical mask_variant
 
real missing_value
 
logical missing_value_present
 
character(len=128) module_name
 
integer num_axes
 
integer num_output_fields
 
integer numthreads
 
integer, dimension(:), allocatable output_fields
 
real, dimension(2) range
 
logical range_present
 
logical register
 
integer, dimension(3) size
 
character(len=256) standard_name
 
logical static
 
integer tile_count
 
type(time_typetime
 
character(len=128) units
 

Member Data Documentation

◆ active_omp_level

integer active_omp_level

The current level of OpenMP nesting.

Definition at line 236 of file diag_data.F90.

◆ axes

integer, dimension(3) axes

Definition at line 226 of file diag_data.F90.

◆ field_name

character(len=128) field_name

Definition at line 223 of file diag_data.F90.

◆ interp_method

character(len=64) interp_method

Definition at line 225 of file diag_data.F90.

◆ issued_mask_ignore_warning

logical issued_mask_ignore_warning

Indicates if the mask_ignore_warning has been issued for this input field. Once .TRUE. the warning message is suppressed on all subsequent send_data calls.

Definition at line 240 of file diag_data.F90.

◆ local

logical local

Definition at line 234 of file diag_data.F90.

◆ local_coord

type(coord_type) local_coord

Definition at line 238 of file diag_data.F90.

◆ long_name

character(len=128) long_name

Definition at line 223 of file diag_data.F90.

◆ mask_variant

logical mask_variant

Definition at line 234 of file diag_data.F90.

◆ missing_value

real missing_value

Definition at line 229 of file diag_data.F90.

◆ missing_value_present

logical missing_value_present

Definition at line 228 of file diag_data.F90.

◆ module_name

character(len=128) module_name

Definition at line 223 of file diag_data.F90.

◆ num_axes

integer num_axes

Definition at line 227 of file diag_data.F90.

◆ num_output_fields

integer num_output_fields

Definition at line 232 of file diag_data.F90.

◆ numthreads

integer numthreads

Definition at line 235 of file diag_data.F90.

◆ output_fields

integer, dimension(:), allocatable output_fields

Definition at line 231 of file diag_data.F90.

◆ range

real, dimension(2) range

Definition at line 230 of file diag_data.F90.

◆ range_present

logical range_present

Definition at line 228 of file diag_data.F90.

◆ register

logical register

Definition at line 234 of file diag_data.F90.

◆ size

integer, dimension(3) size

Definition at line 233 of file diag_data.F90.

◆ standard_name

character(len=256) standard_name

Definition at line 224 of file diag_data.F90.

◆ static

logical static

Definition at line 234 of file diag_data.F90.

◆ tile_count

integer tile_count

Definition at line 237 of file diag_data.F90.

◆ time

type(time_type) time

Definition at line 239 of file diag_data.F90.

◆ units

character(len=128) units

Definition at line 223 of file diag_data.F90.

◆ diag_data_mod::output_field_type

type diag_data_mod::output_field_type

Type to hold the output field description.

Definition at line 249 of file diag_data.F90.

Collaboration diagram for output_field_type:
[legend]

Public Attributes

type(diag_atttype), dimension(:), allocatable attributes
 
integer, dimension(4) axes
 
type(fmsdiagibounds_typebuff_bounds
 
real, dimension(:,:,:,:), allocatable buffer
 coordinates of the buffer and counter are (x, y, z, time-of-day)
 
real, dimension(:), allocatable count_0d
 the following two counters are used in time-averaging for some combination of the field options. Their size is the length of the diurnal axis; the counters must be tracked separately for each of the diurnal interval, because the number of time slices accumulated in each can be different, depending on time step and the number of diurnal samples.
 
real, dimension(:,:,:,:), allocatable counter
 coordinates of the buffer and counter are (x,y,z,time-of-day)
 
type(diag_fieldtypef_type
 
integer input_field
 index of the corresponding input field in the table
 
type(time_typelast_output
 
logical local_output
 
integer n_diurnal_samples
 number of diurnal sample intervals, 1 or more
 
logical need_compute
 
type(time_typenext_next_output
 
type(time_typenext_output
 
integer num_attributes
 
integer num_axes
 
integer, dimension(:), allocatable num_elements
 the following two counters are used in time-averaging for some combination of the field options. Their size is the length of the diurnal axis; the counters must be tracked separately for each of the diurnal interval, because the number of time slices accumulated in each can be different, depending on time step and the number of diurnal samples.
 
integer output_file
 index of the output file in the table
 
type(diag_gridoutput_grid
 
character(len=128) output_name
 
integer pack
 
logical phys_window
 
integer pow_value
 Power value to use for mean_pow(n) calculations.
 
logical reduced_k_range
 
logical reduced_k_unstruct = .false.
 
integer region_elements
 
logical static
 
logical time_average
 true if the output field is averaged over time interval
 
logical time_max
 true if the output field is maximum over time interval
 
character(len=50) time_method
 time method field from the input file
 
logical time_min
 true if the output field is minimum over time interval
 
type(time_typetime_of_prev_field_data
 
logical time_ops
 true if any of time_min, time_max, time_rms or time_average is true
 
logical time_rms
 true if the output field is the rms. If true, then time_average is also
 
logical time_sum
 true if the output field is summed over time interval
 
integer total_elements
 
logical written_once
 

Member Data Documentation

◆ attributes

type(diag_atttype), dimension(:), allocatable attributes

Definition at line 296 of file diag_data.F90.

◆ axes

integer, dimension(4) axes

Definition at line 288 of file diag_data.F90.

◆ buff_bounds

type(fmsdiagibounds_type) buff_bounds

Definition at line 294 of file diag_data.F90.

◆ buffer

real, dimension(:,:,:,:), allocatable buffer

coordinates of the buffer and counter are (x, y, z, time-of-day)

Definition at line 264 of file diag_data.F90.

◆ count_0d

real, dimension(:), allocatable count_0d

the following two counters are used in time-averaging for some combination of the field options. Their size is the length of the diurnal axis; the counters must be tracked separately for each of the diurnal interval, because the number of time slices accumulated in each can be different, depending on time step and the number of diurnal samples.

Definition at line 273 of file diag_data.F90.

◆ counter

real, dimension(:,:,:,:), allocatable counter

coordinates of the buffer and counter are (x,y,z,time-of-day)

Definition at line 266 of file diag_data.F90.

◆ f_type

type(diag_fieldtype) f_type

Definition at line 287 of file diag_data.F90.

◆ input_field

integer input_field

index of the corresponding input field in the table

Definition at line 250 of file diag_data.F90.

◆ last_output

type(time_type) last_output

Definition at line 286 of file diag_data.F90.

◆ local_output

logical local_output

Definition at line 292 of file diag_data.F90.

◆ n_diurnal_samples

integer n_diurnal_samples

number of diurnal sample intervals, 1 or more

Definition at line 290 of file diag_data.F90.

◆ need_compute

logical need_compute

Definition at line 292 of file diag_data.F90.

◆ next_next_output

type(time_type) next_next_output

Definition at line 286 of file diag_data.F90.

◆ next_output

type(time_type) next_output

Definition at line 286 of file diag_data.F90.

◆ num_attributes

integer num_attributes

Definition at line 297 of file diag_data.F90.

◆ num_axes

integer num_axes

Definition at line 289 of file diag_data.F90.

◆ num_elements

integer, dimension(:), allocatable num_elements

the following two counters are used in time-averaging for some combination of the field options. Their size is the length of the diurnal axis; the counters must be tracked separately for each of the diurnal interval, because the number of time slices accumulated in each can be different, depending on time step and the number of diurnal samples.

Definition at line 279 of file diag_data.F90.

◆ output_file

integer output_file

index of the output file in the table

Definition at line 251 of file diag_data.F90.

◆ output_grid

type(diag_grid) output_grid

Definition at line 291 of file diag_data.F90.

◆ output_name

character(len=128) output_name

Definition at line 252 of file diag_data.F90.

◆ pack

integer pack

Definition at line 260 of file diag_data.F90.

◆ phys_window

logical phys_window

Definition at line 292 of file diag_data.F90.

◆ pow_value

integer pow_value

Power value to use for mean_pow(n) calculations.

Definition at line 261 of file diag_data.F90.

◆ reduced_k_range

logical reduced_k_range

Definition at line 293 of file diag_data.F90.

◆ reduced_k_unstruct

logical reduced_k_unstruct = .false.

Definition at line 300 of file diag_data.F90.

◆ region_elements

integer region_elements

Definition at line 289 of file diag_data.F90.

◆ static

logical static

Definition at line 255 of file diag_data.F90.

◆ time_average

logical time_average

true if the output field is averaged over time interval

Definition at line 253 of file diag_data.F90.

◆ time_max

logical time_max

true if the output field is maximum over time interval

Definition at line 256 of file diag_data.F90.

◆ time_method

character(len=50) time_method

time method field from the input file

Definition at line 262 of file diag_data.F90.

◆ time_min

logical time_min

true if the output field is minimum over time interval

Definition at line 257 of file diag_data.F90.

◆ time_of_prev_field_data

type(time_type) time_of_prev_field_data

Definition at line 295 of file diag_data.F90.

◆ time_ops

logical time_ops

true if any of time_min, time_max, time_rms or time_average is true

Definition at line 259 of file diag_data.F90.

◆ time_rms

logical time_rms

true if the output field is the rms. If true, then time_average is also

Definition at line 254 of file diag_data.F90.

◆ time_sum

logical time_sum

true if the output field is summed over time interval

Definition at line 258 of file diag_data.F90.

◆ total_elements

integer total_elements

Definition at line 289 of file diag_data.F90.

◆ written_once

logical written_once

Definition at line 292 of file diag_data.F90.

Function/Subroutine Documentation

◆ diag_data_init()

subroutine diag_data_init

Initialize and write the version number of this file to the log file.

Definition at line 449 of file diag_data.F90.

◆ fms_add_attribute()

subroutine fms_add_attribute ( class(fmsdiagattribute_type), intent(inout)  this,
character(len=*), intent(in)  att_name,
class(*), dimension(:), intent(in)  att_value 
)

Adds an attribute to the attribute type.

Parameters
[in,out]thisDiag attribute type
[in]att_nameName of the attribute
[in]att_valueThe attribute value to add

Definition at line 564 of file diag_data.F90.

◆ get_base_day()

integer function get_base_day

gets the module variable base_day

Returns
the base_day

Definition at line 533 of file diag_data.F90.

◆ get_base_hour()

integer function get_base_hour

gets the module variable base_hour

Returns
the base_hour

Definition at line 541 of file diag_data.F90.

◆ get_base_minute()

integer function get_base_minute

gets the module variable base_minute

Returns
the base_minute

Definition at line 549 of file diag_data.F90.

◆ get_base_month()

integer function get_base_month

gets the module variable base_month

Returns
the base_month

Definition at line 525 of file diag_data.F90.

◆ get_base_second()

integer function get_base_second

gets the module variable base_second

Returns
the base_second

Definition at line 557 of file diag_data.F90.

◆ get_base_time()

type(time_type) function get_base_time

gets the module variable base_time

Returns
the base_time

Definition at line 509 of file diag_data.F90.

◆ get_base_year()

integer function get_base_year

gets the module variable base_year

Returns
the base_year

Definition at line 517 of file diag_data.F90.

◆ get_var_type()

integer function get_var_type ( class(*), intent(in)  var)

gets the type of a variable

Returns
the type of the variable (r4,r8,i4,i8,string)
Parameters
[in]varVariable to get the type for
Returns
The variable's type

Definition at line 597 of file diag_data.F90.

◆ set_base_time()

subroutine set_base_time ( integer, dimension(6)  base_time_int)

Set the module variable base_time.

Parameters
base_time_intbase_time as an array [year month day hour min sec]

Definition at line 462 of file diag_data.F90.

◆ write_metadata()

subroutine write_metadata ( class(fmsdiagattribute_type), intent(inout)  this,
class(fmsnetcdffile_t), intent(inout)  fileobj,
character(len=*), intent(in)  var_name,
character(len=*), intent(inout), optional  cell_methods 
)

Writes out the attributes from an fmsDiagAttribute_type.

Parameters
[in,out]thisDiag attribute type
[in,out]fileobjFms2_io fileobj to write to
[in]var_nameThe name of the variable to write to
[in,out]cell_methodsThe cell methods attribute
[in,out]cell_methodsIf the attribute is cell methods append to the current cell_methods attribute value This will be writen once all of the cell_methods attributes are gathered ...

Definition at line 620 of file diag_data.F90.

Variable Documentation

◆ append_pelist_name

logical append_pelist_name = .FALSE.

Definition at line 354 of file diag_data.F90.

◆ avg_name

character(len=7) avg_name = 'average'

Name of the average fields.

Definition at line 124 of file diag_data.F90.

◆ base_day

integer, private base_day
private

Definition at line 422 of file diag_data.F90.

◆ base_hour

integer, private base_hour
private

Definition at line 422 of file diag_data.F90.

◆ base_minute

integer, private base_minute
private

Definition at line 422 of file diag_data.F90.

◆ base_month

integer, private base_month
private

Definition at line 422 of file diag_data.F90.

◆ base_second

integer, private base_second
private

Definition at line 422 of file diag_data.F90.

◆ base_time

type(time_type), private base_time
private

The base_time read from diag_table.

Definition at line 419 of file diag_data.F90.

◆ base_time_set

logical, private base_time_set
private

Flag indicating that the base_time is set This is to prevent users from calling set_base_time multiple times.

Definition at line 420 of file diag_data.F90.

◆ base_year

integer, private base_year
private

Definition at line 422 of file diag_data.F90.

◆ begin_time

integer, parameter begin_time = 1

Use the begining of the time average bounds.

Definition at line 126 of file diag_data.F90.

◆ cmor_missing_value

real(r8_kind), parameter cmor_missing_value = 1.0e20

CMOR standard missing value.

Definition at line 111 of file diag_data.F90.

◆ daily

integer, parameter daily = 24

Definition at line 74 of file diag_data.F90.

◆ debug_diag_manager

logical debug_diag_manager = .FALSE.

Definition at line 364 of file diag_data.F90.

◆ diag_all

integer, parameter diag_all = 2

Definition at line 93 of file diag_data.F90.

◆ diag_days

integer, parameter diag_days = 4

Definition at line 99 of file diag_data.F90.

◆ diag_field_not_found

integer, parameter diag_field_not_found = -1

Return value for a diag_field that isn't found in the diag_table.

Definition at line 112 of file diag_data.F90.

◆ diag_hours

integer, parameter diag_hours = 3

Definition at line 98 of file diag_data.F90.

◆ diag_init_time

type(time_type) diag_init_time

Time diag_manager_init called. If init_time not included in diag_manager_init call, then same as base_time.

Definition at line 417 of file diag_data.F90.

◆ diag_log_unit

integer diag_log_unit

Definition at line 440 of file diag_data.F90.

◆ diag_minutes

integer, parameter diag_minutes = 2

Definition at line 98 of file diag_data.F90.

◆ diag_months

integer, parameter diag_months = 5

Definition at line 99 of file diag_data.F90.

◆ diag_not_found

integer, parameter diag_not_found = -1

Definition at line 69 of file diag_data.F90.

◆ diag_not_registered

integer, parameter diag_not_registered = 0

Definition at line 70 of file diag_data.F90.

◆ diag_null_string

character(len=1), parameter diag_null_string = " "

Definition at line 68 of file diag_data.F90.

◆ diag_ocean

integer, parameter diag_ocean = 1

Definition at line 92 of file diag_data.F90.

◆ diag_other

integer, parameter diag_other = 0

Definition at line 91 of file diag_data.F90.

◆ diag_registered_id

integer, parameter diag_registered_id = 10

Definition at line 71 of file diag_data.F90.

◆ diag_seconds

integer, parameter diag_seconds = 1

Definition at line 98 of file diag_data.F90.

◆ diag_years

integer, parameter diag_years = 6

Definition at line 99 of file diag_data.F90.

◆ direction_down

integer, parameter direction_down = -1

The axis points down if positive.

Definition at line 106 of file diag_data.F90.

◆ direction_up

integer, parameter direction_up = 1

The axis points up if positive.

Definition at line 105 of file diag_data.F90.

◆ diurnal

integer, parameter diurnal = 2

Definition at line 75 of file diag_data.F90.

◆ do_diag_field_log

logical do_diag_field_log = .FALSE.

Definition at line 362 of file diag_data.F90.

◆ empty

real(r8_kind) empty = 0.0

Definition at line 413 of file diag_data.F90.

◆ end_of_run

integer, parameter end_of_run = -1

Definition at line 97 of file diag_data.F90.

◆ end_time

integer, parameter end_time = 3

Use the end of the time average bounds.

Definition at line 128 of file diag_data.F90.

◆ every_time

integer, parameter every_time = 0

Definition at line 96 of file diag_data.F90.

◆ fileobj

type(fmsnetcdfdomainfile_t), dimension(:), allocatable, target fileobj

Definition at line 431 of file diag_data.F90.

◆ fileobjnd

type(fmsnetcdffile_t), dimension(:), allocatable, target fileobjnd

Definition at line 432 of file diag_data.F90.

◆ fileobju

type(fmsnetcdfunstructureddomainfile_t), dimension(:), allocatable, target fileobju

Definition at line 430 of file diag_data.F90.

◆ files

type(file_type), dimension(:), allocatable, save files

Definition at line 426 of file diag_data.F90.

◆ fill_value

real fill_value = NF_FILL_REAL

Fill value used. Value will be NF90_FILL_REAL if using the netCDF module, otherwise will be 9.9692099683868690e+36.

Definition at line 398 of file diag_data.F90.

◆ first_send_data_call

logical first_send_data_call = .TRUE.

Definition at line 438 of file diag_data.F90.

◆ flush_nc_files

logical flush_nc_files = .FALSE.

Control if diag_manager will force a flush of the netCDF file on each write. Note: changing this to .TRUE. can greatly reduce the performance of the model, as the model must wait until the flush to disk has completed.

Definition at line 365 of file diag_data.F90.

◆ fnum_for_domain

character(len=2), dimension(:), allocatable fnum_for_domain

If this file number in the array is for the "unstructured" or "2d" domain.

Definition at line 433 of file diag_data.F90.

◆ glo_reg_val

integer, parameter glo_reg_val = -999

Value used in the region specification of the diag_table to indicate to use the full axis instead of a sub-axis.

Definition at line 107 of file diag_data.F90.

◆ glo_reg_val_alt

integer, parameter glo_reg_val_alt = -1

Alternate value used in the region specification of the diag_table to indicate to use the full axis instead of a sub-axis.

Definition at line 109 of file diag_data.F90.

◆ global_descriptor

character(len = 256) global_descriptor

Definition at line 423 of file diag_data.F90.

◆ i4

integer, parameter i4 = -4

Definition at line 87 of file diag_data.F90.

◆ i8

integer, parameter i8 = -8

Definition at line 86 of file diag_data.F90.

◆ index_gridtype

integer, parameter index_gridtype = 2

Definition at line 114 of file diag_data.F90.

◆ input_fields

type(input_field_type), dimension(:), allocatable input_fields

Definition at line 427 of file diag_data.F90.

◆ instantaneous

integer, parameter instantaneous = 0

Definition at line 78 of file diag_data.F90.

◆ is_x_axis

integer, parameter is_x_axis = 1

integer indicating that it is a x axis

Definition at line 130 of file diag_data.F90.

◆ is_y_axis

integer, parameter is_y_axis = 2

integer indicating that it is a y axis

Definition at line 131 of file diag_data.F90.

◆ issue_oor_warnings

logical issue_oor_warnings = .TRUE.

Issue warnings if the output field has values outside the given range for a variable.

Definition at line 373 of file diag_data.F90.

◆ latlon_gridtype

integer, parameter latlon_gridtype = 1

Definition at line 113 of file diag_data.F90.

◆ max_axes

integer max_axes = 60

Maximum number of independent axes.

Definition at line 361 of file diag_data.F90.

◆ max_axis_attributes

integer max_axis_attributes = 4

Maximum number of user definable attributes per axis.

Definition at line 385 of file diag_data.F90.

◆ max_field_attributes

integer max_field_attributes = 4

Maximum number of user definable attributes per field. Liptak: Changed from 2 to 4 20170718.

Definition at line 382 of file diag_data.F90.

◆ max_fields_per_file

integer, parameter max_fields_per_file = 300

Maximum number of fields per file.

Definition at line 90 of file diag_data.F90.

◆ max_file_attributes

integer max_file_attributes = 2

Maximum number of user definable global attributes per file.

Definition at line 384 of file diag_data.F90.

◆ max_files

integer max_files = 31

Maximum number of output files allowed. Increase via diag_manager_nml.

Definition at line 356 of file diag_data.F90.

◆ max_input_fields

integer max_input_fields = 600

Maximum number of input fields. Increase via diag_manager_nml.

Definition at line 358 of file diag_data.F90.

◆ max_num_axis_sets

integer max_num_axis_sets = 25

Definition at line 371 of file diag_data.F90.

◆ max_out_per_in_field

integer max_out_per_in_field = 150

Maximum number of output_fields per input_field. Increase via diag_manager_nml.

Definition at line 359 of file diag_data.F90.

◆ max_output_fields

integer max_output_fields = 300

Maximum number of output fields. Increase via diag_manager_nml.

Definition at line 357 of file diag_data.F90.

◆ max_str_len

integer, parameter max_str_len = 255

Max length for a string.

Definition at line 129 of file diag_data.F90.

◆ max_subaxes

integer, parameter max_subaxes = 10

Definition at line 100 of file diag_data.F90.

◆ max_value

real(r8_kind) max_value

Definition at line 414 of file diag_data.F90.

◆ middle_time

integer, parameter middle_time = 2

Use the middle of the time average bounds.

Definition at line 127 of file diag_data.F90.

◆ min_value

real(r8_kind) min_value

Definition at line 414 of file diag_data.F90.

◆ mix_snapshot_average_fields

logical mix_snapshot_average_fields =.FALSE.

Definition at line 355 of file diag_data.F90.

◆ module_is_initialized

logical module_is_initialized = .FALSE.

Indicate if diag_manager has been initialized.

Definition at line 439 of file diag_data.F90.

◆ monthly

integer, parameter monthly = 30

Supported averaging intervals.

Definition at line 73 of file diag_data.F90.

◆ no_diag_averaging

integer, parameter no_diag_averaging = 0

Definition at line 77 of file diag_data.F90.

◆ no_domain

integer, parameter no_domain = 1

Use the FmsNetcdfFile_t fileobj.

Definition at line 101 of file diag_data.F90.

◆ no_units

character(len=8) no_units = "NO UNITS"

String indicating that the variable has no units.

Definition at line 125 of file diag_data.F90.

◆ null_axis_id

integer null_axis_id

Definition at line 351 of file diag_data.F90.

◆ null_gridtype

integer, parameter null_gridtype = DIAG_NULL

Definition at line 115 of file diag_data.F90.

◆ null_type_int

integer, parameter null_type_int = -999

Definition at line 89 of file diag_data.F90.

◆ num_files

integer num_files = 0

Number of output files currenly in use by the diag_manager.

Definition at line 348 of file diag_data.F90.

◆ num_input_fields

integer num_input_fields = 0

Number of input fields in use.

Definition at line 349 of file diag_data.F90.

◆ num_output_fields

integer num_output_fields = 0

Number of output fields in use.

Definition at line 350 of file diag_data.F90.

◆ oor_warning

integer oor_warning = WARNING

Definition at line 444 of file diag_data.F90.

◆ oor_warnings_fatal

logical oor_warnings_fatal = .FALSE.

Cause a fatal error if the output field has a value outside the given range for a variable.

Definition at line 375 of file diag_data.F90.

◆ output_fields

type(output_field_type), dimension(:), allocatable output_fields

Definition at line 428 of file diag_data.F90.

◆ pack_size

integer pack_size = 1

1 for double and 2 for float

Definition at line 408 of file diag_data.F90.

◆ pack_size_str

character(len=6) pack_size_str ="double"

Pack size as a string to be used in fms2_io register call set to "double" or "float".

Definition at line 409 of file diag_data.F90.

◆ pelist_name

character(len=32) pelist_name

Definition at line 443 of file diag_data.F90.

◆ prepend_date

logical prepend_date = .TRUE.

Should the history file have the start date prepended to the file name. .TRUE. is only supported if the diag_manager_init routine is called with the optional time_init parameter.

Definition at line 386 of file diag_data.F90.

◆ r4

integer, parameter r4 = 4

Definition at line 85 of file diag_data.F90.

◆ r8

integer, parameter r8 = 8

Supported type/kind of the variable.

Definition at line 84 of file diag_data.F90.

◆ region_out_use_alt_value

logical region_out_use_alt_value = .TRUE.

Will determine which value to use when checking a regional output if the region is the full axis or a sub-axis. The values are defined as GLO_REG_VAL (-999) and GLO_REG_VAL_ALT (-1) in diag_data_mod.

Definition at line 377 of file diag_data.F90.

◆ six_hourly

integer, parameter six_hourly = 6

Definition at line 80 of file diag_data.F90.

◆ string

integer, parameter string = 19

s is the 19th letter of the alphabet

Definition at line 88 of file diag_data.F90.

◆ sub_regional

integer, parameter sub_regional = 4

This is a file with a sub_region use the FmsNetcdfFile_t fileobj.

Definition at line 104 of file diag_data.F90.

◆ three_hourly

integer, parameter three_hourly = 3

Definition at line 79 of file diag_data.F90.

◆ time_average

integer, parameter time_average = 4

The reduction method is average of values.

Definition at line 120 of file diag_data.F90.

◆ time_diurnal

integer, parameter time_diurnal = 6

The reduction method is diurnal.

Definition at line 122 of file diag_data.F90.

◆ time_max

integer, parameter time_max = 2

The reduction method is max value.

Definition at line 118 of file diag_data.F90.

◆ time_min

integer, parameter time_min = 1

The reduction method is min value.

Definition at line 117 of file diag_data.F90.

◆ time_none

integer, parameter time_none = 0

There is no reduction method.

Definition at line 116 of file diag_data.F90.

◆ time_power

integer, parameter time_power = 7

The reduction method is average with exponents.

Definition at line 123 of file diag_data.F90.

◆ time_rms

integer, parameter time_rms = 5

The reudction method is root mean square of values.

Definition at line 121 of file diag_data.F90.

◆ time_sum

integer, parameter time_sum = 3

The reduction method is sum of values.

Definition at line 119 of file diag_data.F90.

◆ time_unit_list

character(len=10), dimension(6) time_unit_list = (/'seconds ', 'minutes ', 'hours ', 'days ', 'months ', 'years '/)

Definition at line 441 of file diag_data.F90.

◆ time_zero

type(time_type) time_zero

Definition at line 437 of file diag_data.F90.

◆ two_d_domain

integer, parameter two_d_domain = 2

Use the FmsNetcdfDomainFile_t fileobj.

Definition at line 102 of file diag_data.F90.

◆ ug_domain

integer, parameter ug_domain = 3

Use the FmsNetcdfUnstructuredDomainFile_t fileobj.

Definition at line 103 of file diag_data.F90.

◆ use_clock_average

logical use_clock_average = .false.

.TRUE. if the averaging of variable is done based on the clock For example, if doing daily averages and your start the simulation in day1_hour3, it will do the average between day1_hour3 to day2_hour 0 the default behavior will do the average between day1 hour3 to day2 hour3

Definition at line 392 of file diag_data.F90.

◆ use_cmor

logical use_cmor = .FALSE.

Indicates if we should overwrite the MISSING_VALUE to use the CMOR missing value.

Definition at line 372 of file diag_data.F90.

◆ use_modern_diag

logical use_modern_diag = .false.

Namelist flag to use the modernized diag_manager code.

Definition at line 391 of file diag_data.F90.

◆ use_mpp_io

logical use_mpp_io = .false.

false is fms2_io (default); true is mpp_io

Definition at line 389 of file diag_data.F90.

◆ use_refactored_send

logical use_refactored_send = .false.

Namelist flag to use refactored send_data math funcitons.

Definition at line 390 of file diag_data.F90.

◆ very_large_axis_length

integer, parameter very_large_axis_length = 10000

Definition at line 95 of file diag_data.F90.

◆ very_large_file_freq

integer, parameter very_large_file_freq = 100000

Definition at line 94 of file diag_data.F90.

◆ write_bytes_in_file

logical write_bytes_in_file = .FALSE.

Definition at line 363 of file diag_data.F90.

◆ yearly

integer, parameter yearly = 12

Definition at line 76 of file diag_data.F90.