diag_manager_mod is a set of simple calls for parallel diagnostics on distributed systems. It is geared toward the writing of data in netCDF format.
time_manager_mod
mpp_io_mod
fms_mod
mpp_mod
diag_axis_mod
diag_data_mod
diag_util_mod
send_data (diag_field_id, field, time, is_in, js_in, ks_in, mask, rmask, ie_in, je_in, ke_in, weight)
| diag_field_id |
[integer] [integer] [integer] [integer] |
| field |
[real] [real, dimension(:)] [real, dimension(:,:)] [real, dimension(:,:,:)] |
| time |
[time_type] [time_type] [time_type] [time_type] |
| diag_field_id |
[integer] [integer] |
| field |
[real, dimension(:,:,:)] [real, dimension(:,:,:,:)] |
| area |
[real, dimension(:,:,:)] [real, dimension(:,:,:)] |
| time |
[time_type, dimension(:,:,:)] [time_type, dimension(:,:,:)] |
| mask |
[logical, dimension(:,:,:)] [logical, dimension(:,:,:)] |
register_diag_field (module_name,field_name,axes,init_time, & long_name,units,missing_value,range,mask_variant,verbose)
| module_name |
[character(len=*)] |
| field_name |
[character(len=*)] |
| axes |
[integer, dimension(:)] |
| init_time |
[time_type] |
| long_name |
[character(len=*)] |
| units |
[character(len=*)] |
| missing_value |
[real] |
| range |
[real, dimension(2)] |
| mask_variant |
[logical] |
register_static_field (module_name, field_name, axes, & long_name, units, missing_value, range, require)
| module_name |
[character(len=*)] |
| field_name |
[character(len=*)] |
| axes |
[integer, dimension(:)] |
| long_name |
[character(len=*)] |
| units |
[character(len=*)] |
| missing_value |
[real] |
| range |
[real, dimension(2)] |
call diag_manager_end (time)
| TIME |
[time_type] |
call diag_manager_init ()
call get_base_time ()
call get_base_date (year, month, day, hour, minute, second)
need_data (diag_field_id,next_model_time)
| inext_model_time | next_model_time = current model time + model time_step [time_type] |
| diag_field_id |
[integer] |
use diag_manager_modIf netCDF output is desired, the cpp flag -Duse_netCDF must be turned on. The loader step requires an explicit link to the netCDF library (typically something like -L/usr/local/lib -lnetcdf, depending on the path to the netCDF library). netCDF release 3 for fortran is required.
GFDL users can checkout diag_manager_mod using the cvs command .
ACQUIRING SOURCE