Contact: Bruce Wyman
Reviewers:
Tags/Status
Driver for generating the cloud properties consistent with the
radiation scheme.
This version returns cloud amounts and radiative properties
in the "compressed" format used by the Fels-Schwarzkopf
radiation package.
cloud_zonal_mod
cloud_obs_mod
rh_clouds_mod
strat_cloud_mod
diag_cloud_mod
cloud_rad_mod
time_manager_mod
diag_manager_mod
utilities_mod
use clouds_mod [, only: clouds_init, clouds, clouds_end ]
clouds_init - Called once to initialize the module
clouds - Called every (radiation) time step to set up the
the clouds and their radiative properties.
clouds_end - Does nothing.
NOTES:
1) Namelist interface &clouds_nml if provided must be in file
input.nml.
2) A version number and namelist variables are appended to
file logfile.out.
call clouds_init (lonb, latb, axes, Time)
Input
lonb The longitude in radians for all grid box boundaries.
[real, dimension(:)]
latb The latitude in radians for all grid box boundaries.
[real, dimension(:)]
axes The axis indices that are returned by previous calls to
diag_axis_init. The values of this array correspond to the
x, y, full (p)level, and half (p)level axes. These are the
axes that diagnostic fields are output on.
[integer, dimension(4)]
Time The current time. [time_type]
Notes
1) If nlon is the number of longitude points in the global grid,
then lonb should be dimensioned by nlon+1.
2) If nlat is the number of latitude points in the global grid,
then latb should be dimensioned by nlat+1.
----------------------------------------------------------------------
call clouds (is, js, clear_sky, Time, Time_diag, lat, land,
tsfc, pfull, phalf, t, q, cosz,
nclds, ktopsw, kbtmsw, ktopsw, kbtmlw,
cldamt, cuvrf, cirrf, cirab, emcld
[, mask, kbot] )
Input
is,js The starting i,j indices of a sub-grid window. [integer]
clear_sky Flag indicating whether a clear_sky calculation is done.
If this is set to true, there will be no clouds.
[logical]
Time The current (radiative) time. [time_type]
Time_diag The time used when outputting diagnostic fields.
[time_type]
lat The latitude in radians. [real, dimension(:,:)]
land The fractional amount of a grid box covered by land.
[real, dimension(:,:)]
tsfc Surface skin temperature (Kelvin) [real, dimension(:,:)]
pfull Pressure in pascals at full model levels.
[real, dimension(:,:,nlev)]
phalf Pressure in pascals at half model levels.
[real, dimension(:,:,nlev+1)]
t Temperature in deg K at full model levels.
[real, dimension(:,:,nlev)]
q Water vapor specific humidity at full model levels.
[real, dimension(:,:,nlev)]
cosz Cosine of the zenith angle.
[real, dimension(:,:)]
Output
nclds The number of clouds in a vertical column at each grid box.
[integer, dimension(:,:)]
ktopsw, The top and bottom index (at layer interfaces)
kbtmsw of the "nclds" clouds for shortwave calculations.
[integer, dimension(:,:,nlev+1)]
ktopsw, The top and bottom index (at model levels)
kbtmlw of the "nclds" clouds for longwave calculations.
[integer, dimension(:,:,nlev+1)]
cldamt The fractional cloud amount of the "nclds" clouds.
[real, dimension(:,:,nlev+1)]
cuvrf The fractional amount of ultraviolet radiation reflected
by the "nclds" clouds. [real, dimension(:,:,nlev+1)]
cirrf The fractional amount of infrared radiation reflected
by the "nclds" clouds. [real, dimension(:,:,nlev+1)]
cirab The fractional amount of infrared radiation absorbed
by the "nclds" clouds. [real, dimension(:,:,nlev+1)]
emcld The emissivity for the "nclds" clouds.
[real, dimension(:,:,nlev+1)]
Input (optional)
mask mask (1. or 0.) for grid boxes above or below
the ground, usually only necessary for the step-mountain
(eta) vertical coordinate [real, dimension(:,:,nlev)]
kbot The index of the model level immediately above the ground.
If grid boxes do not lie below the ground, then this argument
does not need to be supplied. The default is nlev.
[integer, dimension(:,:)]
Output (optional)
tca The total cloud amount computed by assuming that independent
clouds overlap randomly. [real, dimension(:,:)]
Notes
1) The first two dimensions correspond to a sub-window of the
horizontal grid. The first dimension is longitude and the
second is latitude. Their location is defined by the cloud_init
interface.
----------------------------------------------------------------------
call clouds_end ( )
This routine has no arguments and currently does nothing.
&clouds_nml
do_zonal_clouds flag that specifies that zonal (London) clouds
will be used
[logical, default: do_zonal_clouds = .false.]
do_obs_clouds flag that specifies that observed (ISCCP)
clouds will be used, the cloud positions will
be the same as the zonal (London) clouds.
[logical, default: do_obs_clouds = .false.]
do_no_clouds flag that specifies that no clouds will be used
[logical, default: do_no_clouds = .false.]
do_isccp_cloud_diags When .true., specifies alternative cloud scheme
for the pupose of cloud diagnostics.
Intended for use with the Manabe Climate Model.
[logical, default: do_no_clouds = .false.]
Notes:
1) If do_zonal_clouds = do_obs_clouds = do_no_clouds = .false.
and a predicted cloud scheme has not been used then by default
zonal clouds will be used.
Diagnostic fields may be output to a netcdf file by specifying the module name clouds and the desired field names (given below) in file diag_table. See the documentation for diag_manager.
Diagnostic fields for module name: clouds field name field description ---------- ----------------- tot_cld_amt total cloud amount (percent) high_cld_amt high cloud amount (percent) mid_cld_amt middle cloud amount (percent) low_cld_amt low cloud amount (percent) cld_amt cloud amount (percent) em_cld cloud emissivity (none) alb_uv_cld UV reflected by cloud (none) alb_nir_cld IR reflected by cloud (none) abs_uv_cld UV absorbed by cloud (none) abs_nir_cld IR absorbed by cloud (none) NOTES: If namelist variable do_no_clouds = .true., there will be no diagnostic fields saved.
CVS revision history
changes from 10/4/1999
MPP version created. Minor changes for open_file, error_mesg,
and Fortran write statements. Answers should reproduce the
previous version.
prior changes
* The namelist control for predicted cloud schemes (strat_cloud
and rh_clouds) was moved to module moist_processes. Predicted
cloud scheme interaction in this module is controlled through
interfaces.
Fatal Errors from clouds in clouds_mod:
input arrays have the incorrect size.
The third dimension (i.e., level) is not consistent between
input arguments. Variable at full levels should be dimensioned
by nlev, while variables at half levels should be dimensioned
by nlev+1.
None.
None.
None.
1) The ground pressure is normalize to 101325 Pa so that with
prescribed clouds there will always be three cloud levels.
2) The observed clouds only provide amounts. The position (model level)
and radiative properties are the same that used for zonal clouds.
3) RH_CLOUDS, STRAT_CLOUD, or DIAG_CLOUD will override specified clouds
(when their restart data is available). The predicted cloud schemes
are controlled through module moist_processes.
4) Default cloud properties for specified clouds are set up
in module zonal_cloud.
5) If optional argument "kbot" is present (i.e., the eta coordinate
option), then a cloud is placed in the underground portion of
the column. For prescribed clouds, this will be the 4th cloud.
The properties of this cloud are: cloud amount = 1.,
emissivity = 1., reflectivity = absorptivity = 0.
None.