INTERFACE:
subroutine incident_direct (lbl, ubl, num_urbanl, canyon_hwr, coszen, zen, sdir, sdir_road, sdir_sunwall, sdir_shadewall)DESCRIPTION:
Direct beam solar radiation incident on walls and road in urban canyon
Sun / roof / --- /-- - | / | | sunlit wall | / | shaded wall h | / | | ---/--- - road <-- w -->
Method: Road = Horizontal surface. Account for shading by wall. Integrate over all canyon orientations Wall (sunlit) = Adjust horizontal radiation for 90 degree surface. Account for shading by opposing wall. Integrate over all canyon orientations Wall (shaded) = 0
Conservation check: Total incoming direct beam (sdir) = sdir_road + (sdir_shadewall + sdir_sunwall)*canyon_hwr Multiplication by canyon_hwr scales wall fluxes (per unit wall area) to per unit ground area
Source: Masson, V. (2000) A physically-based scheme for the urban energy budget in atmospheric models. Boundary-Layer Meteorology 94:357-397
This analytical solution from Masson (2000) agrees with the numerical solution to within 0.6 W/m**2 for sdir = 1000 W/m**2 and for all H/W from 0.1 to 10 by 0.1 and all solar zenith angles from 1 to 90 deg by 1
USES:
use shr_kind_mod , only : r8 => shr_kind_r8 use clm_varcon , only : rpi implicit noneARGUMENTS:
integer, intent(in) :: lbl, ubl ! landunit-index bounds integer , intent(in) :: num_urbanl ! number of urban landunits real(r8), intent(in) :: canyon_hwr(num_urbanl) ! ratio of building height to street width real(r8), intent(in) :: coszen(num_urbanl) ! cosine solar zenith angle real(r8), intent(in) :: zen(num_urbanl) ! solar zenith angle (radians) real(r8), intent(in) :: sdir(num_urbanl, numrad) ! direct beam solar radiation incident on horizontal surface real(r8), intent(out) :: sdir_road(num_urbanl, numrad) ! direct beam solar radiation incident on road per unit incident flux real(r8), intent(out) :: sdir_sunwall(num_urbanl, numrad) ! direct beam solar radiation (per unit wall area) incident on sunlit wall per unit incident flux real(r8), intent(out) :: sdir_shadewall(num_urbanl, numrad) ! direct beam solar radiation (per unit wall area) incident on shaded wall per unit incident fluxCALLED FROM:
subroutine UrbanAlbedo in this moduleREVISION HISTORY:
Author: Gordon BonanLOCAL VARIABLES: