next up previous contents
Next: UrbanSnowAlbedo Up: Fortran: Module Interface UrbanMod Previous: Fortran: Module Interface UrbanMod   Contents

UrbanAlbedo


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_driver1
REVISION HISTORY:
   Author: Gordon Bonan
   03/2003, Mariana Vertenstein: Migrated to clm2.2 
   01/2008, Erik Kluzek:         Migrated to clm3.5.15
LOCAL 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



Erik Kluzek 2011-06-15