surface_fluxes Module

Parametrization of surface fluxes


Uses

  • module~~surface_fluxes~~UsesGraph module~surface_fluxes surface_fluxes module~params params module~surface_fluxes->module~params

Used by

  • module~~surface_fluxes~~UsedByGraph module~surface_fluxes surface_fluxes proc~set_forcing set_forcing proc~set_forcing->module~surface_fluxes proc~get_physical_tendencies get_physical_tendencies proc~get_physical_tendencies->module~surface_fluxes

Contents


Variables

TypeVisibility AttributesNameInitial
real, private :: fwind0 =0.95

Ratio of near-sfc wind to lowest-level wind

real, private :: ftemp0 =1.0

Weight for near-sfc temperature extrapolation (0-1) : 1 : linear extrapolation from two lowest levels 0 : constant potential temperature ( = lowest level)

real, private :: fhum0 =0.0

Weight for near-sfc specific humidity extrapolation (0-1) : 1 : extrap. with constant relative hum. ( = lowest level) 0 : constant specific hum. ( = lowest level)

real, private :: cdl =2.4e-3

Drag coefficient for momentum over land

real, private :: cds =1.0e-3

Drag coefficient for momentum over sea

real, private :: chl =1.2e-3

Heat exchange coefficient over land

real, private :: chs =0.9e-3

Heat exchange coefficient over sea

real, private :: vgust =5.0

Wind speed for sub-grid-scale gusts

real, private :: ctday =1.0e-2

Daily-cycle correction (dTskin/dSSRad)

real, private :: dtheta =3.0

Potential temp. gradient for stability correction

real, private :: fstab =0.67

Amplitude of stability correction (fraction)

real, private :: hdrag =2000.0

Height scale for orographic correction

real, private :: clambda =7.0

Heat conductivity in skin-to-root soil layer

real, private :: clambsn =7.0

Heat conductivity in soil for snow cover = 1

real, private :: forog(ix,il)

Subroutines

public subroutine get_surface_fluxes(psa, ua, va, ta, qa, rh, phi, phi0, fmask, tsea, ssrd, slrd, ustr, vstr, shf, evap, slru, hfluxn, tsfc, tskin, u0, v0, t0, lfluxland)

Compute surface fluxes of momentum, energy and moisture, and define surface skin temperature from energy balance

Arguments

Type IntentOptional AttributesName
real, intent(in) :: psa(ix,il)

Normalised surface pressure

real, intent(in) :: ua(ix,il,kx)

u-wind

real, intent(in) :: va(ix,il,kx)

v-wind

real, intent(in) :: ta(ix,il,kx)

Temperature

real, intent(in) :: qa(ix,il,kx)

Specific humidity [g/kg]

real, intent(in) :: rh(ix,il,kx)

Relative humidity

real, intent(in) :: phi(ix,il,kx)

Geopotential

real, intent(in) :: phi0(ix,il)

Surface geopotential

real, intent(in) :: fmask(ix,il)

Fractional land-sea mask

real, intent(in) :: tsea(ix,il)

Sea-surface temperature

real, intent(in) :: ssrd(ix,il)

Downward flux of short-wave radiation at the surface

real, intent(in) :: slrd(ix,il)

Downward flux of long-wave radiation at the surface

real, intent(out) :: ustr(ix,il,3)

u-stress

real, intent(out) :: vstr(ix,il,3)

v-stress

real, intent(out) :: shf(ix,il,3)

Sensible heat flux

real, intent(out) :: evap(ix,il,3)

Evaporation

real, intent(out) :: slru(ix,il,3)

Upward flux of long-wave radiation at the surface

real, intent(out) :: hfluxn(ix,il,2)

Net downward heat flux

real, intent(out) :: tsfc(ix,il)

Surface temperature

real, intent(out) :: tskin(ix,il)

Skin surface temperature

real, intent(out) :: u0(ix,il)

Near-surface u-wind

real, intent(out) :: v0(ix,il)

Near-surface v-wind

real, intent(out) :: t0(ix,il)

Near-surface temperature

logical, intent(in) :: lfluxland

public subroutine set_orog_land_sfc_drag(phi0)

Arguments

Type IntentOptional AttributesName
real, intent(in) :: phi0(ix,il)