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=*)] |