shortwave_radiation Module

Parametrization of short-wave radiation


Uses

  • module~~shortwave_radiation~~UsesGraph module~shortwave_radiation shortwave_radiation module~params params module~shortwave_radiation->module~params

Used by

  • module~~shortwave_radiation~~UsedByGraph module~shortwave_radiation shortwave_radiation program~speedy speedy program~speedy->module~shortwave_radiation proc~set_forcing set_forcing proc~set_forcing->module~shortwave_radiation proc~get_physical_tendencies get_physical_tendencies proc~get_physical_tendencies->module~shortwave_radiation

Contents


Variables

TypeVisibility AttributesNameInitial
real, private, parameter:: solc =342.0

Solar constant (area averaged) in W/m^2

real, private, parameter:: rhcl1 =0.30

Relative humidity threshold corresponding to cloud cover = 0

real, private, parameter:: rhcl2 =1.00

Relative humidity correponding to cloud cover = 1

real, private, parameter:: qacl =0.20

Specific humidity threshold for cloud cover

real, private, parameter:: wpcl =0.2

Cloud cover weight for the square-root of precipitation (for p = 1 mm/day)

real, private, parameter:: pmaxcl =10.0

Maximum value of precipitation (mm/day) contributing to cloud cover

real, private, parameter:: clsmax =0.60

Maximum stratiform cloud cover

real, private, parameter:: clsminl =0.15

Minimum stratiform cloud cover over land (for RH = 1)

real, private, parameter:: gse_s0 =0.25

Gradient of dry static energy corresponding to stratiform cloud cover = 0

real, private, parameter:: gse_s1 =0.40

Gradient of dry static energy corresponding to stratiform cloud cover = 1

real, private, parameter:: albcl =0.43

Cloud albedo (for cloud cover = 1)

real, private, parameter:: albcls =0.50

Stratiform cloud albedo (for st. cloud cover = 1)

real, private, parameter:: epssw =0.020

Fraction of incoming solar radiation absorbed by ozone

real, private, parameter:: absdry =0.033

Absorptivity of dry air (visible band)

real, private, parameter:: absaer =0.033

Absorptivity of aerosols (visible band)

real, private, parameter:: abswv1 =0.022

Absorptivity of water vapour (visible band, for dq = 1 g/kg)

real, private, parameter:: abswv2 =15.000

Absorptivity of water vapour (near IR band, for dq = 1 g/kg)

real, private, parameter:: abscl1 =0.015

Absorptivity of clouds (visible band, maximum value)

real, private, parameter:: abscl2 =0.15

Absorptivity of clouds (visible band, for dq_base = 1 g/kg)

real, private, parameter:: ablwin =0.3

Absorptivity of air in "window" band

real, public :: ablco2 =6.0

Absorptivity of air in CO2 band

real, private, parameter:: ablwv1 =0.7

Absorptivity of water vapour in H2O band 1 (weak), (for dq = 1 g/kg)

real, private, parameter:: ablwv2 =50.0

Absorptivity of water vapour in H2O band 2 (strong), (for dq = 1 g/kg)

real, private, parameter:: ablcl1 =12.0

Absorptivity of "thick" clouds in window band (below cloud top)

real, private, parameter:: ablcl2 =0.6

Absorptivity of "thin" upper clouds in window and H2O bands

real, private, dimension(ix,il):: fsol

Flux of incoming solar radiation

real, private, dimension(ix,il):: ozone

Flux absorbed by ozone (lower stratosphere)

real, private, dimension(ix,il):: ozupp

Flux absorbed by ozone (upper stratosphere)

real, private, dimension(ix,il):: zenit

Optical depth ratio (function of solar zenith angle)

real, private, dimension(ix,il):: stratz

Stratospheric correction for polar night

real, private, dimension(ix,il):: qcloud

Equivalent specific humidity of clouds

logical, public, parameter:: increase_co2 =.false.

Flag for CO2 optical thickness increase

logical, public :: compute_shortwave =.true.

Flag for shortwave radiation routine (turned on and off in main loop depending on the value of nstrad)


Subroutines

public subroutine get_shortwave_rad_fluxes(psa, qa, icltop, cloudc, clstr, fsfcd, fsfc, ftop, dfabs)

Compute the absorption of shortwave radiation and initialize arrays for longwave-radiation routines

Arguments

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

Normalised surface pressure [p/p0]

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

Specific humidity [g/kg]

integer, intent(in) :: icltop(ix,il)

Cloud top level

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

Total cloud cover

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

Stratiform cloud cover

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

Total downward flux of short-wave radiation at the surface

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

Net downward flux of short-wave radiation at the surface

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

Net downward flux of short-wave radiation at the top of the atmosphere

real, intent(out) :: dfabs(ix,il,kx)

Flux of short-wave radiation absorbed in each atmospheric layer

public subroutine get_zonal_average_fields(tyear)

Compute zonally-averaged fields to be used in the computation of short-wave absorption

Arguments

Type IntentOptional AttributesName
real, intent(in) :: tyear

time as fraction of year (0-1, 0 = 1jan.h00)

private subroutine solar(tyear, csol, topsr)

Arguments

Type IntentOptional AttributesName
real, intent(in) :: tyear

time as fraction of year (0-1, 0 = 1jan.h00)

real, intent(in) :: csol

The solar constant [W/m^2]

real, intent(out) :: topsr(il)

Daily-average insolation at the top of the atmosphere as a function of latitude

public subroutine clouds(qa, rh, precnv, precls, iptop, gse, fmask, icltop, cloudc, clstr)

Compute cloud-top level and cloud cover

Arguments

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

Specific humidity [g/kg]

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

Relative humidity

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

Convection precipitation

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

Large-scale condensational precipitation

integer :: iptop(ix,il)
real, intent(in) :: gse(ix,il)

Vertical gradient of dry static energy

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

Fraction land-sea mask

integer, intent(out) :: icltop(ix,il)

Cloud top level

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

Total cloud cover

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

Stratiform cloud cover