INTERFACE:
subroutine initSurfalb( calday, declin, declinm1 )DESCRIPTION:
The variable, h2osoi_vol, is needed by the soil albedo routine - this is not needed on restart since it is computed before the soil albedo computation is called. The remaining variables are initialized by calls to ecosystem dynamics and albedo subroutines.
USES:
use shr_kind_mod , only : r8 => shr_kind_r8
use shr_orb_mod , only : shr_orb_decl
use shr_const_mod , only : SHR_CONST_PI
use clmtype
use spmdMod , only : masterproc,iam
use decompMod , only : get_proc_clumps, get_clump_bounds
use filterMod , only : filter
use clm_varpar , only : nlevsoi, nlevsno, nlevlak, nlevgrnd
use clm_varcon , only : zlnd, istsoil, isturb, denice, denh2o, &
icol_roof, icol_road_imperv, &
icol_road_perv
use clm_varcon , only : istcrop
use clm_time_manager , only : get_step_size
use FracWetMod , only : FracWet
use SurfaceAlbedoMod , only : SurfaceAlbedo
#if (defined CASA)
use CASAMod , only : CASA_ecosystemDyn
#endif
#if (defined CN)
use CNEcosystemDynMod , only : CNEcosystemDyn
use CNVegStructUpdateMod, only : CNVegStructUpdate
use CNSetValueMod , only : CNZeroFluxes
#else
use STATICEcosysDynMod , only : EcosystemDyn, interpMonthlyVeg
#endif
use UrbanMod , only : UrbanAlbedo
use abortutils , only : endrun
ARGUMENTS:
implicit none
real(r8), intent(in) :: calday ! calendar day for declin
real(r8), intent(in) :: declin ! declination angle (radians) for calday
real(r8), intent(in), optional :: declinm1 ! declination angle (radians) for caldaym1
CALLED FROM:
subroutine initialize in module initializeModREVISION HISTORY:
Created by Mariana VertensteinLOCAL VARIABLES:
local pointers to implicit in arguments
integer , pointer :: plandunit(:) ! landunit index associated with each pft
integer , pointer :: ctype(:) ! column type
integer , pointer :: clandunit(:) ! landunit index associated with each column
integer, pointer :: pgridcell(:) ! gridcell associated with each pft
integer , pointer :: itypelun(:) ! landunit type
logical , pointer :: lakpoi(:) ! true => landunit is a lake point
real(r8), pointer :: dz(:,:) ! layer thickness depth (m)
real(r8), pointer :: h2osoi_ice(:,:) ! ice lens (kg/m2)
real(r8), pointer :: h2osoi_liq(:,:) ! liquid water (kg/m2)
real(r8), pointer :: h2osno(:) ! snow water (mm H2O)
integer , pointer :: frac_veg_nosno_alb(:) ! fraction of vegetation not covered by snow (0 OR 1) [-]
real(r8), pointer :: dayl(:) ! daylength (seconds)
real(r8), pointer :: latdeg(:) ! latitude (degrees)
integer , pointer :: pcolumn(:) ! index into column level quantities
real(r8), pointer :: soilpsi(:,:) ! soil water potential in each soil layer (MPa)
local pointers to implicit out arguments
real(r8), pointer :: h2osoi_vol(:,:) ! volumetric soil water (0<=h2osoi_vol<=watsat) [m3/m3]
real(r8), pointer :: snowdp(:) ! snow height (m)
real(r8), pointer :: frac_sno(:) ! fraction of ground covered by snow (0 to 1)
integer , pointer :: frac_veg_nosno(:) ! fraction of vegetation not covered by snow (0 OR 1) [-]
real(r8), pointer :: fwet(:) ! fraction of canopy that is wet (0 to 1) (pft-level)
real(r8), pointer :: decl(:) ! solar declination angle (radians)
local pointers to implicit out arguments (lake points only)
real(r8), pointer :: fdry(:) ! fraction of foliage that is green and dry [-] (new)
real(r8), pointer :: tlai(:) ! one-sided leaf area index, no burying by snow
real(r8), pointer :: tsai(:) ! one-sided stem area index, no burying by snow
real(r8), pointer :: htop(:) ! canopy top (m)
real(r8), pointer :: hbot(:) ! canopy bottom (m)
real(r8), pointer :: elai(:) ! one-sided leaf area index with burying by snow
real(r8), pointer :: esai(:) ! one-sided stem area index with burying by snow
!OTHER LOCAL VARIABLES: