CCPP Scidoc for SRW v2.1.0  SRW v2.1.0
Common Community Physics Package Developed at DTC

◆ setalb()

subroutine, public module_radiation_surface::setalb ( real (kind=kind_phys), dimension(:), intent(in)  slmsk,
integer, intent(in)  lsm,
integer, intent(in)  lsm_noahmp,
integer, intent(in)  lsm_ruc,
logical, intent(in)  use_cice_alb,
real (kind=kind_phys), dimension(:), intent(in)  snodi,
real (kind=kind_phys), dimension(:), intent(in)  sncovr,
real (kind=kind_phys), dimension(:), intent(in)  sncovr_ice,
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,
logical, intent(in)  frac_grid,
real (kind=kind_phys), dimension(:), intent(in)  lakefrac,
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,
real (kind=kind_phys), dimension(:), intent(inout)  lsmalbdvis,
real (kind=kind_phys), dimension(:), intent(inout)  lsmalbdnir,
real (kind=kind_phys), dimension(:), intent(inout)  lsmalbivis,
real (kind=kind_phys), dimension(:), intent(inout)  lsmalbinir,
real (kind=kind_phys), dimension(:), intent(in)  icealbdvis,
real (kind=kind_phys), dimension(:), intent(in)  icealbdnir,
real (kind=kind_phys), dimension(:), intent(in)  icealbivis,
real (kind=kind_phys), dimension(:), intent(in)  icealbinir,
integer, intent(in)  IMAX,
integer, intent(in)  NF_ALBD,
real (kind=kind_phys), dimension(:), intent(in)  albPpert,
real (kind=kind_phys), intent(in)  pertalb,
real (kind=kind_phys), dimension(:), intent(in)  fracl,
real (kind=kind_phys), dimension(:), intent(in)  fraco,
real (kind=kind_phys), dimension(:), intent(in)  fraci,
logical, dimension(:), intent(in)  icy,
real (kind=kind_phys), dimension(imax,nf_albd), intent(out)  sfcalb 
)
Parameters
slmsksea(0),land(1),ice(2) mask on fcst model grid
lsmflag for land surface model
lsm_noahmpflag for NOAH MP land surface model
lsm_rucflag for RUC land surface model
use_cice_albflag for using uce albedos from CICE when coupled
snodisnow depth water equivalent in mm over ice
sncovrsnow cover over land
snoalbmaximum snow albedo over land (for deep snow)
zorlfsurface roughness in cm
coszfcosin of solar zenith angle
tsknfground surface temperature in K
tairflowest model layer air temperature in K
hpriftopographic sdv in m
frac_gridflag for fractional landmask
lakefracfraction of horizontal grid area occupied by lake
alvsfvisible black sky albedo at zenith 60 degree
alnsfnear-ir black sky albedo at zenith 60 degree
alvwfvisible white sky albedo
alnwfnear-ir white sky albedo
facsffractional coverage with strong cosz dependency
facwffractional coverage with weak cosz dependency
ficesea-ice fraction
tisfcsea-ice surface temperature
lsmalbdvisdirect surface albedo visible band over land
lsmalbdnirdirect surface albedo NIR band over land
lsmalbivisdiffuse surface albedo visible band over land
lsmalbinirdiffuse surface albedo NIR band over land
icealbdvisdirect surface albedo visible band over ice
icealbdnirdirect surface albedo NIR band over ice
icealbivisdiffuse surface albedo visible band over ice
icealbinirdiffuse surface albedo NIR band over ice
IMAXarray horizontal dimension
albpperta probability value in the interval [0,1]
pertalb(5), magnitude of perturbation of surface albedo
fraclland fraction for emissivity and albedo calculation
fracoocean fraction for emissivity of albedo calculation
fraciice fraction for emissivity of albedo calculation
icyflag for ice surfce
sfcalbmean sfc albedo
( :, 1) - near ir direct beam albedo
( :, 2) - near ir diffused albedo
( :, 3) - uv+vis direct beam albedo
( :, 4) - uv+vis diffused albedo

setalb General Algorithm

  • if ialbflg = 1, use MODIS based albedo for land area:
  • Use snow cover input directly for land model, no conversion needed.
  • if ialbflg = 2, use land model output for land area: Noah MP, RUC (land and ice).
  • Call ppebet () to perturb all 4 elements of surface albedo sfcalb(:,1:4).

References csnow(), epsln, f_one, f_zero, and surface_perturbation::ppfbet().

Referenced by gfs_radiation_surface::gfs_radiation_surface_run().

Here is the call graph for this function:
Here is the caller graph for this function: