next up previous contents
Next: TwoStream Up: Fortran: Module Interface SurfaceAlbedoMod Previous: SurfaceAlbedo   Contents

SoilAlbedo


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_mec
ARGUMENTS:
     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 module
REVISION 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 SNICAR
LOCAL 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:



Erik Kluzek 2011-06-15