This version provides an interface to the general model diagnostics
manager (diag_manager) which provides support for NetCDF and
distributed memory systems. This also allows dynamical variables
to be saved with variables from other parts of the (atmospheric) model.
In this version the user control of file names, output interval,
time averaging, packing, and many other features is handled through
the diagnostics manager's input file called diag_table.
One of the functions of this module is to initialize the atmospheric
model's diagnostic axes. The axis identification returned by this
module is then used throughout the atmospheric model wherever
diagnostic fields are saved (e.g., the physics).
A second function of this module is to initialize and save
the dynamical core's prognostic fields and time tendencies of the
prognostic fields.
The fields saved are:
variables: bk vertical coordinate sigma/eta values
pk vertical coordinate pressure values (pascals)
zsurf height of the surface (m)
res reciprocal of eta at the surface
ps surface pressure (pascals)
ucomp zonal wind component (m/sec)
vcomp meridional wind component (m/sec)
temp temperature (deg_k)
omega omega vertical velocity (pascals/sec)
tracers multiple number of tracers fields
wspd wind speed (m/s)
div divergence (1/s)
vor relative vorticity (1/s)
udt_dyn zonal wind tendency for dynamics (m/s2)
vdt_dyn meridional wind tendency for dynamics (m/s2)
tdt_dyn temperature tendency for dynamics (deg_k/sec)
tracers"_dt_dyn" tracers tendencies for dynamics
NOTES
1) The static variables bk, pk, zsurf, and res do not vary
in time, they are written once and have no time axis.
PUBLIC INTERFACE
use bgrid_diagnostics_mod [, only: bgrid_diagnostics_init,
bgrid_diagnostics,
bgrid_diagnostics_tend ]
bgrid_diagnostics_init
Must be called to initialize the module.
Also, axis identifiers (for the diag_manager) are returned.
The static fields, zsurf and res are saved to the output file.
bgrid_diagnostics
Should be called at the end of every time step.
Outputs the prognostics variables, omega, wind speed, divergence,
and vorticity. The time passed to bgrid_diagnostics will used to
determine if the output fields should be written.
bgrid_diagnostics_tend
Should be called every time step immediately after dynamics..
Outputs the tendencies of the prognostics variables due to the
dynamics.
DIAGNOSTIC FIELDS
Diagnostic fields may be output to a netcdf file by specifying the
module name dynamics and the desired field names (given below)
in file diag_table. See the documentation for diag_manager.
Diagnostic fields for module name: dynamics
field name field description
---------- -----------------
bk vertical coordinate eta value
pk vertical coordinate pressure value (Pascals)
zsurf height of the surface (m)
res reciprocal of eta at the surface
ps surface pressure (Pascals)
ucomp zonal wind component (m/s)
vcomp meridional wind component (m/s)
temp temperature (deg_k)
omega omega vertical velocity (pascals/sec)
wspd wind speed (m/s)
div divergence (1/s)
vor relative vorticity (1/s)
ucomp_sq zonal wind component squared (m2/s2)
vcomp_sq meridional wind component squared (m2/s2)
temp_sq temperature squared (deg_K**2)
omega_sq omega vertical velocity squared (Pa**2/s**2)
ucomp_vcomp zonal times meridional wind components (m2/s2)
omega_temp omega vertical velocity times temperature (Pascals*deg_K/sec)
udt_dyn zonal wind tendency for dynamics (m/s2)
vdt_dyn meridional wind tendency for dynamics (m/s2)
tdt_dyn temperature tendency for dynamics (deg_k/sec)
trname tracers concentrations
trname_dt_dyn tracers tendencies for dynamics
Notes:
1) bk, pk, zsurf, res are static variables
2) In this version, div, vor are recomputed for diagnostic
3) The names for tracer tendencies are determined from the tracer names.
The short names will be appended with "_dt_dyn", the long names are
modified to indicated a tendency for dynamics, and the units are
appended with "/s".
4) All available diagnostic tracer fields will be printed to the logfile.