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 : endrunARGUMENTS:
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 caldaym1CALLED 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: