PUBLIC INTERFACE / ROUTINES / NAMELIST / CHANGES / ERRORS / REFERENCES / NOTES


module moist_conv

     Contact:
     Reviewers:

     Tags/Status

OVERVIEW


    Computes moist convective adjustment and precipitation.

    Temperature and specific humidity adjustments are computed in
    model layers where the lapse rate and relative humidity exceed
    the moist adiabatic lapse rate and a threshold relative humidity.

   The features include:

    1) multiple pass scheme (e-group version)
    2) convective detrainment option 
       (for use with the stratiform cloud scheme)
    3) energetically consistent adjustment with precipitation type

    Reference: Manabe, S., (1969). Mon. Wea. Rev. 97, 739-798.


OTHER MODULES USED


     sat_vapor_pres_mod
          utilities_mod
          constants_mod


PUBLIC INTERFACE


use moist_conv_mod [, only: moist_conv_init, moist_conv ]

   moist_conv_init:  Initializes the module, namelist, and constants.
                     This routine may be called by the user, but does
                     not have to be (it will be done automatically).

   moist_conv:  Computes the moist convective adjustments for
                temperature and specific humidity; also optional 
                adjustments for liquid and ice cloud condensates.
                This routine also returns the mass of rain and snow
                that reach the ground, this is done in an energetically
                consistent way.


PUBLIC ROUTINES


call moist_conv_init ( )

   There are no arguments.

--------------------------------------------------------

call moist_conv ( tin, qin, pfull, phalf, coldt, tdel, qdel, rain, snow,
                     [,lbot] [,cf] [,conv] [,qldel,qidel] )

  Input

      tin       temperature at full levels (deg k)
                  [real, dimension(:,:,nlev+1)]
 
      qin       specific humidity of water vapor at full levels
                  [real, dimension(:,:,nlev+1)]
 
      pfull     pressure at full levels in pascals
                  [real, dimension(:,:,nlev)]
 
      phalf     pressure at half levels in pascals
                  [real, dimension(:,:,nlev)]
 
      coldt     should MCA produce snow in this column?
                  [logical, dimension(:,:)]
 
  Output

      tdel      temperature adjustment (deg k)
                  [real, dimension(:,:,nlev)]
 
      qdel      specific humidity adjustment
                  [real, dimension(:,:,nlev)]
 
      rain      liquid precipitation, vertically integrated (kg/m2)
                  [real, dimension(:,:)]
 
      snow      ice phase precipitation, vertically integrated (kg/m2)
                  [real, dimension(:,:)]
  
  Input (Optional)

      lbot      Index of the lowest model level
                  [integer, dimension(:,:)]

      cf        stratiform cloud fraction (used only when operating with
                stratiform cloud scheme)   [real, dimension(:,:,nlev)]

  Output (Optional)

      conv      flag that specifies whether a particular model level was
                adjusted  [logical, dimension(:,:,nlev)]

      cfdel     change in stratiform cloud fraction
                  [real, dimension(:,:,nlev)]

      qldel     change in liquid water condensate due to convective detrainment
                (kg condensate /kg air)   [logical, dimension(:,:,nlev)]

      qidel     change in ice condensate due to convective detrainment
                (kg condensate /kg air)   [logical, dimension(:,:,nlev)]

  Notes:

   1) When operating with the stratiform cloud scheme, optional
      arguments cf, cfdel, qldel, and qidel should all be present
      for the convective detrainment option. The code only checks if
      cf is present.


NAMELIST


&moist_conv_nml

   hc      Relative humidity criterion for moist convection only;
           where 0.0 <= hc <= 1.0   [real, default: hc=1.0]

   beta    fraction of convective condensation that is detrained
           into a stratiform cloud; where 0.0 <= beta <= 1.0
           (only applicable if the stratiform cloud scheme and
           tracers are turned on, optional argument cf must be present)
             [real, default: beta=0.0]

   tolmin  minimum tolerance (for unstable lapse rate)
             [real, default: tolmin=0.02]

   tolmax  maximum tolerance (for unstable lapse rate)
             [real, default: tolmax=0.10]

   itsmod  maximum number of iterations at the same tolerance
             [integer, default: itsmod=30]


CHANGE HISTORY

Revision history

Prior changes

     MPP version created. Minor changes for open_file, error_mesg,
     and Fortran write statements. Answers should reproduce the
     previous version.

Prior changes

  * logical input argument added that specifies whether frozen
    precipitation should be computed for the column
    (note: the adjustment is now done energetically consistent
     for the type of precip)

  * output arguments for column integrated rain and snow replace
    the argument for total precip

  * optional arguments added for stratiform cloud fraction (input) and
    change in stratiform cloud fraction (output), this makes the code
    consistent with a new version of the stratiform cloud scheme


ERROR MESSAGES


Warning in moist_conv

    maximum iterations reached
        The maximum number of iterations were reached. 
        Increase the maximum number of iterations (itsmod) or
        the maximum tolerance (tolmax).


REFERENCES


     Manabe, S., (1969). Mon. Wea. Rev. 97, 739-798.


KNOWN BUGS


     None.


NOTES


     None.


FUTURE PLANS


     None.