Contact: Joe Sirutis Reviewers: Tags/Status
Dry Adiabatic Adjustment Module An adjustment to neutral stability is done wherever the model lapse rate is unstable with respect to the dry adiabatic lapse rate.
Given a temperature profile at the model's pressure levels, this module checks for instability with respect to the dry adiabatic lapse rate. Where instability exists the temperature is adjusted to neutral stability such that the vertical integral of potential temperature is conserved. The output from this module is a temperature tendency. This parameterization is a substitute for the vertical diffusion of temperature and should NOT be used if the vertical diffusion scheme being used already does this.
constants_mod utilities_mod
use dry_adj_mod [,only: dry_adj_init, dry_adj, dry_adj_bdgt] dry_adj_init - Called once to initialize dry_adj. Also reads namelist. Must be called before dry_adj. dry_adj - Does dry adiabatic adjustment dry_adj_bdgt - Optional debugging tool. Can be called to do budget checks for tendencies computed in dry_adj. Notes: * A namelist interface ( &dry_adj_nml ) controls runtime options.
call dry_adj_init () There are no arguments to this routine --------------------------------------------------------------------- call dry_adj ( temp0, pres, pres_in, dtemp, mask ) input temp0 Temperature [deg k] at full model levels, [real, dimension(:,:,nlev)] pres Pressure at full levels in pascals [real, dimension(:,:,nlev)] pres_int Pressure at half levels in pascals [real, dimension(:,:,nlev+1)] output dtemp Temperature tendency [deg k/time step] [real, dimension(:,:,nlev)] input (optional) - for use with the step-mountain (eta) vertical coordinate mask Mask (1. or 0.) for grid boxes above or below the ground. [real, dimension(:,:,nlev)] --------------------------------------------------------------------- call dry_adj_bdgt ( dtemp, pres_int ) input dtemp Temperature tendency [deg k/time step] [real, dimension(:,:,nlev)] pres_int Pressure at half levels in pascals [real, dimension(:,:,nlev)]
&dry_adj_nml itermax Max number of iterations over column. [integer, default: itermax = 5 ] small Critical potential temperature difference. A Manabe Climate Model option. [real, default: small = .001 ] do_mcm_dry_adj When true, executes the dry adjustment scheme of the Manabe Climate Model. [logical, default: do_mcm_dry_adj = .false.]
Revision history Prior Changes MPP version created. Minor changes in open_file, error_mesg, and Fortran write statements. Answers should reproduce the previous version.
Fatal errors in dry_adj: dry_adj_init has not been called You have not called dry_adj_init before calling dry_adj. Non-fatal errors in dry_adj: Non-convergence in dry_adj The max number of iterations over the column has been reached, and there still is instability within the column. Use a larger value for the namelist parameter "itermax".
Manabe, S., J. Smagorinsky and R.F. Strickler, 1965: Simulated climatology of a general circulation model with a hydrological cycle. Mon. Wea. Rev., 93, 769-798. Smagorinsky, J., S. Manabe and J.L. Holloway, 1965: Numerical results from a nine-level general circulation model of the atmosphere. Mon. Wea. Rev., 93, 727-768.
Routine DRY_ADJ_BDGT is not set up for MPP machines. This routine will print data on all PEs.
None.
None.