INTERFACE:
subroutine UrbanAlbedo (nc, lbl, ubl, lbc, ubc, lbp, ubp, &
num_urbanl, filter_urbanl, &
num_urbanc, filter_urbanc, &
num_urbanp, filter_urbanp)
DESCRIPTION:
Determine urban landunit component albedos
USES:
use clmtype
use shr_orb_mod , only : shr_orb_decl, shr_orb_cosz
use clm_varcon , only : icol_roof, icol_sunwall, icol_shadewall, icol_road_perv, icol_road_imperv, &
sb
ARGUMENTS:
implicit none
integer , intent(in) :: nc ! clump index
integer, intent(in) :: lbl, ubl ! landunit-index bounds
integer, intent(in) :: lbc, ubc ! column-index bounds
integer, intent(in) :: lbp, ubp ! pft-index bounds
integer , intent(in) :: num_urbanl ! number of urban landunits in clump
integer , intent(in) :: filter_urbanl(ubl-lbl+1) ! urban landunit filter
integer , intent(in) :: num_urbanc ! number of urban columns in clump
integer , intent(in) :: filter_urbanc(ubc-lbc+1) ! urban column filter
integer , intent(in) :: num_urbanp ! number of urban pfts in clump
integer , intent(in) :: filter_urbanp(ubp-lbp+1) ! urban pft filter
CALLED FROM:
subroutine clm_driver1REVISION HISTORY:
Author: Gordon Bonan 03/2003, Mariana Vertenstein: Migrated to clm2.2 01/2008, Erik Kluzek: Migrated to clm3.5.15LOCAL VARIABLES:
local pointers to original implicit in arguments
integer , pointer :: pgridcell(:) ! gridcell of corresponding pft
integer , pointer :: lgridcell(:) ! gridcell of corresponding landunit
integer , pointer :: clandunit(:) ! column's landunit
integer , pointer :: cgridcell(:) ! gridcell of corresponding column
integer , pointer :: coli(:) ! beginning column index for landunit
integer , pointer :: colf(:) ! ending column index for landunit
integer , pointer :: ctype(:) ! column type
integer , pointer :: pcolumn(:) ! column of corresponding pft
real(r8), pointer :: czen(:) ! cosine of solar zenith angle for each column
real(r8), pointer :: lat(:) ! latitude (radians)
real(r8), pointer :: lon(:) ! longitude (radians)
real(r8), pointer :: frac_sno(:) ! fraction of ground covered by snow (0 to 1)
local pointers to original implicit out arguments
real(r8), pointer :: albgrd(:,:) ! ground albedo (direct)
real(r8), pointer :: albgri(:,:) ! ground albedo (diffuse)
real(r8), pointer :: albd(:,:) ! surface albedo (direct)
real(r8), pointer :: albi(:,:) ! surface albedo (diffuse)
real(r8), pointer :: fabd(:,:) ! flux absorbed by veg per unit direct flux
real(r8), pointer :: fabi(:,:) ! flux absorbed by veg per unit diffuse flux
real(r8), pointer :: ftdd(:,:) ! down direct flux below veg per unit dir flx
real(r8), pointer :: ftid(:,:) ! down diffuse flux below veg per unit dir flx
real(r8), pointer :: ftii(:,:) ! down diffuse flux below veg per unit dif flx
real(r8), pointer :: fsun(:) ! sunlit fraction of canopy
real(r8), pointer :: gdir(:) ! leaf projection in solar direction (0 to 1)
real(r8), pointer :: omega(:,:) ! fraction of intercepted radiation that is scattered (0 to 1)
real(r8), pointer :: vf_sr(:) ! view factor of sky for road
real(r8), pointer :: vf_wr(:) ! view factor of one wall for road
real(r8), pointer :: vf_sw(:) ! view factor of sky for one wall
real(r8), pointer :: vf_rw(:) ! view factor of road for one wall
real(r8), pointer :: vf_ww(:) ! view factor of opposing wall for one wall
real(r8), pointer :: sabs_roof_dir(:,:) ! direct solar absorbed by roof per unit ground area per unit incident flux
real(r8), pointer :: sabs_roof_dif(:,:) ! diffuse solar absorbed by roof per unit ground area per unit incident flux
real(r8), pointer :: sabs_sunwall_dir(:,:) ! direct solar absorbed by sunwall per unit wall area per unit incident flux
real(r8), pointer :: sabs_sunwall_dif(:,:) ! diffuse solar absorbed by sunwall per unit wall area per unit incident flux
real(r8), pointer :: sabs_shadewall_dir(:,:) ! direct solar absorbed by shadewall per unit wall area per unit incident flux
real(r8), pointer :: sabs_shadewall_dif(:,:) ! diffuse solar absorbed by shadewall per unit wall area per unit incident flux
real(r8), pointer :: sabs_improad_dir(:,:) ! direct solar absorbed by impervious road per unit ground area per unit incident flux
real(r8), pointer :: sabs_improad_dif(:,:) ! diffuse solar absorbed by impervious road per unit ground area per unit incident flux
real(r8), pointer :: sabs_perroad_dir(:,:) ! direct solar absorbed by pervious road per unit ground area per unit incident flux
real(r8), pointer :: sabs_perroad_dif(:,:) ! diffuse solar absorbed by pervious road per unit ground area per unit incident flux
!OTHER LOCAL VARIABLES