Loading [MathJax]/extensions/tex2jax.js
GMTB Common Community Physics Package (CCPP) Scientific Documentation  Version 1.0
All Classes Namespaces Functions Variables Modules Pages
RRTMG Surface Module

This module sets up surface albedo for sw radiation and surface emissivity for lw radiation. More...

Detailed Description

Version
NCEP-Radiation_surface v5.1 Nov 2012

Variables

integer, parameter, public module_radiation_surface::nf_albd = 4
 
integer, parameter, public module_radiation_surface::imxems = 360
 
integer, parameter, public module_radiation_surface::jmxems = 180
 
real(kind=kind_phys), parameter module_radiation_surface::f_zero = 0.0
 
real(kind=kind_phys), parameter module_radiation_surface::f_one = 1.0
 
real(kind=kind_phys), parameter module_radiation_surface::rad2dg = 180.0 / con_pi
 
integer, dimension(:,:), allocatable module_radiation_surface::idxems
 
integer module_radiation_surface::iemslw = 0
 
subroutine, public module_radiation_surface::sfc_init (me)
 This subroutine is the initialization program for surface radiation related quantities (albedo, emissivity, etc.) More...
 
subroutine, public module_radiation_surface::setalb (slmsk, snowf, sncovr, snoalb, zorlf, coszf, tsknf, tairf, hprif, alvsf, alnsf, alvwf, alnwf, facsf, facwf, fice, tisfc, IMAX, sfcalb )
 This subroutine computes four components of surface albedos (i.e., vis-nir, direct-diffused) according to control flag ialbflg.
1) climatological surface albedo scheme ([9])
2) MODIS retrieval based scheme from Boston univ. More...
 
subroutine, public module_radiation_surface::setemis (xlon, xlat, slmsk, snowf, sncovr, zorlf, tsknf, tairf, hprif, IMAX, sfcemis )
 This subroutine computes surface emissivity for LW radiation. More...
 

Function/Subroutine Documentation

subroutine, public module_radiation_surface::setalb ( real (kind=kind_phys), dimension(:), intent(in)  slmsk,
real (kind=kind_phys), dimension(:), intent(in)  snowf,
real (kind=kind_phys), dimension(:), intent(in)  sncovr,
real (kind=kind_phys), dimension(:), intent(in)  snoalb,
real (kind=kind_phys), dimension(:), intent(in)  zorlf,
real (kind=kind_phys), dimension(:), intent(in)  coszf,
real (kind=kind_phys), dimension(:), intent(in)  tsknf,
real (kind=kind_phys), dimension(:), intent(in)  tairf,
real (kind=kind_phys), dimension(:), intent(in)  hprif,
real (kind=kind_phys), dimension(:), intent(in)  alvsf,
real (kind=kind_phys), dimension(:), intent(in)  alnsf,
real (kind=kind_phys), dimension(:), intent(in)  alvwf,
real (kind=kind_phys), dimension(:), intent(in)  alnwf,
real (kind=kind_phys), dimension(:), intent(in)  facsf,
real (kind=kind_phys), dimension(:), intent(in)  facwf,
real (kind=kind_phys), dimension(:), intent(in)  fice,
real (kind=kind_phys), dimension(:), intent(in)  tisfc,
integer, intent(in)  IMAX,
real (kind=kind_phys), dimension(imax,nf_albd), intent(out)  sfcalb 
)
Parameters
slmsk(IMAX), sea(0),land(1),ice(2) mask on fcst model grid
snowf(IMAX), snow depth water equivalent in mm
sncovr(IMAX), snow cover over land
snoalb(IMAX), maximum snow albedo over land (for deep snow)
zorlf(IMAX), surface roughness in cm
coszf(IMAX), cosin of solar zenith angle
tsknf(IMAX), ground surface temperature in K
tairf(IMAX), lowest model layer air temperature in K
hprif(IMAX), topographic sdv in m
— for ialbflg=0 climtological albedo scheme —
alvsf(IMAX), 60 degree vis albedo with strong cosz dependency
alnsf(IMAX), 60 degree nir albedo with strong cosz dependency
alvwf(IMAX), 60 degree vis albedo with weak cosz dependency
alnwf(IMAX), 60 degree nir albedo with weak cosz dependency
— for ialbflg=1 MODIS based land albedo scheme —
alvsf(IMAX), visible black sky albedo at zenith 60 degree
alnsf(IMAX), near-ir black sky albedo at zenith 60 degree
alvwf(IMAX), visible white sky albedo
alnwf(IMAX), near-ir white sky albedo
facsf(IMAX), fractional coverage with strong cosz dependency
facwf(IMAX), fractional coverage with weak cosz dependency
fice(IMAX), sea-ice fraction
tisfc(IMAX), sea-ice surface temperature
IMAXarray horizontal dimension
sfcalb(IMAX,NF_ALBD), mean sfc albedo
( :, 1) - near ir direct beam albedo
( :, 2) - near ir diffused albedo
( :, 3) - uv+vis direct beam albedo
( :, 4) - uv+vis diffused albedo

General Algorithm

  1. If use climatological albedo scheme:
    • Modified snow albedo scheme - units convert to m (originally snowf in mm; zorlf in cm)
    • Calculate diffused sea surface albedo
    • Calculate diffused snow albedo.
    • Calculate direct snow albedo.
    • Calculate direct sea surface albedo.
  2. If use modis based albedo for land area:
    • Calculate snow cover input directly for land model, no conversion needed.
    • Calculate diffused sea surface albedo.
    • Calculate diffused snow albedo, land area use input max snow albedo.
    • Calculate direct snow albedo.
    • Calculate direct sea surface albedo, use fanglin's zenith angle treatment.

References csnow().

Here is the call graph for this function:

subroutine, public module_radiation_surface::setemis ( real (kind=kind_phys), dimension(:), intent(in)  xlon,
real (kind=kind_phys), dimension(:), intent(in)  xlat,
real (kind=kind_phys), dimension(:), intent(in)  slmsk,
real (kind=kind_phys), dimension(:), intent(in)  snowf,
real (kind=kind_phys), dimension(:), intent(in)  sncovr,
real (kind=kind_phys), dimension(:), intent(in)  zorlf,
real (kind=kind_phys), dimension(:), intent(in)  tsknf,
real (kind=kind_phys), dimension(:), intent(in)  tairf,
real (kind=kind_phys), dimension(:), intent(in)  hprif,
integer, intent(in)  IMAX,
real (kind=kind_phys), dimension(:), intent(out)  sfcemis 
)
Parameters
xlon(IMAX), longitude in radiance, ok for both 0->2pi or -pi -> +pi ranges
xlat(IMAX), latitude in radiance, default to pi/2 -> -pi/2 range, otherwise see in-line comment
slmsk(IMAX), sea(0),land(1),ice(2) mask on fcst model grid
snowf(IMAX), snow depth water equivalent in mm
sncovr(IMAX), snow cover over land
zorlf(IMAX), surface roughness in cm
tsknf(IMAX), ground surface temperature in K
tairf(IMAX), lowest model layer air temperature in K
hprif(IMAX), topographic standard deviation in m
IMAXarray horizontal dimension
sfcemis(IMAX), surface emissivity

General Algorithm

  1. Set sfcemis default to 1.0 or by surface type and condition.
  2. Check for snow covered area.
subroutine, public module_radiation_surface::sfc_init ( integer, intent(in)  me)
Parameters
meprint control flag

General Algorithm

  • Initialization of surface albedo section
    physparam::ialbflg
    • = 0: using climatology surface albedo scheme for SW
    • = 1: using MODIS based land surface albedo for SW
  • Initialization of surface emissivity section
    physparam::iemsflg
    • = 0: fixed SFC emissivity at 1.0
    • = 1: input SFC emissivity type map from "semis_file"