INTERFACE:
#if (defined OFFLINE) || (defined COUP_CSM)
subroutine initialize(eccen , obliqr , lambm0 , mvelpp )
#elif (defined COUP_CAM)
subroutine initialize(eccen , obliqr , lambm0 , mvelpp , &
cam_caseid , cam_ctitle , cam_nsrest, cam_nstep, &
cam_irad , cam_crtinic , cam_nhtfrq, cam_mfilt, &
cam_longxy , cam_latixy , cam_numlon, &
cam_landmask, cam_landfrac, cam_irt )
#endif
DESCRIPTION:
Land model initialization. o Initializes run control variables via the [clmexp] namelist. o Reads surface data on model grid. o Defines the multiple plant types and fraction areas for each surface type o Builds the appropriate subgrid <-> grid mapping indices and weights. o Set up parallel processing. o Initializes time constant variables. o Reads restart data for a restart or branch run. o Reads initial data and initializes the time variant variables for an init o Initializes history file output. o Initializes river routing model. o Initializes accumulation variables.USES:
use shr_kind_mod , only : r8 => shr_kind_r8
use spmdMod , only : masterproc
use clmtypeInitMod , only : initClmtype
use initGridCellsMod, only : initGridCells
use clm_varpar , only : lsmlon, lsmlat, maxpatch
use clm_varsur , only : varsur_alloc, varsur_dealloc
use clm_varctl , only : fsurdat, finidat, nsrest, irad, &
mksrf_offline_fgrid, mksrf_offline_fnavyoro
use controlMod , only : control_init, control_print
use filterMod , only : initFilters
use decompMod , only : initDecomp, get_proc_clumps, get_clump_bound
use histFldsMod , only : initHistFlds
use restFileMod , only : restart
use accFldsMod , only : initAccFlds, initAccClmtype
use mksrfdatMod , only : mksrfdat
use surfFileMod , only : surfrd
use pftvarcon , only : pftconrd
#if (defined DGVM)
use DGVMEcosystemDynMod, only : DGVMEcosystemDynini
#else
use STATICEcosysDynMod , only : EcosystemDynini
#endif
#if (defined DGVM)
use DGVMMod , only : resetTimeConstDGVM
#endif
#if (defined DUST)
use DustMod , only : Dustini
#endif
#if (defined RTM)
use RtmMod , only : Rtmgridini, Rtmlandini
#endif
#if (defined OFFLINE)
use atmdrvMod , only : atm_getgrid
#endif
#if (defined COUP_CSM)
use clm_csmMod , only : csm_recvgrid, csm_initialize, csm_sendalb
#endif
#if (defined COUP_CAM)
use lp_coupling , only : lp_coupling_init
#endif
#if (defined COUP_CAM)
use time_manager , only : get_curr_date, get_nstep
#else
use time_manager , only : get_curr_date, get_nstep, advance_timestep,
#endif
ARGUMENTS:
implicit none
real(r8), intent(inout) :: eccen !Earth's orbital eccentricity
real(r8), intent(inout) :: obliqr !Earth's obliquity in radians
real(r8), intent(inout) :: lambm0 !Mean longitude of perihelion at the
real(r8), intent(inout) :: mvelpp !Earth's moving vernal equinox longit
#if (defined COUP_CAM)
character(len=*), intent(in) :: cam_caseid !cam caseid
character(len=*), intent(in) :: cam_ctitle !cam title
character(len=*), intent(in) :: cam_crtinic !cam initial dataset genera
integer , intent(in) :: cam_irad !cam radiation frequency
integer , intent(in) :: cam_nsrest !cam 0=initial run, > 0=con
integer , intent(in) :: cam_nstep !cam current time index
integer , intent(in) :: cam_nhtfrq !cam history write freq for
integer , intent(in) :: cam_mfilt !cam number of files per ta
integer , intent(in) :: cam_irt !cam mss retention time
integer , intent(in) :: cam_numlon(:) !cam number of longitudes
real(r8), intent(in) :: cam_longxy(:,:) !cam lon values
real(r8), intent(in) :: cam_latixy(:,:) !cam lat values
real(r8), intent(in) :: cam_landfrac(:,:) !cam fractional land
integer , intent(in) :: cam_landmask(:,:) !cam land mask
#endif
CALLED FROM:
routine program_off if cpp token OFFLINE is defined routine program_csm if cpp token COUP_CSM is defined routine atmlnd_ini in module atm_lndMod if cpp token COUP_CAM is definedREVISION HISTORY:
Created by Gordon Bonan, Sam Levis and Mariana Vertenstein