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

incident_diffuse


INTERFACE:

   subroutine incident_diffuse (lbl, ubl, num_urbanl, filter_urbanl, canyon_hwr, sdif, sdif_road, sdif_sunwall, sdif_shadewall)
DESCRIPTION:

Diffuse solar radiation incident on walls and road in urban canyon Conservation check: Total incoming diffuse (sdif) = sdif_road + (sdif_shadewall + sdif_sunwall)*canyon_hwr Multiplication by canyon_hwr scales wall fluxes (per unit wall area) to per unit ground area


USES:

     use shr_kind_mod, only: r8 => shr_kind_r8
     use clmtype
ARGUMENTS:
     implicit none
     integer,  intent(in)  :: lbl, ubl                           ! landunit-index bounds
     integer , intent(in)  :: num_urbanl                         ! number of urban landunits
     integer , intent(in)  :: filter_urbanl(ubl-lbl+1)           ! urban landunit filter
     real(r8), intent(in)  :: canyon_hwr(num_urbanl)             ! ratio of building height to street width
     real(r8), intent(in)  :: sdif(num_urbanl, numrad)           ! diffuse solar radiation incident on horizontal surface
     real(r8), intent(out) :: sdif_road(num_urbanl, numrad)      ! diffuse solar radiation incident on road
     real(r8), intent(out) :: sdif_sunwall(num_urbanl, numrad)   ! diffuse solar radiation (per unit wall area) incident on sunlit wall
     real(r8), intent(out) :: sdif_shadewall(num_urbanl, numrad) ! diffuse solar radiation (per unit wall area) incident on shaded wall
   local pointers to original implicit in arguments (clmtype)
     real(r8), pointer :: vf_sr(:)     ! view factor of sky for road
     real(r8), pointer :: vf_sw(:)     ! view factor of sky for one wall
CALLED FROM:
   subroutine UrbanAlbedo in this module
REVISION HISTORY:
   Author: Gordon Bonan
LOCAL VARIABLES:




Erik Kluzek 2011-06-15