Module containing run control variables
USES:
use shr_kind_mod, only: r8 => shr_kind_r8PUBLIC MEMBER FUNCTIONS:
implicit none public :: set_clmvarctl ! Set variables public :: clmvarctl_init ! Initialize and check values after namelist input private savePUBLIC TYPES:
integer, parameter, private :: iundef = -9999999 integer, parameter, private :: rundef = -9999999._r8 Run control variables character(len=256), public :: caseid = ' ' ! case id character(len=256), public :: ctitle = ' ' ! case title integer, public :: nsrest = iundef ! 0: initial run. 1: restart: 3: branch logical, public :: brnch_retain_casename = .false. ! true => allow case name to remain the same for branch run ! by default this is not allowed logical, public :: noland = .false. ! true => no valid land points -- do NOT run character(len=256), public :: hostname = ' ' ! Hostname of machine running on character(len=256), public :: username = ' ' ! username of user running program character(len=256), public :: source = "Community Land Model CLM3.6" ! description of this source character(len=256), public :: version = " " ! version of program character(len=256), public :: conventions = "CF-1.0" ! dataset conventions !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Following will be removed.......................... Aerosol deposition file read (will be removed) logical, public :: set_caerdep_from_file = .false. ! if reading in carbon aerosol deposition from file logical, public :: set_dustdep_from_file = .false. ! if reading in dust aerosol deposition from file character(len=256), public :: faerdep = ' ' ! aerosol deposition file name to here............................................ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Unit Numbers integer, public :: iulog = 6 ! "stdout" log file unit number, default is 6 Initial file variables character(len= 8), public :: hist_crtinic = 'NONE' ! if set to 'MONTHLY' or 'YEARLY', write initial cond. file Output NetCDF files logical, public :: outnc_large_files = .false. ! large file support for output NetCDF files Run input files character(len=256), public :: finidat = ' ' ! initial conditions file name character(len=256), public :: fsurdat = ' ' ! surface data file name character(len=256), public :: fatmgrid = ' ' ! atm grid file name character(len=256), public :: fatmlndfrc = ' ' ! lnd frac file on atm grid character(len=256), public :: fatmtopo = ' ' ! topography on atm grid character(len=256), public :: flndtopo = ' ' ! topography on lnd grid character(len=256), public :: fndepdat = ' ' ! static nitrogen deposition data file name character(len=256), public :: fndepdyn = ' ' ! dynamic nitrogen deposition data file name character(len=256), public :: fpftdyn = ' ' ! dynamic landuse dataset character(len=256), public :: fpftcon = ' ' ! ASCII data file with PFT physiological constants character(len=256), public :: nrevsn = ' ' ! restart data file name for branch run character(len=256), public :: frivinp_rtm = ' ' ! RTM input data file name character(len=256), public :: fsnowoptics = ' ' ! snow optical properties file name character(len=256), public :: fsnowaging = ' ' ! snow aging parameters file name character(len=8), public :: fget_archdev = 'null:' ! archive device to read input files from if not on local disk Landunit logic logical, public :: create_crop_landunit = .false. ! true => separate crop landunit is not created by default logical, public :: allocate_all_vegpfts = .false. ! true => allocate memory for all possible vegetated pfts on ! vegetated landunit if at least one pft has nonzero weight BGC logic character(len=16), public :: co2_type = 'constant' ! values of 'prognostic','diagnostic','constant' Physics logical, public :: wrtdia = .false. ! true => write global average diagnostics to std out real(r8), public :: co2_ppmv = 355._r8 ! atmospheric CO2 molar ratio (by volume) (umol/mol) single column control variables logical, public :: single_column = .false. ! true => single column mode real(r8), public:: scmlat = rundef ! single column lat real(r8), public:: scmlon = rundef ! single column lon Rtm control variables integer, public :: rtm_nsteps = iundef ! if > 1, average rtm over rtm_nsteps time steps Decomp control variables integer, public :: nsegspc = 20 ! number of segments per clump for decomp Derived variables (run, history and restart file) character(len=256), public :: rpntdir = '.' ! directory name for local restart pointer file character(len=256), public :: rpntfil = 'rpointer.lnd' ! file name for local restart pointer file Error growth perturbation limit real(r8), public :: pertlim = 0.0_r8 ! perturbation limit when doing error growth test History File control TODO: Remove the ones NOT really needed, put BUILDPIO #ifdef around ones that require PIO, make sure function correctly. logical, public :: hist_pioflag = .false. ! turns on and off hist with pio logical, public :: ncd_lowmem2d = .true. ! turns on low memory 2d writes in clm hist logical, public :: ncd_pio_def = .false. ! default pio use setting logical, public :: ncd_pio_UseRearranger = .true. ! use MCT or box logical, public :: ncd_pio_UseBoxRearr = .false. ! use box logical, public :: ncd_pio_SerialCDF = .false. ! write with pio serial netcdf mode logical, public :: ncd_pio_IODOF_rootonly = .false. ! write history in pio from root only integer, public :: ncd_pio_DebugLevel = 2 ! pio debug level integer, public :: ncd_pio_num_iotasks = 999999999 ! num of iotasks to useREVISION HISTORY:
Created by Mariana Vertenstein and Gordon Bonan 1 June 2004, Peter Thornton: added fnedpdat for nitrogen deposition data