INTERFACE:
subroutine TwoStream (p, coszen, vai, rho, tau, albgrd, albgri, &
fabd, albd, ftdd, ftid, &
fabi, albi, ftdi, ftii, gdir)
DESCRIPTION:
Two-stream fluxes for canopy radiative transfer Use two-stream approximation of Dickinson (1983) Adv Geophysics 25:305-353 and Sellers (1985) Int J Remote Sensing 6:1335-1372 to calculate fluxes absorbed by vegetation, reflected by vegetation, and transmitted through vegetation for unit incoming direct or diffuse flux given an underlying surface with known albedo.USES:
use shr_kind_mod, only: r8 => shr_kind_r8
use clmtype
use clm_varpar, only : numrad
use clm_varcon, only : omegas, tfrz, betads, betais
ARGUMENTS:
implicit none
type (pft_type), target, intent(inout) :: p !pft derived type
real(r8), intent(in) :: coszen !cosine solar zenith angle for next time step
real(r8), intent(in) :: vai !elai+esai
real(r8), intent(in) :: rho(numrad) !leaf/stem refl weighted by fraction LAI and SAI
real(r8), intent(in) :: tau(numrad) !leaf/stem tran weighted by fraction LAI and SAI
real(r8), intent(in) :: albgrd(numrad) !ground albedo (direct)
real(r8), intent(in) :: albgri(numrad) !ground albedo (diffuse)
real(r8), intent(out) :: albd(numrad) !surface albedo (direct)
real(r8), intent(out) :: albi(numrad) !surface albedo (diffuse)
real(r8), intent(out) :: fabd(numrad) !flux absorbed by veg per unit direct flux
real(r8), intent(out) :: fabi(numrad) !flux absorbed by veg per unit diffuse flux
real(r8), intent(out) :: ftdd(numrad) !down direct flux below veg per unit dir flx
real(r8), intent(out) :: ftdi(numrad) !down direct flux below veg per unit dif flux
real(r8), intent(out) :: ftid(numrad) !down diffuse flux below veg per unit dir flx
real(r8), intent(out) :: ftii(numrad) !down diffuse flux below veg per unit dif flx
real(r8), intent(out) :: gdir !aver projected leaf/stem area in solar direction
CALLED FROM:
subroutine SurfaceAlbedo in this moduleREVISION HISTORY:
Author: Gordon Bonan Modified for speedup: Mariana Vertenstein, 8/26/02LOCAL VARIABLES:
local pointers to implicit in scalars
real(r8), pointer :: xl !leaf/stem orientation index
real(r8), pointer :: t_veg !vegetation temperature (Kelvin)
real(r8), pointer :: fwet !fraction of canopy that is wet (0 to 1)