shortwave_radiation Module

Parametrization of short-wave radiation


Uses

  • module~~shortwave_radiation~~UsesGraph module~shortwave_radiation shortwave_radiation module~geometry geometry module~shortwave_radiation->module~geometry module~types types module~shortwave_radiation->module~types module~params params module~shortwave_radiation->module~params module~geometry->module~types module~geometry->module~params iso_fortran_env iso_fortran_env module~types->iso_fortran_env module~params->module~types

Used by

  • module~~shortwave_radiation~~UsedByGraph module~shortwave_radiation 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(kind=p), private, parameter:: solc =342.0

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

real(kind=p), private, parameter:: rhcl1 =0.30

Relative humidity threshold corresponding to cloud cover = 0

real(kind=p), private, parameter:: rhcl2 =1.00

Relative humidity correponding to cloud cover = 1

real(kind=p), private, parameter:: qacl =0.20

Specific humidity threshold for cloud cover

real(kind=p), private, parameter:: wpcl =0.2

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

real(kind=p), private, parameter:: pmaxcl =10.0

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

real(kind=p), private, parameter:: clsmax =0.60

Maximum stratiform cloud cover

real(kind=p), private, parameter:: clsminl =0.15

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

real(kind=p), private, parameter:: gse_s0 =0.25

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

real(kind=p), private, parameter:: gse_s1 =0.40

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

real(kind=p), private, parameter:: albcl =0.43

Cloud albedo (for cloud cover = 1)

real(kind=p), private, parameter:: albcls =0.50

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

real(kind=p), private, parameter:: epssw =0.020

Fraction of incoming solar radiation absorbed by flux_ozone_lower

real(kind=p), private, parameter:: absdry =0.033

Absorptivity of dry air (visible band)

real(kind=p), private, parameter:: absaer =0.033

Absorptivity of aerosols (visible band)

real(kind=p), private, parameter:: abswv1 =0.022

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

real(kind=p), private, parameter:: abswv2 =15.000

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

real(kind=p), private, parameter:: abscl1 =0.015

Absorptivity of clouds (visible band, maximum value)

real(kind=p), private, parameter:: abscl2 =0.15

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

real(kind=p), private, parameter:: ablwin =0.3

Absorptivity of air in "window" band

real(kind=p), private, parameter:: ablwv1 =0.7

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

real(kind=p), private, parameter:: ablwv2 =50.0

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

real(kind=p), private, parameter:: ablcl1 =12.0

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

real(kind=p), private, parameter:: ablcl2 =0.6

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


Subroutines

public subroutine get_shortwave_rad_fluxes(state, psa, qa, icltop, cloudc, clstr)

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

Arguments

Type IntentOptional AttributesName
type(ModelState_t), intent(inout), target:: state
real(kind=p), intent(in) :: psa(ix,il)

Normalised surface pressure [p/p0]

real(kind=p), intent(in) :: qa(ix,il,kx)

Specific humidity [g/kg]

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

Cloud top level

real(kind=p), intent(in) :: cloudc(ix,il)

Total cloud cover

real(kind=p), intent(in) :: clstr(ix,il)

Stratiform cloud cover

public subroutine get_zonal_average_fields(state, tyear)

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

Arguments

Type IntentOptional AttributesName
type(ModelState_t), intent(inout), target:: state
real(kind=p), intent(in) :: tyear

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

private subroutine solar(tyear, csol, topsr, coa, sia)

Arguments

Type IntentOptional AttributesName
real(kind=p), intent(in) :: tyear

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

real(kind=p), intent(in) :: csol

The solar constant [W/m^2]

real(kind=p), intent(out) :: topsr(il)

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

real(kind=p), intent(in) :: coa(il)

cosine(latitude)

real(kind=p), intent(in) :: sia(il)

sine(latitude)

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

Compute cloud-top level and cloud cover

Arguments

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

Specific humidity [g/kg]

real(kind=p), intent(in) :: rh(ix,il,kx)

Relative humidity

real(kind=p), intent(in) :: precnv(ix,il)

Convection precipitation

real(kind=p), intent(in) :: precls(ix,il)

Large-scale condensational precipitation

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

Vertical gradient of dry static energy

real(kind=p), intent(in) :: fmask(ix,il)

Fraction land-sea mask

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

Cloud top level

real(kind=p), intent(out) :: cloudc(ix,il)

Total cloud cover

real(kind=p), intent(out) :: clstr(ix,il)

Stratiform cloud cover

real(kind=p), intent(out) :: qcloud_equiv(ix,il)