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

## module lscale_cond

         Contact:
         Reviewers:

         Tags/Status

#### OVERVIEW

        Computes large-scale condensation and precipitation.

        Temperature and specific humidity adjustments are computed in model layers
        where the relative humidity exceeds a threshold relative humidity.

       The features include:

        1) option for the re-evaporation of falling precipitation
        2) 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 lscale_cond_mod [, only: lscale_cond_init, lscale_cond ]

       lscale_cond_init:  Must be called before lscale_cond to initialize
                          the module, namelist, and constants.

       lscale_cond:  Computes the large-scale condensation adjustments for
                     temperature and specific humidity, and returns the
                     mass of rain and snow that reach the ground (in an
                     energetically consistent way).

#### PUBLIC ROUTINES

    call lscale_cond_init ( )

       There are no arguments.

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

    call lscale_cond ( tin, qin, pfull, phalf, coldt,
                       rain, snow, tdel, qdel, mask, conv )

      Input

         tin      temperature (deg k) at full model levels
                     [real, dimension(:,:,nlev)]

         qin      specific humidity of water vapor at full model levels
                     [real, dimension(:,:,nlev)]

         pfull    pressure (pascals) at full model levels
                     [real, dimension(:,:,nlev)]

         phalf    pressure (pascals) at half (interface) model levels
                     [real, dimension(:,:,nlev+1)]

         coldt    should precipitation be snow at this point?
                     [logical, dimension(:,:)]

      Input (optional)

         mask     optional mask (0 or 1.)
                     [real, dimension(:,:,nlev)]

         conv     logical flag; if true then no large-scale adjustment
                  is performed at that grid-point's level
                     [real, dimension(:,:,nlev)]

      Output

         rain     liquid precipitation (kg/m2)
                     [real, dimension(:,:)]

         snow     frozen precipitation (kg/m2)
                     [real, dimension(:,:)]

         tdel     temperature tendency at full model levels
                     [real, dimension(:,:,nlev)]

         qdel     specific humidity tendency (of water vapor) at
                    full model levels
                     [real, dimension(:,:,nlev)]

#### NAMELIST

    &lscale_cond_nml

       hc         relative humidity at which large scale condensation
                  occurs, where 0 <= hc <= 1
                     [real, default: hc=1.]

       do_evap    flag for the re-evaporation of moisture in
                  sub-saturated layers below, if do_evap=.true. then
                  re-evaporation is performed
                     [logical, default: do_evap=.false.]

#### 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

#### ERROR MESSAGES

    Fatal Error in lscale_cond

        lscale_cond_init has not been called
            The initialization for this module must be called before
            calling routine lscale_cond.

#### REFERENCES

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

#### KNOWN BUGS

         None.

#### NOTES

         None.

#### FUTURE PLANS

         Routine lscale_cond_init could be called automatically by the
         main routine lscale_cond. This would remove the current fatal error
         that would occur.