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