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, & sbARGUMENTS:
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 filterCALLED 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