diag_output_mod is an integral part of diag_manager_mod. Its function is to write axis-meta-data, field-meta-data and field data
mpp_io_mod
mpp_domains_mod
mpp_mod
diag_axis_mod
diag_data_mod
time_manager_mod
fms_mod
platform_mod
SUBROUTINE diag_output_init (file_name, format, file_title, file_unit, all_scalar_or_1d, domain)
file_name | Output file name [CHARACTER(len=*)] |
format | File format (Currently only 'NETCDF' is valid) [INTEGER] |
file_title | Descriptive title for the file [CHARACTER(len=*)] |
all_scalar_or_1d |
[LOGICAL] |
domain |
[TYPE(domain2d)] |
file_unit | File unit number assigned to the output file. Needed for subsuquent calls to diag_output_mod
[INTEGER] |
SUBROUTINE write_axis_meta_data (file_unit, axes, time_ops)
file_unit | File unit number [INTEGER] |
axes | Array of axis ID's, including the time axis [INTEGER, DIMENSION(:)] |
time_ops | .TRUE. if this file contains any min, max, or time_average [LOGICAL, OPTIONAL] |
TYPE(diag_fieldtype) FUNCTION write_field_meta_data (file_unit, name, axes, units, long_name, rnage, pack, mval, avg_name, time_method, standard_name, interp_method)
file_unit | Output file unit number [INTEGER] |
name | Field name [CHARACTER(len=*)] |
axes | Array of axis IDs [INTEGER, DIMENSION(:)] |
units | Field units [CHARACTER(len=*)] |
long_name | Field's long name [CHARACTER(len=*)] |
range | Valid range (min, max). If min > max, the range will be ignored [REAL, DIMENSION(2), OPTIONAL] |
pack | Packing flag. Only valid when range specified. Valid values:
[INTEGER, OPTIONAL] [Default: 2] |
mval | Missing value, must be within valid range [REAL, OPTIONAL] |
avg_name | Name of varuable containing time averaging info [CHARACTER(len=*), OPTIONAL] |
time_method | Name of transformation applied to the time-varying data, i.e. "avg", "min", "max" [CHARACTER(len=*), OPTIONAL] |
standard_name | Standard name of field [CHARACTER(len=*), OPTIONAL] |
interp_method |
[CHARACTER(len=*), OPTIONAL] |
SUBROUTINE done_meta_data (file_unit)
file_unit | Output file unit number [INTEGER] |
SUBROUTINE diag_field_out (file_unit, field, data, time)
file_unit | Output file unit number [INTEGER] |
time |
[REAL(KIND=r8_kind), OPTIONAL] |
field |
[TYPE(diag_fieldtype)] |
data |
[REAL, DIMENSIONS(:,:,:,:)] |
call diag_flush (file_unit)
file_unit | Output file unit number to flush [INTEGER] |
INTEGER FUNCTION get_axis_index (num)
num |
[INTEGER] |
call get_diag_global_att (gAtt)
gAtt |
[TYPE(diag_global_att_type] |
call set_diag_global_att (component, gridType, timeName)
component |
[CHARACTER(len=*)] |
gridType |
[CHARACTER(len=*)] |
tileName |
[CHARACTER(len=*)] |