INTERFACE:
subroutine SoilAlbedo (lbc, ubc, num_nourbanc, filter_nourbanc, coszen, albsnd, albsni)DESCRIPTION:
Determine ground surface albedo, accounting for snow
USES:
use clmtype use clm_varpar, only : numrad use clm_varcon, only : albsat, albdry, alblak, tfrz, istice, istice_mecARGUMENTS:
implicit none integer , intent(in) :: lbc, ubc ! column bounds integer , intent(in) :: num_nourbanc ! number of columns in non-urban points in column filter integer , intent(in) :: filter_nourbanc(ubc-lbc+1) ! column filter for non-urban points real(r8), intent(in) :: coszen(lbc:ubc) ! cos solar zenith angle next time step (column-level) real(r8), intent(in) :: albsnd(lbc:ubc,numrad) ! snow albedo (direct) real(r8), intent(in) :: albsni(lbc:ubc,numrad) ! snow albedo (diffuse)CALLED FROM:
subroutine SurfaceAlbedo in this moduleREVISION HISTORY:
Author: Gordon Bonan 2/5/02, Peter Thornton: Migrated to new data structures. 8/20/03, Mariana Vertenstein: Vectorized routine 03/28/08, Mark Flanner: changes for SNICARLOCAL VARIABLES:
local pointers to original implicit in arguments integer , pointer :: clandunit(:) ! landunit of corresponding column integer , pointer :: ltype(:) ! landunit type integer , pointer :: isoicol(:) ! soil color class real(r8), pointer :: t_grnd(:) ! ground temperature (Kelvin) real(r8), pointer :: frac_sno(:) ! fraction of ground covered by snow (0 to 1) real(r8), pointer :: h2osoi_vol(:,:) ! volumetric soil water [m3/m3] local pointers to original implicit out arguments real(r8), pointer:: albgrd(:,:) ! ground albedo (direct) real(r8), pointer:: albgri(:,:) ! ground albedo (diffuse) ! albsod and albsoi are now clm_type variables so they can be used by SNICAR. real(r8), pointer :: albsod(:,:) ! soil albedo (direct) real(r8), pointer :: albsoi(:,:) ! soil albedo (diffuse) !OTHER LOCAL VARIABLES: