GFS Operational Physics Documentation  gsm/branches/DTC/phys-doc-all phys-doc-all R82971

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

Detailed Description

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

Version
NCEP-Radiation_surface v5.1 Nov 2012
Collaboration diagram for module_radiation_surface:

Variables

integer, parameter, public module_radiation_surface::nf_albd = 4
 num of sfc albedo components
 
integer, parameter, public module_radiation_surface::imxems = 360
 num of longitude points in global emis-type map
 
integer, parameter, public module_radiation_surface::jmxems = 180
 num of latitude points in global emis-type map
 
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
 global surface emissivity index array
 
integer module_radiation_surface::iemslw = 0
 global surface emissivity contrl flag set up in 'sfc_init'
 
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 (Briegleb 1992 [6])
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 
)

This subroutine computes four components of surface albedos (i.e., vis-nir, direct-diffused) according to control flag ialbflg.
1) climatological surface albedo scheme (Briegleb 1992 [6])
2) MODIS retrieval based scheme from Boston univ.

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.

Definition at line 314 of file radiation_surface.f.

References physcons::con_t0c, physcons::con_tice, physcons::con_ttp, and physparam::ialbflg.

Referenced by module_radiation_driver::grrad().

Here is the caller 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 
)

This subroutine computes surface emissivity for LW radiation.

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.

Definition at line 645 of file radiation_surface.f.

References physparam::ialbflg, idxems, iemslw, imxems, and jmxems.

Referenced by module_radiation_driver::grrad().

Here is the caller graph for this function:

subroutine, public module_radiation_surface::sfc_init ( integer, intent(in)  me)

This subroutine is the initialization program for surface radiation related quantities (albedo, emissivity, etc.)

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"

Definition at line 135 of file radiation_surface.f.

References physparam::ialbflg, idxems, physparam::iemsflg, iemslw, imxems, jmxems, and physparam::semis_file.

Referenced by module_radiation_driver::radinit().

Here is the caller graph for this function: