PUBLIC INTERFACE ~ PUBLIC DATA ~ PUBLIC ROUTINES ~ NAMELIST ~ DIAGNOSTIC FIELDS ~ ERROR MESSAGES ~ REFERENCES ~ NOTES

Module surface_flux_mod

Contact: Steve Klein Isaac Held Bruce Wyman
Reviewers:  V. Balaji Sergey Malyshev Elena Shevliakova
Change History: WebCVS Log


OVERVIEW

Driver program for the calculation of fluxes on the exchange grids.



OTHER MODULES USED

           fms_mod
monin_obukhov_mod
sat_vapor_pres_mod
constants_mod

PUBLIC INTERFACE

surface_flux:
For the calculation of fluxes on the exchange grids.


PUBLIC DATA

None.


PUBLIC ROUTINES

  1. surface_flux

    subroutine surface_flux (                                           &
         t_atm,     q_atm_in,   u_atm,     v_atm,     p_atm,     z_atm,    &
         p_surf,    t_surf,     t_ca,      q_surf,                         &
         u_surf,    v_surf,                                                &
         rough_mom, rough_heat, rough_moist, rough_scale, gust,            &
         flux_t, flux_q, flux_r, flux_u, flux_v,                           &
         cd_m,      cd_t,       cd_q,                                      &
         w_atm,     u_star,     b_star,     q_star,                        &
         dhdt_surf, dedt_surf,  dedq_surf,  drdt_surf,                     &
         dhdt_atm,  dedq_atm,   dtaudu_atm, dtaudv_atm,                    &
         dt,        land,      seawater,     avail  )

    DESCRIPTION
    For the calculation of fluxes on the exchange grids.


    INPUT
    t_atm    Air temp lowest atmospheric level.
       [real, dimension(:)]
    q_atm    Mixing ratio at lowest atmospheric level (kg/kg).
       [real, dimension(:)]
    u_atm    Zonal wind velocity at lowest atmospheric level.
       [real, dimension(:)]
    v_atm    Meridional wind velocity at lowest atmospheric level.
       [real, dimension(:)]
    p_atm    Pressure lowest atmospheric level.
       [real, dimension(:)]
    z_atm    Height lowest atmospheric level.
       [real, dimension(:)]
    p_surf    Pressure at the earth's surface
       [real, dimension(:)]
    t_surf    Temp at the earth's surface
       [real, dimension(:)]
    t_ca    Air temp at the canopy
       [real, dimension(:)]
    u_surf    Zonal wind velocity at earth surface.
       [real, dimension(:)]
    v_surf    Meridional wind velocity at earth surface.
       [real, dimension(:)]
    rough_mom    Momentum roughness length
       [real, dimension(:)]
    rough_heat    Heat roughness length
       [real, dimension(:)]
    rough_moist    <Moisture roughness length
       [real, dimension(:)]
    rough_scale    Scale factor used to topographic roughness calculation
       [real, dimension(:)]
    gust    Gustiness factor
       [real, dimension(:)]
    land    Indicates where land exists (true if exchange cell is on land).
       [logical, dimension(:)]
    seawater    Indicates where liquid ocean water exists (true if exchange cell is on liquid ocean water).
       [logical, dimension(:)]
    avail    True where the exchange cell is active.
       [logical, dimension(:)]

    OUTPUT
    q_surf    Mixing ratio at earth surface (kg/kg).
       [real, dimension(:)]
    flux_t    Sensible heat flux
       [real, dimension(:)]
    flux_q    Evaporative water flux
       [real, dimension(:)]
    flux_r    Radiative energy flux
       [real, dimension(:)]
    flux_u    Zonal momentum flux
       [real, dimension(:)]
    flux_v    Meridional momentum flux
       [real, dimension(:)]
    cd_m    Momentum exchange coefficient
       [real, dimension(:)]
    cd_t    Heat exchange coefficient
       [real, dimension(:)]
    cd_q    Moisture exchange coefficient
       [real, dimension(:)]
    w_atm    Absolute wind at the lowest atmospheric level
       [real, dimension(:)]
    u_star    Turbulent velocity scale
       [real, dimension(:)]
    b_star    Turbulent buoyant scale
       [real, dimension(:)]
    q_star    Turbulent moisture scale
       [real, dimension(:)]
    dhdt_surf    Sensible heat flux temperature sensitivity
       [real, dimension(:)]
    dedt_surf    Moisture flux temperature sensitivity
       [real, dimension(:)]
    dedq_surf    Moisture flux humidity sensitivity
       [real, dimension(:)]
    drdt_surf    Radiative energy flux temperature sensitivity
       [real, dimension(:)]
    dhdt_atm    Derivative of sensible heat flux over temp at the lowest atmos level.
       [real, dimension(:)]
    dedq_atm    Derivative of water vapor flux over temp at the lowest atmos level.
       [real, dimension(:)]
    dtaudu_atm    Derivative of zonal wind stress w.r.t the lowest level zonal wind speed of the atmos
       [real, dimension(:)]
    dtaudv_atm    Derivative of meridional wind stress w.r.t the lowest level meridional wind speed of the atmos
       [real, dimension(:)]
    dt    Time step (it is not used presently)
       [real]


NAMELIST

&surface_flux_nml

no_neg_q
If q_atm_in (specific humidity) is negative (because of numerical truncation), then override with 0.
[logical, default: .false.]
use_virtual_temp
If true, use virtual potential temp to calculate the stability of the surface layer. if false, use potential temp.
[logical, default: .true.]
alt_gustiness
An alternative formulation for gustiness calculation. A minimum bound on the wind speed used influx calculations, with the bound equal to gust_const
[logical, default: .false.]
old_dtaudv
The derivative of surface wind stress w.r.t. the zonal wind and meridional wind are approximated by the same tendency.
[logical, default: .false.]
use_mixing_ratio
An option to provide capability to run the Manabe Climate form of the surface flux (coded for legacy purposes).
[logical, default: .false.]
gust_const
Constant for alternative gustiness calculation.
[, default: 1.0]
gust_min
Minimum gustiness used when alt_gustiness = false.
[, default: 0.0]
ncar_ocean_flux
Use NCAR climate model turbulent flux calculation described by Large and Yeager, NCAR Technical Document, 2004
[logical, default: .false.]
ncar_ocean_flux_orig
Use NCAR climate model turbulent flux calculation described by Large and Yeager, NCAR Technical Document, 2004, using the original GFDL implementation, which contains a bug in the specification of the exchange coefficient for the sensible heat. This option is available for legacy purposes, and is not recommended for new experiments.
[logical, default: .false.]
raoult_sat_vap
Reduce saturation vapor pressures to account for seawater salinity.
[logical, default: .false.]


DATA SETS

None.


ERROR MESSAGES

None.


top