next up previous contents
Next: set_clmvarctl Up: Routine/Function Prologues Previous: Fortran: Module Interface clm_varcon   Contents

Fortran: Module Interface clm_varctl (Source File: clm_varctl.F90)

Module containing run control variables


USES:

   use shr_kind_mod, only: r8 => shr_kind_r8
PUBLIC MEMBER FUNCTIONS:
   implicit none
   public :: set_clmvarctl     ! Set variables
   public :: clmvarctl_init    ! Initialize and check values after namelist input
 
   private
   save
PUBLIC 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 use
REVISION HISTORY:
   Created by Mariana Vertenstein and Gordon Bonan
   1 June 2004, Peter Thornton: added fnedpdat for nitrogen deposition data



Subsections

Erik Kluzek 2010-06-21