diff --git a/.config_files.xml b/.config_files.xml
index 8e4868b94f..d1a592e5db 100644
--- a/.config_files.xml
+++ b/.config_files.xml
@@ -5,27 +5,31 @@
charunset
- $SRCROOT
- $CIMEROOT/src/components/data_comps/dlnd
- $CIMEROOT/src/components/stub_comps/slnd
- $CIMEROOT/src/components/xcpl_comps/xlnd
+ $SRCROOT
+ $SRCROOT/components/slim/
+ $SRCROOT/components/cpl7/components/data_comps_$COMP_INTERFACE/dlnd
+ $SRCROOT/components/cdeps/dlnd
+ $SRCROOT/components/cpl7/components/stub_comps_$COMP_INTERFACE/slnd
+ $CIMEROOT/CIME/non_py/src/components/stub_comps_$COMP_INTERFACE/slnd
+ $SRCROOT/components/cpl7/components/xcpl_comps_$COMP_INTERFACE/xlnd
+ $CIMEROOT/CIME/non_py/src/components/xcpl_comps_$COMP_INTERFACE/xlndcase_compsenv_case.xmlRoot directory of the case land model component
- $CIMEROOT/config/xml_schemas/config_compsets.xsd
+ $CIMEROOT/CIME/data/config/xml_schemas/config_compsets.xsd
diff --git a/.git-blame-ignore-revs b/.git-blame-ignore-revs
new file mode 100644
index 0000000000..e14ce11599
--- /dev/null
+++ b/.git-blame-ignore-revs
@@ -0,0 +1,21 @@
+# Ran python directory through black python formatter
+d229b5c6689efc4c2a6cef077515c4ccd5c18ff6
+4cd83cb3ee6d85eb909403487abf5eeaf4d98911
+0aa2957c1f8603c63fa30b11295c06cfddff44a5
+2cdb380febb274478e84cd90945aee93f29fa2e6
+e44dc469439e02e9ee582dab274d890ebdfab104
+565e7bcacbb0bba20ff80d680d8ad769676641c6
+b88e1cd1b28e3609684c79a2ec0e88f26cfc362b
+51c102c5df2e0ef971b5f8eeeb477567899af63a
+7dacad70e74e2ec97f6492d4e7a3cb5dd498bcd7
+b771971e3299c4fa56534b93421f7a2b9c7282fd
+9de88bb57ea9855da408cbec1dc8acb9079eda47
+8bc4688e52ea23ef688e283698f70a44388373eb
+0a5a9e803b56ec1bbd6232eff1c99dbbeef25eb7
+810cb346f05ac1aabfff931ab1a2b7b584add241
+5933b0018f8e29413e30dda9b906370d147bad45
+# Ran SystemTests and python/ctsm through black python formatter
+5364ad66eaceb55dde2d3d598fe4ce37ac83a93c
+8056ae649c1b37f5e10aaaac79005d6e3a8b2380
+540b256d1f3382f4619d7b0877c32d54ce5c40b6
+8a168bb0895f4f2421608dd2589398e13a6663e6
diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 0000000000..3ab9b6ad54
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1,7 @@
+*.svg filter=lfs diff=lfs merge=lfs -text
+*.png filter=lfs diff=lfs merge=lfs -text
+*.jpg filter=lfs diff=lfs merge=lfs -text
+*.jpeg filter=lfs diff=lfs merge=lfs -text
+*.gif filter=lfs diff=lfs merge=lfs -text
+*.pdf filter=lfs diff=lfs merge=lfs -text
+*.nc filter=lfs diff=lfs merge=lfs -text
diff --git a/.github/ISSUE_TEMPLATE/03_science_discussion.md b/.github/ISSUE_TEMPLATE/02_science_discussion.md
similarity index 100%
rename from .github/ISSUE_TEMPLATE/03_science_discussion.md
rename to .github/ISSUE_TEMPLATE/02_science_discussion.md
diff --git a/.github/ISSUE_TEMPLATE/02_support_needed.md b/.github/ISSUE_TEMPLATE/02_support_needed.md
deleted file mode 100644
index d3c69aaf6a..0000000000
--- a/.github/ISSUE_TEMPLATE/02_support_needed.md
+++ /dev/null
@@ -1,36 +0,0 @@
----
-name: Support needed for model use
-about: Ask for help with using CTSM
-
----
-
-### NOTE: Be sure to read the relevant documentation and user forums
-
-We have limited staff and ability to provide support. Here are some resources that might provide help:
-- User's Guide: https://escomp.github.io/ctsm-docs/doc/build/html/users_guide/index.html
-- CLM Forum: https://bb.cgd.ucar.edu/forums/land-modeling-clm
-- README files amongst the source code
-- GitHub CTSM issues: https://github.com/escomp/ctsm/issues/
-- Also make sure this issue is unique to CTSM and not really an issue with CESM or CIME
-
-### Details of support request
-
-[Fill in details here.]
-
-### Important details of your setup / configuration so we can better assist you
-
-**CTSM version you are using:** [output of `git describe`]
-
-**Have you made any modifications to code, xml files, etc.?** [Yes / No]
-
-[If Yes: Please point us to your modifications. However: In general we can NOT support problems with modified code. Try to show the problem without modifications.]
-
-**If you are having problems with a specific case: Is your case on a machine accessible to most CTSM developers (e.g., an NCAR machine)?** [Yes / No]
-
-If Yes:
-
-- Location of case directory: [Fill this in]
-
-- Location of run directory: [Fill this in]
-
-[If No: Please make sure you have included all important input and output needed to understand your issue, either by pasting it into the issue text, or by attaching relevant files. However: We are less likely to be able to reproduce your problem if the issue is NOT on an NCAR machine.]
diff --git a/.github/ISSUE_TEMPLATE/04_other.md b/.github/ISSUE_TEMPLATE/03_other.md
similarity index 100%
rename from .github/ISSUE_TEMPLATE/04_other.md
rename to .github/ISSUE_TEMPLATE/03_other.md
diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml
new file mode 100644
index 0000000000..e76b47bf4a
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/config.yml
@@ -0,0 +1,5 @@
+blank_issues_enabled: true
+contact_links:
+ - name: CESM forums
+ url: https://bb.cgd.ucar.edu/cesm/forums/ctsm-clm-mosart-rtm.134/
+ about: For support with model use, troubleshooting, etc., please use the CTSM forum
diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md
index 306ee7b1f3..4c8f6ca499 100644
--- a/.github/PULL_REQUEST_TEMPLATE.md
+++ b/.github/PULL_REQUEST_TEMPLATE.md
@@ -16,5 +16,7 @@ Testing performed, if any:
(Documentation on system testing is here: https://github.com/ESCOMP/ctsm/wiki/System-Testing-Guide)
(aux_clm on cheyenne for intel/gnu and izumi for intel/gnu/nag/pgi is the standard for tags on master)
-**NOTE: Be sure to check your Coding style against the standard:**
-https://github.com/ESCOMP/ctsm/wiki/CTSM-coding-guidelines
+**NOTE: Be sure to check your coding style against the standard
+(https://github.com/ESCOMP/ctsm/wiki/CTSM-coding-guidelines) and review
+the list of common problems to watch out for
+(https://github.com/ESCOMP/CTSM/wiki/List-of-common-problems).**
diff --git a/.github/workflows/black.yml b/.github/workflows/black.yml
new file mode 100644
index 0000000000..3759fa84c3
--- /dev/null
+++ b/.github/workflows/black.yml
@@ -0,0 +1,37 @@
+name: black check on push and PR
+#
+# Run the python formatting in check mode
+#
+on: [push, pull_request]
+
+jobs:
+ black-check:
+ runs-on: ubuntu-latest
+ steps:
+ # Checkout the code
+ - uses: actions/checkout@v2
+ # Use the latest stable version of the github action
+ - uses: psf/black@stable
+ with:
+ # Use options and version identical to the conda environment
+ # Using pyproject.toml makes sure this testing is consistent with our python directory testing
+ options: "--check --config python/pyproject.toml"
+ src: "./python"
+ # Version should be coordinated with the ctsm_pylib conda environment under the python directory
+ version: "22.3.0"
+ # Actions identical to above for each directory and source file we need to check (arrays aren't allowed for src: field)
+ - uses: psf/black@stable
+ with:
+ options: "--check --config python/pyproject.toml"
+ src: "./cime_config/SystemTests"
+ version: "22.3.0"
+ - uses: psf/black@stable
+ with:
+ options: "--check --config python/pyproject.toml"
+ src: "./cime_config/buildlib"
+ version: "22.3.0"
+ - uses: psf/black@stable
+ with:
+ options: "--check --config python/pyproject.toml"
+ src: "./cime_config/buildnml"
+ version: "22.3.0"
diff --git a/.gitignore b/.gitignore
index bb3e31bb87..a821309ced 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,21 +1,44 @@
# directories checked out by manage_externals, and other files created
# by manage_externals
manage_externals.log
+ccs_config
/src/fates/
-/tools/PTCLM/
/cime/
/components/
+/libraries/
+/share/
+/doc/doc-builder/
# ignore svn directories
**/.svn/**
.svn/
-# binary files
+# netcdf files
*.nc
+# but don't ignore netcdf files here:
+!/python/ctsm/test/testinputs/*.nc
# editor files
*.swp
*~
+.vscode/
+
+# vim files (from https://github.com/github/gitignore/blob/master/Global/Vim.gitignore)
+# Swap
+[._]*.s[a-v][a-z]
+[._]*.sw[a-p]
+[._]s[a-rt-v][a-z]
+[._]ss[a-gi-z]
+[._]sw[a-p]
+# Session
+Session.vim
+# Temporary
+.netrwhist
+# (removed *~ because it is listed above)
+# Auto-generated tag files
+tags
+# Persistent undo
+[._]*.un~
# mac files
.DS_Store
@@ -30,16 +53,6 @@ CMakeFiles/
# unit testing directories
/src/unit_tests.*
-# files generated by the unit test build
-/src/dyn_subgrid/dynVarMod.F90
-/src/dyn_subgrid/dynVarTimeInterpMod.F90
-/src/dyn_subgrid/dynVarTimeUninterpMod.F90
-/src/utils/array_utils.F90
-/src/unit_test_stubs/utils/restUtilMod_stub.F90
-/src/unit_test_stubs/main/ncdio_pio_fake.F90
-/src/unit_test_stubs/main/ncdio_var.F90
-/src/unit_test_shr/unittestArrayMod.F90
-
# cime_config
buildnmlc
@@ -55,6 +68,7 @@ buildnmlc
/bld/unit_testers/drv_flds_in*
/bld/unit_testers/temp_file.txt*
/bld/unit_testers/user_nl_clm_real_parameters*
+/bld/unit_testers/user_nl_ctsm_real_parameters*
/bld/unit_testers/env_run.xml
# tools testing output
@@ -69,10 +83,13 @@ surfdata_*.namelist
landuse.timeseries_*.namelist
landuse.timeseries_*.log
landuse_timeseries_*.txt
-clm.input_data_list
-clm.input_data_list.previous
+ctsm.input_data_list
+ctsm.input_data_list.previous
*.stdout.txt.o*
+# mksurfdata unit tests
+unit_test_build
+
# Tools executables
/tools/mksurfdata_map/mksurfdata_map
/tools/mkprocdata_map/mkprocdata_map
@@ -88,6 +105,13 @@ clm.input_data_list.previous
/tools/mkmapdata/regrid.o*
/tools/mkmapdata/map*.nc
+# run_neon output directories
+/tools/site_and_regional/listing.csv
+/tools/site_and_regional/????/
+/tools/site_and_regional/????.ad/
+/tools/site_and_regional/????.postad/
+/tools/site_and_regional/????.transient/
+
# build output
*.o
*.mod
diff --git a/.lfsconfig b/.lfsconfig
new file mode 100644
index 0000000000..e97d0e2c7d
--- /dev/null
+++ b/.lfsconfig
@@ -0,0 +1,7 @@
+[lfs]
+ # We auto-fetch any netCDF files, because they are needed for
+ # running tests; however, we do NOT auto-fetch other binary
+ # files, in particular image files that are part of the
+ # documentation source (these are fetched as part of the
+ # documentation build process).
+ fetchinclude = *.nc
diff --git a/.zenodo.json b/.zenodo.json
new file mode 100644
index 0000000000..1982ce4917
--- /dev/null
+++ b/.zenodo.json
@@ -0,0 +1,7 @@
+{
+ "creators": [
+ {
+ "name": "CTSM Development Team"
+ }
+ ]
+}
diff --git a/Copyright b/Copyright
deleted file mode 100644
index 21b9688874..0000000000
--- a/Copyright
+++ /dev/null
@@ -1,75 +0,0 @@
-CESM1.5: Copyright Notice and Disclaimer
-
-The Community Earth System Model (CESM was developed in cooperation with
-the National Science Foundation, the Department of Energy,
-the National Aeronautics and Space Administration, and
-the University Corporation for Atmospheric Research National Center for Atmospheric Research.
-
-Except for the segregable components listed below, CESM is public domain software.
-There may be other third party tools and libraries that are embedded, and
-they may have their own copyright notices and terms.
-
-The following components are copyrighted and may only be used, modified,
-or redistributed under the terms indicated below.
-
-Code Institution Copyright Terms of Use/Disclaimer
----- ----------- --------- -----------------------
-ESMF University of Copyright University of Illinois/NCSA Open Source License
- Illinois/NCSA 2002-2009,
- University of
- Illinois/NCSA
- Open Source
- License
-
-POP,SCRIP,CICE Los Alamos National Copyright 2008 Los Alamos National Security, LLC
- Laboratory Los Alamos
- National
- Security, LLC
-
-CISM NCAR/LANL/ORNL/SNL/ Copyright GNU Lesser General Public License v. 3
- LBNL/NYU/U. Bristol/ 2004-2018, CISM is free software: you can redistribute it
- U. Edinburgh/ GNU Lesser and/or modify it under the terms of the GNU
- U. Montana/U. Swansea General Public Lesser General Public License as published by the
- License v. 3 Free Software Foundation, either version 3 of the
- License, or (at your option) any later version.
-
-AER RRTMG Atmospheric Copyright AER RRTMG Copyright
- and 2002-2010,
- Environmental Atmospheric
- Research, Inc. and
- Environmental
- Research, Inc.
-
-MCT Argonne Copyright 2000, MCT Copyright
- National 2010,
- Laboratory University of
- Chicago.
-
-ICSSP N/A Copyright 2003, ISCCP Simulator Software
- 2010, Steve
- Klein and Mark
- Webb
-
-XML/Lite Wadsack-Allen Copyright 2001, The documentation for the Perl XML-Lite
- Digital Group 2010 module is no longer available on-line.
- Wadsack-Allen
- Digital Group
-
-Inf_NaN Lahey Copyright(c) Copies of this source code, or standalone compiled
-_Detection Computer 2003, Lahey files derived from this source may not be sold
-module Systems, Inc. Computer without permission from Lahey Computers Systems.
- Systems, Inc. All or part of this module may be freely incorporated
- into executable programs which are offered for sale.
- Otherwise, distribution of all or part of this file is
- permitted, provided this copyright notice and header
- are included.
-
-
-THIS SOFTWARE IS PROVIDED BY UCAR AND ANY CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
-INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL UCAR OR ANY CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
-IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
-THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
diff --git a/Externals.cfg b/Externals.cfg
index bec4d33548..e683f199ac 100644
--- a/Externals.cfg
+++ b/Externals.cfg
@@ -7,33 +7,95 @@ required = True
[cism]
local_path = components/cism
protocol = git
-repo_url = https://github.com/ESCOMP/cism-wrapper
-tag = cism2_1_68
+repo_url = https://github.com/ESCOMP/CISM-wrapper
+tag = cismwrap_2_1_95
externals = Externals_CISM.cfg
required = True
[rtm]
local_path = components/rtm
protocol = git
-repo_url = https://github.com/ESCOMP/rtm
-tag = rtm1_0_70
+repo_url = https://github.com/ESCOMP/RTM
+tag = rtm1_0_78
required = True
[mosart]
local_path = components/mosart
protocol = git
-repo_url = https://github.com/ESCOMP/mosart
-tag = mosart1_0_35
+repo_url = https://github.com/ESCOMP/MOSART
+tag = mosart1_0_48
+required = True
+
+[mizuRoute]
+local_path = components/mizuRoute
+protocol = git
+repo_url = https://github.com/nmizukami/mizuRoute
+hash = 34723c2
+required = True
+
+[ccs_config]
+tag = ccs_config_cesm0.0.65
+protocol = git
+repo_url = https://github.com/ESMCI/ccs_config_cesm.git
+local_path = ccs_config
required = True
[cime]
local_path = cime
protocol = git
repo_url = https://github.com/ESMCI/cime
-tag = cime5.8.15
-externals = ../Externals_cime.cfg
+tag = cime6.0.125
+required = True
+
+[cmeps]
+tag = cmeps0.14.21
+protocol = git
+repo_url = https://github.com/ESCOMP/CMEPS.git
+local_path = components/cmeps
required = True
+[cdeps]
+tag = cdeps1.0.13
+protocol = git
+repo_url = https://github.com/ESCOMP/CDEPS.git
+local_path = components/cdeps
+externals = Externals_CDEPS.cfg
+required = True
+
+[cpl7]
+tag = cpl77.0.5
+protocol = git
+repo_url = https://github.com/ESCOMP/CESM_CPL7andDataComps
+local_path = components/cpl7
+required = True
+
+[share]
+tag = share1.0.17
+protocol = git
+repo_url = https://github.com/ESCOMP/CESM_share
+local_path = share
+required = True
+
+[mct]
+tag = MCT_2.11.0
+protocol = git
+repo_url = https://github.com/MCSclimate/MCT
+local_path = libraries/mct
+required = True
+
+[parallelio]
+tag = pio2_5_10
+protocol = git
+repo_url = https://github.com/NCAR/ParallelIO
+local_path = libraries/parallelio
+required = True
+
+[doc-builder]
+local_path = doc/doc-builder
+protocol = git
+repo_url = https://github.com/ESMCI/doc-builder
+tag = v1.0.8
+required = False
+
[externals_description]
schema_version = 1.0.0
-
diff --git a/Externals_CLM.cfg b/Externals_CLM.cfg
index 84b7d5ec33..14ba14d8b4 100644
--- a/Externals_CLM.cfg
+++ b/Externals_CLM.cfg
@@ -1,17 +1,9 @@
[fates]
local_path = src/fates
protocol = git
-repo_url = https://github.com/NCAR/fates-release
-tag = fates_s1.8.1_a3.0.0_rev2
-required = True
-
-[PTCLM]
-local_path = tools/PTCLM
-protocol = git
-repo_url = https://github.com/ESCOMP/ptclm
-tag = PTCLM2_180611
+repo_url = https://github.com/NGEET/fates
+tag = sci.1.67.2_api.27.0.0
required = True
[externals_description]
schema_version = 1.0.0
-
diff --git a/Externals_cime.cfg b/Externals_cime.cfg
deleted file mode 100644
index cbede7df52..0000000000
--- a/Externals_cime.cfg
+++ /dev/null
@@ -1,9 +0,0 @@
-[cmeps]
-hash = 181ff1ed9dfb279e619e8a2173f43baf7bf1dce3
-protocol = git
-repo_url = https://github.com/ESCOMP/CMEPS.git
-local_path = src/drivers/nuopc/
-required = True
-
-[externals_description]
-schema_version = 1.0.0
diff --git a/README b/README
index 76c0a04982..b2ac1eec4e 100644
--- a/README
+++ b/README
@@ -1,13 +1,25 @@
$CTSMROOT/README 06/08/2018
-Community Land Surface Model (CLM) science version 5.0.0 series -- source code, tools,
+Community Terrestrial Systems Model (CTSM) science version 5.1 series -- source code, tools,
offline-build and test scripts. This gives you everything you need
-to run CLM with CESM with datm8 to provide CRU NCEP or GSWP3 forcing data in
+to run CTSM with CESM with the CMEPS driver and CDEPS data models to provide CRU NCEP or GSWP3 forcing data in
place of a modeled atmosphere.
+CMEPS is the Community Mediator for Earth Prediction Systems. And CDEPS is the
+Community Data Models for Earth Prediction System. They are both NUOPC based models
+used to drive the CESM (Community Earth System Model) of which CTSM is a component of.
+NUOPC is the National Unified Operational Prediction Capability a standard way of building
+coupled model systems. The NUOPC layer is based on the Earth System Modeling Framework (ESMF).
+
For lists of current bugs (issues) and current development see the CTSM GitHub page:
-https://github.com/ESCOMP/ctsm
+https://github.com/ESCOMP/CTSM
+
+INFORMATION ON THE CMEPS DRIVER:
+
+https://escomp.github.io/CMEPS
+
+https://earthsystemmodeling.org/nuopc/
IMPORTANT NOTE ON CESM CHECKOUT VERSUS A CTSM CHECKOUT:
@@ -25,35 +37,32 @@ be $CTSMROOT/cime.
General directory structure ($CTSMROOT):
-doc --------------- Documentation of CLM.
+doc --------------- Documentation of CTSM.
bld --------------- Template, configure and build-namelist scripts for clm.
-src --------------- CLM Source code.
-test -------------- CLM Testing scripts for CLM offline tools.
-tools ------------- CLM Offline tools to prepare input datasets and process output.
-cime_config ------- Configuration files of cime for compsets and CLM settings
+src --------------- CTSM Source code.
+lilac ------------- Lightweight Infrastructure for Land-Atmosphere Coupling (for coupling to a host atmosphere model)
+test -------------- CTSM Testing scripts for CTSM offline tools.
+tools ------------- CTSM Offline tools to prepare input datasets and process output.
+cime_config ------- Configuration files of cime for compsets and CTSM settings
manage_externals -- Script to manage the external source directories
-python ------------ Some python modules mostly for use by run_sys_tests (but could be used elsewhere)
+py_env_create ----- Script to setup the python environment for CTSM python tools using conda
+python ------------ Some python modules mostly for use by run_sys_tests (but could be used elsewhere l
Directory structure only for a CTSM checkout:
-components -------- Other active sub-components needed for CLM to run (river routing and land-ice models)
+components -------- Other active sub-components needed for CTSM to run (river routing and land-ice models)
+libraries --------- CESM libraries: MCT (Model Coupling Toolkit) and PIO
+share ------------- CESM shared code
cime/scripts --------------- cesm/cime driver scripts
-cime/src/drivers/mct/main ----------- CESM top level driver source code.
-cime/src/drivers/mct/shr ------------ CESM top level driver shared code.
-cime/src/components/data_comps/datm - CESM Data model version 8 source code.
-cime/src/components/stub_comps/sice - CESM stub sea-ice model source code.
-cime/src/components/stub_comps/socn - CESM stub ocean model source code.
-cime/src/components/stub_comps/sglc - CESM stub glacier model source code.
-cime/src/externals ------------------ CESM external utility codes
- (Model Coupling Toolkit (MCT)
- (Earth System Model Framework)
- (timing -- code timing utility)
- (pio -- Parallel Input/Output)
+components/cmeps -------------------- CESM top level driver (for NUOPC driver [which is the default]) source code.
+components/cdeps -------------------- CESM top level data model shared code (for NUOPC driver).
+cime/src/externals ------------------ CESM external utility codes (genf90)
components/cism --------------------- CESM Community land Ice Sheet Model.
components/mosart ------------------- Model for Scale Adaptive River Transport
components/rtm ---------------------- CESM River Transport Model.
+components/cpl7 --------------------- CESM top level driver for MCT driver (being deprecated)
Top level documentation ($CTSMROOT):
@@ -64,8 +73,8 @@ CODE_OF_CONDUCT.md ------- Code of Conduct for how to work with each other on th
Copyright ---------------- CESM Copyright file
doc/UpdateChangeLog.pl --- Script to add documentation on a tag to the
ChangeLog/ChangeSum files
-doc/ChangeLog ------------ Documents different CLM versions
-doc/ChangeSum ------------ Summary documentation of different CLM versions
+doc/ChangeLog ------------ Documents different CTSM versions
+doc/ChangeSum ------------ Summary documentation of different CTSM versions
doc/design --------------- Software Engineering and code design document files
@@ -84,7 +93,7 @@ Important files in main directories (under $CTSMROOT):
=============================================================================================
Externals.cfg --------------- File for management of the main high level externals
-Externals_CLM.cfg ----------- File for management of the CLM specific externals (i.e. FATES)
+Externals_CLM.cfg ----------- File for management of the CTSM specific externals (i.e. FATES)
run_sys_tests --------------- Python script to send the standard CTSM testing off (submits
the create_test test suite for several different compilers on the
@@ -92,7 +101,7 @@ run_sys_tests --------------- Python script to send the standard CTSM testing of
parse_cime.cs.status -------- Script to parse test status files cs.status.* created by create_test
(can be used along with run_sys_tests)
-doc/Quickstart.GUIDE -------- Quick guide to using cpl7 scripts.
+doc/Quickstart.GUIDE -------- Quick guide to using NUOPC scripts.
doc/IMPORTANT_NOTES --------- Some important notes about this version of
clm, configuration modes and namelist items
that are not validated or functional.
@@ -100,21 +109,21 @@ doc/ChangeLog --------------- Detailed list of changes for each model version.
doc/ChangeSum --------------- Summary one-line list of changes for each
model version.
doc/README ------------------ Documentation similar to this file
-doc/UsersGuide -------------- CLM Users Guide
+doc/UsersGuide -------------- CTSM Users Guide
doc/IMPORTANT_NOTES --------- Some important notes on caveats for some configurations/namelist items
bld/README ------------------ Description of how to use the configure and
build-namelist scripts.
-bld/configure --------------- Script to prepare CLM to be built.
-bld/build-namelist ---------- Script to build CLM namelists.
-
-cime_config/buildnml ------------- Build the CLM namelist for CIME
-cime_config/buildlib ------------- Build the CLM library
-cime_config/config_compsets.xml -- Define CLM compsets
-cime_config/config_component.xml - Define CLM XML settings
-cime_config/config_tests.xml ----- Define CLM specific tests
-cime_config/config_pes.xml ------- Define Processor layouts for various CLM grids and compsets
-cime_config/testdefs ------------- Directory for specification of CLM testing
+bld/configure --------------- Script to prepare CTSM to be built.
+bld/build-namelist ---------- Script to build CTSM namelists.
+
+cime_config/buildnml ------------- Build the CTSM namelist for CIME
+cime_config/buildlib ------------- Build the CTSM library
+cime_config/config_compsets.xml -- Define CTSM compsets
+cime_config/config_component.xml - Define CTSM XML settings
+cime_config/config_tests.xml ----- Define CTSM specific tests
+cime_config/config_pes.xml ------- Define Processor layouts for various CTSM grids and compsets
+cime_config/testdefs ------------- Directory for specification of CTSM testing
cime_config/testdefs/ExpectedTestFails.xml -- List of tests that are expected to fail
cime_config/usermods_dirs -------- Directories of sets of user-modification subdirs
(These are directories that add specific user modifications to
@@ -122,7 +131,7 @@ cime_config/usermods_dirs -------- Directories of sets of user-modification subd
Current sub directories are for various CMIP6 configurations)
test/tools/test_driver.sh -- Script for general software testing of
- CLM's offline tools.
+ CTSM's offline tools.
tools/mksurfdata_map ---------- Directory to build program to create surface dataset
at any resolution.
@@ -135,6 +144,12 @@ tools/ncl_scripts ------------ Directory of NCL and perl scripts to do various
tasks. Most notably to plot perturbation error growth
testing and to extract regional information from
global datasets for single-point/regional simulations.
+tools/site_and_regional ------- Scripts to create input datasets for single site and regional
+ cases, primarily by modifying existing global datasets
+tools/contrib ----------------- Miscellansous useful scripts for pre and post processing
+ as well as case management of CTSM. These scripts are
+ contributed by users and may not be as well tested or
+ supported as other tools.
=============================================================================================
@@ -143,7 +158,7 @@ Source code directory structure:
src/biogeochem ---- Biogeochemisty
src/main ---------- Main control and high level code
-src/cpl ----------- Land model high level MCT and ESMF drivers
+src/cpl ----------- Land model high level caps for NUOPC driver (and MCT and LILAC)
src/biogeophys ---- Biogeophysics (Hydrology)
src/dyn_subgrid --- Dynamic land unit change
src/init_interp --- Online interpolation
@@ -155,7 +170,7 @@ src/unit_test_shr - Unit test shared modules for unit testing
src/unit_test_stubs Unit test stubs that replicate CTSM code simpler
=============================================================================================
- QUICKSTART: using the CPL7 scripts
+ QUICKSTART: using the NUOPC driver scripts
=============================================================================================
cd $CIMEROOT/scripts
diff --git a/README.CHECKLIST.new_case b/README.CHECKLIST.new_case
new file mode 100644
index 0000000000..d3b37bc7c3
--- /dev/null
+++ b/README.CHECKLIST.new_case
@@ -0,0 +1,40 @@
+$CTSMROOT/README.CHECKLIST.new_case 03/01/2021
+
+This is a check list of things to do when setting up a new case in order to help ensure everything is correct. There
+are lots of tiny details that need to be right and it's easy to get something wrong. So the first screening to make
+sure it's right is for you to carefully check through your case and make sure it's right.
+
+The following assumes you have created a new case and are in it's case directory.
+
+General Checklist to always do:
+
+ - Make sure CLM_ env settings are correct
+ (./xmlquery -p CLM)
+ - Make sure you are using the correct CLM_PHYSICS_VERSION
+ (./xmlquery -p CLM_PHYSICS_VERSION)
+ - Make sure you are running the appropriate overall CLM vegetation model.
+ The "-bgc" option of either Satellite Phenology (sp), or
+ Full BioGeoChemistry (bgc), or FATES (fates)
+ (./xmlquery -p CLM_BLDNML_OPTS)
+ - Also if you are running the bgc model, check to see if you should be running the prognostic crop model
+ (option -crop in CLM_BLDNML_OPTS)
+ - Make sure the LND_TUNING_MODE is correct
+ (./xmlquery LND_TUNING_MODE)
+ - For an "I compset" make sure you are running over the right forcing years
+ (usually ./xmlquery -p DATM_YR)
+ - First and align year for streams should be the start year of a historical simulation
+ (./xmlquery RUN_STARTDATE)
+ (grep stream_year_first CaseDocs/lnd_in; grep model_year_align CaseDocs/lnd_in)
+ - Last year for streams should be the last year you are going to run to (or beyond it)
+ (grep stream_year_last CaseDocs/lnd_in)
+ - Make sure you are starting from appropriate spunup initial conditions
+ (Check the run-type with: ./xmlquery RUN_TYPE)
+ (check finidat for a startup or hybrid simulation: grep finidat CaseDocs/lnd_in)
+ (check nrevsn for a branch simulation: grep nrevsn CaseDocs/lnd_in)
+ - Run for a month (or some short period) and go over the log files and especially the settings and files read in them.
+ (For an I case you especially want to look at the lnd.log and atm.log files)
+
+Some other suggestions on things that can be done:
+
+- Compare namelist files to an existing case if you are doing something almost the same as a previous simulation.
+- Ask another collaborator to look over your case directory
diff --git a/README.NUOPC_driver.md b/README.NUOPC_driver.md
new file mode 100644
index 0000000000..578ba4aa8d
--- /dev/null
+++ b/README.NUOPC_driver.md
@@ -0,0 +1,56 @@
+# $CTSMROOT/README.NUOPC_driver
+
+CTSM now by default uses the NUOPC based CMEPS driver!
+
+
+## What's new?
+
+MESH Files:
+Mesh files to describe grids are new in both the driver namelist and for example in any
+streams files.
+Full ESMF Library is used:
+The full ESMF Library is used and required to be built in order to run the model.
+Single Point cases:
+Single point cases can now set their location using PTS_LAT and PTS_LON.
+
+## What's removed?
+
+Domain files are no longer used. And mapping for regriding is created on the fly
+rather than using fixed mapping files in almost all cases. Runoff mapping files
+still need to be generated offline.
+
+## What files change?
+
+rpointer.drv becomes rpointer.cpl
+cpl.log.* files get's split into med.log.* and drv.log.*
+user_datm.streams.txt.* file changes goes into the user_nl_datm_streams files
+datm.streams.txt.* files are all in one file called datm.streams.xml
+
+## What XML variables change in your case?
+
+DATM_CLMNCEP_YR_* variables change to DATM_YR_*
+
+## New obscure options:
+
+ESMF_AWARE_THREADING --- ESMF is aware of threading (can have differing number of threads in components)
+CREATE_ESMF_PET_FILES -- Create output log files from ESMF for each Processor (PET)
+ESMF_VERBOSITY_LEVEL --- Verbosity level for ESMF logging
+ESMF_PROFILING_LEVEL --- Verbosity level for ESMF profiling
+
+nuopc.runseq is a text file that determines how the driver operates. You can change the operation
+by having an updated copy in your case directory.
+
+
+## What if I want to use the previous MCT driver?
+
+The MCT driver will be available for sometime going forward, but
+new development won't go into it, and it will eventually be removed.
+But, if you have to...
+Use the "--driver mct" command line option to create_newcase
+You can set COMP_INTERFACE in a case as well, but it won't create it with everything needed
+so we recommend setting up a case from scratch.
+
+
+For more notes see:
+
+https://docs.google.com/presentation/d/1yjiKSEV53JDAJbYxhpY2T9GTxlWFzQAn
diff --git a/README.md b/README.md
new file mode 100644
index 0000000000..9de22e3663
--- /dev/null
+++ b/README.md
@@ -0,0 +1,61 @@
+# CTSM
+
+[](https://doi.org/10.5281/zenodo.3739617)
+
+## Overview and resources
+
+The Community Terrestrial Systems Model.
+
+This includes the Community Land Model (CLM5.0 and CLM4.5) of the Community Earth System Model.
+
+For documentation, quick start, diagnostics, model output and
+references, see
+
+http://www.cesm.ucar.edu/models/cesm2.0/land/
+
+and
+
+https://escomp.github.io/ctsm-docs/
+
+For help with how to work with CTSM in git, see
+
+https://github.com/ESCOMP/CTSM/wiki/Quick-start-to-CTSM-development-with-git
+
+and
+
+https://github.com/ESCOMP/ctsm/wiki/Recommended-git-setup
+
+For support with model use, troubleshooting, etc., please use the [CTSM
+forum](https://bb.cgd.ucar.edu/cesm/forums/ctsm-clm-mosart-rtm.134/) or other appropriate forum (e.g., for
+infrastructure/porting questions) through the [CESM forums](https://bb.cgd.ucar.edu/cesm/).
+
+To get updates on CTSM tags and important notes on CTSM developments
+join our low traffic email list:
+
+https://groups.google.com/a/ucar.edu/forum/#!forum/ctsm-dev
+
+(Send email to ctsm-software@ucar.edu if you have problems with any of this)
+
+## CTSM code management team
+
+CTSM code management is provided primarily by:
+
+Software engineering team:
+- [Erik Kluzek](https://github.com/ekluzek)
+- [Bill Sacks](https://github.com/billsacks)
+- [Sam Levis](https://github.com/slevisconsulting)
+- [Adrianna Foster](https://github.com/adrifoster)
+- [Sam Rabin](https://github.com/samsrabin)
+- [Greg Lemieux](https://github.com/glemieux)
+- [Ryan Knox](https://github.com/rgknox)
+
+Science team:
+- [Dave Lawrence](https://github.com/dlawrenncar)
+- [Will Wieder](https://github.com/wwieder)
+- [Danica Lombardozzi](https://github.com/danicalombardozzi)
+- [Keith Oleson](https://github.com/olyson)
+- [Sean Swenson](https://github.com/swensosc)
+- [Jackie Shuman](https://github.com/jkshuman)
+- [Peter Lawrence](https://github.com/lawrencepj1)
+- [Rosie Fisher](https://github.com/rosiealice)
+- Gordon Bonan
diff --git a/README.rst b/README.rst
deleted file mode 100644
index 6569f5f809..0000000000
--- a/README.rst
+++ /dev/null
@@ -1,31 +0,0 @@
-====
-CTSM
-====
-
-The Community Terrestrial Systems Model.
-
-This includes the Community Land Model (CLM5.0 and CLM4.5) of the Community Earth System Model.
-
-For documentation, quick start, diagnostics, model output and
-references, see
-
-http://www.cesm.ucar.edu/models/cesm2.0/land/
-
-and
-
-https://escomp.github.io/ctsm-docs/
-
-For help with how to work with CTSM in git, see
-
-https://github.com/ESCOMP/ctsm/wiki/Getting-started-with-CTSM-in-git
-
-and
-
-https://github.com/ESCOMP/ctsm/wiki/Recommended-git-setup
-
-To get updates on CTSM tags and important notes on CTSM developments
-join our low traffic email list:
-
-https://groups.google.com/a/ucar.edu/forum/#!forum/ctsm-dev
-
-(Send email to ctsm-software@ucar.edu if you have problems with any of this)
diff --git a/README_EXTERNALS.rst b/README_EXTERNALS.rst
index 82496dca62..47632f3111 100644
--- a/README_EXTERNALS.rst
+++ b/README_EXTERNALS.rst
@@ -30,10 +30,9 @@ More details on checkout_externals
The file **Externals.cfg** in your top-level CTSM directory tells
**checkout_externals** which tag/branch of each component should be
-brought in to generate your sandbox. (This file serves the same purpose
-as SVN_EXTERNAL_DIRECTORIES when CLM was in a subversion repository.)
+brought in to generate your sandbox. **Externals_CLM.cfg** is used similarly to point to the correct version of FATES (and possibly other CTSM-specific externals in the future); the below instructions referring to **Externals.cfg** also apply to modifying **Externals_CLM.cfg**.
-NOTE: Just like svn externals, checkout_externals will always attempt
+NOTE: checkout_externals will always attempt
to make the working copy exactly match the externals description. If
you manually modify an external without updating Externals.cfg, e.g. switch
to a different tag, then rerunning checkout_externals will switch you
@@ -96,7 +95,7 @@ example below)::
tag = cime5.4.0-alpha.20
required = True
-Each entry specifies either a tag or a branch. To point to a new tag:
+Each entry specifies either a tag, a hash or a branch. To point to a new tag:
#. Modify the relevant entry/entries in **Externals.cfg** (e.g., changing
``cime5.4.0-alpha.20`` to ``cime5.4.0-alpha.21`` above)
@@ -105,6 +104,10 @@ Each entry specifies either a tag or a branch. To point to a new tag:
./manage_externals/checkout_externals
+To point to a hash, the process is the same, except also change ``tag = ...`` to ``hash = ...``.
+
+To point to a branch, use ``branch = ...``. Pointing to a branch means that, each time you run ``manage_externals/checkout_externals`` you will get the current latest version of that branch. This can be convenient for in-progress development work, but should not be used when you need a stable version for scientific simulations. There are a number of gotchas with this workflow, so in general you should default to pointing to fixed hashes. (For CTSM master, we require a fixed hash or, usually, a tag.)
+
Keep in mind that changing individual components from a tag may result
in an invalid model (won't compile, won't run, not scientifically
meaningful) and is unsupported.
diff --git a/bld/CLMBuildNamelist.pm b/bld/CLMBuildNamelist.pm
index bd8095e9f7..4837bf1122 100755
--- a/bld/CLMBuildNamelist.pm
+++ b/bld/CLMBuildNamelist.pm
@@ -35,7 +35,7 @@ use File::Basename qw(dirname);
use English;
use Getopt::Long;
use IO::File;
-use File::Glob ':glob';
+use File::Glob ':bsd_glob';
#-------------------------------------------------------------------------------
#
@@ -71,32 +71,33 @@ REQUIRED OPTIONS
(if read they allow user_nl_clm and CLM_BLDNML_OPTS to expand
variables [for example to use \$DIN_LOC_ROOT])
(default current directory)
- -lnd_frac "domainfile" Land fraction file (the input domain file)
+ -lnd_frac "domainfile" Land fraction file (the input domain file) (needed for MCT driver and LILAC)
-res "resolution" Specify horizontal grid. Use nlatxnlon for spectral grids;
dlatxdlon for fv grids (dlat and dlon are the grid cell size
in degrees for latitude and longitude respectively)
"-res list" to list valid resolutions.
(default: 0.9x1.25)
-sim_year "year" Year to simulate for input datasets
- (i.e. 1850, 2000, 1850-2000, 1850-2100)
+ (i.e. PtVg, 1850, 2000, 2010, 1850-2000, 1850-2100)
"-sim_year list" to list valid simulation years
(default 2000)
-structure "structure" The overall structure being used [ standard | fast ]
OPTIONS
- -bgc "value" Build CLM with BGC package [ sp | cn | bgc | fates ]
+ -driver "value" CESM driver type you will run with [ mct | nuopc ]
+ -bgc "value" Build CLM with BGC package [ sp | bgc | fates ]
(default is sp).
CLM Biogeochemistry mode
sp = Satellite Phenology (SP)
This toggles off the namelist variable: use_cn
- cn = Carbon Nitrogen model (CN)
- This toggles on the namelist variable: use_cn
bgc = Carbon Nitrogen with methane, nitrification, vertical soil C,
- CENTURY decomposition
- This toggles on the namelist variables:
- use_cn, use_lch4, use_nitrif_denitrif, use_vertsoilc, use_century_decomp
- fates = FATES/Ecosystem Demography with below ground BGC
- This toggles on the namelist variables:
- use_fates, use_vertsoilc, use_century_decomp
+ CENTURY or MIMICS decomposition
+ This toggles on the namelist variables:
+ use_cn, use_lch4, use_nitrif_denitrif
+ fates = FATES/Ecosystem Demography with below ground BGC
+ CENTURY or MIMICS decomposition
+ This toggles on the namelist variables:
+ use_fates. use_lch4 and use_nitrif_denitrif are optional
+
(Only for CLM4.5/CLM5.0)
-[no-]chk_res Also check [do NOT check] to make sure the resolution and
land-mask is valid.
@@ -159,7 +160,7 @@ OPTIONS
Default: -no-drydep
(Note: buildnml copies the file for use by the driver)
-dynamic_vegetation Toggle for dynamic vegetation model. (default is off)
- (can ONLY be turned on when BGC type is 'cn' or 'bgc')
+ (can ONLY be turned on when BGC type is 'bgc')
This turns on the namelist variable: use_cndv
(Deprecated, this will be removed)
-fire_emis Produce a fire_emis_nl namelist that will go into the
@@ -167,13 +168,17 @@ OPTIONS
(Note: buildnml copies the file for use by the driver)
-glc_nec Glacier number of elevation classes [0 | 3 | 5 | 10 | 36]
(default is 0) (standard option with land-ice model is 10)
+ -glc_use_antarctica Set defaults appropriate for runs that include Antarctica
-help [or -h] Print usage to STDOUT.
- -light_res Resolution of lightning dataset to use for CN fire (360x720 or 94x192)
+ -light_res Resolution of lightning dataset to use for CN or FATES fire (360x720, 106x174, or 94x192)
+ 106x174 can only be used for NEON sites
+ -lilac If CTSM is being run through LILAC (normally not used)
+ (LILAC is the Lightweight Infrastructure for Land-Atmosphere Coupling)
-ignore_ic_date Ignore the date on the initial condition files
when determining what input initial condition file to use.
-ignore_ic_year Ignore just the year part of the date on the initial condition files
when determining what input initial condition file to use.
- -ignore_warnings Allow build-namelist to continue, rather than stopping on
+ -ignore_warnings Allow build-namelist to continue, rather than stopping on
warnings
-infile "filepath" Specify a file (or list of files) containing namelists to
read values from.
@@ -189,7 +194,6 @@ OPTIONS
form \$CASEDIR/user_nl_clm/user_nl_clm_????)
-inputdata "filepath" Writes out a list containing pathnames for required input datasets in
file specified.
- -l_ncpl "LND_NCPL" Number of CLM coupling time-steps in a day.
-lnd_tuning_mode "value" Use the parameters tuned for the given configuration (CLM version and atmospheric forcing)
-mask "landmask" Type of land-mask (default, navy, gx3v5, gx1v5 etc.)
"-mask list" to list valid land masks.
@@ -203,9 +207,10 @@ OPTIONS
-[no-]note Add note to output namelist [do NOT add note] about the
arguments to build-namelist.
-output_reals Output real parameters to the given output file.
- -rcp "value" Representative concentration pathway (rcp) to use for
+ -ssp_rcp "value" Shared Socioeconomic Pathway (SSP) and
+ Representative Concentration Pathway (RCP) combination to use for
future scenarios.
- "-rcp list" to list valid rcp settings.
+ "-ssp_rcp list" to list valid ssp_rcp settings.
-s Turns on silent mode - only fatal messages issued.
-test Enable checking that input datasets exist on local filesystem.
-use_case "case" Specify a use case which will provide default values.
@@ -241,7 +246,7 @@ sub process_commandline {
# Save the command line arguments to the script. NOTE: this must be
# before GetOptions() is called because items are removed from from
# the array!
- $nl_flags->{'cmdline'} = "@ARGV";
+ $nl_flags->{'cmdline'} = "@ARGV\n";
my %opts = ( cimeroot => undef,
config => "config_cache.xml",
@@ -251,20 +256,22 @@ sub process_commandline {
co2_type => undef,
co2_ppmv => undef,
clm_demand => "null",
+ driver => "nuopc",
help => 0,
glc_nec => "default",
+ glc_use_antarctica => 0,
light_res => "default",
- l_ncpl => undef,
lnd_tuning_mode => "default",
lnd_frac => undef,
dir => "$cwd",
- rcp => "default",
+ ssp_rcp => "default",
sim_year => "default",
structure => undef,
clm_accelerated_spinup=> "default",
chk_res => undef,
note => undef,
drydep => 0,
+ lilac => 0,
output_reals_filename => undef,
fire_emis => 0,
megan => "default",
@@ -283,6 +290,7 @@ sub process_commandline {
GetOptions(
"cimeroot=s" => \$opts{'cimeroot'},
+ "driver=s" => \$opts{'driver'},
"clm_demand=s" => \$opts{'clm_demand'},
"co2_ppmv=f" => \$opts{'co2_ppmv'},
"co2_type=s" => \$opts{'co2_type'},
@@ -292,12 +300,14 @@ sub process_commandline {
"clm_usr_name=s" => \$opts{'clm_usr_name'},
"envxml_dir=s" => \$opts{'envxml_dir'},
"drydep!" => \$opts{'drydep'},
+ "lilac!" => \$opts{'lilac'},
"fire_emis!" => \$opts{'fire_emis'},
"ignore_warnings!" => \$opts{'ignore_warnings'},
"chk_res!" => \$opts{'chk_res'},
"note!" => \$opts{'note'},
"megan!" => \$opts{'megan'},
"glc_nec=i" => \$opts{'glc_nec'},
+ "glc_use_antarctica!" => \$opts{'glc_use_antarctica'},
"light_res=s" => \$opts{'light_res'},
"d:s" => \$opts{'dir'},
"h|help" => \$opts{'help'},
@@ -306,12 +316,11 @@ sub process_commandline {
"infile=s" => \$opts{'infile'},
"lnd_frac=s" => \$opts{'lnd_frac'},
"lnd_tuning_mode=s" => \$opts{'lnd_tuning_mode'},
- "l_ncpl=i" => \$opts{'l_ncpl'},
"inputdata=s" => \$opts{'inputdata'},
"mask=s" => \$opts{'mask'},
"namelist=s" => \$opts{'namelist'},
"res=s" => \$opts{'res'},
- "rcp=s" => \$opts{'rcp'},
+ "ssp_rcp=s" => \$opts{'ssp_rcp'},
"s|silent" => \$opts{'silent'},
"sim_year=s" => \$opts{'sim_year'},
"structure=s" => \$opts{'structure'},
@@ -476,7 +485,7 @@ sub read_envxml_case_files {
my %envxml = ();
if ( defined($opts->{'envxml_dir'}) ) {
(-d $opts->{'envxml_dir'}) or $log->fatal_error( "envxml_dir is not a directory" );
- my @files = glob( $opts->{'envxml_dir'}."/env_*xml" );
+ my @files = bsd_glob( $opts->{'envxml_dir'}."/env_*xml" );
($#files >= 0) or $log->fatal_error( "there are no env_*xml files in the envxml_dir" );
foreach my $file (@files) {
$log->verbose_message( "Open env.xml file: $file" );
@@ -623,7 +632,7 @@ sub process_namelist_commandline_options {
#
# First get the command-line specified overall values or their defaults
# Obtain default values for the following build-namelist input arguments
- # : res, mask, rcp, sim_year, sim_year_range, and clm_accelerated_spinup.
+ # : res, mask, ssp_rcp, sim_year, sim_year_range, and clm_accelerated_spinup.
my ($opts, $nl_flags, $definition, $defaults, $nl, $physv) = @_;
@@ -637,7 +646,7 @@ sub process_namelist_commandline_options {
setup_cmdl_crop($opts, $nl_flags, $definition, $defaults, $nl);
setup_cmdl_maxpft($opts, $nl_flags, $definition, $defaults, $nl);
setup_cmdl_glc_nec($opts, $nl_flags, $definition, $defaults, $nl);
- setup_cmdl_rcp($opts, $nl_flags, $definition, $defaults, $nl);
+ setup_cmdl_ssp_rcp($opts, $nl_flags, $definition, $defaults, $nl);
setup_cmdl_simulation_year($opts, $nl_flags, $definition, $defaults, $nl);
setup_cmdl_dynamic_vegetation($opts, $nl_flags, $definition, $defaults, $nl);
setup_cmdl_fates_mode($opts, $nl_flags, $definition, $defaults, $nl);
@@ -682,6 +691,13 @@ sub setup_cmdl_resolution {
}
}
}
+ # For NEON sites
+ if ($nl_flags->{'res'} =~ /NEON/) {
+ $nl_flags->{'neon'} = ".true."
+ } else {
+ $nl_flags->{'neon'} = ".false."
+ }
+
}
#-------------------------------------------------------------------------------
@@ -735,40 +751,27 @@ sub setup_cmdl_fates_mode {
$var = "use_fates";
if ( &value_is_true($nl_flags->{$var}) ) {
- # This section is a place-holder to test for modules that are not allowed with ED
+ # This section is a place-holder to test for modules that are not allowed with FATES
# the defaults which are set in the logic section of the namelist builder will
# automatically set these correctly (well that is the assumption), but here we
# want to set a catch to fail and warn users if they explicitly set incompatible user namelist
# options
-# my $var = "use_somevar";
-# $val = $nl_flags->{$var};
-# if ( defined($nl->get_value($var)) ) {
-# if ( &value_is_true($nl->get_value($var)) ) {
-# $log->fatal_error("$var was set to .true., which is incompatible when -bgc fates option is used.");
-# }
-# }
-
-
- # The following variables may be set by the user and are compatible with use_fates
- # no need to set defaults, covered in a different routine
- my @list = ( "use_vertsoilc", "use_century_decomp", "use_lch4" );
- foreach my $var ( @list ) {
- if ( defined($nl->get_value($var)) ) {
- $nl_flags->{$var} = $nl->get_value($var);
- $val = $nl_flags->{$var};
- my $group = $definition->get_group_name($var);
- $nl->set_variable_value($group, $var, $val);
- if ( ! $definition->is_valid_value( $var, $val ) ) {
- my @valid_values = $definition->get_valid_values( $var );
- $log->fatal_error("$var has a value ($val) that is NOT valid. Valid values are: @valid_values");
- }
- }
- }
+ my $var = "use_crop";
+ $val = $nl_flags->{$var};
+ if ( defined($nl->get_value($var)) ) {
+ if ( &value_is_true($nl->get_value($var)) ) {
+ $log->fatal_error("$var was set to .true., which is incompatible when -bgc fates option is used.");
+ }
+ }
+
} else {
# dis-allow fates specific namelist items with non-fates runs
- my @list = ( "use_fates_spitfire", "use_fates_planthydro", "use_fates_ed_st3", "use_fates_ed_prescribed_phys",
- "use_fates_inventory_init", "fates_inventory_ctrl_filename","use_fates_logging" );
+ my @list = ( "fates_spitfire_mode", "use_fates_planthydro", "use_fates_ed_st3", "use_fates_ed_prescribed_phys",
+ "use_fates_cohort_age_tracking","use_fates_inventory_init","use_fates_fixed_biogeog",
+ "use_fates_nocomp","use_fates_sp","fates_inventory_ctrl_filename","use_fates_logging",
+ "fates_parteh_mode","use_fates_tree_damage" );
+ # dis-allow fates specific namelist items with non-fates runs
foreach my $var ( @list ) {
if ( defined($nl->get_value($var)) ) {
$log->fatal_error("$var is being set, but can ONLY be set when -bgc fates option is used.\n");
@@ -828,10 +831,7 @@ sub setup_cmdl_bgc {
$log->verbose_message("Using $nl_flags->{$var} for bgc.");
# now set the actual name list variables based on the bgc alias
- if ($nl_flags->{$var} eq "cn" ) {
- $nl_flags->{'use_cn'} = ".true.";
- $nl_flags->{'use_fates'} = ".false.";
- } elsif ($nl_flags->{$var} eq "bgc" ) {
+ if ($nl_flags->{$var} eq "bgc" ) {
$nl_flags->{'use_cn'} = ".true.";
$nl_flags->{'use_fates'} = ".false.";
} elsif ($nl_flags->{$var} eq "fates" ) {
@@ -848,35 +848,6 @@ sub setup_cmdl_bgc {
$log->fatal_error("The namelist variable use_fates is inconsistent with the -bgc option");
}
- {
- # If the variable has already been set use it, if not set to the value defined by the bgc_mode
- my @list = ( "use_lch4", "use_nitrif_denitrif", "use_vertsoilc", "use_century_decomp" );
- my $ndiff = 0;
- my %settings = ( 'bgc_mode'=>$nl_flags->{'bgc_mode'} );
- foreach my $var ( @list ) {
- my $default_setting = $defaults->get_value($var, \%settings );
- if ( ! defined($nl->get_value($var)) ) {
- $nl_flags->{$var} = $default_setting;
- } else {
- if ( $nl->get_value($var) ne $default_setting ) {
- $ndiff += 1;
- }
- $nl_flags->{$var} = $nl->get_value($var);
- }
- $val = $nl_flags->{$var};
- my $group = $definition->get_group_name($var);
- $nl->set_variable_value($group, $var, $val);
- if ( ! $definition->is_valid_value( $var, $val ) ) {
- my @valid_values = $definition->get_valid_values( $var );
- $log->fatal_error("$var has a value ($val) that is NOT valid. Valid values are: @valid_values");
- }
- }
- # If all the variables are different report it as an error
- if ( $ndiff == ($#list + 1) ) {
- $log->fatal_error("You are contradicting the -bgc setting with the namelist variables: @list" );
- }
- }
-
# Now set use_cn and use_fates
foreach $var ( "use_cn", "use_fates" ) {
$val = $nl_flags->{$var};
@@ -887,13 +858,82 @@ sub setup_cmdl_bgc {
$log->fatal_error("$var has a value ($val) that is NOT valid. Valid values are: @valid_values");
}
}
-
+ #
+ # Set FATES-SP mode
+ #
+ if ( &value_is_true( $nl_flags->{'use_fates'} ) ) {
+ add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'use_fates_sp', 'use_fates'=>$nl_flags->{'use_fates'} );
+ if ( &value_is_true($nl->get_value('use_fates_sp')) ) {
+ $nl_flags->{'use_fates_sp'} = ".true.";
+ } else {
+ $nl_flags->{'use_fates_sp'} = ".false.";
+ }
+ } else {
+ $nl_flags->{'use_fates_sp'} = ".false.";
+ }
+ #
+ # Determine Soil decomposition method
+ #
+ my $var = "soil_decomp_method";
+ add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, $var,
+ 'phys'=>$nl_flags->{'phys'}, 'use_cn'=>$nl_flags->{'use_cn'}, 'use_fates'=>$nl_flags->{'use_fates'},
+ 'use_fates_sp'=>$nl_flags->{'use_fates_sp'} );
+ my $soil_decomp_method = remove_leading_and_trailing_quotes( $nl->get_value( $var ) );
+
+ if ( &value_is_true($nl_flags->{'use_cn'}) ) {
+ if ( $soil_decomp_method eq "None" ) {
+ $log->fatal_error("$var must NOT be None if use_cn is on");
+ }
+ } elsif ( &value_is_true($nl_flags->{'use_fates'}) && (not &value_is_true($nl_flags->{'use_fates_sp'})) ) {
+ if ( $soil_decomp_method eq "None" ) {
+ $log->fatal_error("$var must NOT be None if use_fates is on and use_fates_sp is not TRUE");
+ }
+ } elsif ( $soil_decomp_method ne "None" ) {
+ $log->fatal_error("$var must be None if use_cn and use_fates are off");
+ }
+ #
+ # Soil decomposition control variables, methane and Nitrification-Denitrification
+ #
+ my @list = ( "use_lch4", "use_nitrif_denitrif" );
+ my %settings = ( 'bgc_mode'=>$nl_flags->{'bgc_mode'} );
+ foreach my $var ( @list ) {
+ add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, $var,
+ 'phys'=>$nl_flags->{'phys'}, 'soil_decomp_method'=>$soil_decomp_method );
+ $nl_flags->{$var} = $nl->get_value($var);
+ }
+ if ( $soil_decomp_method eq "None" ) {
+ foreach my $var ( @list ) {
+ if ( &value_is_true($nl_flags->{$var}) ) {
+ $log->fatal_error("When soil_decomp_method is None $var can NOT be TRUE");
+ }
+ }
+ } else {
+ # nitrif_denitrif can only be .false. if fates is on
+ if ( (! &value_is_true($nl_flags->{'use_fates'})) && &value_is_true($nl_flags->{'use_cn'}) ) {
+ $var = "use_nitrif_denitrif";
+ if ( ! &value_is_true($nl_flags->{$var}) ) {
+ $log->warning("$var normally use_nitrif_denitrif should only be FALSE if FATES is on, it has NOT been validated for being off for BGC mode" );
+ }
+ }
+ # if MIMICS is on and use_fates = .true. then use_lch4 must = .true.
+ if ( (! &value_is_true($nl_flags->{'use_lch4'})) && &value_is_true($nl_flags->{'use_fates'}) ) {
+ if ( $soil_decomp_method eq "MIMICSWieder2015" ) {
+ $log->warning("If MIMICS is on and use_fates = .true. then use_lch4 must be .true. and currently it's not" );
+ }
+ }
+ }
+ #
+ # Set FUN for BGC
+ #
my $var = "use_fun";
if ( ! defined($nl->get_value($var)) ) {
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, $var,
'phys'=>$nl_flags->{'phys'}, 'use_cn'=>$nl_flags->{'use_cn'},
'use_nitrif_denitrif'=>$nl_flags->{'use_nitrif_denitrif'} );
}
+ if ( (! &value_is_true($nl_flags->{'use_cn'}) ) && &value_is_true($nl->get_value('use_fun')) ) {
+ $log->fatal_error("When FUN is on, use_cn MUST also be on!");
+ }
if ( (! &value_is_true($nl_flags->{'use_nitrif_denitrif'}) ) && &value_is_true($nl->get_value('use_fun')) ) {
$log->fatal_error("When FUN is on, use_nitrif_denitrif MUST also be on!");
}
@@ -908,10 +948,19 @@ sub setup_cmdl_fire_light_res {
my $var = "light_res";
my $val = $opts->{$var};
+ if ( &value_is_true($nl->get_value('use_cn')) ) {
+ add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'fire_method');
+ }
+ my $fire_method = remove_leading_and_trailing_quotes( $nl->get_value('fire_method') );
if ( $val eq "default" ) {
- $nl_flags->{$var} = remove_leading_and_trailing_quotes($defaults->get_value($var));
+ add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, $var,
+ 'phys'=>$nl_flags->{'phys'}, 'use_cn'=>$nl_flags->{'use_cn'},
+ 'neon'=>$nl_flags->{'neon'},
+ 'fates_spitfire_mode'=>$nl->get_value('fates_spitfire_mode'),
+ 'use_fates'=>$nl_flags->{'use_fates'}, fire_method=>$fire_method );
+ $val = remove_leading_and_trailing_quotes( $nl->get_value($var) );
+ $nl_flags->{$var} = $val;
} else {
- my $fire_method = remove_leading_and_trailing_quotes( $nl->get_value('fire_method') );
if ( defined($fire_method) && $val ne "none" ) {
if ( $fire_method eq "nofire" ) {
$log->fatal_error("-$var option used with fire_method='nofire'. -$var can ONLY be used without the nofire option");
@@ -922,34 +971,56 @@ sub setup_cmdl_fire_light_res {
$log->fatal_error("-$var option used while also explicitly setting stream_fldfilename_lightng filename which is a contradiction. Use one or the other not both.");
}
if ( ! &value_is_true($nl->get_value('use_cn')) ) {
- $log->fatal_error("-$var option used CN is NOT on. -$var can only be used when CN is on (with bgc: cn or bgc)");
- }
- if ( &value_is_true($nl->get_value('use_cn')) && $val eq "none" ) {
- $log->fatal_error("-$var option is set to none, but CN is on (with bgc: cn or bgc) which is a contradiction");
+ if ( &value_is_true($nl_flags->{'use_fates'}) ) {
+ if ( $nl->get_value('fates_spitfire_mode') < 2) {
+ if ( $val ne "none" ) {
+ $log->fatal_error("-$var option used when FATES is on, but fates_spitfire_mode does NOT use lightning data");
+ }
+ } else {
+ if ( $val eq "none" ) {
+ $log->fatal_error("-$var option is set to none, but FATES is on and fates_spitfire_mode requires lightning data");
+ }
+ }
+ } else {
+ $log->fatal_error("-$var option used when FATES off and CN is NOT on. -$var can only be used when BGC is set to bgc or fates");
+ }
+ } else {
+ if ( $val eq "none" and $fire_method ne "nofire" ) {
+ $log->fatal_error("-$var option is set to none, but CN is on (with bgc: cn or bgc) which is a contradiction");
+ }
}
$nl_flags->{$var} = $val;
}
+ # Check that NEON data is only used for NEON sites
+ if ( $val eq "106x174" ) {
+ if ( ! &value_is_true($nl_flags->{'neon'}) ) {
+ if ( defined($opts->{'clm_usr_name'}) ) {
+ $log->warning("The NEON lightning dataset does NOT cover the entire globe, make sure it covers the region for your grid");
+ } else {
+ $log->fatal_error("The NEON lightning dataset can NOT be used for global grids or regions or points outside of its area as it does NOT cover the entire globe.");
+ }
+ }
+ }
+ # check for valid values...
my $group = $definition->get_group_name($var);
$nl->set_variable_value($group, $var, quote_string($nl_flags->{$var}) );
if ( ! $definition->is_valid_value( $var, $nl_flags->{$var}, 'noquotes'=>1 ) ) {
- my @valid_values = $definition->get_valid_values( $var );
- $log->fatal_error("$var has a value (".$nl_flags->{$var}.") that is NOT valid. Valid values are: @valid_values");
+ my @valid_values = $definition->get_valid_values( $var );
+ $log->fatal_error("$var has a value (".$nl_flags->{$var}.") that is NOT valid. Valid values are: @valid_values");
}
$log->verbose_message("Using $nl_flags->{$var} for $var.");
#
- # Set flag if cn-fires are on or not
+ # Set flag if cn-fires are on or not, only for BGC (not FATES)
#
$var = "cnfireson";
- if ( &value_is_true($nl->get_value('use_cn')) ) {
- add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'fire_method');
- }
my $fire_method = remove_leading_and_trailing_quotes( $nl->get_value('fire_method') );
- if ( defined($fire_method) && ! &value_is_true($nl_flags->{'use_cn'}) ) {
- $log->fatal_error("fire_method is being set even though bgc is NOT cn or bgc.");
+ if ( defined($fire_method) && ! &value_is_true($nl_flags->{'use_cn'}) && ! &value_is_true($nl_flags->{'use_fates'}) ) {
+ $log->fatal_error("fire_method is being set while use_cn and use_fates are both false.");
}
if ( defined($fire_method) && $fire_method eq "nofire" ) {
$nl_flags->{$var} = ".false.";
- } elsif ( &value_is_true($nl->get_value('use_cn')) ) {
+# } elsif ( &value_is_true($nl->get_value('use_cn')) || $nl_flags->{'fates_spitfire_mode'} > 1 ) {
+ } elsif ( &value_is_true($nl->get_value('use_cn')) || &value_is_true($nl->get_value('use_fates')) ) {
$nl_flags->{$var} = ".true.";
} else {
$nl_flags->{$var} = ".false.";
@@ -975,8 +1046,8 @@ sub setup_cmdl_crop {
if ( ($nl_flags->{'crop'} eq 1 ) && ($nl_flags->{'bgc_mode'} eq "sp") ) {
$log->fatal_error("** Cannot turn crop mode on mode bgc=sp\n" .
"**\n" .
- "** Set the bgc mode to 'cn' or 'bgc' by the following means from highest to lowest precedence:\n" .
- "** * by the command-line options -bgc cn\n" .
+ "** Set the bgc mode to 'bgc' by the following means from highest to lowest precedence:\n" .
+ "** * by the command-line options -bgc bgc\n" .
"** * by a default configuration file, specified by -defaults");
}
@@ -1010,37 +1081,6 @@ sub setup_cmdl_maxpft {
}
$nl_flags->{'maxpft'} = $val;
- if ( ($nl_flags->{'bgc_mode'} ne "sp") && ($nl_flags->{'maxpft'} != $maxpatchpft{$nl_flags->{'use_crop'}}) ) {
- $log->fatal_error("** For CN or BGC mode you MUST set max patch PFT's to $maxpatchpft{$nl_flags->{'use_crop'}}\n" .
- "**\n" .
- "** When the crop model is on then it must be set to $maxpatchpft{'crop'} otherwise to $maxpatchpft{'nocrop'}\n" .
- "** Set the bgc mode, crop and maxpft by the following means from highest to lowest precedence:\n" .
- "** * by the command-line options -bgc, -crop and -maxpft\n" .
- "** * by a default configuration file, specified by -defaults\n" .
- "**");
- }
- if ( $nl_flags->{'maxpft'} > $maxpatchpft{$nl_flags->{'use_crop'}} ) {
- $log->fatal_error("** Max patch PFT's can NOT exceed $maxpatchpft{$nl_flags->{'use_crop'}}\n" .
- "**\n" .
- "** Set maxpft by the following means from highest to lowest precedence:\n" .
- "** * by the command-line options -maxpft\n" .
- "** * by a default configuration file, specified by -defaults\n" .
- "**");
- }
- if ( $nl_flags->{'maxpft'} != $maxpatchpft{$nl_flags->{'use_crop'}} ) {
- $log->warning("running with maxpft NOT equal to $maxpatchpft{$nl_flags->{'use_crop'}} is " .
- "NOT validated / scientifically supported." );
- }
- $log->verbose_message("Using $nl_flags->{'maxpft'} for maxpft.");
-
- $var = "maxpatch_pft";
- $val = $nl_flags->{'maxpft'};
- my $group = $definition->get_group_name($var);
- $nl->set_variable_value($group, $var, $val);
- if ( ! $definition->is_valid_value( $var, $val ) ) {
- my @valid_values = $definition->get_valid_values( $var );
- $log->fatal_error("$var has a value ($val) that is NOT valid. Valid values are: @valid_values");
- }
}
#-------------------------------------------------------------------------------
@@ -1070,26 +1110,26 @@ sub setup_cmdl_glc_nec {
#-------------------------------------------------------------------------------
-sub setup_cmdl_rcp {
- # representative concentration pathway
+sub setup_cmdl_ssp_rcp {
+ # shared socioeconmic pathway and representative concentration pathway combination
my ($opts, $nl_flags, $definition, $defaults, $nl) = @_;
my $val;
- my $var = "rcp";
+ my $var = "ssp_rcp";
if ( $opts->{$var} ne "default" ) {
$val = $opts->{$var};
} else {
- $val = $defaults->get_value($var);
+ $val = remove_leading_and_trailing_quotes( $defaults->get_value($var) );
}
- $nl_flags->{'rcp'} = $val;
- $opts->{'rcp'} = $nl_flags->{'rcp'};
+ $nl_flags->{'ssp_rcp'} = $val;
+ $opts->{'ssp_rcp'} = $nl_flags->{'ssp_rcp'};
my $group = $definition->get_group_name($var);
- $nl->set_variable_value($group, $var, $val);
- if ( ! $definition->is_valid_value( $var, $val ) ) {
+ $nl->set_variable_value($group, $var, quote_string($val) );
+ if ( ! $definition->is_valid_value( $var, $val, 'noquotes'=>1 ) ) {
my @valid_values = $definition->get_valid_values( $var );
$log->fatal_error("$var has a value ($val) that is NOT valid. Valid values are: @valid_values");
}
- $log->verbose_message("CLM future scenario representative concentration is $nl_flags->{'rcp'}");
+ $log->verbose_message("CLM future scenario SSP-RCP combination is $nl_flags->{'ssp_rcp'}");
}
#-------------------------------------------------------------------------------
@@ -1115,21 +1155,30 @@ sub setup_cmdl_spinup {
$log->fatal_error("$var has an invalid value ($val). Valid values are: @valid_values");
}
$log->verbose_message("CLM accelerated spinup mode is $val");
- add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition,
- $defaults, $nl, "spinup_state", clm_accelerated_spinup=>$nl_flags->{$var},
- use_cn=>$nl_flags->{'use_cn'}, use_fates=>$nl_flags->{'use_fates'} );
- if ( $nl->get_value("spinup_state") ne 0 ) {
- $nl_flags->{'bgc_spinup'} = "on";
- if ( $nl_flags->{'bgc_mode'} eq "sp" ) {
- $log->fatal_error("spinup_state is accelerated (=1 or 2) which is for a BGC mode of CN or BGC," .
- " but the BGC mode is Satellite Phenology, change one or the other");
- }
- if ( $nl_flags->{'clm_accelerated_spinup'} eq "off" ) {
- $log->fatal_error("spinup_state is accelerated, but clm_accelerated_spinup is off, change one or the other");
- }
+ if ( &value_is_true($nl_flags->{'use_cn'}) ) {
+ add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition,
+ $defaults, $nl, "spinup_state", clm_accelerated_spinup=>$nl_flags->{$var},
+ use_cn=>$nl_flags->{'use_cn'}, use_fates=>$nl_flags->{'use_fates'} );
+ if ( $nl->get_value("spinup_state") ne 0 ) {
+ $nl_flags->{'bgc_spinup'} = "on";
+ if ( $nl_flags->{'clm_accelerated_spinup'} eq "off" ) {
+ $log->fatal_error("spinup_state is accelerated, but clm_accelerated_spinup is off, change one or the other");
+ }
+ } else {
+ $nl_flags->{'bgc_spinup'} = "off";
+ $val = $defaults->get_value($var);
+ }
+ # For AD spinup mode by default reseed dead plants
+ if ( $nl_flags->{$var} ne "off" ) {
+ add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition,
+ $defaults, $nl, "reseed_dead_plants", clm_accelerated_spinup=>$nl_flags->{$var},
+ use_cn=>$nl_flags->{'use_cn'} );
+ }
} else {
- $nl_flags->{'bgc_spinup'} = "off";
- $val = $defaults->get_value($var);
+ if ( defined($nl->get_value("spinup_state")) ) {
+ $log->fatal_error("spinup_state is accelerated (=1 or 2) which is for a BGC mode of CN or BGC," .
+ " but the BGC mode is Satellite Phenology, change one or the other");
+ }
}
$nl_flags->{$var} = $val;
my $group = $definition->get_group_name($var);
@@ -1139,7 +1188,7 @@ sub setup_cmdl_spinup {
$log->fatal_error("$var has an invalid value ($val). Valid values are: @valid_values");
}
if ( $nl_flags->{'bgc_spinup'} eq "on" && (not &value_is_true( $nl_flags->{'use_cn'} )) && (not &value_is_true($nl_flags->{'use_fates'})) ) {
- $log->fatal_error("$var can not be '$nl_flags->{'bgc_spinup'}' if neither CN nor ED is turned on (use_cn=$nl_flags->{'use_cn'}, use_fates=$nl_flags->{'use_fates'}).");
+ $log->fatal_error("$var can not be '$nl_flags->{'bgc_spinup'}' if neither CN nor FATES is turned on (use_cn=$nl_flags->{'use_cn'}, use_fates=$nl_flags->{'use_fates'}).");
}
if ( $nl->get_value("spinup_state") eq 0 && $nl_flags->{'bgc_spinup'} eq "on" ) {
$log->fatal_error("Namelist spinup_state contradicts the command line option bgc_spinup" );
@@ -1166,19 +1215,19 @@ sub setup_cmdl_simulation_year {
}
$nl_flags->{'sim_year_range'} = $defaults->get_value("sim_year_range");
- $nl_flags->{'sim_year'} = $val;
+ $nl_flags->{'sim_year'} = &remove_leading_and_trailing_quotes($val);
if ( $val =~ /([0-9]+)-([0-9]+)/ ) {
$nl_flags->{'sim_year'} = $1;
$nl_flags->{'sim_year_range'} = $val;
}
$val = $nl_flags->{'sim_year'};
my $group = $definition->get_group_name($var);
- $nl->set_variable_value($group, $var, $val );
+ $nl->set_variable_value($group, $var, "'$val'" );
if ( ! $definition->is_valid_value( $var, $val, 'noquotes'=>1 ) ) {
my @valid_values = $definition->get_valid_values( $var );
$log->fatal_error("$var of $val is NOT valid. Valid values are: @valid_values");
}
- $nl->set_variable_value($group, $var, $val );
+ $nl->set_variable_value($group, $var, "'$val'" );
$log->verbose_message("CLM sim_year is $nl_flags->{'sim_year'}");
$var = "sim_year_range";
@@ -1204,19 +1253,34 @@ sub setup_cmdl_run_type {
my $val;
my $var = "clm_start_type";
+ my $ic_date = $nl->get_value('start_ymd');
+ my $st_year;
+ if ( defined($ic_date) ) {
+ $st_year = int( $ic_date / 10000);
+ } else {
+ $st_year = $nl_flags->{'sim_year'};
+ $ic_date = $st_year *10000 + 101;
+ my $date = 'start_ymd';
+ my $group = $definition->get_group_name($date);
+ $nl->set_variable_value($group, $date, $ic_date );
+ }
if (defined $opts->{$var}) {
if ($opts->{$var} eq "default" ) {
- add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, $var,
- 'use_cndv'=>$nl_flags->{'use_cndv'}, 'use_fates'=>$nl_flags->{'use_fates'} );
+ add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, $var,
+ 'use_cndv'=>$nl_flags->{'use_cndv'}, 'use_fates'=>$nl_flags->{'use_fates'},
+ 'sim_year'=>$st_year, 'sim_year_range'=>$nl_flags->{'sim_year_range'},
+ 'bgc_spinup'=>$nl_flags->{'bgc_spinup'} );
} else {
my $group = $definition->get_group_name($var);
$nl->set_variable_value($group, $var, quote_string( $opts->{$var} ) );
}
} else {
- add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, $var,
- 'use_cndv'=>$nl_flags->{'use_cndv'}, 'use_fates'=>$nl_flags->{'use_fates'} );
+ add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, $var,
+ 'use_cndv'=>$nl_flags->{'use_cndv'}, 'use_fates'=>$nl_flags->{'use_fates'},
+ 'sim_year'=>$st_year );
}
$nl_flags->{'clm_start_type'} = $nl->get_value($var);
+ $nl_flags->{'st_year'} = $st_year;
}
#-------------------------------------------------------------------------------
@@ -1231,8 +1295,8 @@ sub setup_cmdl_dynamic_vegetation {
if ( ($nl_flags->{'dynamic_vegetation'} eq 1 ) && ($nl_flags->{'bgc_mode'} eq "sp") ) {
$log->fatal_error("** Cannot turn dynamic_vegetation mode on with bgc=sp.\n" .
"**\n" .
- "** Set the bgc mode to 'cn' or 'bgc' by the following means from highest to lowest precedence:" .
- "** * by the command-line options -bgc cn\n");
+ "** Set the bgc mode to 'bgc' by the following means from highest to lowest precedence:" .
+ "** * by the command-line options -bgc bgc\n");
}
$var = "use_cndv";
@@ -1251,7 +1315,7 @@ sub setup_cmdl_dynamic_vegetation {
my @valid_values = $definition->get_valid_values( $var );
$log->fatal_error("$var has a value ($val) that is NOT valid. Valid values are: @valid_values");
}
- $log->warning("The use_cndv=T option is deprecated. We do NOT recommend using it." .
+ $log->warning("The use_cndv=T option is deprecated. We do NOT recommend using it." .
" It's known to have issues and it's not calibrated.");
}
}
@@ -1284,9 +1348,10 @@ sub setup_cmdl_vichydro {
$var = "use_vichydro";
$val = $nl->get_value($var);
+ my $set = undef;
if ($nl_flags->{'vichydro'} eq 1) {
my $group = $definition->get_group_name($var);
- my $set = ".true.";
+ $set = ".true.";
if ( defined($val) && $set ne $val ) {
$log->fatal_error("$var contradicts the command-line -vichydro option" );
}
@@ -1295,7 +1360,10 @@ sub setup_cmdl_vichydro {
my @valid_values = $definition->get_valid_values( $var );
$log->fatal_error("$var has a value ($val) that is NOT valid. Valid values are: @valid_values");
}
+ } else {
+ $set = ".false.";
}
+ $nl_flags->{$var} = $set;
}
@@ -1377,7 +1445,7 @@ sub process_namelist_commandline_clm_usr_name {
my %settings;
$settings{'mask'} = $nl_flags->{'mask'};
$settings{'sim_year'} = $nl_flags->{'sim_year'};
- $settings{'rcp'} = $nl_flags->{'rcp'};
+ $settings{'ssp_rcp'} = $nl_flags->{'ssp_rcp'};
$settings{'sim_year_range'} = $nl_flags->{'sim_year_range'};
$settings{'clm_accelerated_spinup'} = $nl_flags->{'clm_accelerated_spinup'};
$settings{'clm_usr_name'} = $opts->{'clm_usr_name'};
@@ -1399,9 +1467,6 @@ sub process_namelist_commandline_clm_usr_name {
$nvars++;
}
}
- if ( $nvars == 0 ) {
- $log->message("setting clm_usr_name -- but did NOT find any user datasets: $opts->{'clm_usr_name'}", $opts);
- }
# Go through all variables and expand any XML env settings in them
expand_xml_variables_in_namelist( $nl_usrfile, $envxml_ref );
# Merge input values into namelist. Previously specified values have higher precedence
@@ -1424,7 +1489,7 @@ sub process_namelist_commandline_use_case {
my %settings;
$settings{'res'} = $nl_flags->{'res'};
- $settings{'rcp'} = $nl_flags->{'rcp'};
+ $settings{'ssp_rcp'} = $nl_flags->{'ssp_rcp'};
$settings{'mask'} = $nl_flags->{'mask'};
$settings{'sim_year'} = $nl_flags->{'sim_year'};
$settings{'sim_year_range'} = $nl_flags->{'sim_year_range'};
@@ -1443,7 +1508,7 @@ sub process_namelist_commandline_use_case {
my $val = $uc_defaults->get_value($var, \%settings );
if ( defined($val) ) {
- $log->message("CLM adding use_case $opts->{'use_case'} defaults for var '$var' with val '$val'");
+ $log->verbose_message("CLM adding use_case $opts->{'use_case'} defaults for var '$var' with val '$val'");
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl_usecase, $var, 'val'=>$val);
}
@@ -1486,17 +1551,17 @@ sub process_namelist_inline_logic {
##############################
# namelist group: clm_inparm #
##############################
- setup_logic_site_specific($nl_flags, $definition, $nl);
+ setup_logic_site_specific($opts, $nl_flags, $definition, $defaults, $nl);
setup_logic_lnd_frac($opts, $nl_flags, $definition, $defaults, $nl, $envxml_ref);
setup_logic_co2_type($opts, $nl_flags, $definition, $defaults, $nl);
setup_logic_irrigate($opts, $nl_flags, $definition, $defaults, $nl);
setup_logic_start_type($opts, $nl_flags, $nl);
- setup_logic_delta_time($opts, $nl_flags, $definition, $defaults, $nl);
setup_logic_decomp_performance($opts, $nl_flags, $definition, $defaults, $nl);
setup_logic_snow($opts, $nl_flags, $definition, $defaults, $nl);
setup_logic_glacier($opts, $nl_flags, $definition, $defaults, $nl, $envxml_ref);
setup_logic_dynamic_plant_nitrogen_alloc($opts, $nl_flags, $definition, $defaults, $nl, $physv);
setup_logic_luna($opts, $nl_flags, $definition, $defaults, $nl, $physv);
+ setup_logic_o3_veg_stress_method($opts, $nl_flags, $definition, $defaults, $nl,$physv);
setup_logic_hydrstress($opts, $nl_flags, $definition, $defaults, $nl);
setup_logic_dynamic_roots($opts, $nl_flags, $definition, $defaults, $nl, $physv);
setup_logic_params_file($opts, $nl_flags, $definition, $defaults, $nl);
@@ -1507,14 +1572,16 @@ sub process_namelist_inline_logic {
setup_logic_soilstate($opts, $nl_flags, $definition, $defaults, $nl);
setup_logic_demand($opts, $nl_flags, $definition, $defaults, $nl);
setup_logic_surface_dataset($opts, $nl_flags, $definition, $defaults, $nl);
+ setup_logic_dynamic_subgrid($opts, $nl_flags, $definition, $defaults, $nl);
if ( remove_leading_and_trailing_quotes($nl_flags->{'clm_start_type'}) ne "branch" ) {
setup_logic_initial_conditions($opts, $nl_flags, $definition, $defaults, $nl, $physv);
}
- setup_logic_dynamic_subgrid($opts, $nl_flags, $definition, $defaults, $nl);
setup_logic_spinup($opts, $nl_flags, $definition, $defaults, $nl);
setup_logic_supplemental_nitrogen($opts, $nl_flags, $definition, $defaults, $nl);
setup_logic_snowpack($opts, $nl_flags, $definition, $defaults, $nl);
setup_logic_fates($opts, $nl_flags, $definition, $defaults, $nl);
+ setup_logic_z0param($opts, $nl_flags, $definition, $defaults, $nl);
+ setup_logic_misc($opts, $nl_flags, $definition, $defaults, $nl);
#########################################
# namelist group: atm2lnd_inparm
@@ -1547,9 +1614,9 @@ sub process_namelist_inline_logic {
setup_logic_urban($opts, $nl_flags, $definition, $defaults, $nl);
###############################
- # namelist group: crop #
+ # namelist group: crop_inparm #
###############################
- setup_logic_crop($opts, $nl_flags, $definition, $defaults, $nl);
+ setup_logic_crop_inparm($opts, $nl_flags, $definition, $defaults, $nl);
###############################
# namelist group: ch4par_in #
@@ -1572,6 +1639,11 @@ sub process_namelist_inline_logic {
#################################
setup_logic_nitrif_params( $nl_flags, $definition, $defaults, $nl );
+ #############################################
+ # namelist group: mineral_nitrogen_dynamics #
+ #############################################
+ setup_logic_mineral_nitrogen_dynamics( $opts, $nl_flags, $definition, $defaults, $nl );
+
####################################
# namelist group: photosyns_inparm #
####################################
@@ -1612,11 +1684,26 @@ sub process_namelist_inline_logic {
##################################
setup_logic_lai_streams($opts, $nl_flags, $definition, $defaults, $nl);
+ ##################################
+ # namelist group: cropcal_streams #
+ ##################################
+ setup_logic_cropcal_streams($opts, $nl_flags, $definition, $defaults, $nl);
+
+ ##########################################
+ # namelist group: soil_moisture_streams #
+ ##########################################
+ setup_logic_soilm_streams($opts, $nl_flags, $definition, $defaults, $nl, $physv);
+
##################################
# namelist group: bgc_shared
##################################
setup_logic_bgc_shared($opts, $nl_flags, $definition, $defaults, $nl, $physv);
+ ##################################
+ # namelist group: cnphenology
+ ##################################
+ setup_logic_cnphenology($opts, $nl_flags, $definition, $defaults, $nl, $physv);
+
#############################################
# namelist group: soilwater_movement_inparm #
#############################################
@@ -1627,16 +1714,10 @@ sub process_namelist_inline_logic {
#############################################
setup_logic_rooting_profile($opts, $nl_flags, $definition, $defaults, $nl);
- #############################################
- # namelist group: friction_velocity #
- #############################################
- setup_logic_friction_vel($opts, $nl_flags, $definition, $defaults, $nl);
-
- ################################################
- # namelist group: century_soilbgcdecompcascade #
- ################################################
- setup_logic_century_soilbgcdecompcascade($opts, $nl_flags, $definition, $defaults, $nl);
-
+ #############################
+ # namelist group: cngeneral #
+ #############################
+ setup_logic_cngeneral($opts, $nl_flags, $definition, $defaults, $nl);
####################################
# namelist group: cnvegcarbonstate #
####################################
@@ -1652,6 +1733,11 @@ sub process_namelist_inline_logic {
#############################################
setup_logic_canopyfluxes($opts, $nl_flags, $definition, $defaults, $nl);
+ ##########################################################
+ # namelist group: friction_velocity (after canopyfluxes) #
+ ##########################################################
+ setup_logic_friction_vel($opts, $nl_flags, $definition, $defaults, $nl);
+
#############################################
# namelist group: canopyhydrology_inparm #
#############################################
@@ -1696,13 +1782,18 @@ sub process_namelist_inline_logic {
# namelist group: clm_initinterp_inparm #
#########################################
setup_logic_initinterp($opts, $nl_flags, $definition, $defaults, $nl);
+
+ ###############################
+ # namelist group: exice_streams #
+ ###############################
+ setup_logic_exice($opts, $nl_flags, $definition, $defaults, $nl);
}
#-------------------------------------------------------------------------------
sub setup_logic_site_specific {
# site specific requirements
- my ($nl_flags, $definition, $nl) = @_;
+ my ($opts, $nl_flags, $definition, $defaults, $nl, $physv) = @_;
# res check prevents polluting the namelist with an unnecessary
# false variable for every run
@@ -1733,6 +1824,9 @@ sub setup_logic_site_specific {
$log->fatal_error("1x1_numaIA grids must use a compset with CN and CROP turned on.");
}
}
+ # Set compname
+ add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'compname',
+ 'phys'=>$nl_flags->{'phys'} );
}
#-------------------------------------------------------------------------------
@@ -1769,21 +1863,41 @@ sub setup_logic_lnd_frac {
my ($opts, $nl_flags, $definition, $defaults, $nl, $envxml_ref) = @_;
+ #
+ # fatmlndfrc is required for the MCT driver (or LILAC), but uneeded for NUOPC
+ #
my $var = "lnd_frac";
- if ( defined($opts->{$var}) ) {
- if ( defined($nl->get_value('fatmlndfrc')) ) {
- $log->fatal_error("Can NOT set both -lnd_frac option (set via LND_DOMAIN_PATH/LND_DOMAIN_FILE " .
- "env variables) AND fatmlndfrac on namelist");
- }
- my $lnd_frac = SetupTools::expand_xml_var( $opts->{$var}, $envxml_ref);
- add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'fatmlndfrc','val'=>$lnd_frac );
- }
+ if ( ($opts->{'driver'} eq "mct") || $opts->{'lilac'} ) {
+ if ( defined($opts->{$var}) ) {
+ if ( defined($nl->get_value('fatmlndfrc')) ) {
+ $log->fatal_error("Can NOT set both -lnd_frac option (set via LND_DOMAIN_PATH/LND_DOMAIN_FILE " .
+ "env variables) AND fatmlndfrac on namelist");
+ }
+ if ( $opts->{$var} =~ /UNSET/ ) {
+ $log->fatal_error("-lnd_frac was set as UNSET in the CTSM build-namelist set it with the env variables: LND_DOMAIN_PATH/LND_DOMAIN_FILE.");
+ }
+ my $lnd_frac = SetupTools::expand_xml_var( $opts->{$var}, $envxml_ref);
+ add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'fatmlndfrc','val'=>$lnd_frac );
+ }
- # Get the fraction file
- if (defined $nl->get_value('fatmlndfrc')) {
- # do nothing - use value provided by config_grid.xml and clm.cpl7.template
+ # Get the fraction file
+ if (defined $nl->get_value('fatmlndfrc')) {
+ # do nothing - use value provided by config_grid.xml and clm.cpl7.template
+ } else {
+ $log->fatal_error("fatmlndfrc was NOT sent into CLM build-namelist.");
+ }
+ #
+ # For the NUOPC driver neither lnd_frac nor fatmlndfrc need to be set
+ #
} else {
- $log->fatal_error("fatmlndfrc was NOT sent into CLM build-namelist.");
+ if ( defined($opts->{$var}) ) {
+ if ( $opts->{$var} !~ /UNSET/ ) {
+ $log->fatal_error("$var should NOT be set for the NUOPC driver as it is unused" );
+ }
+ }
+ if ( defined($nl->get_value('fatmlndfrc')) ) {
+ $log->fatal_error("fatmlndfrac should NOT be set in the namelist for the NUOPC driver as it is unused" );
+ }
}
}
@@ -1810,7 +1924,8 @@ sub setup_logic_co2_type {
my $group = $definition->get_group_name($var);
$nl->set_variable_value($group, $var, $opts->{$var});
} else {
- add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, $var, 'sim_year'=>$nl_flags->{'sim_year'} );
+ add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, $var, 'sim_year'=>$nl_flags->{'sim_year'},
+ 'ssp_rcp'=>$nl_flags->{'ssp_rcp'} );
}
}
}
@@ -1821,7 +1936,8 @@ sub setup_logic_irrigate {
my ($opts, $nl_flags, $definition, $defaults, $nl) = @_;
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'irrigate',
- 'use_crop'=>$nl_flags->{'use_crop'}, 'use_cndv'=>$nl_flags->{'use_cndv'} );
+ 'use_crop'=>$nl_flags->{'use_crop'}, 'use_cndv'=>$nl_flags->{'use_cndv'},
+ 'sim_year'=>$nl_flags->{'sim_year'}, 'sim_year_range'=>$nl_flags->{'sim_year_range'}, );
if ( &value_is_true($nl->get_value('irrigate') ) ) {
$nl_flags->{'irrigate'} = ".true."
} else {
@@ -1842,6 +1958,12 @@ sub setup_logic_start_type {
if (not defined $nl->get_value('nrevsn')) {
$log->fatal_error("nrevsn is required for a branch type.");
}
+ if (defined $nl->get_value('use_init_interp')) {
+ if ( &value_is_true($nl->get_value('use_init_interp') ) ) {
+ # Always print this warning, but don't stop if it happens
+ print "\nWARNING: use_init_interp will NOT happen for a branch case.\n\n";
+ }
+ }
} else {
if (defined $nl->get_value('nrevsn')) {
$log->fatal_error("nrevsn should ONLY be set for a branch type.");
@@ -1851,28 +1973,6 @@ sub setup_logic_start_type {
#-------------------------------------------------------------------------------
-sub setup_logic_delta_time {
- my ($opts, $nl_flags, $definition, $defaults, $nl) = @_;
-
- if ( defined($opts->{'l_ncpl'}) ) {
- my $l_ncpl = $opts->{'l_ncpl'};
- if ( $l_ncpl <= 0 ) {
- $log->fatal_error("bad value for -l_ncpl option.");
- }
- my $val = ( 3600 * 24 ) / $l_ncpl;
- my $dtime = $nl->get_value('dtime');
- if ( ! defined($dtime) ) {
- add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'dtime', 'val'=>$val);
- } elsif ( $dtime ne $val ) {
- $log->fatal_error("can NOT set both -l_ncpl option (via LND_NCPL env variable) AND dtime namelist variable.");
- }
- } else {
- add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'dtime', 'hgrid'=>$nl_flags->{'res'});
- }
-}
-
-#-------------------------------------------------------------------------------
-
sub setup_logic_decomp_performance {
my ($opts, $nl_flags, $definition, $defaults, $nl) = @_;
@@ -1910,7 +2010,7 @@ sub setup_logic_glacier {
$log->fatal_error("glc_do_dynglacier can only be set via the env variable $clm_upvar: it can NOT be set in user_nl_clm");
}
- my $var = "maxpatch_glcmec";
+ my $var = "maxpatch_glc";
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, $var, 'val'=>$nl_flags->{'glc_nec'} );
my $val = $nl->get_value($var);
@@ -1925,7 +2025,8 @@ sub setup_logic_glacier {
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'glc_snow_persistence_max_days');
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'albice');
- add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'glacier_region_behavior');
+ add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'glacier_region_behavior',
+ 'glc_use_antarctica'=>$opts->{'glc_use_antarctica'});
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'glacier_region_melt_behavior');
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'glacier_region_ice_runoff_behavior');
}
@@ -1936,7 +2037,7 @@ sub setup_logic_params_file {
# get param data
my ($opts, $nl_flags, $definition, $defaults, $nl) = @_;
- add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'paramfile',
+ add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'paramfile',
'phys'=>$nl_flags->{'phys'},
'use_flexibleCN'=>$nl_flags->{'use_flexibleCN'} );
}
@@ -1948,7 +2049,7 @@ sub setup_logic_create_crop_landunit {
my ($opts, $nl_flags, $definition, $defaults, $nl) = @_;
my $var = 'create_crop_landunit';
- add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, $var,
+ add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, $var,
'use_fates'=>$nl_flags->{'use_fates'} );
if ( &value_is_true($nl_flags->{'use_fates'}) && &value_is_true($nl->get_value($var)) ) {
$log->fatal_error( "$var is true and yet use_fates is being set, which contradicts that (use_fates requires $var to be .false." );
@@ -1977,6 +2078,10 @@ sub setup_logic_subgrid {
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'toosmall_lake');
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'toosmall_wetland');
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'toosmall_urban');
+
+ if ( &value_is_true($nl_flags->{'use_fates'}) && $nl->get_value('n_dom_pfts') != 0 ) {
+ $log->fatal_error( "FATES and n_dom_pfts can NOT be set at the same time" );
+ }
}
#-------------------------------------------------------------------------------
@@ -1985,7 +2090,8 @@ sub setup_logic_cnfire {
my ($opts, $nl_flags, $definition, $defaults, $nl) = @_;
my @fire_consts = ( "rh_low", "rh_hgh", "bt_min", "bt_max", "cli_scale", "boreal_peatfire_c", "non_boreal_peatfire_c",
- "pot_hmn_ign_counts_alpha", "cropfire_a1", "occur_hi_gdp_tree", "lfuel", "ufuel", "cmb_cmplt_fact" );
+ "pot_hmn_ign_counts_alpha", "cropfire_a1", "occur_hi_gdp_tree", "lfuel", "ufuel",
+ "cmb_cmplt_fact_litter", "cmb_cmplt_fact_cwd" );
if ( &value_is_true($nl->get_value('use_cn')) ) {
foreach my $item ( @fire_consts ) {
if ( ! &value_is_true($nl_flags->{'cnfireson'} ) ) {
@@ -1995,7 +2101,7 @@ sub setup_logic_cnfire {
} else {
my $fire_method = remove_leading_and_trailing_quotes( $nl->get_value('fire_method') );
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, $item,
- 'lnd_tuning_mode'=>$nl_flags->{'lnd_tuning_mode'},
+ 'lnd_tuning_mode'=>$nl_flags->{'lnd_tuning_mode'},
'fire_method'=>$fire_method );
}
}
@@ -2042,7 +2148,7 @@ sub setup_logic_urban {
#-------------------------------------------------------------------------------
-sub setup_logic_crop {
+sub setup_logic_crop_inparm {
my ($opts, $nl_flags, $definition, $defaults, $nl) = @_;
if ( &value_is_true($nl->get_value('use_crop')) ) {
@@ -2077,7 +2183,6 @@ sub error_if_set {
}
}
-
#-------------------------------------------------------------------------------
sub setup_logic_soilstate {
@@ -2086,6 +2191,7 @@ sub setup_logic_soilstate {
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'organic_frac_squared' );
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'use_bedrock',
'use_fates'=>$nl_flags->{'use_fates'}, 'vichydro'=>$nl_flags->{'vichydro'} );
+ add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'use_excess_ice'); # excess ice flag should be read before stream vars
my $var1 = "soil_layerstruct_predefined";
my $var2 = "soil_layerstruct_userdefined";
@@ -2123,9 +2229,10 @@ sub setup_logic_demand {
$settings{'hgrid'} = $nl_flags->{'res'};
$settings{'sim_year'} = $nl_flags->{'sim_year'};
$settings{'sim_year_range'} = $nl_flags->{'sim_year_range'};
+ $settings{'use_vichydro'} = $nl_flags->{'use_vichydro'};
$settings{'mask'} = $nl_flags->{'mask'};
$settings{'crop'} = $nl_flags->{'crop'};
- $settings{'rcp'} = $nl_flags->{'rcp'};
+ $settings{'ssp_rcp'} = $nl_flags->{'ssp_rcp'};
$settings{'glc_nec'} = $nl_flags->{'glc_nec'};
# necessary for demand to be set correctly (flanduse_timeseries requires
# use_crop, maybe other options require other flags?)!
@@ -2134,8 +2241,6 @@ sub setup_logic_demand {
$settings{'use_cndv'} = $nl_flags->{'use_cndv'};
$settings{'use_lch4'} = $nl_flags->{'use_lch4'};
$settings{'use_nitrif_denitrif'} = $nl_flags->{'use_nitrif_denitrif'};
- $settings{'use_vertsoilc'} = $nl_flags->{'use_vertsoilc'};
- $settings{'use_century_decomp'} = $nl_flags->{'use_century_decomp'};
$settings{'use_crop'} = $nl_flags->{'use_crop'};
my $demand = $nl->get_value('clm_demand');
@@ -2162,7 +2267,22 @@ sub setup_logic_demand {
if ( $item eq "finidat" ) {
$log->fatal_error( "Do NOT put findat in the clm_demand list, set the clm_start_type=startup so initial conditions are required");
}
+ # For landuse.timeseries try with crop and irrigate on first, if found use it, otherwise try with exact settings
+ # Logic for this is identical for fsurdat
+ if ( $item eq "flanduse_timeseries" ) {
+ $settings{'irrigate'} = ".true.";
+ $settings{'use_crop'} = ".true.";
+ $settings{'nofail'} = 1;
+ }
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, $item, %settings );
+ if ( $item eq "flanduse_timeseries" ) {
+ $settings{'nofail'} = 0;
+ $settings{'irrigate'} = $nl_flags->{'irrigate'};
+ $settings{'use_crop'} = $nl_flags->{'use_crop'};
+ if ( ! defined($nl->get_value( $item )) ) {
+ add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, $item, %settings );
+ }
+ }
}
}
@@ -2191,13 +2311,34 @@ sub setup_logic_surface_dataset {
if ($flanduse_timeseries ne "null" && &value_is_true($nl_flags->{'use_cndv'}) ) {
$log->fatal_error( "dynamic PFT's (setting flanduse_timeseries) are incompatible with dynamic vegetation (use_cndv=.true)." );
}
- if ($flanduse_timeseries ne "null" && &value_is_true($nl_flags->{'use_fates'}) ) {
- $log->fatal_error( "dynamic PFT's (setting flanduse_timeseries) are incompatible with ecosystem dynamics (use_fates=.true)." );
+ #
+ # Always get the crop version of the datasets now and let the code turn it into the form desired
+ # Provided this isn't with FATES on
+ #
+ my $var = "fsurdat";
+ if ( ! &value_is_true($nl_flags->{'use_fates'}) ) {
+ add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, $var,
+ 'hgrid'=>$nl_flags->{'res'}, 'ssp_rcp'=>$nl_flags->{'ssp_rcp'},
+ 'sim_year'=>$nl_flags->{'sim_year'}, 'irrigate'=>".true.", 'use_vichydro'=>$nl_flags->{'use_vichydro'},
+ 'use_crop'=>".true.", 'glc_nec'=>$nl_flags->{'glc_nec'}, 'nofail'=>1);
+ }
+ # If didn't find the crop version check for the exact match
+ if ( ! defined($nl->get_value($var) ) ) {
+ if ( ! &value_is_true($nl_flags->{'use_fates'}) ) {
+ $log->verbose_message( "Crop version of $var NOT found, searching for an exact match" );
+ }
+ add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, $var,
+ 'hgrid'=>$nl_flags->{'res'}, 'ssp_rcp'=>$nl_flags->{'ssp_rcp'}, 'use_vichydro'=>$nl_flags->{'use_vichydro'},
+ 'sim_year'=>$nl_flags->{'sim_year'}, 'irrigate'=>$nl_flags->{'irrigate'},
+ 'use_crop'=>$nl_flags->{'use_crop'}, 'glc_nec'=>$nl_flags->{'glc_nec'}, 'nofail'=>1 );
+ if ( ! defined($nl->get_value($var) ) ) {
+ $log->verbose_message( "Exact match of $var NOT found, searching for version with irrigate true" );
+ }
+ add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, $var,
+ 'hgrid'=>$nl_flags->{'res'}, 'ssp_rcp'=>$nl_flags->{'ssp_rcp'}, 'use_vichydro'=>$nl_flags->{'use_vichydro'},
+ 'sim_year'=>$nl_flags->{'sim_year'}, 'irrigate'=>".true.",
+ 'use_crop'=>$nl_flags->{'use_crop'}, 'glc_nec'=>$nl_flags->{'glc_nec'} );
}
- add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'fsurdat',
- 'hgrid'=>$nl_flags->{'res'},
- 'sim_year'=>$nl_flags->{'sim_year'}, 'irrigate'=>$nl_flags->{'irrigate'},
- 'use_crop'=>$nl_flags->{'use_crop'}, 'glc_nec'=>$nl_flags->{'glc_nec'});
}
#-------------------------------------------------------------------------------
@@ -2236,7 +2377,7 @@ sub setup_logic_initial_conditions {
if (not defined $finidat ) {
my $ic_date = $nl->get_value('start_ymd');
- my $st_year = int( $ic_date / 10000);
+ my $st_year = $nl_flags->{'st_year'};
my $nofail = 1;
my %settings;
$settings{'hgrid'} = $nl_flags->{'res'};
@@ -2245,25 +2386,26 @@ sub setup_logic_initial_conditions {
my $fsurdat = $nl->get_value('fsurdat');
$fsurdat =~ s!(.*)/!!;
$settings{'fsurdat'} = $fsurdat;
+ $settings{'do_transient_pfts'} = $nl->get_value('do_transient_pfts');
#
# If not transient use sim_year, otherwise use date
#
if (string_is_undef_or_empty($nl->get_value('flanduse_timeseries'))) {
$settings{'sim_year'} = $nl_flags->{'sim_year'};
- $opts->{'ignore_ic_year'} = 1;
+ $opts->{'ignore_ic_year'} = 1;
} else {
- delete( $settings{'sim_year'} );
+ $settings{'sim_year'} = $st_year;
}
- foreach my $item ( "mask", "maxpft", "irrigate", "glc_nec", "use_crop", "use_cn", "use_cndv",
- "use_nitrif_denitrif", "use_vertsoilc", "use_century_decomp", "use_fates",
- "lnd_tuning_mode"
+ foreach my $item ( "mask", "maxpft", "irrigate", "glc_nec", "use_crop", "use_cn", "use_cndv",
+ "use_fates",
+ "lnd_tuning_mode",
) {
$settings{$item} = $nl_flags->{$item};
}
if ($opts->{'ignore_ic_date'}) {
if ( &value_is_true($nl_flags->{'use_crop'}) ) {
- $log->warning("using ignore_ic_date is incompatable with crop! If you choose to ignore this error, " .
- "the counters since planting for crops will be messed up. \nSo you should ignore at " .
+ $log->warning("using ignore_ic_date is incompatable with crop! If you choose to ignore this error, " .
+ "the counters since planting for crops will be messed up. \nSo you should ignore at " .
"least the first season for crops. And since it will impact the 20 year means, ideally the " .
"first 20 years should be ignored.");
}
@@ -2275,10 +2417,11 @@ sub setup_logic_initial_conditions {
my $try = 0;
my $done = 2;
my $use_init_interp_default = $nl->get_value($useinitvar);
+ $settings{$useinitvar} = $use_init_interp_default;
if ( string_is_undef_or_empty( $use_init_interp_default ) ) {
- $use_init_interp_default = ".false.";
+ $use_init_interp_default = $defaults->get_value($useinitvar, \%settings);
+ $settings{$useinitvar} = ".false.";
}
- $settings{$useinitvar} = $use_init_interp_default;
do {
$try++;
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, $var, %settings );
@@ -2293,39 +2436,65 @@ sub setup_logic_initial_conditions {
#}
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, "init_interp_sim_years" );
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, "init_interp_how_close" );
- foreach my $sim_yr ( split( /,/, $nl->get_value("init_interp_sim_years") )) {
- if ( abs($st_year - $sim_yr) < $nl->get_value("init_interp_how_close") ) {
+ #
+ # Figure out which sim_year has a usable finidat file that is closest to the desired one
+ #
+ my $close = $nl->get_value("init_interp_how_close");
+ my $closest_sim_year = undef;
+ my @sim_years = split( /,/, $nl->get_value("init_interp_sim_years") );
+SIMYR: foreach my $sim_yr ( @sim_years ) {
+ my $how_close = undef;
+ if ( $nl_flags->{'sim_year'} eq "PtVg" ) {
+ $how_close = abs(1850 - $sim_yr);
+ } elsif ( $nl_flags->{'flanduse_timeseries'} eq "null" ) {
+ $how_close = abs($nl_flags->{'sim_year'} - $sim_yr);
+ } else {
+ $how_close = abs($st_year - $sim_yr);
+ }
+ if ( ($sim_yr == $sim_years[-1]) || (($how_close < $nl->get_value("init_interp_how_close")) && ($how_close < $close)) ) {
+ my $group = $definition->get_group_name($useinitvar);
$settings{'sim_year'} = $sim_yr;
+ $settings{$useinitvar} = $defaults->get_value($useinitvar, \%settings);
+ if ( ! defined($settings{$useinitvar}) ) {
+ $settings{$useinitvar} = $use_init_interp_default;
+ }
+ if ( &value_is_true($settings{$useinitvar}) ) {
+
+ if ( ($how_close < $nl->get_value("init_interp_how_close")) && ($how_close < $close) ) {
+ $close = $how_close;
+ $closest_sim_year = $sim_yr;
+ }
+ }
}
- }
+ } # SIMYR:
+ $settings{'sim_year'} = $closest_sim_year;
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, $useinitvar,
- 'use_cndv'=>$nl_flags->{'use_cndv'}, 'phys'=>$physv->as_string(),
- 'sim_year'=>$settings{'sim_year'}, 'nofail'=>1, 'lnd_tuning_mode'=>$nl_flags->{'lnd_tuning_mode'},
- 'use_fates'=>$nl_flags->{'use_fates'} );
+ 'use_cndv'=>$nl_flags->{'use_cndv'}, 'phys'=>$physv->as_string(), 'hgrid'=>$nl_flags->{'res'},
+ 'sim_year'=>$settings{'sim_year'}, 'nofail'=>1, 'lnd_tuning_mode'=>$nl_flags->{'lnd_tuning_mode'},
+ 'use_fates'=>$nl_flags->{'use_fates'} );
$settings{$useinitvar} = $nl->get_value($useinitvar);
- if ( $try > 1 ) {
- my $group = $definition->get_group_name($useinitvar);
- $nl->set_variable_value($group, $useinitvar, $use_init_interp_default );
- }
- if ( &value_is_true($nl->get_value($useinitvar) ) ) {
-
- add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, "init_interp_attributes",
- 'sim_year'=>$settings{'sim_year'}, 'use_cndv'=>$nl_flags->{'use_cndv'},
- 'glc_nec'=>$nl_flags->{'glc_nec'}, 'use_fates'=>$nl_flags->{'use_fates'},
- 'use_cn'=>$nl_flags->{'use_cn'}, 'lnd_tuning_mode'=>$nl_flags->{'lnd_tuning_mode'},'nofail'=>1 );
- my $attributes_string = remove_leading_and_trailing_quotes($nl->get_value("init_interp_attributes"));
+ if ( ! &value_is_true($nl->get_value($useinitvar) ) ) {
+ if ( $nl_flags->{'clm_start_type'} =~ /startup/ ) {
+ $log->fatal_error("clm_start_type is startup so an initial conditions ($var) file is required, but can't find one without $useinitvar being set to true");
+ }
+ } else {
+ my $stat = add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, "init_interp_attributes",
+ 'sim_year'=>$settings{'sim_year'}, 'use_cndv'=>$nl_flags->{'use_cndv'},
+ 'glc_nec'=>$nl_flags->{'glc_nec'}, 'use_fates'=>$nl_flags->{'use_fates'},
+ 'hgrid'=>$nl_flags->{'res'},
+ 'use_cn'=>$nl_flags->{'use_cn'}, 'lnd_tuning_mode'=>$nl_flags->{'lnd_tuning_mode'}, 'nofail'=>1 );
+ if ( $stat ) {
+ $log->fatal_error("$useinitvar is NOT synchronized with init_interp_attributes");
+ }
+ my $attributes = $nl->get_value("init_interp_attributes");
+ my $attributes_string = remove_leading_and_trailing_quotes($attributes);
foreach my $pair ( split( /\s/, $attributes_string) ) {
- if ( $pair =~ /^([a-z_]+)=([a-z._0-9]+)$/ ) {
+ if ( $pair =~ /^([a-z_]+)=([a-zA-Z._0-9]+)$/ ) {
$settings{$1} = $2;
} else {
- $log->fatal_error("Problem interpreting init_interp_attributes");
+ $log->fatal_error("Problem interpreting init_interp_attributes: $pair");
}
}
- } else {
- if ( $nl_flags->{'clm_start_type'} =~ /startup/ ) {
- $log->fatal_error("clm_start_type is startup so an initial conditions ($var) file is required, but can't find one without $useinitvar being set to true");
- }
- $try = $done;
}
} else {
$try = $done
@@ -2352,7 +2521,10 @@ sub setup_logic_dynamic_subgrid {
setup_logic_do_transient_pfts($opts, $nl_flags, $definition, $defaults, $nl);
setup_logic_do_transient_crops($opts, $nl_flags, $definition, $defaults, $nl);
+ setup_logic_do_transient_lakes($opts, $nl_flags, $definition, $defaults, $nl);
+ setup_logic_do_transient_urban($opts, $nl_flags, $definition, $defaults, $nl);
setup_logic_do_harvest($opts, $nl_flags, $definition, $defaults, $nl);
+ setup_logic_do_grossunrep($opts, $nl_flags, $definition, $defaults, $nl);
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'reset_dynbal_baselines');
if ( &value_is_true($nl->get_value('reset_dynbal_baselines')) &&
@@ -2477,7 +2649,7 @@ sub setup_logic_do_transient_crops {
# In principle, use_fates should be compatible with
# do_transient_crops. However, this hasn't been tested, so to be safe,
# we are not allowing this combination for now.
- $cannot_be_true = "$var has not been tested with ED, so for now these two options cannot be combined";
+ $cannot_be_true = "$var has not been tested with FATES, so for now these two options cannot be combined";
}
if ($cannot_be_true) {
@@ -2517,49 +2689,48 @@ sub setup_logic_do_transient_crops {
}
}
-sub setup_logic_do_harvest {
+sub setup_logic_do_transient_lakes {
#
- # Set do_harvest default value, and perform error checking on do_harvest
+ # Set do_transient_lakes default value, and perform error checking on do_transient_lakes
#
# Assumes the following are already set in the namelist (although it's okay
# for them to be unset if that will be their final state):
# - flanduse_timeseries
- # - use_cn
- # - use_fates
#
+ # NOTE(wjs, 2020-08-23) I based this function on setup_logic_do_transient_crops. I'm
+ # not sure if all of the checks here are truly important for transient lakes (in
+ # particular, my guess is that collapse_urban could probably be done with transient
+ # lakes - as well as transient pfts and transient crops for that matter), but some of
+ # the checks probably are needed, and it seems best to keep transient lakes consistent
+ # with other transient areas in this respect.
my ($opts, $nl_flags, $definition, $defaults, $nl) = @_;
- my $var = 'do_harvest';
-
- # Start by assuming a default value of '.true.'. Then check a number of
- # conditions under which do_harvest cannot be true. Under these
- # conditions: (1) set default value to '.false.'; (2) make sure that the
- # value is indeed false (e.g., that the user didn't try to set it to true).
-
- my $default_val = ".true.";
+ my $var = 'do_transient_lakes';
# cannot_be_true will be set to a non-empty string in any case where
- # do_harvest should not be true; if it turns out that do_harvest IS true
- # in any of these cases, a fatal error will be generated
+ # do_transient_lakes should not be true; if it turns out that
+ # do_transient_lakes IS true in any of these cases, a fatal error will be
+ # generated
my $cannot_be_true = "";
+ my $n_dom_pfts = $nl->get_value( 'n_dom_pfts' );
+ my $n_dom_landunits = $nl->get_value( 'n_dom_landunits' );
+ my $toosmall_soil = $nl->get_value( 'toosmall_soil' );
+ my $toosmall_crop = $nl->get_value( 'toosmall_crop' );
+ my $toosmall_glacier = $nl->get_value( 'toosmall_glacier' );
+ my $toosmall_lake = $nl->get_value( 'toosmall_lake' );
+ my $toosmall_wetland = $nl->get_value( 'toosmall_wetland' );
+ my $toosmall_urban = $nl->get_value( 'toosmall_urban' );
+
if (string_is_undef_or_empty($nl->get_value('flanduse_timeseries'))) {
$cannot_be_true = "$var can only be set to true when running a transient case (flanduse_timeseries non-blank)";
- } elsif (!&value_is_true($nl->get_value('use_cn'))) {
- $cannot_be_true = "$var can only be set to true when running with CN (use_cn = true)";
- } elsif (&value_is_true($nl->get_value('use_fates'))) {
- $cannot_be_true = "$var currently doesn't work with ED";
- }
-
- if ($cannot_be_true) {
- $default_val = ".false.";
}
if (!$cannot_be_true) {
# Note that, if the variable cannot be true, we don't call add_default
# - so that we don't clutter up the namelist with variables that don't
# matter for this case
- add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, $var, val=>$default_val);
+ add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, $var);
}
# Make sure the value is false when it needs to be false - i.e., that the
@@ -2568,42 +2739,238 @@ sub setup_logic_do_harvest {
if (&value_is_true($nl->get_value($var)) && $cannot_be_true) {
$log->fatal_error($cannot_be_true);
}
-}
-
-#-------------------------------------------------------------------------------
-
-sub setup_logic_spinup {
- my ($opts, $nl_flags, $definition, $defaults, $nl) = @_;
- if ( $nl_flags->{'bgc_mode'} eq "sp" && defined($nl->get_value('override_bgc_restart_mismatch_dump'))) {
- $log->fatal_error("CN must be on if override_bgc_restart_mismatch_dump is set.");
- }
- if ( $nl_flags->{'clm_accelerated_spinup'} eq "on" ) {
- foreach my $var ( "hist_nhtfrq", "hist_fincl1", "hist_empty_htapes", "hist_mfilt" ) {
- add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl,
- $var, use_cn=>$nl_flags->{'use_cn'}, use_fates=>$nl_flags->{'use_fates'},
- use_cndv=>$nl_flags->{'use_cndv'} );
- }
- }
+ # if do_transient_lakes is .true. and any of these (n_dom_* or toosmall_*)
+ # are > 0 or collapse_urban = .true., then give fatal error
+ if (&value_is_true($nl->get_value($var))) {
+ if (&value_is_true($nl->get_value('collapse_urban'))) {
+ $log->fatal_error("$var cannot be combined with collapse_urban");
+ }
+ if ($n_dom_pfts > 0 || $n_dom_landunits > 0 || $toosmall_soil > 0 || $toosmall_crop > 0 || $toosmall_glacier > 0 || $toosmall_lake > 0 || $toosmall_wetland > 0 || $toosmall_urban > 0) {
+ $log->fatal_error("$var cannot be combined with any of the of the following > 0: n_dom_pfts > 0, n_dom_landunit > 0, toosmall_soil > 0._r8, toosmall_crop > 0._r8, toosmall_glacier > 0._r8, toosmall_lake > 0._r8, toosmall_wetland > 0._r8, toosmall_urban > 0._r8");
+ }
+ }
}
-#-------------------------------------------------------------------------------
-
-sub setup_logic_bgc_shared {
- my ($opts, $nl_flags, $definition, $defaults, $nl, $physv) = @_;
+sub setup_logic_do_transient_urban {
+ #
+ # Set do_transient_urban default value, and perform error checking on do_transient_urban
+ #
+ # Assumes the following are already set in the namelist (although it's okay
+ # for them to be unset if that will be their final state):
+ # - flanduse_timeseries
+ #
+ # NOTE(kwo, 2021-08-11) I based this function on setup_logic_do_transient_lakes.
+ # As in NOTE(wjs, 2020-08-23) I'm not sure if all of the checks here are truly important
+ # for transient urban (in particular, my guess is that collapse_urban could probably be done with transient
+ # urban - as well as transient pfts and transient crops for that matter), but some of
+ # the checks probably are needed, and it seems best to keep transient urban consistent
+ # with other transient areas in this respect.
+ my ($opts, $nl_flags, $definition, $defaults, $nl) = @_;
- if ( $nl_flags->{'bgc_mode'} ne "sp" ) {
- add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'constrain_stress_deciduous_onset', 'phys'=>$physv->as_string() );
- }
- # FIXME(bja, 201606) the logic around fates / bgc_mode /
- # use_century_decomp is confusing and messed up. This is a hack
- # workaround.
- if ( &value_is_true($nl_flags->{'use_century_decomp'}) ) {
- add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'decomp_depth_efolding', 'phys'=>$physv->as_string() );
- }
-}
+ my $var = 'do_transient_urban';
-#-------------------------------------------------------------------------------
+ # cannot_be_true will be set to a non-empty string in any case where
+ # do_transient_urban should not be true; if it turns out that
+ # do_transient_urban IS true in any of these cases, a fatal error will be
+ # generated
+ my $cannot_be_true = "";
+
+ my $n_dom_pfts = $nl->get_value( 'n_dom_pfts' );
+ my $n_dom_landunits = $nl->get_value( 'n_dom_landunits' );
+ my $toosmall_soil = $nl->get_value( 'toosmall_soil' );
+ my $toosmall_crop = $nl->get_value( 'toosmall_crop' );
+ my $toosmall_glacier = $nl->get_value( 'toosmall_glacier' );
+ my $toosmall_lake = $nl->get_value( 'toosmall_lake' );
+ my $toosmall_wetland = $nl->get_value( 'toosmall_wetland' );
+ my $toosmall_urban = $nl->get_value( 'toosmall_urban' );
+
+ if (string_is_undef_or_empty($nl->get_value('flanduse_timeseries'))) {
+ $cannot_be_true = "$var can only be set to true when running a transient case (flanduse_timeseries non-blank)";
+ }
+
+ if (!$cannot_be_true) {
+ # Note that, if the variable cannot be true, we don't call add_default
+ # - so that we don't clutter up the namelist with variables that don't
+ # matter for this case
+ add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, $var);
+ }
+
+ # Make sure the value is false when it needs to be false - i.e., that the
+ # user hasn't tried to set a true value at an inappropriate time.
+
+ if (&value_is_true($nl->get_value($var)) && $cannot_be_true) {
+ $log->fatal_error($cannot_be_true);
+ }
+
+ # if do_transient_urban is .true. and any of these (n_dom_* or toosmall_*)
+ # are > 0 or collapse_urban = .true., then give fatal error
+ if (&value_is_true($nl->get_value($var))) {
+ if (&value_is_true($nl->get_value('collapse_urban'))) {
+ $log->fatal_error("$var cannot be combined with collapse_urban");
+ }
+ if ($n_dom_pfts > 0 || $n_dom_landunits > 0 || $toosmall_soil > 0 || $toosmall_crop > 0 || $toosmall_glacier > 0 || $toosmall_lake > 0 || $toosmall_wetland > 0 || $toosmall_urban > 0) {
+ $log->fatal_error("$var cannot be combined with any of the of the following > 0: n_dom_pfts > 0, n_dom_landunit > 0, toosmall_soil > 0._r8, toosmall_crop > 0._r8, toosmall_glacier > 0._r8, toosmall_lake > 0._r8, toosmall_wetland > 0._r8, toosmall_urban > 0._r8");
+ }
+ }
+}
+
+sub setup_logic_do_harvest {
+ #
+ # Set do_harvest default value, and perform error checking on do_harvest
+ #
+ # Assumes the following are already set in the namelist (although it's okay
+ # for them to be unset if that will be their final state):
+ # - flanduse_timeseries
+ # - use_cn
+ # - use_fates
+ #
+ my ($opts, $nl_flags, $definition, $defaults, $nl) = @_;
+
+ my $var = 'do_harvest';
+
+ # Start by assuming a default value of '.true.'. Then check a number of
+ # conditions under which do_harvest cannot be true. Under these
+ # conditions: (1) set default value to '.false.'; (2) make sure that the
+ # value is indeed false (e.g., that the user didn't try to set it to true).
+
+ my $default_val = ".true.";
+
+ # cannot_be_true will be set to a non-empty string in any case where
+ # do_harvest should not be true; if it turns out that do_harvest IS true
+ # in any of these cases, a fatal error will be generated
+ my $cannot_be_true = "";
+
+ if (string_is_undef_or_empty($nl->get_value('flanduse_timeseries'))) {
+ $cannot_be_true = "$var can only be set to true when running a transient case (flanduse_timeseries non-blank)";
+ }
+
+ elsif (!&value_is_true($nl->get_value('use_cn')) && !&value_is_true($nl->get_value('use_fates'))) {
+ $cannot_be_true = "$var can only be set to true when running with either CN or FATES";
+ }
+
+ if ($cannot_be_true) {
+ $default_val = ".false.";
+ }
+
+ if (!$cannot_be_true) {
+ # Note that, if the variable cannot be true, we don't call add_default
+ # - so that we don't clutter up the namelist with variables that don't
+ # matter for this case
+ add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, $var, val=>$default_val);
+ }
+
+ # Make sure the value is false when it needs to be false - i.e., that the
+ # user hasn't tried to set a true value at an inappropriate time.
+
+ if (&value_is_true($nl->get_value($var)) && $cannot_be_true) {
+ $log->fatal_error($cannot_be_true);
+ }
+}
+
+#-------------------------------------------------------------------------------
+
+sub setup_logic_do_grossunrep {
+ #
+ # Set do_grossunrep default value, and perform error checking on do_grossunrep
+ #
+ # Assumes the following are already set in the namelist (although it's okay
+ # for them to be unset if that will be their final state):
+ # - flanduse_timeseries
+ # - use_cn
+ # - use_fates
+ #
+ my ($opts, $nl_flags, $definition, $defaults, $nl) = @_;
+
+ my $var = 'do_grossunrep';
+
+ # Start by assuming a default value of '.true.'. Then check a number of
+ # conditions under which do_grossunrep cannot be true. Under these
+ # conditions: (1) set default value to '.false.'; (2) make sure that the
+ # value is indeed false (e.g., that the user didn't try to set it to true).
+
+ my $default_val = ".false.";
+
+ # cannot_be_true will be set to a non-empty string in any case where
+ # do_grossunrep should not be true; if it turns out that do_grossunrep IS true
+ # in any of these cases, a fatal error will be generated
+ my $cannot_be_true = "";
+
+ if (string_is_undef_or_empty($nl->get_value('flanduse_timeseries'))) {
+ $cannot_be_true = "$var can only be set to true when running a transient case (flanduse_timeseries non-blank)";
+ }
+ elsif (&value_is_true($nl->get_value('use_fates'))) {
+ $cannot_be_true = "$var currently doesn't work with FATES";
+ }
+ elsif (!&value_is_true($nl->get_value('use_cn'))) {
+ $cannot_be_true = "$var can only be set to true when running with CN (use_cn = true)";
+ }
+
+ if ($cannot_be_true) {
+ $default_val = ".false.";
+ }
+
+ if (!$cannot_be_true) {
+ # Note that, if the variable cannot be true, we don't call add_default
+ # - so that we don't clutter up the namelist with variables that don't
+ # matter for this case
+ add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, $var, val=>$default_val);
+ }
+
+ # Make sure the value is false when it needs to be false - i.e., that the
+ # user hasn't tried to set a true value at an inappropriate time.
+
+ if (&value_is_true($nl->get_value($var)) && $cannot_be_true) {
+ $log->fatal_error($cannot_be_true);
+ }
+
+}
+
+#-------------------------------------------------------------------------------
+sub setup_logic_spinup {
+ my ($opts, $nl_flags, $definition, $defaults, $nl) = @_;
+
+ if ( $nl_flags->{'bgc_mode'} eq "sp" && defined($nl->get_value('override_bgc_restart_mismatch_dump'))) {
+ $log->fatal_error("CN must be on if override_bgc_restart_mismatch_dump is set.");
+ }
+ if ( $nl_flags->{'clm_accelerated_spinup'} eq "on" ) {
+ foreach my $var ( "hist_nhtfrq", "hist_fincl1", "hist_empty_htapes", "hist_mfilt" ) {
+ add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl,
+ $var, use_cn=>$nl_flags->{'use_cn'}, use_fates=>$nl_flags->{'use_fates'},
+ use_cndv=>$nl_flags->{'use_cndv'} );
+ }
+ }
+}
+
+#-------------------------------------------------------------------------------
+
+sub setup_logic_bgc_shared {
+ my ($opts, $nl_flags, $definition, $defaults, $nl, $physv) = @_;
+
+ if ( $nl_flags->{'bgc_mode'} ne "sp" ) {
+ add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'constrain_stress_deciduous_onset', 'phys'=>$physv->as_string() );
+ }
+}
+
+#-------------------------------------------------------------------------------
+
+sub setup_logic_cnphenology {
+ my ($opts, $nl_flags, $definition, $defaults, $nl, $physv) = @_;
+
+ my @list = ( "onset_thresh_depends_on_veg", "min_critical_dayl_method" );
+ foreach my $var ( @list ) {
+ if ( &value_is_true($nl_flags->{'use_cn'}) ) {
+ add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, $var,
+ 'phys'=>$physv->as_string(), 'use_cn'=>$nl_flags->{'use_cn'} );
+ } else {
+ if ( defined($nl->get_value($var)) ) {
+ $log->fatal_error("$var should only be set if use_cn is on");
+ }
+ }
+ }
+}
+
+#-------------------------------------------------------------------------------
sub setup_logic_supplemental_nitrogen {
#
@@ -2612,24 +2979,30 @@ sub setup_logic_supplemental_nitrogen {
my ($opts, $nl_flags, $definition, $defaults, $nl) = @_;
if ( $nl_flags->{'bgc_mode'} ne "sp" && $nl_flags->{'bgc_mode'} ne "fates" && &value_is_true($nl_flags->{'use_crop'}) ) {
- add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl,
- 'suplnitro', 'use_cn'=>$nl_flags->{'use_cn'}, 'use_crop'=>$nl_flags->{'use_crop'});
- }
+ # If this is non-fates, non-sp and crop is active
+ add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl,
+ 'suplnitro', 'use_cn'=>$nl_flags->{'use_cn'}, 'use_crop'=>$nl_flags->{'use_crop'});
+ } elsif ( $nl_flags->{'bgc_mode'} eq "fates" && not &value_is_true( $nl_flags->{'use_fates_sp'}) ) {
+ # Or... if its fates but not fates-sp
+ add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl,
+ 'suplnitro', 'use_fates'=>$nl_flags->{'use_fates'});
+ }
+
#
# Error checking for suplnitro
#
my $suplnitro = $nl->get_value('suplnitro');
if ( defined($suplnitro) ) {
if ( $nl_flags->{'bgc_mode'} eq "sp" ) {
- $log->fatal_error("supplemental Nitrogen (suplnitro) is set, but neither CN nor CNDV is active!");
+ $log->fatal_error("supplemental Nitrogen (suplnitro) is set, but neither CN nor CNDV nor FATES is active!");
}
if ( ! &value_is_true($nl_flags->{'use_crop'}) && $suplnitro =~ /PROG_CROP_ONLY/i ) {
$log->fatal_error("supplemental Nitrogen is set to run over prognostic crops, but prognostic crop is NOT active!");
}
if ( $suplnitro =~ /ALL/i ) {
- if ( $nl_flags->{'bgc_spinup'} ne "off" ) {
+ if ( $nl_flags->{'bgc_spinup'} eq "on" && $nl_flags->{'bgc_mode'} ne "fates" ) {
$log->warning("There is no need to use a bgc_spinup mode when supplemental Nitrogen is on for all PFT's, as these modes spinup Nitrogen" );
}
}
@@ -2720,8 +3093,7 @@ sub setup_logic_nitrif_params {
my ($nl_flags, $definition, $defaults, $nl) = @_;
if ( ! &value_is_true($nl_flags->{'use_nitrif_denitrif'}) ) {
- my @vars = ( "k_nitr_max", "denitrif_respiration_coefficient", "denitrif_respiration_exponent",
- "denitrif_nitrateconc_coefficient", "denitrif_nitrateconc_exponent" );
+ my @vars = ( "k_nitr_max", "denitrif_respiration_coefficient", "denitrif_respiration_exponent");
foreach my $var ( @vars ) {
if ( defined($nl->get_value( $var ) ) ) {
$log->fatal_error("$var is only used when use_nitrif_denitrif is turned on");
@@ -2730,6 +3102,30 @@ sub setup_logic_nitrif_params {
}
}
+#-------------------------------------------------------------------------------
+
+sub setup_logic_mineral_nitrogen_dynamics {
+ #
+ # Logic for mineral_nitrogen_dynamics
+ #
+ my ($opts, $nl_flags, $definition, $defaults, $nl) = @_;
+
+ my @vars = ( "freelivfix_slope_wet", "freelivfix_intercept" );
+ if ( &value_is_true($nl_flags->{'use_cn'}) && &value_is_true($nl->get_value('use_fun')) ) {
+ foreach my $var ( @vars ) {
+ add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, $var,
+ 'use_cn'=>$nl_flags->{'use_cn'}, 'use_fun'=>$nl->get_value('use_fun') );
+ }
+ } else {
+ foreach my $var ( @vars ) {
+ if ( defined($nl->get_value( $var ) ) ) {
+ $log->fatal_error("$var is only used when use_cn and use_fun are both turned on");
+ }
+ }
+ }
+}
+
+
#-------------------------------------------------------------------------------
sub setup_logic_hydrology_switches {
@@ -2755,7 +3151,7 @@ sub setup_logic_hydrology_switches {
}
# Test bad configurations
my $lower = $nl->get_value( 'lower_boundary_condition' );
- my $use_vic = $nl->get_value( 'use_vichydro' );
+ my $use_vic = $nl_flags->{'use_vichydro'};
my $use_bed = $nl->get_value( 'use_bedrock' );
my $soilmtd = $nl->get_value( 'soilwater_movement_method' );
if ( defined($soilmtd) && defined($lower) && $soilmtd == 0 && $lower != 4 ) {
@@ -2789,16 +3185,12 @@ sub setup_logic_methane {
if ( &value_is_true($nl_flags->{'use_lch4'}) ) {
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'finundation_method',
'use_cn'=>$nl_flags->{'use_cn'}, 'use_fates'=>$nl_flags->{'use_fates'} );
- #
- # Get resolution to read streams file for
- #
my $finundation_method = remove_leading_and_trailing_quotes($nl->get_value('finundation_method' ));
- if ( $finundation_method eq "TWS_inversion" ) {
- add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'finundation_res',
- 'finundation_method'=>$finundation_method );
- add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'stream_fldfilename_ch4finundated',
- 'finundation_method'=>$finundation_method,
- 'finundation_res'=>$nl->get_value('finundation_res') );
+ add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'stream_fldfilename_ch4finundated',
+ 'finundation_method'=>$finundation_method);
+ if ($opts->{'driver'} eq "nuopc" ) {
+ add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'stream_meshfile_ch4finundated',
+ 'finundation_method'=>$finundation_method);
}
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'use_aereoxid_prog',
'use_cn'=>$nl_flags->{'use_cn'}, 'use_fates'=>$nl_flags->{'use_fates'} );
@@ -2842,6 +3234,10 @@ sub setup_logic_methane {
$log->fatal_error("$var set without methane model configuration on (use_lch4)");
}
}
+ my $var = "use_nitrif_denitrif";
+ if ( (! &value_is_true( $nl_flags->{'use_fates'} ) ) && &value_is_true($nl->get_value($var)) ) {
+ $log->warning("methane is off (use_lch4=FALSE), but $var is TRUE, both need to be on, unless FATES is also on" );
+ }
}
} # end methane
@@ -2857,31 +3253,20 @@ sub setup_logic_dynamic_plant_nitrogen_alloc {
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'use_flexibleCN',
'phys'=>$physv->as_string(), 'use_cn'=>$nl_flags->{'use_cn'} );
$nl_flags->{'use_flexibleCN'} = $nl->get_value('use_flexibleCN');
+ if ( &value_is_true($nl->get_value('use_fun') ) && not &value_is_true( $nl_flags->{'use_flexibleCN'}) ) {
+ $log->warning("FUN has NOT been extensively tested without use_flexibleCN on, so could result in failures or unexpected results" );
+ }
if ( &value_is_true($nl_flags->{'use_flexibleCN'}) ) {
# TODO(bja, 2015-04) make this depend on > clm 5.0 and bgc mode at some point.
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'MM_Nuptake_opt',
'use_flexibleCN'=>$nl_flags->{'use_flexibleCN'} );
- add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'downreg_opt',
- 'use_flexibleCN'=>$nl_flags->{'use_flexibleCN'} );
- add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'plant_ndemand_opt',
- 'use_flexibleCN'=>$nl_flags->{'use_flexibleCN'} );
- add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'substrate_term_opt',
- 'use_flexibleCN'=>$nl_flags->{'use_flexibleCN'} );
- add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'nscalar_opt',
- 'use_flexibleCN'=>$nl_flags->{'use_flexibleCN'} );
- add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'temp_scalar_opt',
- 'use_flexibleCN'=>$nl_flags->{'use_flexibleCN'} );
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'CNratio_floating',
'use_flexibleCN'=>$nl_flags->{'use_flexibleCN'} );
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'reduce_dayl_factor',
'use_flexibleCN'=>$nl_flags->{'use_flexibleCN'} );
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'vcmax_opt',
'use_flexibleCN'=>$nl_flags->{'use_flexibleCN'} );
- add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'CN_residual_opt',
- 'use_flexibleCN'=>$nl_flags->{'use_flexibleCN'} );
- add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'CN_partition_opt',
- 'use_flexibleCN'=>$nl_flags->{'use_flexibleCN'} );
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'CN_evergreen_phenology_opt',
'use_flexibleCN'=>$nl_flags->{'use_flexibleCN'} );
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'carbon_resp_opt',
@@ -2899,6 +3284,26 @@ sub setup_logic_dynamic_plant_nitrogen_alloc {
#-------------------------------------------------------------------------------
+sub setup_logic_o3_veg_stress_method {
+ #
+ # Ozone vegetation stress method
+ #
+ my ($opts, $nl_flags, $definition, $defaults, $nl, $physv) = @_;
+
+ my $var = 'o3_veg_stress_method';
+
+ add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, $var );
+
+ my $val = $nl->get_value($var);
+
+ if (remove_leading_and_trailing_quotes($val) eq "stress_falk" && not (&value_is_true($nl_flags->{'use_luna'})) ) {
+ $log->fatal_error(" use_luna=.true. is required for $var='stress_falk'.");
+ }
+
+}
+
+#-------------------------------------------------------------------------------
+
sub setup_logic_luna {
#
# LUNA model to calculate photosynthetic capacities based on environmental conditions
@@ -2914,6 +3319,12 @@ sub setup_logic_luna {
'use_cn'=>$nl_flags->{'use_cn'} );
}
$nl_flags->{'use_luna'} = $nl->get_value('use_luna');
+
+ # LUNA can NOT be on with FATES
+ if ( &value_is_true( $nl_flags->{'use_luna'} ) && &value_is_true( $nl_flags->{'use_fates'} )) {
+ $log->fatal_error("Cannot turn use_luna to true when bgc=fates" );
+ }
+
my $vcmax_opt= $nl->get_value('vcmax_opt');
# lnc_opt only applies if luna is on or for vcmax_opt=3/4
if ( &value_is_true( $nl_flags->{'use_luna'} ) || $vcmax_opt == 3 || $vcmax_opt == 4 ) {
@@ -3011,7 +3422,7 @@ sub setup_logic_dynamic_roots {
my $use_dynroot = $nl->get_value('use_dynroot');
if ( &value_is_true($use_dynroot) && ($nl_flags->{'bgc_mode'} eq "sp") ) {
$log->fatal_error("Cannot turn dynroot mode on mode bgc=sp\n" .
- "Set the bgc mode to 'cn' or 'bgc'.");
+ "Set the bgc mode to 'bgc'.");
}
if ( &value_is_true( $use_dynroot ) && &value_is_true( $nl_flags->{'use_hydrstress'} ) ) {
$log->fatal_error("Cannot turn use_dynroot on when use_hydrstress is on" );
@@ -3042,7 +3453,8 @@ sub setup_logic_c_isotope {
my $use_c14_bombspike = $nl->get_value('use_c14_bombspike');
if ( defined($use_c14_bombspike) && &value_is_true($use_c14_bombspike) ) {
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'atm_c14_filename',
- 'use_c14'=>$use_c14, 'use_cn'=>$nl_flags->{'use_cn'}, 'use_c14_bombspike'=>$nl->get_value('use_c14_bombspike') );
+ 'use_c14'=>$use_c14, 'use_cn'=>$nl_flags->{'use_cn'}, 'use_c14_bombspike'=>$nl->get_value('use_c14_bombspike'),
+ 'ssp_rcp'=>$nl_flags->{'ssp_rcp'} );
}
} else {
if ( defined($nl->get_value('use_c14_bombspike')) ||
@@ -3061,7 +3473,8 @@ sub setup_logic_c_isotope {
my $use_c13_timeseries = $nl->get_value('use_c13_timeseries');
if ( defined($use_c13_timeseries) && &value_is_true($use_c13_timeseries) ) {
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'atm_c13_filename',
- 'use_c13'=>$use_c13, 'use_cn'=>$nl_flags->{'use_cn'}, 'use_c13_timeseries'=>$nl->get_value('use_c13_timeseries') );
+ 'use_c13'=>$use_c13, 'use_cn'=>$nl_flags->{'use_cn'}, 'use_c13_timeseries'=>$nl->get_value('use_c13_timeseries'),
+ 'ssp_rcp'=>$nl_flags->{'ssp_rcp'} );
}
} else {
if ( defined($nl->get_value('use_c13_timeseries')) ||
@@ -3093,23 +3506,18 @@ sub setup_logic_nitrogen_deposition {
my ($opts, $nl_flags, $definition, $defaults, $nl) = @_;
#
- # Nitrogen deposition for bgc=CN
+ # Nitrogen deposition for bgc=CN or fates
#
-
- if ( $nl_flags->{'bgc_mode'} =~/cn|bgc/ ) {
+ if ( ($nl_flags->{'bgc_mode'} =~/bgc/) ) { # or ($nl_flags->{'bgc_mode'} =~/fates/) ) {
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'ndepmapalgo', 'phys'=>$nl_flags->{'phys'},
'use_cn'=>$nl_flags->{'use_cn'}, 'hgrid'=>$nl_flags->{'res'},
'clm_accelerated_spinup'=>$nl_flags->{'clm_accelerated_spinup'} );
- if ( defined($opts->{'use_case'}) ) {
- if ( ($nl_flags->{'lnd_tuning_mode'} =~ /clm5_0_cam/) && ($opts->{'use_case'} eq "1850_control") ) {
- add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'ndep_taxmode', 'phys'=>$nl_flags->{'phys'},
- 'use_cn'=>$nl_flags->{'use_cn'},
- 'lnd_tuning_mode'=>$nl_flags->{'lnd_tuning_mode'} );
- add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'ndep_varlist', 'phys'=>$nl_flags->{'phys'},
- 'use_cn'=>$nl_flags->{'use_cn'},
- 'lnd_tuning_mode'=>$nl_flags->{'lnd_tuning_mode'} );
- }
- }
+ add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'ndep_taxmode', 'phys'=>$nl_flags->{'phys'},
+ 'use_cn'=>$nl_flags->{'use_cn'},
+ 'lnd_tuning_mode'=>$nl_flags->{'lnd_tuning_mode'} );
+ add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'ndep_varlist', 'phys'=>$nl_flags->{'phys'},
+ 'use_cn'=>$nl_flags->{'use_cn'},
+ 'lnd_tuning_mode'=>$nl_flags->{'lnd_tuning_mode'} );
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'stream_year_first_ndep', 'phys'=>$nl_flags->{'phys'},
'use_cn'=>$nl_flags->{'use_cn'}, 'sim_year'=>$nl_flags->{'sim_year'},
'sim_year_range'=>$nl_flags->{'sim_year_range'});
@@ -3122,9 +3530,36 @@ sub setup_logic_nitrogen_deposition {
'sim_year_range'=>$nl_flags->{'sim_year_range'});
}
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'stream_fldfilename_ndep', 'phys'=>$nl_flags->{'phys'},
- 'use_cn'=>$nl_flags->{'use_cn'}, 'rcp'=>$nl_flags->{'rcp'},
- 'lnd_tuning_mode'=>$nl_flags->{'lnd_tuning_mode'},
- 'hgrid'=>"1.9x2.5" );
+ 'use_cn'=>$nl_flags->{'use_cn'}, 'lnd_tuning_mode'=>$nl_flags->{'lnd_tuning_mode'},
+ 'hgrid'=>"0.9x1.25", 'ssp_rcp'=>$nl_flags->{'ssp_rcp'}, 'nofail'=>1 );
+ if ( ! defined($nl->get_value('stream_fldfilename_ndep') ) ) {
+ # Also check at f19 resolution
+ add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'stream_fldfilename_ndep', 'phys'=>$nl_flags->{'phys'},
+ 'use_cn'=>$nl_flags->{'use_cn'}, 'lnd_tuning_mode'=>$nl_flags->{'lnd_tuning_mode'},
+ 'hgrid'=>"1.9x2.5", 'ssp_rcp'=>$nl_flags->{'ssp_rcp'}, 'nofail'=>1 );
+ # If not found report an error
+ if ( ! defined($nl->get_value('stream_fldfilename_ndep') ) ) {
+ $log->warning("Did NOT find the Nitrogen-deposition forcing file (stream_fldfilename_ndep) for this ssp_rcp\n" .
+ "One way to get around this is to point to a file for another existing ssp_rcp in your user_nl_clm file.\n" .
+ "If you are running with CAM and WACCM chemistry Nitrogen deposition will come through the coupler.\n" .
+ "This file won't be used, so it doesn't matter what it points to -- but it's required to point to something.\n" )
+ }
+ }
+ if ($opts->{'driver'} eq "nuopc" ) {
+ add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'stream_meshfile_ndep', 'phys'=>$nl_flags->{'phys'},
+ 'use_cn'=>$nl_flags->{'use_cn'}, 'lnd_tuning_mode'=>$nl_flags->{'lnd_tuning_mode'},
+ 'hgrid'=>"0.9x1.25", 'ssp_rcp'=>$nl_flags->{'ssp_rcp'}, 'nofail'=>1 );
+ if ( ! defined($nl->get_value('stream_fldfilename_ndep') ) ) {
+ # Also check at f19 resolution
+ add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'stream_meshfile_ndep', 'phys'=>$nl_flags->{'phys'},
+ 'use_cn'=>$nl_flags->{'use_cn'}, 'lnd_tuning_mode'=>$nl_flags->{'lnd_tuning_mode'},
+ 'hgrid'=>"1.9x2.5", 'ssp_rcp'=>$nl_flags->{'ssp_rcp'}, 'nofail'=>1 );
+ # If not found report an error
+ if ( ! defined($nl->get_value('stream_meshfile_ndep') ) ) {
+ $log->warning("Did NOT find the Nitrogen-deposition meshfile file (stream_meshfilee_ndep) for this ssp_rcp. \n")
+ }
+ }
+ }
} else {
# If bgc is NOT CN/CNDV then make sure none of the ndep settings are set!
if ( defined($nl->get_value('stream_year_first_ndep')) ||
@@ -3185,7 +3620,7 @@ sub setup_logic_photosyns {
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults,
$nl, 'modifyphoto_and_lmr_forcrop', 'phys'=>$nl_flags->{'phys'} );
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults,
- $nl, 'stomatalcond_method', 'phys'=>$nl_flags->{'phys'},
+ $nl, 'stomatalcond_method', 'phys'=>$nl_flags->{'phys'},
'use_hydrstress'=>$nl_flags->{'use_hydrstress'} );
# When CN on, must NOT be scaled by vcmax25top
if ( &value_is_true( $nl_flags->{'use_cn'} ) ) {
@@ -3233,15 +3668,39 @@ sub setup_logic_popd_streams {
'sim_year_range'=>$nl_flags->{'sim_year_range'}, 'cnfireson'=>$nl_flags->{'cnfireson'});
}
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'stream_fldfilename_popdens', 'phys'=>$nl_flags->{'phys'},
- 'cnfireson'=>$nl_flags->{'cnfireson'}, 'hgrid'=>"0.5x0.5" );
+ 'cnfireson'=>$nl_flags->{'cnfireson'}, 'hgrid'=>"0.5x0.5", 'ssp_rcp'=>$nl_flags->{'ssp_rcp'} );
+ #
+ # TODO (mvertens, 2021-06-22) the following is needed for MCT since a use case enforces this - so for now stream_meshfile_popdens will be added to the mct
+ # stream namelist but simply not used
+ if ($opts->{'driver'} eq "nuopc" ) {
+ add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'stream_meshfile_popdens', 'hgrid'=>"0.5x0.5");
+ my $inputdata_rootdir = $nl_flags->{'inputdata_rootdir'};
+ my $default_value = $nl->get_value('stream_meshfile_popdens');
+ my $none_filename = $inputdata_rootdir . '/none';
+ my $none_filename = "e_string($none_filename);
+ if ($default_value eq $none_filename) {
+ my $var = 'stream_meshfile_popdens';
+ my $group = $definition->get_group_name($var);
+ my $val = "none";
+ $val = "e_string( $val );
+ $nl->set_variable_value($group, $var, $val);
+ }
+ } else {
+ my $var = 'stream_meshfile_popdens';
+ my $group = $definition->get_group_name($var);
+ my $val = "none";
+ $val = "e_string( $val );
+ $nl->set_variable_value($group, $var, $val);
+ }
} else {
# If bgc is NOT CN/CNDV or fire_method==nofire then make sure none of the popdens settings are set
if ( defined($nl->get_value('stream_year_first_popdens')) ||
defined($nl->get_value('stream_year_last_popdens')) ||
defined($nl->get_value('model_year_align_popdens')) ||
+ defined($nl->get_value('popdens_tintalgo' )) ||
defined($nl->get_value('stream_fldfilename_popdens')) ) {
$log->fatal_error("When bgc is SP (NOT CN or BGC) or fire_method==nofire none of: stream_year_first_popdens,\n" .
- "stream_year_last_popdens, model_year_align_popdens, nor\n" .
+ "stream_year_last_popdens, model_year_align_popdens, popdens_tintalgo nor\n" .
"stream_fldfilename_popdens can be set!");
}
}
@@ -3269,6 +3728,10 @@ sub setup_logic_urbantv_streams {
}
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'stream_fldfilename_urbantv', 'phys'=>$nl_flags->{'phys'},
'hgrid'=>"0.9x1.25" );
+ if ($opts->{'driver'} eq "nuopc" ) {
+ add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'stream_meshfile_urbantv', 'phys'=>$nl_flags->{'phys'},
+ 'hgrid'=>"0.9x1.25" );
+ }
}
#-------------------------------------------------------------------------------
@@ -3277,32 +3740,37 @@ sub setup_logic_lightning_streams {
# lightning streams require CN/BGC
my ($opts, $nl_flags, $definition, $defaults, $nl) = @_;
- if ( &value_is_true($nl_flags->{'cnfireson'}) ) {
- add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'lightngmapalgo', 'use_cn'=>$nl_flags->{'use_cn'},
- 'hgrid'=>$nl_flags->{'res'},
- 'clm_accelerated_spinup'=>$nl_flags->{'clm_accelerated_spinup'} );
- add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'stream_year_first_lightng', 'use_cn'=>$nl_flags->{'use_cn'},
- 'sim_year'=>$nl_flags->{'sim_year'},
- 'sim_year_range'=>$nl_flags->{'sim_year_range'});
- add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'stream_year_last_lightng', 'use_cn'=>$nl_flags->{'use_cn'},
- 'sim_year'=>$nl_flags->{'sim_year'},
- 'sim_year_range'=>$nl_flags->{'sim_year_range'});
- # Set align year, if first and last years are different
- if ( $nl->get_value('stream_year_first_lightng') !=
- $nl->get_value('stream_year_last_lightng') ) {
+ if ( $nl_flags->{'light_res'} ne "none" ) {
+ add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'lightngmapalgo',
+ 'hgrid'=>$nl_flags->{'res'},
+ 'clm_accelerated_spinup'=>$nl_flags->{'clm_accelerated_spinup'} );
+ add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'stream_year_first_lightng',
+ 'sim_year'=>$nl_flags->{'sim_year'},
+ 'sim_year_range'=>$nl_flags->{'sim_year_range'});
+ add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'stream_year_last_lightng',
+ 'sim_year'=>$nl_flags->{'sim_year'},
+ 'sim_year_range'=>$nl_flags->{'sim_year_range'});
+ # Set align year, if first and last years are different
+ if ( $nl->get_value('stream_year_first_lightng') !=
+ $nl->get_value('stream_year_last_lightng') ) {
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'model_year_align_lightng', 'sim_year'=>$nl_flags->{'sim_year'},
'sim_year_range'=>$nl_flags->{'sim_year_range'});
}
- add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'stream_fldfilename_lightng', 'use_cn'=>$nl_flags->{'use_cn'},
+ add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'stream_fldfilename_lightng',
'hgrid'=>$nl_flags->{'light_res'} );
+ if ($opts->{'driver'} eq "nuopc" ) {
+ add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'stream_meshfile_lightng',
+ 'hgrid'=>$nl_flags->{'light_res'} );
+ }
} else {
# If bgc is NOT CN/CNDV then make sure none of the Lightng settings are set
if ( defined($nl->get_value('stream_year_first_lightng')) ||
defined($nl->get_value('stream_year_last_lightng')) ||
defined($nl->get_value('model_year_align_lightng')) ||
+ defined($nl->get_value('lightng_tintalgo' )) ||
defined($nl->get_value('stream_fldfilename_lightng')) ) {
- $log->fatal_error("When bgc is SP (NOT CN or BGC) or fire_method==nofire none of: stream_year_first_lightng,\n" .
- "stream_year_last_lightng, model_year_align_lightng, nor\n" .
+ $log->fatal_error("When bgc is SP (NOT CN or BGC or FATES) or fire is turned off none of: stream_year_first_lightng,\n" .
+ "stream_year_last_lightng, model_year_align_lightng, lightng_tintalgo nor\n" .
"stream_fldfilename_lightng can be set!");
}
}
@@ -3314,12 +3782,15 @@ sub setup_logic_dry_deposition {
my ($opts, $nl_flags, $definition, $defaults, $nl) = @_;
if ($opts->{'drydep'} ) {
+ if ( &value_is_true( $nl_flags->{'use_fates'}) && not &value_is_true( $nl_flags->{'use_fates_sp'}) ) {
+ $log->warning("DryDeposition can NOT be on when FATES is also on unless FATES-SP mode is on.\n" .
+ " Use the '--no-drydep' option when '-bgc fates' is activated");
+ }
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'drydep_list');
- add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'drydep_method');
+ add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'dep_data_file');
} else {
- if ( defined($nl->get_value('drydep_list')) ||
- defined($nl->get_value('drydep_method')) ) {
- $log->fatal_error("drydep_list or drydep_method defined, but drydep option NOT set");
+ if ( defined($nl->get_value('drydep_list')) ) {
+ $log->fatal_error("drydep_list defined, but drydep option NOT set");
}
}
}
@@ -3330,6 +3801,10 @@ sub setup_logic_fire_emis {
my ($opts, $nl_flags, $definition, $defaults, $nl) = @_;
if ($opts->{'fire_emis'} ) {
+ if ( &value_is_true( $nl_flags->{'use_fates'} ) ) {
+ $log->warning("Fire emission can NOT be on when FATES is also on.\n" .
+ " DON'T use the '-fire_emis' option when '-bgc fates' is activated");
+ }
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'fire_emis_factors_file');
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'fire_emis_specifier');
} else {
@@ -3359,7 +3834,7 @@ sub setup_logic_megan {
if ($nl_flags->{'megan'} ) {
if ( &value_is_true( $nl_flags->{'use_fates'} ) ) {
- $log->fatal_error("MEGAN can NOT be on when ED is also on.\n" .
+ $log->warning("MEGAN can NOT be on when FATES is also on.\n" .
" Use the '-no-megan' option when '-bgc fates' is activated");
}
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'megan_specifier');
@@ -3375,47 +3850,154 @@ sub setup_logic_megan {
#-------------------------------------------------------------------------------
+sub setup_logic_soilm_streams {
+ # prescribed soil moisture streams require clm4_5/clm5_0/clm5_1
+ my ($opts, $nl_flags, $definition, $defaults, $nl, $physv) = @_;
+
+ add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'use_soil_moisture_streams');
+ if ( &value_is_true( $nl->get_value('use_soil_moisture_streams') ) ) {
+ add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'soilm_tintalgo',
+ 'hgrid'=>$nl_flags->{'res'} );
+ add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'soilm_offset',
+ 'hgrid'=>$nl_flags->{'res'} );
+ add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'stream_year_first_soilm', 'phys'=>$nl_flags->{'phys'},
+ 'sim_year'=>$nl_flags->{'sim_year'},
+ 'sim_year_range'=>$nl_flags->{'sim_year_range'});
+ add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'stream_year_last_soilm', 'phys'=>$nl_flags->{'phys'},
+ 'sim_year'=>$nl_flags->{'sim_year'},
+ 'sim_year_range'=>$nl_flags->{'sim_year_range'});
+ # Set align year, if first and last years are different
+ if ( $nl->get_value('stream_year_first_soilm') !=
+ $nl->get_value('stream_year_last_soilm') ) {
+ add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl,
+ 'model_year_align_soilm', 'sim_year'=>$nl_flags->{'sim_year'},
+ 'sim_year_range'=>$nl_flags->{'sim_year_range'});
+ }
+ add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'stream_fldfilename_soilm', 'phys'=>$nl_flags->{'phys'},
+ 'hgrid'=>$nl_flags->{'res'} );
+ if ( ($opts->{'use_case'} =~ /_transient$/) &&
+ (remove_leading_and_trailing_quotes($nl->get_value("soilm_tintalgo")) eq "linear") ) {
+ $log->warning("For a transient case, soil moisture streams, should NOT use soilm_tintalgo='linear'" .
+ " since vegetated areas could go from missing to not missing or vice versa" );
+ }
+ } else {
+ if ( defined($nl->get_value('stream_year_first_soilm')) ||
+ defined($nl->get_value('model_year_align_soilm')) ||
+ defined($nl->get_value('stream_fldfilename_soilm')) ||
+ defined($nl->get_value('soilm_tintalgo')) ||
+ defined($nl->get_value('soilm_offset')) ||
+ defined($nl->get_value('stream_year_last_soilm')) ) {
+ $log->fatal_error("One of the soilm streams namelist items (stream_year_first_soilm, " .
+ " model_year_align_soilm, stream_fldfilename_soilm, stream_fldfilename_soilm)" .
+ " soilm_tintalgo soilm_offset" .
+ " is defined, but use_soil_moisture_streams option NOT set to true");
+ }
+ }
+}
+
+#-------------------------------------------------------------------------------
+
sub setup_logic_lai_streams {
my ($opts, $nl_flags, $definition, $defaults, $nl) = @_;
- if ( &value_is_true($nl_flags->{'use_crop'}) && &value_is_true($nl_flags->{'use_lai_streams'}) ) {
- $log->fatal_error("turning use_lai_streams on is incompatable with use_crop set to true.");
- }
- if ( $nl_flags->{'bgc_mode'} eq "sp" ) {
-
- add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'use_lai_streams');
- add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'lai_mapalgo',
- 'hgrid'=>$nl_flags->{'res'} );
- add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'stream_year_first_lai',
- 'sim_year'=>$nl_flags->{'sim_year'},
- 'sim_year_range'=>$nl_flags->{'sim_year_range'});
- add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'stream_year_last_lai',
- 'sim_year'=>$nl_flags->{'sim_year'},
- 'sim_year_range'=>$nl_flags->{'sim_year_range'});
- # Set align year, if first and last years are different
- if ( $nl->get_value('stream_year_first_lai') !=
- $nl->get_value('stream_year_last_lai') ) {
- add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl,
- 'model_year_align_lai', 'sim_year'=>$nl_flags->{'sim_year'},
- 'sim_year_range'=>$nl_flags->{'sim_year_range'});
+ add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'use_lai_streams');
+
+ if ( &value_is_true($nl_flags->{'use_crop'}) && &value_is_true($nl->get_value('use_lai_streams')) ) {
+ $log->fatal_error("turning use_lai_streams on is incompatable with use_crop set to true.");
+ }
+ if ( $nl_flags->{'bgc_mode'} eq "sp" || ($nl_flags->{'bgc_mode'} eq "fates" && &value_is_true($nl->get_value('use_fates_sp')) )) {
+ if ( &value_is_true($nl->get_value('use_lai_streams')) ) {
+ add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'use_lai_streams');
+ add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'lai_mapalgo',
+ 'hgrid'=>$nl_flags->{'res'} );
+ add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'stream_year_first_lai',
+ 'sim_year'=>$nl_flags->{'sim_year'},
+ 'sim_year_range'=>$nl_flags->{'sim_year_range'});
+ add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'stream_year_last_lai',
+ 'sim_year'=>$nl_flags->{'sim_year'},
+ 'sim_year_range'=>$nl_flags->{'sim_year_range'});
+ # Set align year, if first and last years are different
+ if ( $nl->get_value('stream_year_first_lai') !=
+ $nl->get_value('stream_year_last_lai') ) {
+ add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl,
+ 'model_year_align_lai', 'sim_year'=>$nl_flags->{'sim_year'},
+ 'sim_year_range'=>$nl_flags->{'sim_year_range'});
+ }
+ add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'stream_fldfilename_lai',
+ 'hgrid'=>"360x720cru" );
+ if ($opts->{'driver'} eq "nuopc" ) {
+ add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'stream_meshfile_lai',
+ 'hgrid'=>"360x720cru" );
+ }
}
- add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'stream_fldfilename_lai',
- 'hgrid'=>"360x720cru" );
} else {
- # If bgc is CN/CNDV then make sure none of the LAI settings are set
- if ( defined($nl->get_value('stream_year_first_lai')) ||
- defined($nl->get_value('stream_year_last_lai')) ||
- defined($nl->get_value('model_year_align_lai')) ||
+ # If bgc is BGC/BGCDV then make sure none of the LAI settings are set
+ if ( &value_is_true($nl->get_value('use_lai_streams'))) {
+ $log->fatal_error("When not in SP mode use_lai_streams cannot be .true.\n" .
+ "(eg. don't use this option with BGC or non-SP FATES), \n" .
+ "Update compset to use SP)");
+ }
+ if ( defined($nl->get_value('stream_year_first_lai')) ||
+ defined($nl->get_value('stream_year_last_lai')) ||
+ defined($nl->get_value('model_year_align_lai')) ||
+ defined($nl->get_value('lai_tintalgo' )) ||
defined($nl->get_value('stream_fldfilename_lai')) ) {
- $log->fatal_error("When bgc is NOT SP none of the following can be set: stream_year_first_lai,\n" .
- "stream_year_last_lai, model_year_align_lai, nor\n" .
- "stream_fldfilename_lai (eg. don't use this option with BGC,CN,CNDV nor BGDCV).");
+ $log->fatal_error("When not in SP mode none of the following can be set: stream_year_first_lai,\n" .
+ "stream_year_last_lai, model_year_align_lai, lai_tintalgo nor\n" .
+ "stream_fldfilename_lai (eg. don't use this option with BGC or FATES-SP).");
}
}
}
#-------------------------------------------------------------------------------
+sub setup_logic_cropcal_streams {
+ my ($opts, $nl_flags, $definition, $defaults, $nl) = @_;
+
+ # Set first and last stream years
+ add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'stream_year_first_cropcal',
+ 'sim_year'=>$nl_flags->{'sim_year'},
+ 'sim_year_range'=>$nl_flags->{'sim_year_range'});
+ add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'stream_year_last_cropcal',
+ 'sim_year'=>$nl_flags->{'sim_year'},
+ 'sim_year_range'=>$nl_flags->{'sim_year_range'});
+
+ # Set align year, if first and last years are different
+ if ( $nl->get_value('stream_year_first_cropcal') !=
+ $nl->get_value('stream_year_last_cropcal') ) {
+ add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl,
+ 'model_year_align_cropcal', 'sim_year'=>$nl_flags->{'sim_year'},
+ 'sim_year_range'=>$nl_flags->{'sim_year_range'});
+ }
+
+ # Set up other crop calendar parameters
+ add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'generate_crop_gdds');
+ add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'use_mxmat');
+
+ # Option checks
+ my $generate_crop_gdds = $nl->get_value('generate_crop_gdds') ;
+ my $use_mxmat = $nl->get_value('use_mxmat') ;
+ my $sdate_file = $nl->get_value('stream_fldFileName_sdate') ;
+ my $gdd_file = $nl->get_value('stream_fldFileName_cultivar_gdds') ;
+ my $mesh_file = $nl->get_value('stream_meshfile_cropcal') ;
+ if ( $generate_crop_gdds eq '.true.' ) {
+ if ( $use_mxmat eq '.true.' ) {
+ $log->fatal_error("If generate_crop_gdds is true, you must also set use_mxmat to false" );
+ }
+ if ( $sdate_file eq '' ) {
+ $log->fatal_error("If generate_crop_gdds is true, you must specify stream_fldFileName_sdate")
+ }
+ if ( $gdd_file ne '' ) {
+ $log->fatal_error("If generate_crop_gdds is true, do not specify stream_fldFileName_cultivar_gdds")
+ }
+ }
+ if ( $mesh_file eq '' and ( $sdate_file ne '' or $gdd_file ne '' ) ) {
+ $log->fatal_error("If prescribing crop sowing dates and/or maturity requirements, you must specify stream_meshfile_cropcal")
+ }
+}
+
+#-------------------------------------------------------------------------------
+
sub setup_logic_soilwater_movement {
my ($opts, $nl_flags, $definition, $defaults, $nl) = @_;
@@ -3424,7 +4006,7 @@ sub setup_logic_soilwater_movement {
my $soilmtd = $nl->get_value("soilwater_movement_method");
my $use_bed = $nl->get_value('use_bedrock' );
- add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl,
+ add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl,
'lower_boundary_condition', 'vichydro'=>$nl_flags->{'vichydro'},
'soilwater_movement_method'=>$soilmtd, 'use_bedrock'=>$use_bed
);
@@ -3438,32 +4020,41 @@ sub setup_logic_soilwater_movement {
}
#-------------------------------------------------------------------------------
-sub setup_logic_century_soilbgcdecompcascade {
- #
+sub setup_logic_cnvegcarbonstate {
+ # MUST be AFTER: setup_logic_dynamic_plant_nitrogen_alloc as depends on mm_nuptake_opt which is set there
my ($opts, $nl_flags, $definition, $defaults, $nl) = @_;
- if ( (&value_is_true($nl->get_value('use_cn')) || &value_is_true($nl->get_value('use_fates'))) &&
- &value_is_true($nl->get_value('use_century_decomp')) ) {
- add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'initial_Cstocks',
- 'use_cn' => $nl->get_value('use_cn'), 'use_fates' => $nl->get_value('use_fates'),
- 'use_century_decomp' => $nl->get_value('use_century_decomp') );
- add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'initial_Cstocks_depth',
- 'use_cn' => $nl->get_value('use_cn'), 'use_fates' => $nl->get_value('use_fates'),
- 'use_century_decomp' => $nl->get_value('use_century_decomp') );
+ if ( &value_is_true($nl->get_value('use_cn')) ) {
+ my $mmnuptake = $nl->get_value('mm_nuptake_opt');
+ if ( ! defined($mmnuptake) ) { $mmnuptake = ".false."; }
+ add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'initial_vegC',
+ 'use_cn' => $nl->get_value('use_cn'), 'mm_nuptake_opt' => $mmnuptake );
}
}
#-------------------------------------------------------------------------------
-sub setup_logic_cnvegcarbonstate {
- # MUST be AFTER: setup_logic_dynamic_plant_nitrogen_alloc as depends on mm_nuptake_opt which is set there
+sub setup_logic_cngeneral {
+ # Must be set after setup_logic_co2_type
my ($opts, $nl_flags, $definition, $defaults, $nl) = @_;
if ( &value_is_true($nl->get_value('use_cn')) ) {
- my $mmnuptake = $nl->get_value('mm_nuptake_opt');
- if ( ! defined($mmnuptake) ) { $mmnuptake = ".false."; }
- add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'initial_vegC',
- 'use_cn' => $nl->get_value('use_cn'), 'mm_nuptake_opt' => $mmnuptake );
+ if ( &value_is_true($nl->get_value('use_crop')) ) {
+ add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'dribble_crophrv_xsmrpool_2atm',
+ 'co2_type' => remove_leading_and_trailing_quotes($nl->get_value('co2_type')),
+ 'use_crop' => $nl->get_value('use_crop') );
+ } else {
+ if ( defined($nl->get_value('dribble_crophrv_xsmrpool_2atm')) ) {
+ $log->fatal_error("When CROP is NOT on dribble_crophrv_xsmrpool_2atm can NOT be set\n" );
+ }
+ }
+ } else {
+ if ( defined($nl->get_value('reseed_dead_plants')) ||
+ defined($nl->get_value('dribble_crophrv_xsmrpool_2atm')) ) {
+ $log->fatal_error("When CN is not on none of the following can be set: ,\n" .
+ "dribble_crophrv_xsmrpool_2atm nor reseed_dead_plantsr\n" .
+ "(eg. don't use these options with SP mode).");
+ }
}
}
@@ -3480,10 +4071,11 @@ sub setup_logic_rooting_profile {
#-------------------------------------------------------------------------------
sub setup_logic_friction_vel {
- #
+ # Must be after canopyfluxes so that use_biomass_heat_storage will be set
my ($opts, $nl_flags, $definition, $defaults, $nl) = @_;
- add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'zetamaxstable' );
+ add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'zetamaxstable',
+ 'use_biomass_heat_storage'=>$nl_flags->{'use_biomass_heat_storage'}, 'phys'=>$nl_flags->{'phys'} );
}
#-------------------------------------------------------------------------------
@@ -3503,6 +4095,16 @@ sub setup_logic_canopyfluxes {
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'use_undercanopy_stability' );
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'itmax_canopy_fluxes',
'structure'=>$nl_flags->{'structure'});
+ add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'use_biomass_heat_storage',
+ 'use_fates'=>$nl_flags->{'use_fates'}, 'phys'=>$nl_flags->{'phys'} );
+ if ( &value_is_true($nl->get_value('use_biomass_heat_storage') ) && &value_is_true( $nl_flags->{'use_fates'}) ) {
+ $log->fatal_error('use_biomass_heat_storage can NOT be set to true when fates is on');
+ }
+ if ( &value_is_true($nl->get_value('use_biomass_heat_storage')) ) {
+ $nl_flags->{'use_biomass_heat_storage'} = ".true.";
+ } else {
+ $nl_flags->{'use_biomass_heat_storage'} = ".false.";
+ }
}
#-------------------------------------------------------------------------------
@@ -3689,25 +4291,146 @@ sub setup_logic_fates {
if (&value_is_true( $nl_flags->{'use_fates'}) ) {
add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'fates_paramfile', 'phys'=>$nl_flags->{'phys'});
- my @list = ( "use_fates_spitfire", "use_fates_planthydro", "use_fates_ed_st3", "use_fates_ed_prescribed_phys",
- "use_fates_inventory_init", "use_fates_logging" );
+ my @list = ( "fates_spitfire_mode", "use_fates_planthydro", "use_fates_ed_st3", "use_fates_ed_prescribed_phys",
+ "use_fates_inventory_init","use_fates_fixed_biogeog","use_fates_nocomp",
+ "use_fates_logging","fates_parteh_mode", "use_fates_cohort_age_tracking","use_fates_tree_damage" );
foreach my $var ( @list ) {
- add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, $var, 'use_fates'=>$nl_flags->{'use_fates'} );
+ add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, $var, 'use_fates'=>$nl_flags->{'use_fates'},
+ 'use_fates_sp'=>$nl_flags->{'use_fates_sp'} );
+ }
+ my $suplnitro = $nl->get_value('suplnitro');
+ my $parteh_mode = $nl->get_value('fates_parteh_mode');
+ if ( ($parteh_mode == 1) && ($suplnitro !~ /ALL/) && not &value_is_true( $nl_flags->{'use_fates_sp'}) ) {
+ $log->fatal_error("supplemental Nitrogen (suplnitro) is NOT set to ALL, FATES is on, " .
+ "but and FATES-SP is not active, but fates_parteh_mode is 1, so Nitrogen is not active" .
+ "Change suplnitro back to ALL");
+ }
+ #
+ # For FATES SP mode make sure no-competetiion, and fixed-biogeography are also set
+ # And also check for other settings that can't be trigged on as well
+ #
+ my $var = "use_fates_sp";
+ if ( defined($nl->get_value($var)) ) {
+ if ( &value_is_true($nl->get_value($var)) ) {
+ my @list = ( "use_fates_nocomp", "use_fates_fixed_biogeog" );
+ foreach my $var ( @list ) {
+ if ( ! &value_is_true($nl->get_value($var)) ) {
+ $log->fatal_error("$var is required when FATES SP is on (use_fates_sp)" );
+ }
+ }
+ # spit-fire can't be on with FATES SP mode is active
+ if ( $nl->get_value('fates_spitfire_mode') > 0 ) {
+ $log->fatal_error('fates_spitfire_mode can NOT be set to greater than 0 when use_fates_sp is true');
+ }
+ }
}
my $var = "use_fates_inventory_init";
if ( defined($nl->get_value($var)) ) {
if ( &value_is_true($nl->get_value($var)) ) {
$var = "fates_inventory_ctrl_filename";
+ my $fname = substr $nl->get_value($var), 1, -1; # ignore first and last positions of string because those are quote characters
if ( ! defined($nl->get_value($var)) ) {
$log->fatal_error("$var is required when use_fates_inventory_init is set" );
- } elsif ( ! -f "$nl->get_value($var)" ) {
- $log->fatal_error("$var does NOT point to a valid filename" );
+ } elsif ( ! -f "$fname" ) {
+ $log->fatal_error("$fname does NOT point to a valid filename" );
}
}
}
}
}
+#-------------------------------------------------------------------------------
+sub setup_logic_exice {
+ #
+ # excess ice streams
+ #
+ my ($opts, $nl_flags, $definition, $defaults, $nl) = @_;
+ my $use_exice = $nl->get_value( 'use_excess_ice' );
+ my $use_exice_streams = $nl->get_value( 'use_excess_ice_streams' );
+ # IF excess ice streams is on
+ if (defined($use_exice_streams) && value_is_true($use_exice_streams)) {
+ # Can only be true if excess ice is also on, otherwise fail
+ if (defined($use_exice) && not value_is_true($use_exice)) {
+ $log->fatal_error("use_excess_ice_streams can NOT be TRUE when use_excess_ice is FALSE" );
+ }
+ # Otherwise if ice streams are off
+ } else {
+ my @list = ( "stream_meshfile_exice", "stream_fldfilename_exice" );
+ # fail is excess ice streams files are set
+ foreach my $var ( @list ) {
+ if ( defined($nl->get_value($var)) ) {
+ $log->fatal_error("$var should NOT be set when use_excess_ice_streams=FALSE" );
+ }
+ }
+ # mapalgo can only be none, if excess ice streams are off
+ my $map_algo = $nl->get_value("stream_mapalgo_exice");
+ if ( defined($map_algo) && ($map_algo ne "none") ) {
+ $log->fatal_error("stream_mapalgo_exice can ONLY be none when use_excess_ice_streams=FALSE" );
+ }
+ }
+ # If excess ice is on
+ if (defined($use_exice) && value_is_true($use_exice)) {
+ # IF nuopc driver and excess ice streams are on get the stream defaults
+ if (defined($use_exice_streams) && value_is_true($use_exice_streams)) {
+ add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'stream_fldfilename_exice');
+ add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'stream_mapalgo_exice');
+ # If excess ice streams on, but NOT the NUOPC driver fail
+ if ( not $opts->{'driver'} eq "nuopc" ) {
+ $log->fatal_error("nuopc driver is required when use_excess_ice_streams is set to true" );
+ # NUOPC driver needs a mesh file
+ } else {
+ add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'stream_meshfile_exice');
+ }
+ }
+ }
+
+
+} # end exice streams
+
+#-------------------------------------------------------------------------------
+
+sub setup_logic_z0param {
+ #
+ # Set default z0 paramterization
+ #
+ my ($opts, $nl_flags, $definition, $defaults, $nl) = @_;
+
+ add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'z0param_method');
+
+ my $z0param_method = remove_leading_and_trailing_quotes($nl->get_value('z0param_method' ));
+ add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'use_z0m_snowmelt',
+ 'z0param_method'=>$z0param_method );
+
+ my $use_z0m_snowmelt = $nl->get_value( 'use_z0m_snowmelt' );
+
+ if ( $z0param_method eq "ZengWang2007" && defined($use_z0m_snowmelt) && value_is_true($use_z0m_snowmelt)) {
+ $log->fatal_error("use_z0m_snowmelt must be .false. when z0param_method = $z0param_method.\n $@");
+ }
+
+}
+
+#-------------------------------------------------------------------------------
+
+sub setup_logic_misc {
+ #
+ # Set some misc options
+ #
+ my ($opts, $nl_flags, $definition, $defaults, $nl) = @_;
+
+ if ( $opts->{'driver'} ne "nuopc" ) {
+ my $var = "force_send_to_atm";
+ my $val = $nl->get_value($var);
+ if ( defined($val) ) {
+ $log->fatal_error( "$var can only be set for the nuopc driver" );
+ }
+ }
+ add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'for_testing_run_ncdiopio_tests');
+ add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'for_testing_use_second_grain_pool');
+ add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'for_testing_use_repr_structure_pool');
+ add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'for_testing_no_crop_seed_replenishment');
+ add_default($opts, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'hist_fields_list_file');
+}
+
#-------------------------------------------------------------------------------
sub write_output_files {
@@ -3728,26 +4451,27 @@ sub write_output_files {
# CLM component
my @groups;
@groups = qw(clm_inparm ndepdyn_nml popd_streams urbantv_streams light_streams
- lai_streams atm2lnd_inparm lnd2atm_inparm clm_canopyhydrology_inparm cnphenology
+ soil_moisture_streams lai_streams atm2lnd_inparm lnd2atm_inparm clm_canopyhydrology_inparm cnphenology
+ cropcal_streams
clm_soilhydrology_inparm dynamic_subgrid cnvegcarbonstate
- finidat_consistency_checks dynpft_consistency_checks
+ finidat_consistency_checks dynpft_consistency_checks
clm_initinterp_inparm century_soilbgcdecompcascade
soilhydrology_inparm luna friction_velocity mineral_nitrogen_dynamics
soilwater_movement_inparm rooting_profile_inparm
soil_resis_inparm bgc_shared canopyfluxes_inparm aerosol
clmu_inparm clm_soilstate_inparm clm_nitrogen clm_snowhydrology_inparm
- cnprecision_inparm clm_glacier_behavior crop irrigation_inparm
+ cnprecision_inparm clm_glacier_behavior crop_inparm irrigation_inparm
surfacealbedo_inparm water_tracers_inparm);
#@groups = qw(clm_inparm clm_canopyhydrology_inparm clm_soilhydrology_inparm
# finidat_consistency_checks dynpft_consistency_checks);
# Eventually only list namelists that are actually used when CN on
- #if ( $nl_flags->{'bgc_mode'} eq "cn" ) {
- # push @groups, qw(ndepdyn_nml popd_streams light_streams);
- #}
if ( &value_is_true($nl_flags->{'use_lch4'}) ) {
push @groups, "ch4par_in";
}
+ if ( $opts->{'driver'} eq "nuopc" ) {
+ push @groups, "ctsm_nuopc_cap";
+ }
push @groups, "clm_humanindex_inparm";
push @groups, "cnmresp_inparm";
push @groups, "photosyns_inparm";
@@ -3756,6 +4480,8 @@ sub write_output_files {
push @groups, "nitrif_inparm";
push @groups, "lifire_inparm";
push @groups, "ch4finundated";
+ push @groups, "exice_streams";
+ push @groups, "soilbgc_decomp";
push @groups, "clm_canopy_inparm";
if (remove_leading_and_trailing_quotes($nl->get_value('snow_cover_fraction_method')) eq 'SwensonLawrence2012') {
push @groups, "scf_swenson_lawrence_2012_inparm";
@@ -3888,7 +4614,7 @@ sub add_default {
}
}
else {
- return;
+ return( 1 );
}
}
@@ -3904,7 +4630,7 @@ sub add_default {
} else {
if ($is_input_pathname eq 'abs') {
$val = set_abs_filepath($val, $inputdata_rootdir);
- if ( $test_files and ($val !~ /null/) and (! -f "$val") ) {
+ if ( $test_files and ($val !~ /null|none/) and (! -f "$val") ) {
$log->fatal_error("file not found: $var = $val");
}
}
@@ -3923,6 +4649,7 @@ sub add_default {
# set the value in the namelist
$nl->set_variable_value($group, $var, $val);
}
+ return( 0 );
}
@@ -3977,11 +4704,12 @@ sub check_input_files {
my $pathname = $nl->get_variable_value($group, $var);
# Need to strip the quotes
$pathname =~ s/['"]//g;
-
+ next if ($pathname =~ /UNSET$/);
if ($input_pathname_type eq 'abs') {
if ($inputdata_rootdir) {
- #MV $pathname =~ s:$inputdata_rootdir::;
- print OUTFILE "$var = $pathname\n";
+ if ( $pathname !~ /^\s*$/ ) { # If pathname isn't blank or null
+ print OUTFILE "$var = $pathname\n";
+ }
}
else {
if (-e $pathname) { # use -e rather than -f since the absolute pathname
@@ -4002,7 +4730,9 @@ sub check_input_files {
if ($inputdata_rootdir) {
$pathname = "$rootdir/$pathname";
#MV $pathname =~ s:$inputdata_rootdir::;
- print OUTFILE "$var = $pathname\n";
+ if ( $pathname !~ /^\s*$/ ) { # If pathname isn't blank or null
+ print OUTFILE "$var = $pathname\n";
+ }
}
else {
if (-f "$rootdir/$pathname") {
@@ -4069,10 +4799,10 @@ sub check_use_case_name {
my $diestring = "bad use_case name $use_case, follow the conventions " .
"in namelist_files/use_cases/README\n";
my $desc = "[a-zA-Z0-9]*";
- my $rcp = "rcp[0-9\.]+";
- if ( $use_case =~ /^[0-9]+-[0-9]+([a-zA-Z0-9_\.]*)_transient$/ ) {
+ my $ssp_rcp = "SSP[0-9]-[0-9\.]+";
+ if ( $use_case =~ /^[0-9]+-[0-9]+([a-zA-Z0-9_\.-]*)_transient$/ ) {
my $string = $1;
- if ( $string =~ /^_($rcp)_*($desc)$/ ) {
+ if ( $string =~ /^_($ssp_rcp)_*($desc)$/ ) {
# valid name
} elsif ( $string =~ /^_*($desc)$/ ) {
# valid name
@@ -4081,13 +4811,15 @@ sub check_use_case_name {
}
} elsif ( $use_case =~ /^20thC([a-zA-Z0-9_\.]*)_transient$/ ) {
my $string = $1;
- if ( $string =~ /^_($rcp)_*($desc)$/ ) {
+ if ( $string =~ /^_($ssp_rcp)_*($desc)$/ ) {
# valid name
} elsif ( $string =~ /^_*($desc)$/ ) {
# valid name
} else {
$log->fatal_error($diestring);
}
+ } elsif ( $use_case =~ /^([0-9]+|PI)-PD_*($desc)_transient$/ ) {
+ # valid name
} elsif ( $use_case =~ /^([0-9]+)_*($desc)_control$/ ) {
# valid name
} elsif ( $use_case =~ /^($desc)_pd$/ ) {
@@ -4117,7 +4849,7 @@ sub validate_options {
# create the @expect array by listing the files in $use_case_dir
# and strip off the ".xml" part of the filename
@expect = ();
- my @files = glob("$opts->{'use_case_dir'}/*.xml");
+ my @files = bsd_glob("$opts->{'use_case_dir'}/*.xml");
foreach my $file (@files) {
$file =~ m{.*/(.*)\.xml};
&check_use_case_name( $1 );
@@ -4131,7 +4863,7 @@ sub validate_options {
} else {
print "Use cases are:...\n\n";
my @ucases;
- foreach my $file( sort( glob($opts->{'use_case_dir'}."/*.xml") ) ) {
+ foreach my $file( sort( bsd_glob($opts->{'use_case_dir'}."/*.xml") ) ) {
my $use_case;
if ( $file =~ /\/([^\/]+)\.xml$/ ) {
&check_use_case_name( $1 );
@@ -4157,9 +4889,9 @@ sub list_options {
my ($opts_cmdl, $definition, $defaults) = @_;
# options to list values that are in the defaults files
- my @opts_list = ( "res", "mask", "sim_year", "rcp" );
+ my @opts_list = ( "res", "mask", "sim_year", "ssp_rcp" );
my %opts_local;
- foreach my $var ( "res", "mask", "sim_year", "rcp" ) {
+ foreach my $var ( "res", "mask", "sim_year", "ssp_rcp" ) {
my $val;
if ( $opts_cmdl->{$var} eq "list" ) {
$val = "default";
diff --git a/bld/README b/bld/README
index 0ed6779a80..71c663c268 100644
--- a/bld/README
+++ b/bld/README
@@ -23,7 +23,7 @@ env_run.xml --- Sample case runtime environment variables, so build-namelist can
listDefaultNamelist.pl -- List the files needed, for a list of resolutions,
to run CLM that are currently NOT on your machine.
This file can then be used by
- cime/scripts/Tools/check_input_data
+ cime/CIME/Tools/check_input_data
to retreive them from the inputdata repository.
Setting up cases with create_newcase also does
this -- but only for the exact configuration
diff --git a/bld/config_files/clm_phys_vers.pm b/bld/config_files/clm_phys_vers.pm
index 32124491a8..3e4de9c610 100755
--- a/bld/config_files/clm_phys_vers.pm
+++ b/bld/config_files/clm_phys_vers.pm
@@ -28,7 +28,7 @@ use bigint;
#use warnings;
#use diagnostics;
-my @version_strings = ("clm4_5", "clm5_0");
+my @version_strings = ("clm4_5", "clm5_0", "clm5_1");
#-------------------------------------------------------------------------------
@@ -83,12 +83,12 @@ if ( ! defined(caller) && $#ARGV == -1 ) {
require Test::More;
Test::More->import( );
- plan( tests=>2 );
+ plan( tests=>3 );
sub testit {
print "unit tester\n";
my %lastv;
- my @vers_list = ( "clm4_5", "clm5_0" );
+ my @vers_list = ( "clm4_5", "clm5_0", "clm5_1" );
foreach my $vers ( @vers_list ) {
my $phys = config_files::clm_phys_vers->new($vers);
isa_ok($phys, "config_files::clm_phys_vers", "created clm_phys_vers object");
diff --git a/bld/config_files/config_definition_ctsm.xml b/bld/config_files/config_definition_ctsm.xml
index b02510ed64..06263c6d19 100644
--- a/bld/config_files/config_definition_ctsm.xml
+++ b/bld/config_files/config_definition_ctsm.xml
@@ -5,10 +5,10 @@
-Specifies either clm4_5 or clm5_0 physics
+Specifies either clm4_5, clm5_0, or clm5_1 physics
new($config_cachefile, '>') or die "can't open file: $config_cachefile";
+ print $fh <
+
+
+Specifies clm physics
+
+EOF
+ $fh->close();
+}
+
#-----------------------------------------------------------------------------------------------
sub GetListofNeededFiles {
@@ -191,14 +205,12 @@ sub GetListofNeededFiles {
"$cfgdir/namelist_files/namelist_definition_ctsm.xml"
);
$inputopts{'nldef_files'} = \@nl_definition_files;
- $inputopts{'empty_cfg_file'} = "$cfgdir/config_files/config_definition_ctsm.xml";
+ $inputopts{'empty_cfg_file'} = "config_cache.xml";
my $definition = Build::NamelistDefinition->new( $nl_definition_files[0] );
foreach my $nl_defin_file ( @nl_definition_files ) {
$definition->add( "$nl_defin_file" );
}
- my $cfg = Build::Config->new( $inputopts{'empty_cfg_file'} );
-
# Resolutions...
my @resolutions;
if ( $opts{'res'} eq "all" ) {
@@ -208,6 +220,7 @@ sub GetListofNeededFiles {
}
# Input options
+ &make_config_cache( "clm5_0", $inputopts{'empty_cfg_file'} );
push @nl_defaults_files, "$cfgdir/namelist_files/namelist_defaults_ctsm.xml";
if ( defined($opts{'usrdat'}) ) {
push @nl_defaults_files, "$cfgdir/namelist_files/namelist_defaults_usr_files.xml";
@@ -248,14 +261,14 @@ sub GetListofNeededFiles {
# Loop over all possible simulation year: 1890, 2000, 2100 etc.
#
$settings{'sim_year_range'} = "constant";
- my @rcps = $definition->get_valid_values( "rcp", 'noquotes'=>1 );
- $settings{'rcp'} = $rcps[0];
+ my @ssp_rcps = $definition->get_valid_values( "ssp_rcp", 'noquotes'=>1 );
+ $settings{'ssp_rcp'} = $ssp_rcps[0];
YEAR: foreach my $sim_year ( $definition->get_valid_values( "sim_year", 'noquotes'=>1 ) ) {
print "sim_year = $sim_year\n" if $printing;
$settings{'sim_year'} = $sim_year;
if ( $sim_year ne 1850 && $sim_year ne 2000 && $sim_year > 1800 ) { next YEAR; }
- my @bgcsettings = $cfg->get_valid_values( "bgc" );
+ my @bgcsettings = $definition->get_valid_values( "bgc_mode", 'noquotes'=>1 );
print "bgc=@bgcsettings\n" if $printing;
#
# Loop over all possible BGC settings
@@ -298,11 +311,11 @@ sub GetListofNeededFiles {
$settings{'sim_year'} = $1;
}
#
- # Loop over all possible rcp's
+ # Loop over all possible ssp_rcp's
#
- print "sim_year_range=$sim_year_range rcp=@rcps\n" if $printing;
- foreach my $rcp ( @rcps ) {
- $settings{'rcp'} = $rcp;
+ print "sim_year_range=$sim_year_range ssp_rcp=@ssp_rcps\n" if $printing;
+ foreach my $ssp_rcp ( @ssp_rcps ) {
+ $settings{'ssp_rcp'} = $ssp_rcp;
&GetListofNeededFiles( \%inputopts, \%settings, \%files );
if ( $printTimes >= 1 ) {
$inputopts{'printing'} = 0;
diff --git a/bld/namelist_files/checkmapfiles.ncl b/bld/namelist_files/checkmapfiles.ncl
index c0751adcb0..e37100747a 100644
--- a/bld/namelist_files/checkmapfiles.ncl
+++ b/bld/namelist_files/checkmapfiles.ncl
@@ -9,7 +9,7 @@
;
print( "Check that datm mapping files are consistent" );
- resolutions = (/ "128x256", "64x128", "48x96", "32x64", "8x16", "94x192", "0.23x0.31", "0.47x0.63", "0.9x1.25", "1.9x2.5", "2.5x3.33", "4x5", "10x15", "0.125nldas2", "5x5_amazon", "1x1_camdenNJ", "1x1_vancouverCAN", "1x1_mexicocityMEX", "1x1_asphaltjungleNJ", "1x1_brazil", "1x1_urbanc_alpha", "1x1_numaIA", "1x1_smallvilleIA", "ne4np4", "ne16np4", "ne30np4", "ne60np4", "ne120np4", "ne240np4" /);
+ resolutions = (/ "128x256", "64x128", "48x96", "94x192", "0.23x0.31", "0.47x0.63", "0.9x1.25", "1.9x2.5", "2.5x3.33", "4x5", "10x15", "0.125nldas2", "5x5_amazon", "1x1_vancouverCAN", "1x1_mexicocityMEX", "1x1_asphaltjungleNJ", "1x1_brazil", "1x1_urbanc_alpha", "1x1_numaIA", "1x1_smallvilleIA", "ne4np4", "ne16np4", "ne30np4", "ne60np4", "ne120np4", "ne240np4" /);
space = " ";
badres = 0
@@ -82,7 +82,7 @@ begin
print( "query string="+querynml )
- mapgrids = (/"0.5x0.5_MODIS", "0.5x0.5_AVHRR", "0.5x0.5_MODIS", "5x5min_nomask", "5x5min_IGBP-GSDP", "5x5min_ISRIC-WISE", "10x10min_nomask", "3x3min_MODIS", "3x3min_LandScan2004", "3x3min_GLOBE-Gardner", "3x3min_GLOBE-Gardner-mergeGIS", "0.9x1.25_GRDC", "360x720cru_cruncep", "1km-merge-10min_HYDRO1K-merge-nomask"/);
+ mapgrids = (/"0.5x0.5_nomask", "0.25x0.25_nomask", "0.125x0.125_nomask", "3x3min_nomask", "5x5min_nomask", "10x10min_nomask", "0.9x1.25_nomask", "1km-merge-10min_HYDRO1K-merge-nomask"/);
do i = 0, dimsizes(resolutions)-1
res = resolutions(i);
print( "Go through maps for Resolution: "+res );
diff --git a/bld/namelist_files/createMapEntry.pl b/bld/namelist_files/createMapEntry.pl
index b4ea766e38..561683bb05 100755
--- a/bld/namelist_files/createMapEntry.pl
+++ b/bld/namelist_files/createMapEntry.pl
@@ -55,10 +55,16 @@
foreach my $foo ( @list ) {
next if ($foo =~ m/^\./); #~# skip anything in the directory with a leading or stand alone 'dot'
+ $foo =~ s/$grid/RES/; # Replace grid trying to match with RES (so underscores in the grid name don't mess up the matching)
my @tokens = split(/_/, $foo); #~# split foo name by the underscore
- #~# write out lines for namelist_defaults_ctsm.xml
- print "\n";
+ #~# write out lines for namelist_defaults_ctsm.xml nomask" files
+ my $from_mask = $tokens[2];
+ if ( $from_mask =~ /nomask/ ) {
+ if ( $tokens[5] eq "nomask" && $tokens[4] eq "RES" ) {
+ print "\n";
+ }
+ }
}
#~# print a unique end string in the XML comments
diff --git a/bld/namelist_files/createMkSrfEntry.py b/bld/namelist_files/createMkSrfEntry.py
index ee1175c9b1..3f12df1509 100755
--- a/bld/namelist_files/createMkSrfEntry.py
+++ b/bld/namelist_files/createMkSrfEntry.py
@@ -1,16 +1,16 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
import os, sys
class mksrfDataEntry_prog:
# Class data
- year_start = 2016
- year_end = 2100
- ssp_rcp = "SSP5-8.5"
- subdir = "pftcftdynharv.0.25x0.25.SSP5-8.5.simyr2016-2100.c171005"
- cdate = 171005
- desc = "SSP5RCP85_clm5"
+ year_start = 850
+ year_end = 1849
+ ssp_rcp = "hist"
+ subdir = "pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012"
+ cdate = 171012
+ desc = "histclm50_LUH2"
def parse_cmdline_args( self ):
"Parse the command line arguments for create data entry list"
@@ -41,9 +41,9 @@ def parse_cmdline_args( self ):
def printentry( self, year ):
"Print a single entry"
- print 'lnd/clm2/rawdata/%s/mksrf_landuse_%s_%s.c%s.nc' % (self.subdir, self.desc, year, self.cdate)
- print '\n'
+ print( 'lnd/clm2/rawdata/%s/mksrf_landuse_%s_%s.c%s.nc' % (self.subdir, self.desc, year, self.cdate) )
+ print( '\n' )
entry = mksrfDataEntry_prog()
entry.parse_cmdline_args()
diff --git a/bld/namelist_files/namelist_defaults.xsl b/bld/namelist_files/namelist_defaults.xsl
index 20a8c4a8ad..6960cfbef9 100644
--- a/bld/namelist_files/namelist_defaults.xsl
+++ b/bld/namelist_files/namelist_defaults.xsl
@@ -28,7 +28,7 @@
Site specific point name (sitespf_pt)
Crop model (crop)
Data model forcing source (forcing)
-
Representative concentration pathway for future scenarios (rcp)
+
Representative concentration pathway for future scenarios (SSP-rcp)
New good wood harvest (newwoodharv)
CN Spin-up mode (spinup)
Type of file (type)
diff --git a/bld/namelist_files/namelist_defaults_ctsm.xml b/bld/namelist_files/namelist_defaults_ctsm.xml
index c4acd4f242..484d0cc161 100644
--- a/bld/namelist_files/namelist_defaults_ctsm.xml
+++ b/bld/namelist_files/namelist_defaults_ctsm.xml
@@ -19,13 +19,15 @@ attributes from the config_cache.xml file (with keys converted to upper-case).
2000
-
-1800
-
379.0
+336.6379.0
+388.8
+397.5
+408.83284.7
+284.7constant
@@ -33,19 +35,41 @@ attributes from the config_cache.xml file (with keys converted to upper-case).
sp
-clm4_5_CRUv7
-clm5_0_cam6.0
+clm4_5_CRUv7
+clm5_0_cam6.0
+clm5_1_GSWP3v1
+
+
+clm2
+clm2
+clm2off
+221
+2
+2
+2210
+
+.true.
+.false.
+
+.false.
+.false.
+.false.
+.false.
+
+
+.false.
+
.true.20
-.false.
-.false.
-
-
-.true.
-.false.
+.false.
+.false.
+.false.
-.true.
+.true.
+.true.
+.false.
-2
-1
-0
+2
+2
+1
+0
+.true..true..false.
-Medlyn2011
-Ball-Berry1987
-Ball-Berry1987
+Medlyn2011
+Medlyn2011
+Ball-Berry1987
-lnd/clm2/isotopes/atm_delta_C13_CMIP6_1850-2015_yearly_v2.0_c190528.nc
-lnd/clm2/isotopes/atm_delta_C14_CMIP6_3x1_global_1850-2015_yearly_v2.0_c190528.nc
+lnd/clm2/isotopes/atm_delta_C13_CMIP6_1850-2015_yearly_v2.0_c190528.nc
+lnd/clm2/isotopes/atm_delta_C13_CMIP6_SSP119_1850-2100_yearly_c181209.nc
+lnd/clm2/isotopes/atm_delta_C13_CMIP6_SSP126_1850-2100_yearly_c181209.nc
+lnd/clm2/isotopes/atm_delta_C13_CMIP6_SSP245_1850-2100_yearly_c181209.nc
+lnd/clm2/isotopes/atm_delta_C13_CMIP6_SSP3B_1850-2100_yearly_c181209.nc
+lnd/clm2/isotopes/atm_delta_C13_CMIP6_SSP534os_1850-2100_yearly_c181209.nc
+lnd/clm2/isotopes/atm_delta_C13_CMIP6_SSP5B_1850-2100_yearly_c181209.nc
+
+lnd/clm2/isotopes/atm_delta_C14_CMIP6_3x1_global_1850-2015_yearly_v2.0_c190528.nc
+lnd/clm2/isotopes/atm_delta_C14_CMIP6_SSP119_3x1_global_1850-2100_yearly_c181209.nc
+lnd/clm2/isotopes/atm_delta_C14_CMIP6_SSP126_3x1_global_1850-2100_yearly_c181209.nc
+lnd/clm2/isotopes/atm_delta_C14_CMIP6_SSP245_3x1_global_1850-2100_yearly_c181209.nc
+lnd/clm2/isotopes/atm_delta_C14_CMIP6_SSP3B_3x1_global_1850-2100_yearly_c181209.nc
+lnd/clm2/isotopes/atm_delta_C14_CMIP6_SSP534os_3x1_global_1850-2100_yearly_c181209.nc
+lnd/clm2/isotopes/atm_delta_C14_CMIP6_SSP5B_3x1_global_1850-2100_yearly_c181209.nc
-.false.
-.true.
+.true.
+.false.
+.true.
+.false.
+.false.
+
+.false.
+
.false.
@@ -102,21 +146,25 @@ attributes from the config_cache.xml file (with keys converted to upper-case).
NONE
-NONE
+ALL
-0.50,0.30
-0.60,0.40
+0.50,0.30
+0.50,0.30
+0.60,0.40
+ON_WASTEHEATON_WASTEHEATON
-1
-0
+1
+1
+0
-FAST
-NONE
+FAST
+FAST
+NONE.false.
@@ -124,41 +172,54 @@ attributes from the config_cache.xml file (with keys converted to upper-case).
.true..false.
+.false.4SL_2m
-20SL_8.5m
-10SL_3.5m
-
-.false.
-.false.
-.true.
-.false.
-
+20SL_8.5m
+20SL_8.5m
+10SL_3.5m
+
+.false.
+.false.
+.true.
+.false.
+.false.
+.true.
+.false.
-1
-0
+1
+1
+0
-1
-1
+1
+1
+1
-1
-0
+1
+1
+0
-1.d-2
-0.001d00
-1.d-2
-1.d-2
+1.d-2
+0.001d00
+1.d-2
+0.001d00
+1.d-2
+1.d-2
-2.0d00
-0.5d00
+2.0d00
+2.0d00
+0.5d00
+0.5d00
+2.0d00
-.true.
-.false.
+.true.
+.true.
+.false..true.
@@ -173,24 +234,29 @@ attributes from the config_cache.xml file (with keys converted to upper-case).
0.2.
-0.
-2.
+0.
+2.
--2.
-0.
+-2.
+0.
+
+-2.
+0.
-.false.
-.true.
+.false.
+.true.
+.true.
-li2016crufrc
-li2014qianfrc
+li2021gswpfrc
+li2016crufrc
+li2014qianfrc30.0d0080.0d00
@@ -204,7 +270,8 @@ attributes from the config_cache.xml file (with keys converted to upper-case).
0.39d0075.d001050.d00
-0.5d00, 0.25d00
+0.5d00
+0.25d0030.0d00
@@ -228,40 +295,68 @@ attributes from the config_cache.xml file (with keys converted to upper-case).
0.33d00105.d001050.d00
-0.5d00, 0.28d00
+0.5d00
+0.28d00
+
+30.0d00
+80.0d00
+0.85d00
+0.98d00
+0.025d00
+0.09d-4
+0.010d00
+0.17d-3
+1.6d-4
+0.33d00
+75.d00
+1050.d00
+0.5d00
+0.28d00
-.false.
-.true.
+.false.
+.false.
+.true.
+
+.true.
+.false.
+.false.403
+
-.true.
-1.0
-0.05
+.true.
+1.0
+0.05
-.false.
-0.25
-1.0
+.true.
+1.0
+0.05
+
+.false.
+0.25
+1.0
-0
-1
+0
+1
+111
+14223
-60.
+60.1.e-8
-1.e-1
-1.e-2
+1.e-1
+1.e-24211
@@ -272,13 +367,15 @@ attributes from the config_cache.xml file (with keys converted to upper-case).
14400-3400.0.6
-1.0
-0.5
+1.0
+1.0
+0.50.1
-.false.
-.false.
+.false.
+.false.
+.false..false.
@@ -288,15 +385,19 @@ attributes from the config_cache.xml file (with keys converted to upper-case).
.true.
-12
-5
-5
+12
+5
+12
+5
+5
-10000.0
-5000.0
-1000.0
+10000.0
+5000.0
+10000.0
+5000.0
+1000.00.010d000.015d00
@@ -305,27 +406,34 @@ attributes from the config_cache.xml file (with keys converted to upper-case).
0.02d000.05d00
-2000.
+2000.
+2000.
-1.e30
+1.e30
-10.0d00
-10.0
+10.0d00
+10.0d00
+10.0
+.true..true..false.
-'Vionnet2012'
-'Anderson1976'
+'Vionnet2012'
+'Vionnet2012'
+'Anderson1976'
-'Slater2017'
-'TruncatedAnderson1976'
+'Slater2017'
+'Slater2017'
+'TruncatedAnderson1976'
-100.d00
-175.d00
+100.d00
+175.d00
+175.d00
-54.526d00
-204.526d00
+54.526d00
+204.526d00
+204.526d000.08d00
@@ -342,8 +450,14 @@ attributes from the config_cache.xml file (with keys converted to upper-case).
Mountain glaciers: single_at_atm_topo
Greenland - inside CISM grid but outside Greenland itself: virtual
Greenland itself: virtual
- Antarctica: multiple -->
-'single_at_atm_topo','virtual','virtual','multiple'
+ Antarctica: multiple
+
+ If CISM is running over Antarctica, then we change the Antarctica
+ behavior to virtual. Note that the Greenland behavior is always
+ virtual, even if Greenland isn't included in this run.
+-->
+'single_at_atm_topo','virtual','virtual','multiple'
+'single_at_atm_topo','virtual','virtual','virtual'
+007300
@@ -372,39 +487,47 @@ attributes from the config_cache.xml file (with keys converted to upper-case).
-lnd/clm2/paramdata/clm5_params.c190829.nc
-lnd/clm2/paramdata/clm_params.c190829.nc
+lnd/clm2/paramdata/ctsm51_params.c211112.nc
+lnd/clm2/paramdata/clm50_params.c211112.nc
+lnd/clm2/paramdata/clm45_params.c211112.nc
-lnd/clm2/paramdata/fates_params_2troppftclones.c171018.nc
+lnd/clm2/paramdata/fates_params_api.25.5.0_12pft_c230628.nc
+
+
+
+
+
+ZengWang2007
+
+.true.
+.false.
-.true.
-.false.
-.false.
+.true.
+.false.
+.true.
+.false.
+.false.
+.true.
+.false..true.
-.false.
+.false..false.
+.false..true.
-.false.
-3
-.true.
-.true.
-.true..true..false.3
-1
-1110
@@ -418,62 +541,88 @@ attributes from the config_cache.xml file (with keys converted to upper-case).
.false..false.
-.true.
-.true.
+.true.
+.true.
+.true.
+
+0.17
+0.17
-0.093563
+
+unset.false.
-.false.
-.true.
+.false.
+.true.
+.true..false. !added use_livestemproduct MWGraham
.false..true.
-constant
-varytropicsbylat
-12.0d00
-0.4d00
-
-3.d00
-1.d00
-
-
-
-0.5
-10.0
+constant
+varytropicsbylat
+12.0d00
+0.4d00
+varytropicsbylat
+12.0d00
+0.4d00
+
+3.d00
+3.d00
+1.d00
+
+
+.true.
+DependsOnLat
+.false.
+Constant
+.false.
+.true.
-.false.
-.true.
+.false.
+.true.
+.true..true.
-.false.
-.false.
-.false.
-.false.
-.false.
+.false.
+.false.
+.false.
+.false.
+.false.
+.false.
-.false.
-.false.
-.true.
-
-1.d-9
-1.d-8
--6.d+1
--6.d+0
--6.d+2
--6.d+1
+.false.
+.false.
+.true.
+.false.
+.true.
+
+1.d-9
+1.d-9
+1.d-8
+-6.d+1
+-6.d+0
+-6.d+1
+-6.d+0
+-6.d+2
+-6.d+1
-.false.
-.true.
+.false.
+.true.
+.true.
+
+
+
+.true.
+
-75
+61
-1850,2000
+1850,1979,2000,2003,2013
+
+
-.true.
-.true.
-.false.
+ Find Initial condition files: The settings use_init_interp, init_interp_attributes and finidat MUST all
+ be coordinated together!
+
+ NOTE: And they need to be coordinated with clm_start_type that's in namelist_defaults_overall.xml
+
+-->
+
+
+
+.true.
+
+
+.true.
+.true.
+.true.
+.true.
+
+.true.
+
+
+.true.
+
+.true.
+.true.
+
+.true.
+.true.
+.true.
+
+.false.
+
hgrid=0.9x1.25 maxpft=17 mask=gx1v7 use_cn=.true. use_nitrif_denitrif=.true. use_vertsoilc=.true. use_crop=.false. irrigate=.true. glc_nec=10
+>hgrid=0.9x1.25 maxpft=17 mask=gx1v7 use_cn=.true. use_crop=.false. irrigate=.true. glc_nec=10 do_transient_pfts=.false.
hgrid=0.9x1.25 maxpft=17 mask=gx1v7 use_cn=.true. use_nitrif_denitrif=.true. use_vertsoilc=.true. use_crop=.false. irrigate=.true. glc_nec=10
+>hgrid=0.9x1.25 maxpft=17 mask=gx1v7 use_cn=.true. use_crop=.false. irrigate=.true. glc_nec=10 do_transient_pfts=.false.
hgrid=0.9x1.25 maxpft=79 mask=gx1v7 use_cn=.true. use_nitrif_denitrif=.true. use_vertsoilc=.true. use_crop=.true. irrigate=.false. glc_nec=10
+>hgrid=0.9x1.25 maxpft=79 mask=gx1v7 use_cn=.true. use_crop=.true. irrigate=.false. glc_nec=10 do_transient_pfts=.false.
hgrid=0.9x1.25 maxpft=17 mask=gx1v7 use_cn=.false. use_nitrif_denitrif=.false. use_vertsoilc=.false. use_crop=.false. irrigate=.true. glc_nec=10
+>hgrid=0.9x1.25 maxpft=17 mask=gx1v7 use_cn=.false. use_crop=.false. irrigate=.true. glc_nec=10 do_transient_pfts=.false.
hgrid=0.9x1.25 maxpft=79 mask=gx1v7 use_cn=.true. use_nitrif_denitrif=.true. use_vertsoilc=.true. use_crop=.true. irrigate=.false. glc_nec=10
+>hgrid=0.9x1.25 maxpft=79 mask=gx1v7 use_cn=.true. use_crop=.true. irrigate=.false. glc_nec=10 do_transient_pfts=.false.
hgrid=0.9x1.25 maxpft=79 mask=gx1v7 use_cn=.true. use_nitrif_denitrif=.true. use_vertsoilc=.true. use_crop=.true. irrigate=.false. glc_nec=10
+>hgrid=0.9x1.25 maxpft=79 mask=gx1v7 use_cn=.true. use_crop=.true. irrigate=.false. glc_nec=10 do_transient_pfts=.false.
hgrid=0.9x1.25 maxpft=17 mask=gx1v7 use_cn=.false. use_nitrif_denitrif=.false. use_vertsoilc=.false. use_crop=.false. irrigate=.true. glc_nec=10
+>hgrid=0.9x1.25 maxpft=17 mask=gx1v7 use_cn=.false. use_crop=.false. irrigate=.true. glc_nec=10 do_transient_pfts=.false.
hgrid=0.9x1.25 maxpft=79 mask=gx1v7 use_cn=.true. use_nitrif_denitrif=.true. use_vertsoilc=.true. use_crop=.true. irrigate=.false. glc_nec=10
+>hgrid=0.9x1.25 maxpft=79 mask=gx1v7 use_cn=.true. use_crop=.true. irrigate=.false. glc_nec=10 do_transient_pfts=.false.
-hgrid=1.9x2.5 maxpft=79 mask=gx1v7 use_cn=.true. use_nitrif_denitrif=.true. use_vertsoilc=.true. use_crop=.true. irrigate=.true. glc_nec=10
+
+
+hgrid=0.9x1.25 maxpft=17 mask=gx1v7 use_cn=.false. use_crop=.false. irrigate=.true. glc_nec=10 do_transient_pfts=.false.
+hgrid=0.9x1.25 maxpft=79 mask=gx1v7 use_cn=.true. use_crop=.true. irrigate=.false. glc_nec=10 do_transient_pfts=.false.
+
+
+
+hgrid=1.9x2.5 maxpft=79 mask=gx1v7 use_cn=.true. use_crop=.true. irrigate=.true. glc_nec=10 do_transient_pfts=.false.
+
+
+hgrid=1.9x2.5 maxpft=79 mask=gx1v7 use_cn=.true. use_crop=.true. irrigate=.true. glc_nec=10 do_transient_pfts=.false.
+
+
+hgrid=0.9x1.25 maxpft=17 mask=gx1v7 use_cn=.false. use_crop=.false. irrigate=.true. glc_nec=10 do_transient_pfts=.false.
+
+
+hgrid=1.9x2.5 maxpft=79 mask=gx1v7 use_cn=.true. use_crop=.true. irrigate=.true. glc_nec=10 do_transient_pfts=.false.
+
+hgrid=1.9x2.5 maxpft=79 mask=gx1v7 use_cn=.true. use_crop=.true. irrigate=.true. glc_nec=10 do_transient_pfts=.false.
+
+
+hgrid=1.9x2.5 maxpft=79 mask=gx1v7 use_cn=.true. use_crop=.true. irrigate=.true. glc_nec=10 do_transient_pfts=.false.
+
+
+hgrid=1.9x2.5 maxpft=79 mask=gx1v7 use_cn=.true. use_crop=.true. irrigate=.true. glc_nec=10 do_transient_pfts=.false.
+
+
+hgrid=0.9x1.25 maxpft=79 mask=gx1v7 use_cn=.true. use_crop=.true. irrigate=.true. glc_nec=10 do_transient_pfts=.false.
+
+
+hgrid=0.9x1.25 maxpft=79 mask=gx1v7 use_cn=.true. use_crop=.true. irrigate=.true. glc_nec=10 do_transient_pfts=.false.
+
+
+hgrid=0.9x1.25 maxpft=79 mask=gx1v7 use_cn=.true. use_crop=.true. irrigate=.true. glc_nec=10 do_transient_pfts=.false.
+
+
+hgrid=0.9x1.25 maxpft=79 mask=gx1v7 use_cn=.true. use_crop=.true. irrigate=.true. glc_nec=10 do_transient_pfts=.false.
+
+
+hgrid=0.9x1.25 maxpft=79 mask=gx1v7 use_cn=.true. use_crop=.true. irrigate=.true. glc_nec=10 do_transient_pfts=.false.
+
+
+hgrid=0.9x1.25 maxpft=79 mask=gx1v7 use_cn=.true. use_crop=.true. irrigate=.true. glc_nec=10 do_transient_pfts=.false.
+
+
+hgrid=0.9x1.25 maxpft=79 mask=gx1v7 use_cn=.true. use_crop=.true. irrigate=.true. glc_nec=10 do_transient_pfts=.false.
+
+
+hgrid=0.9x1.25 maxpft=79 mask=gx1v7 use_cn=.true. use_crop=.true. irrigate=.true. glc_nec=10 do_transient_pfts=.false.
+
+
+hgrid=0.9x1.25 maxpft=79 mask=gx1v7 use_cn=.true. use_crop=.true. irrigate=.true. glc_nec=10 do_transient_pfts=.false.
+
+
+hgrid=0.9x1.25 maxpft=79 mask=gx1v7 use_cn=.true. use_crop=.true. irrigate=.true. glc_nec=10 do_transient_pfts=.false.
+
+
+hgrid=0.9x1.25 maxpft=79 mask=gx1v7 use_cn=.true. use_crop=.true. irrigate=.true. glc_nec=10 do_transient_pfts=.false.
+
+
+hgrid=0.9x1.25 maxpft=79 mask=gx1v7 use_cn=.true. use_crop=.true. irrigate=.true. glc_nec=10 do_transient_pfts=.false.
+
+
+hgrid=0.9x1.25 maxpft=79 mask=gx1v7 use_cn=.true. use_crop=.true. irrigate=.true. glc_nec=10 do_transient_pfts=.false.
+
+
+hgrid=0.9x1.25 maxpft=79 mask=gx1v7 use_cn=.true. use_crop=.true. irrigate=.true. glc_nec=10 do_transient_pfts=.false.
+
+
+
+hgrid=0.9x1.25 maxpft=79 mask=gx1v7 use_cn=.true. use_crop=.true. irrigate=.true. glc_nec=10 do_transient_pfts=.false.
+
+
+hgrid=0.9x1.25 maxpft=79 mask=gx1v7 use_cn=.true. use_crop=.true. irrigate=.true. glc_nec=10 do_transient_pfts=.false.
+
+
+hgrid=0.9x1.25 maxpft=79 mask=gx1v7 use_cn=.true. use_crop=.true. irrigate=.true. glc_nec=10 do_transient_pfts=.false.
+
+
+hgrid=0.9x1.25 maxpft=79 mask=gx1v7 use_cn=.true. use_crop=.true. irrigate=.true. glc_nec=10 do_transient_pfts=.false.
+
+
+hgrid=0.9x1.25 maxpft=79 mask=gx1v7 use_cn=.true. use_crop=.true. irrigate=.true. glc_nec=10 do_transient_pfts=.false.
+
+
+hgrid=0.9x1.25 maxpft=79 mask=gx1v7 use_cn=.true. use_crop=.true. irrigate=.true. glc_nec=10 do_transient_pfts=.false.
+
+
+
+
+hgrid=ne120np4.pg3 maxpft=79 mask=tx0.1v3 use_cn=.true. use_crop=.true. irrigate=.true. glc_nec=10 do_transient_pfts=.false.
+
+
+
+
+hgrid=0.9x1.25 maxpft=17 mask=gx1v7 use_cn=.false. use_crop=.false. irrigate=.true. glc_nec=10 do_transient_pfts=.false.
+
+
+hgrid=1.9x2.5 maxpft=17 mask=gx1v7 use_cn=.false. use_crop=.false. irrigate=.true. glc_nec=10 do_transient_pfts=.false.
+
+
+hgrid=ne0np4.ARCTIC.ne30x4 maxpft=17 mask=tx0.1v2 use_cn=.false. use_crop=.false. irrigate=.true. glc_nec=10 do_transient_pfts=.false.
+
+
+hgrid=ne0np4.ARCTICGRIS.ne30x8 maxpft=17 mask=tx0.1v2 use_cn=.false. use_crop=.false. irrigate=.true. glc_nec=10 do_transient_pfts=.false.
+
+p
+
+hgrid=1.9x2.5 maxpft=17 mask=gx1v7 use_cn=.false. use_crop=.false. irrigate=.true. glc_nec=10 do_transient_pfts=.false.
+
+
+
+hgrid=ne0np4CONUS.ne30x8 maxpft=17 mask=tx0.1v2 use_cn=.false. use_crop=.false. irrigate=.true. glc_nec=10 do_transient_pfts=.false.
+
+
+
lnd/clm2/initdata_map/clmi.I1850Clm45BgcGs.0901-01-01.0.9x1.25_gx1v7_simyr1850_c190718.nc
+>lnd/clm2/initdata_map/clmi.I1850Clm45BgcGs.0901-01-01.0.9x1.25_gx1v7_simyr1850_c200806.nc
lnd/clm2/initdata_map/clmi.I1850Clm45BgcCruGs.1101-01-01.0.9x1.25_gx1v7_simyr1850_c190718.nc
+>lnd/clm2/initdata_map/clmi.I1850Clm45BgcCruGs.1101-01-01.0.9x1.25_gx1v7_simyr1850_c200806.nc
lnd/clm2/initdata_map/clmi.B1850.0161-01-01.0.9x1.25_gx1v7_simyr1850_c190111.nc
+>lnd/clm2/initdata_map/clmi.B1850Clm45BgcGs.0161-01-01.0.9x1.25_gx1v7_simyr1850_c200806.nc
lnd/clm2/initdata_map/clmi.I1850Clm50Sp.0181-01-01.0.9x1.25_gx1v7_simyr1850_c190111.nc
+>lnd/clm2/initdata_map/clmi.I1850Clm50Sp.0181-01-01.0.9x1.25_gx1v7_simyr1850_c200806.nc
lnd/clm2/initdata_map/clmi.I1850Clm50BgcCrop-ciso.1366-01-01.0.9x1.25_gx1v7_simyr1850_c190116.nc
+>lnd/clm2/initdata_map/clmi.I1850Clm50BgcCrop-ciso.1366-01-01.0.9x1.25_gx1v7_simyr1850_c200428.nc
lnd/clm2/initdata_map/clmi.I1850Clm50BgcCropCru-ciso.1526-01-01.0.9x1.25_gx1v7_simyr1850_c190116.nc
+>lnd/clm2/initdata_map/clmi.I1850Clm50BgcCropCru-ciso.1526-01-01.0.9x1.25_gx1v7_simyr1850_c200728.nc
lnd/clm2/initdata_map/clmi.B1850.0161-01-01.0.9x1.25_gx1v7_simyr1850_c190111.nc
+>lnd/clm2/initdata_map/clmi.B1850Clm50BgcCrop.0161-01-01.0.9x1.25_gx1v7_simyr1850_c200729.nc
lnd/clm2/initdata_map/clmi.I1850Clm50SpCru.1706-01-01.0.9x1.25_gx1v7_simyr1850_c190111.nc
+>lnd/clm2/initdata_map/clmi.I1850Clm50SpCru.1706-01-01.0.9x1.25_gx1v7_simyr1850_c200806.nc
+
+lnd/clm2/initdata_map/clmi.I1850Clm50Sp.0181-01-01.0.9x1.25_gx1v7_simyr1850_c200806.nc
+
+lnd/clm2/initdata_map/clmi.I1850Clm50BgcCrop-ciso.1366-01-01.0.9x1.25_gx1v7_simyr1850_c200428.nc
+lnd/clm2/initdata_map/clmi.I2000Clm50BgcCrop.2011-01-01.1.9x2.5_gx1v7_gl4_simyr2000_c190312.nc
+
+
+
+lnd/clm2/initdata_map/clmi.I2000Clm50BgcCrop.2011-01-01.1.9x2.5_gx1v7_gl4_simyr2000_c190312.nc
+
+
+
+lnd/clm2/initdata_map/clmi.I2000Clm50BgcCrop.2011-01-01.1.9x2.5_gx1v7_gl4_simyr2000_c190312.nc
+
+lnd/clm2/initdata_map/clmi.I2000Clm50BgcCrop.2011-01-01.1.9x2.5_gx1v7_gl4_simyr2000_c190312.nc
+
+
+
+
+lnd/clm2/initdata_map/clmi.I2000Clm50BgcCrop.2011-01-01.1.9x2.5_gx1v7_gl4_simyr2000_c190312.nc
+
+
+
+lnd/clm2/initdata_map/clmi.BHIST.2000-01-01.0.9x1.25_gx1v7_simyr1979_c200806.nc
+
+
+lnd/clm2/initdata_map/clmi.BHIST.2000-01-01.0.9x1.25_gx1v7_simyr1979_c200806.nc
+
+
+lnd/clm2/initdata_map/clmi.BHIST.2000-01-01.1.9x2.5_gx1v7_simyr1979_c200806.nc
+
+
+
+lnd/clm2/initdata_map/clmi.FHISTSp.1979-01-01.ARCTIC_ne30x4_mt12_simyr1979_c200806.nc
+
+
+
+lnd/clm2/initdata_map/clmi.FHISTSp.1979-01-01.ARCTICGRIS_ne30x8_mt12_simyr1979_c200806.nc
+
+
+
+lnd/clm2/initdata_map/clmi.I2000Clm50BgcCrop.2011-01-01.1.9x2.5_gx1v7_gl4_simyr2000_c180715.nc
+ lnd_tuning_mode="clm5_0_cam6.0"
+>lnd/clm2/initdata_map/clmi.F2000.2000-01-01.ne120pg3_mt13_simyr2000_c200728.nc
+
+
+
+lnd/clm2/initdata_map/clmi.BHIST.2000-01-01.0.9x1.25_gx1v7_simyr2000_c200728.nc
-
-
+lnd/clm2/initdata_map/clmi.I2000Clm45Fates.0021-01-01.4x5_mgx3v7_simyr2000_c180306.nc
+ lnd_tuning_mode="clm5_0_cam6.0"
+>lnd/clm2/initdata_map/clmi.BHISTSp.2000-01-01.1.9x2.5_gx1v7_simyr2003_c200807.nc
+
+lnd/clm2/initdata_map/clmi.FHISTSp.2013-01-01.ne0CONUSne30x8_mt12_simyr2013_c200806.nc
+
+
-
-lnd/clm2/surfdata_map/surfdata_360x720cru_16pfts_Irrig_CMIP6_simyr2000_c170824.nc
-lnd/clm2/surfdata_map/surfdata_48x96_16pfts_Irrig_CMIP6_simyr2000_c170824.nc
+lnd/clm2/surfdata_map/release-clm5.0.18/surfdata_48x96_hist_16pfts_Irrig_CMIP6_simyr2000_c190214.nc
-
-lnd/clm2/surfdata_map/surfdata_0.47x0.63_16pfts_Irrig_CMIP6_simyr2000_c170919.nc
+
+lnd/clm2/surfdata_map/release-clm5.0.18/surfdata_0.9x1.25_hist_16pfts_Irrig_CMIP6_simyr2000_c190214.nc
-lnd/clm2/surfdata_map/surfdata_0.9x1.25_16pfts_Irrig_CMIP6_simyr2000_c170824.nc
-
-lnd/clm2/surfdata_map/surfdata_1.9x2.5_16pfts_Irrig_CMIP6_simyr2000_c170824.nc
+lnd/clm2/surfdata_map/release-clm5.0.18/surfdata_0.9x1.25_hist_16pfts_Irrig_CMIP6_simyr2000_c190214.nc
+
+lnd/clm2/surfdata_map/release-clm5.0.18/surfdata_1.9x2.5_hist_16pfts_Irrig_CMIP6_simyr2000_c190304.nc
+
+lnd/clm2/surfdata_map/release-clm5.0.18/surfdata_1.9x2.5_hist_16pfts_Irrig_CMIP6_simyr2000_c190304.nc
-lnd/clm2/surfdata_map/surfdata_4x5_16pfts_Irrig_CMIP6_simyr2000_c170824.nc
-
-lnd/clm2/surfdata_map/surfdata_10x15_16pfts_Irrig_CMIP6_simyr2000_c170824.nc
+lnd/clm2/surfdata_map/release-clm5.0.18/surfdata_4x5_hist_16pfts_Irrig_CMIP6_simyr2000_c190214.nc
+
+lnd/clm2/surfdata_map/release-clm5.0.18/surfdata_10x15_hist_16pfts_Irrig_CMIP6_simyr2000_c190214.nc
+
+lnd/clm2/surfdata_map/release-clm5.0.18/surfdata_10x15_hist_16pfts_Irrig_CMIP6_simyr2000_c190214.nc
-
-lnd/clm2/surfdata_map/surfdata_ne120np4_16pfts_Irrig_CMIP6_simyr2000_c170824.nc
-lnd/clm2/surfdata_map/surfdata_ne30np4_16pfts_Irrig_CMIP6_simyr2000_c170824.nc
+lnd/clm2/surfdata_map/release-clm5.0.18/surfdata_ne30np4_hist_16pfts_Irrig_CMIP6_simyr2000_c190303.nc
-lnd/clm2/surfdata_map/surfdata_ne16np4_16pfts_Irrig_CMIP6_simyr2000_c170824.nc
+lnd/clm2/surfdata_map/release-clm5.0.18/surfdata_ne16np4_hist_16pfts_Irrig_CMIP6_simyr2000_c190214.nc
lnd/clm2/surfdata_map/surfdata_0.125nldas2_hist_16pfts_Irrig_CMIP6_simyr2005_c190412.nc
+
+lnd/clm2/surfdata_map/ctsm5.1.dev116/surfdata_1x1_brazil_hist_78pfts_CMIP6_simyr2000_c230123.nc
+
-lnd/clm2/surfdata_map/surfdata_5x5_amazon_16pfts_Irrig_CMIP6_simyr2000_c171214.nc
-
-lnd/clm2/surfdata_map/surfdata_1x1_brazil_16pfts_Irrig_CMIP6_simyr2000_c171214.nc
+lnd/clm2/surfdata_map/release-clm5.0.18/surfdata_5x5_amazon_hist_16pfts_Irrig_CMIP6_simyr2000_c190214.nc
lnd/clm2/surfdata_map/surfdata_64x128_16pfts_Irrig_CMIP6_simyr2000_c170824.nc
+>lnd/clm2/surfdata_map/release-clm5.0.18/surfdata_64x128_hist_16pfts_Irrig_CMIP6_simyr2000_c190214.nc
-
-lnd/clm2/surfdata_map/surfdata_0.47x0.63_78pfts_CMIP6_simyr2000_c170919.nc
-
-lnd/clm2/surfdata_map/surfdata_0.9x1.25_78pfts_CMIP6_simyr2000_c170824.nc
-
-lnd/clm2/surfdata_map/surfdata_1.9x2.5_78pfts_CMIP6_simyr2000_c170824.nc
+
+lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_C384_hist_78pfts_CMIP6_simyr2000_c200317.nc
+
+lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_C192_hist_78pfts_CMIP6_simyr2000_c200317.nc
+
+lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_C96_hist_78pfts_CMIP6_simyr2000_c200317.nc
+
+lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_C48_hist_78pfts_CMIP6_simyr2000_c200317.nc
+
+lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_C24_hist_78pfts_CMIP6_simyr2000_c200317.nc
+
+lnd/clm2/surfdata_map/release-clm5.0.18/surfdata_0.9x1.25_hist_78pfts_CMIP6_simyr2000_c190214.nc
+
+lnd/clm2/surfdata_map/release-clm5.0.18/surfdata_1.9x2.5_hist_78pfts_CMIP6_simyr2000_c190304.nc
+
+lnd/clm2/surfdata_map/release-clm5.0.18/surfdata_360x720cru_78pfts_CMIP6_simyr2000_c170824.nc
-lnd/clm2/surfdata_map/surfdata_0.125x0.125_mp24_simyr2000_c150114.nc
-
-lnd/clm2/surfdata_map/surfdata_10x15_78pfts_CMIP6_simyr2000_c170824.nc
+lnd/clm2/surfdata_map/release-clm5.0.24/surfdata_0.125x0.125_hist_78pfts_CMIP6_simyr2005_c190624.nc
+
+lnd/clm2/surfdata_map/release-clm5.0.18/surfdata_10x15_hist_78pfts_CMIP6_simyr2000_c190214.nc
-lnd/clm2/surfdata_map/surfdata_4x5_78pfts_CMIP6_simyr2000_c170824.nc
-
-lnd/clm2/surfdata_map/surfdata_1x1_numaIA_78pfts_CMIP6_simyr2000_c171214.nc
-
-lnd/clm2/surfdata_map/surfdata_1x1_smallvilleIA_78pfts_CMIP6_simyr2000_c171214.nc
-
-
-lnd/clm2/surfdata_map/surfdata_ne120np4_78pfts_CMIP6_simyr2000_c170824.nc
-
-lnd/clm2/surfdata_map/surfdata_ne30np4_78pfts_CMIP6_simyr2000_c170824.nc
-
-lnd/clm2/surfdata_map/surfdata_ne16np4_78pfts_CMIP6_simyr2000_c170824.nc
+lnd/clm2/surfdata_map/release-clm5.0.18/surfdata_4x5_hist_78pfts_CMIP6_simyr2000_c190214.nc
+
+lnd/clm2/surfdata_map/ctsm5.1.dev116/surfdata_1x1_numaIA_hist_78pfts_CMIP6_simyr2000_c230123.nc
+
+lnd/clm2/surfdata_map/ctsm5.1.dev116/surfdata_1x1_smallvilleIA_hist_78pfts_CMIP6_simyr2000_c230123.nc
+
+
+lnd/clm2/surfdata_map/ctsm5.1.dev052/surfdata_mpasa480_hist_78pfts_CMIP6_simyr2000_c211110.nc
+
+lnd/clm2/surfdata_map/ctsm5.1.dev052/surfdata_mpasa240_hist_78pfts_CMIP6_simyr2000_c211115.nc
+
+lnd/clm2/surfdata_map/ctsm5.1.dev052/surfdata_mpasa120_hist_78pfts_CMIP6_simyr2000_c211108.nc
+
+lnd/clm2/surfdata_map/ctsm5.1.dev052/surfdata_mpasa60_hist_78pfts_CMIP6_simyr2000_c211110.nc
+
+lnd/clm2/surfdata_map/ctsm5.1.dev052/surfdata_mpasa30_hist_78pfts_CMIP6_simyr2000_c211111.nc
+
+lnd/clm2/surfdata_map/ctsm5.1.dev052/surfdata_mpasa15_hist_78pfts_CMIP6_simyr2000_c211111.nc
+
+
+lnd/clm2/surfdata_map/ctsm5.1.dev120//surfdata_ne3np4.pg3_hist_78pfts_CMIP6_simyr2000_c230405.nc
+
+lnd/clm2/surfdata_map/ctsm5.1.dev120/surfdata_ne5np4.pg3_hist_78pfts_CMIP6_simyr2000_c230405.nc
+
+lnd/clm2/surfdata_map/release-clm5.0.18/surfdata_ne16np4_hist_78pfts_CMIP6_simyr2000_c190214.nc
+
+lnd/clm2/surfdata_map/ctsm5.1.dev120/surfdata_ne16np4.pg3_hist_78pfts_CMIP6_simyr2000_c230405.nc
+
+lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne30np4_hist_78pfts_CMIP6_simyr2000_c200426.nc
+
+lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne30np4.pg2_hist_78pfts_CMIP6_simyr2000_c200426.nc
+
+lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne30np4.pg3_hist_78pfts_CMIP6_simyr2000_c200426.nc
+
+lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne120np4_hist_78pfts_CMIP6_simyr2000_c200427.nc
+
+lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne120np4.pg2_hist_78pfts_CMIP6_simyr2000_c200426.nc
+
+lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne120np4.pg3_hist_78pfts_CMIP6_simyr2000_c200427.nc
+
+lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.ARCTICGRIS.ne30x8_hist_78pfts_CMIP6_simyr2000_c200426.nc
+
+lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.ARCTIC.ne30x4_hist_78pfts_CMIP6_simyr2000_c200426.nc
+
+lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts_CMIP6_simyr2000_c200426.nc
-
-lnd/clm2/surfdata_map/surfdata_1x1_camdenNJ_16pfts_Irrig_CMIP6_simyr2000_c171214.nc
-
-lnd/clm2/surfdata_map/surfdata_1x1_vancouverCAN_16pfts_Irrig_CMIP6_simyr2000_c171214.nc
-
-lnd/clm2/surfdata_map/surfdata_1x1_mexicocityMEX_16pfts_Irrig_CMIP6_simyr2000_c171214.nc
-
-lnd/clm2/surfdata_map/surfdata_1x1_urbanc_alpha_16pfts_Irrig_CMIP6_simyr2000_c171214.nc
+
+lnd/clm2/surfdata_map/ctsm5.1.dev116/surfdata_1x1_vancouverCAN_hist_78pfts_CMIP6_simyr2000_c230123.nc
+
+lnd/clm2/surfdata_map/ctsm5.1.dev116/surfdata_1x1_mexicocityMEX_hist_78pfts_CMIP6_simyr2000_c230123.nc
+
+lnd/clm2/surfdata_map/ctsm5.1.dev116/surfdata_1x1_urbanc_alpha_hist_78pfts_CMIP6_simyr2000_c230123.nc
-
-lnd/clm2/surfdata_map/surfdata_360x720cru_16pfts_Irrig_CMIP6_simyr1850_c170824.nc
-lnd/clm2/surfdata_map/surfdata_48x96_16pfts_Irrig_CMIP6_simyr1850_c170824.nc
+ lnd/clm2/surfdata_map/release-clm5.0.18/surfdata_48x96_hist_16pfts_Irrig_CMIP6_simyr1850_c190214.nc
-
-lnd/clm2/surfdata_map/surfdata_0.47x0.63_16pfts_Irrig_CMIP6_simyr1850_c170919.nc
-lnd/clm2/surfdata_map/surfdata_0.9x1.25_16pfts_Irrig_CMIP6_simyr1850_c170824.nc
+lnd/clm2/surfdata_map/release-clm5.0.18/surfdata_0.9x1.25_hist_16pfts_Irrig_CMIP6_simyr1850_c190214.nc
-lnd/clm2/surfdata_map/surfdata_1.9x2.5_16pfts_Irrig_CMIP6_simyr1850_c170824.nc
+lnd/clm2/surfdata_map/release-clm5.0.18/surfdata_1.9x2.5_hist_16pfts_Irrig_CMIP6_simyr1850_c190304.nc
-lnd/clm2/surfdata_map/surfdata_10x15_16pfts_Irrig_CMIP6_simyr1850_c170824.nc
+lnd/clm2/surfdata_map/release-clm5.0.18/surfdata_10x15_hist_16pfts_Irrig_CMIP6_simyr1850_c190214.nc
-lnd/clm2/surfdata_map/surfdata_4x5_16pfts_Irrig_CMIP6_simyr1850_c170824.nc
-
-
-lnd/clm2/surfdata_map/surfdata_1x1_brazil_16pfts_Irrig_CMIP6_simyr1850_c171214.nc
+lnd/clm2/surfdata_map/release-clm5.0.18/surfdata_4x5_hist_16pfts_Irrig_CMIP6_simyr1850_c190214.nc
+
+
+lnd/clm2/surfdata_map/ctsm5.1.dev052/surfdata_mpasa480_hist_78pfts_CMIP6_simyr1850_c211110.nc
+
+lnd/clm2/surfdata_map/ctsm5.1.dev052/surfdata_mpasa240_hist_78pfts_CMIP6_simyr1850_c211115.nc
+
+lnd/clm2/surfdata_map/ctsm5.1.dev052/surfdata_mpasa120_hist_78pfts_CMIP6_simyr1850_c211108.nc
+
+lnd/clm2/surfdata_map/ctsm5.1.dev052/surfdata_mpasa60_hist_78pfts_CMIP6_simyr1850_c211110.nc
+
+lnd/clm2/surfdata_map/ctsm5.1.dev052/surfdata_mpasa30_hist_78pfts_CMIP6_simyr1850_c211111.nc
+
+lnd/clm2/surfdata_map/ctsm5.1.dev052/surfdata_mpasa15_hist_78pfts_CMIP6_simyr1850_c211111.nc
-
-
-lnd/clm2/surfdata_map/surfdata_ne120np4_16pfts_Irrig_CMIP6_simyr1850_c170824.nc
-lnd/clm2/surfdata_map/surfdata_ne30np4_16pfts_Irrig_CMIP6_simyr1850_c170824.nc
+lnd/clm2/surfdata_map/release-clm5.0.18/surfdata_ne30np4_hist_16pfts_Irrig_CMIP6_simyr1850_c190303.nc
-
-lnd/clm2/surfdata_map/surfdata_360x720cru_78pfts_CMIP6_simyr1850_c170824.nc
-lnd/clm2/surfdata_map/surfdata_48x96_78pfts_CMIP6_simyr1850_c170824.nc
-
-
-lnd/clm2/surfdata_map/surfdata_0.47x0.63_78pfts_CMIP6_simyr1850_c170919.nc
+lnd/clm2/surfdata_map/release-clm5.0.18/surfdata_48x96_hist_78pfts_CMIP6_simyr1850_c190214.nc
+
+
+lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_C384_hist_78pfts_CMIP6_simyr1850_c200317.nc
+
+lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_C192_hist_78pfts_CMIP6_simyr1850_c200317.nc
+
+lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_C96_hist_78pfts_CMIP6_simyr1850_c200317.nc
+
+lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_C48_hist_78pfts_CMIP6_simyr1850_c200317.nc
+
+lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_C24_hist_78pfts_CMIP6_simyr1850_c200317.nc
-lnd/clm2/surfdata_map/surfdata_0.9x1.25_78pfts_CMIP6_simyr1850_c170824.nc
+lnd/clm2/surfdata_map/release-clm5.0.18/surfdata_0.9x1.25_hist_78pfts_CMIP6_simyr1850_c190214.nc
-lnd/clm2/surfdata_map/surfdata_1.9x2.5_78pfts_CMIP6_simyr1850_c170824.nc
+lnd/clm2/surfdata_map/release-clm5.0.18/surfdata_1.9x2.5_hist_78pfts_CMIP6_simyr1850_c190304.nc
-lnd/clm2/surfdata_map/surfdata_10x15_78pfts_CMIP6_simyr1850_c170824.nc
+lnd/clm2/surfdata_map/release-clm5.0.18/surfdata_10x15_hist_78pfts_CMIP6_simyr1850_c190214.nc
-lnd/clm2/surfdata_map/surfdata_4x5_78pfts_CMIP6_simyr1850_c170824.nc
-
-lnd/clm2/surfdata_map/surfdata_1x1_smallvilleIA_78pfts_CMIP6_simyr1850_c171214.nc
-
-lnd/clm2/surfdata_map/surfdata_1x1_numaIA_78pfts_CMIP6_simyr1850_c170917.nc
-
-
-lnd/clm2/surfdata_map/surfdata_1x1_brazil_78pfts_CMIP6_simyr1850_c171214.nc
-
-
-lnd/clm2/surfdata_map/surfdata_ne30np4_78pfts_CMIP6_simyr1850_c170824.nc
-
-lnd/clm2/surfdata_map/surfdata_ne120np4_78pfts_CMIP6_simyr1850_c170824.nc
+lnd/clm2/surfdata_map/release-clm5.0.18/surfdata_4x5_hist_78pfts_CMIP6_simyr1850_c190214.nc
+
+lnd/clm2/surfdata_map/ctsm5.1.dev116/surfdata_1x1_smallvilleIA_hist_78pfts_CMIP6_simyr1850_c230123.nc
+
+lnd/clm2/surfdata_map/ctsm5.1.dev116/surfdata_1x1_numaIA_hist_78pfts_CMIP6_simyr1850_c230123.nc
+
+
+lnd/clm2/surfdata_map/ctsm5.1.dev116/surfdata_1x1_brazil_hist_78pfts_CMIP6_simyr1850_c230123.nc
+
+
+lnd/clm2/surfdata_map/ctsm5.1.dev120/surfdata_ne3np4.pg3_hist_78pfts_CMIP6_simyr1850_c230405.nc
+
+lnd/clm2/surfdata_map/ctsm5.1.dev120/surfdata_ne5np4.pg3_hist_78pfts_CMIP6_simyr1850_c230405.nc
+
+lnd/clm2/surfdata_map/ctsm5.1.dev120/surfdata_ne16np4.pg3_hist_78pfts_CMIP6_simyr1850_c230405.nc
+
+lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne30np4_hist_78pfts_CMIP6_simyr1850_c200426.nc
+
+lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne30np4.pg2_hist_78pfts_CMIP6_simyr1850_c200426.nc
+
+lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne30np4.pg3_hist_78pfts_CMIP6_simyr1850_c200426.nc
+
+lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne120np4_hist_78pfts_CMIP6_simyr1850_c200427.nc
+
+lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne120np4.pg2_hist_78pfts_CMIP6_simyr1850_c200426.nc
+
+lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne120np4.pg3_hist_78pfts_CMIP6_simyr1850_c200427.nc
+
+lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.ARCTICGRIS.ne30x8_hist_78pfts_CMIP6_simyr1850_c200426.nc
+
+lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.ARCTIC.ne30x4_hist_78pfts_CMIP6_simyr1850_c200426.nc
+
+lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts_CMIP6_simyr1850_c200426.nc
+
+
+lnd/clm2/surfdata_map/surfdata_0.9x1.25_hist_16pfts_nourb_CMIP6_simyrPtVg_c181114.nc
-
-
-lnd/clm2/surfdata_map/landuse.timeseries_0.47x0.63_hist_16pfts_Irrig_CMIP6_simyr1850-2015_c171025.nc
-lnd/clm2/surfdata_map/landuse.timeseries_360x720cru_hist_16pfts_Irrig_CMIP6_simyr1850-2015_c170824.nc
-lnd/clm2/surfdata_map/landuse.timeseries_0.9x1.25_hist_16pfts_Irrig_CMIP6_simyr1850-2015_c170824.nc
-lnd/clm2/surfdata_map/landuse.timeseries_0.9x1.25_hist_16pfts_Irrig_CMIP6_simyr1850-2015_c170824.nc
+lnd/clm2/surfdata_map/landuse.timeseries_1.9x2.5_hist_16pfts_Irrig_CMIP6_simyr1850-2015_c170824.nc
+lnd/clm2/surfdata_map/landuse.timeseries_1.9x2.5_hist_16pfts_Irrig_CMIP6_simyr1850-2015_c170824.nc
-lnd/clm2/surfdata_map/landuse.timeseries_10x15_hist_16pfts_Irrig_CMIP6_simyr1850-2015_c170824.nc
+lnd/clm2/surfdata_map/landuse.timeseries_10x15_hist_16pfts_Irrig_CMIP6_simyr1850-2015_c170824.nclnd/clm2/surfdata_map/landuse.timeseries_4x5_hist_16pfts_Irrig_CMIP6_simyr1850-2015_c170824.nclnd/clm2/surfdata_map/landuse.timeseries_48x96_hist_16pfts_Irrig_CMIP6_simyr1850-2015_c170824.nc
+ use_crop=".false." >lnd/clm2/surfdata_map/release-clm5.0.18/landuse.timeseries_48x96_hist_16pfts_Irrig_CMIP6_simyr1850-2015_c190214.nc
-lnd/clm2/surfdata_map/landuse.timeseries_1x1_brazil_hist_16pfts_Irrig_CMIP6_simyr1850-2015_c170824.nc
-lnd/clm2/surfdata_map/landuse.timeseries_ne120np4_hist_16pfts_Irrig_CMIP6_simyr1850-2015_c170824.nclnd/clm2/surfdata_map/landuse.timeseries_ne30np4_hist_16pfts_Irrig_CMIP6_simyr1850-2015_c170824.nc
+lnd/clm2/surfdata_map/landuse.timeseries_ne0np4.ARCTIC.ne30x4_hist_78pfts_CMIP6_simyr1850-2015_c191023.nc
-lnd/clm2/surfdata_map/landuse.timeseries_0.47x0.63_hist_78pfts_CMIP6_simyr1850-2015_c180508.nc
-lnd/clm2/surfdata_map/landuse.timeseries_360x720cru_hist_78pfts_CMIP6_simyr1850-2015_c170824.nc
-lnd/clm2/surfdata_map/landuse.timeseries_0.9x1.25_hist_78pfts_CMIP6_simyr1850-2015_c170824.nc
-lnd/clm2/surfdata_map/landuse.timeseries_1.9x2.5_hist_78pfts_CMIP6_simyr1850-2015_c170824.nc
-lnd/clm2/surfdata_map/landuse.timeseries_10x15_hist_78pfts_CMIP6_simyr1850-2015_c170824.nclnd/clm2/surfdata_map/landuse.timeseries_4x5_hist_78pfts_CMIP6_simyr1850-2015_c170824.nc
@@ -794,191 +1332,230 @@ lnd/clm2/surfdata_map/surfdata_ne120np4_78pfts_CMIP6_simyr1850_c170824.nclnd/clm2/surfdata_map/landuse.timeseries_48x96_hist_78pfts_CMIP6_simyr1850-2015_c170824.nc
lnd/clm2/surfdata_map/landuse.timeseries_1x1_brazil_hist_78pfts_CMIP6_simyr1850-2015_c170824.nc
+>lnd/clm2/surfdata_map/ctsm5.1.dev116/landuse.timeseries_1x1_brazil_hist_78pfts_CMIP6_simyr1850-2015_c230123.nc
lnd/clm2/surfdata_map/landuse.timeseries_1x1_numaIA_hist_78pfts_CMIP6_simyr1850-2015_c170917.nc
-lnd/clm2/surfdata_map/landuse.timeseries_ne120np4_hist_78pfts_CMIP6_simyr1850-2015_c170824.nc
-lnd/clm2/surfdata_map/landuse.timeseries_ne30np4_hist_78pfts_CMIP6_simyr1850-2015_c170824.nc
+lnd/clm2/surfdata_map/ctsm5.1.dev052/landuse.timeseries_mpasa480_hist_78pfts_CMIP6_simyr1850-2015_c211110.nc
+lnd/clm2/surfdata_map/ctsm5.1.dev052/landuse.timeseries_mpasa240_hist_78pfts_CMIP6_simyr1850-2015_c211115.nc
+lnd/clm2/surfdata_map/ctsm5.1.dev052/landuse.timeseries_mpasa120_hist_78pfts_CMIP6_simyr1850-2015_c211108.nc
+lnd/clm2/surfdata_map/ctsm5.1.dev052/landuse.timeseries_mpasa60_hist_78pfts_CMIP6_simyr1850-2015_c211110.nc
+lnd/clm2/surfdata_map/ctsm5.1.dev052/landuse.timeseries_mpasa30_hist_78pfts_CMIP6_simyr1850-2015_c211111.nc
+lnd/clm2/surfdata_map/ctsm5.1.dev052/landuse.timeseries_mpasa15_hist_78pfts_CMIP6_simyr1850-2015_c211111.nc
+
+lnd/clm2/surfdata_map/ctsm5.1.dev120/landuse.timeseries_ne3np4.pg3_SSP5-8.5_78pfts_CMIP6_simyr1850-2100_c230405.nc
+lnd/clm2/surfdata_map/ctsm5.1.dev120/landuse.timeseries_ne5np4.pg3_SSP5-8.5_78pfts_CMIP6_simyr1850-2100_c230405.nc
+lnd/clm2/surfdata_map/ctsm5.1.dev120/landuse.timeseries_ne16np4.pg3_SSP5-8.5_78pfts_CMIP6_simyr1850-2100_c230405.nc
+lnd/clm2/surfdata_map/release-clm5.0.30/landuse.timeseries_ne30np4_SSP5-8.5_78pfts_CMIP6_simyr1850-2100_c200426.nc
+lnd/clm2/surfdata_map/release-clm5.0.30/landuse.timeseries_ne30np4.pg2_SSP5-8.5_78pfts_CMIP6_simyr1850-2100_c200426.nc
+lnd/clm2/surfdata_map/release-clm5.0.30/landuse.timeseries_ne30np4.pg3_SSP5-8.5_78pfts_CMIP6_simyr1850-2100_c200426.nc
+lnd/clm2/surfdata_map/release-clm5.0.30/landuse.timeseries_ne0np4.ARCTICGRIS.ne30x8_SSP5-8.5_78pfts_CMIP6_simyr1850-2100_c200426.nc
+lnd/clm2/surfdata_map/release-clm5.0.30/landuse.timeseries_ne0np4.ARCTIC.ne30x4_SSP5-8.5_78pfts_CMIP6_simyr1850-2100_c200426.nc
+lnd/clm2/surfdata_map/release-clm5.0.30/landuse.timeseries_ne0np4.CONUS.ne30x8_SSP5-8.5_78pfts_CMIP6_simyr1850-2100_c200426.nc
+
+lnd/clm2/surfdata_map/release-clm5.0.30/landuse.timeseries_C24_SSP5-8.5_78pfts_CMIP6_simyr1850-2100_c200317.nc
+lnd/clm2/surfdata_map/release-clm5.0.30/landuse.timeseries_C96_SSP5-8.5_78pfts_CMIP6_simyr1850-2100_c200317.nc
+
lnd/clm2/surfdata_map/landuse.timeseries_1x1_smallvilleIA_hist_78pfts_simyr1850-1855_c160127.nc
-
-
-
-lnd/clm2/surfdata_map/landuse.timeseries_0.47x0.63_hist_16pfts_Irrig_CMIP6_simyr1850-2015_c171025.nc
-lnd/clm2/surfdata_map/landuse.timeseries_360x720cru_hist_16pfts_Irrig_CMIP6_simyr1850-2015_c170824.nc
-lnd/clm2/surfdata_map/landuse.timeseries_0.9x1.25_hist_16pfts_Irrig_CMIP6_simyr1850-2015_c170824.nc
-lnd/clm2/surfdata_map/landuse.timeseries_1.9x2.5_hist_16pfts_Irrig_CMIP6_simyr1850-2015_c170824.nc
-lnd/clm2/surfdata_map/landuse.timeseries_10x15_hist_16pfts_Irrig_CMIP6_simyr1850-2015_c170824.nc
-lnd/clm2/surfdata_map/landuse.timeseries_48x96_hist_16pfts_Irrig_CMIP6_simyr1850-2015_c170824.nc
-lnd/clm2/surfdata_map/landuse.timeseries_ne30np4_hist_16pfts_Irrig_CMIP6_simyr1850-2015_c170824.nc
-lnd/clm2/surfdata_map/landuse.timeseries_ne120np4_hist_16pfts_Irrig_CMIP6_simyr1850-2015_c170824.nc
-
-lnd/clm2/surfdata_map/landuse.timeseries_1x1_brazil_hist_16pfts_Irrig_CMIP6_simyr1850-2015_c170824.nc
-
-lnd/clm2/surfdata_map/landuse.timeseries_0.47x0.63_hist_16pfts_Irrig_CMIP6_simyr1850-2015_c171025.nc
-lnd/clm2/surfdata_map/landuse.timeseries_360x720cru_hist_16pfts_Irrig_CMIP6_simyr1850-2015_c170824.nc
-lnd/clm2/surfdata_map/landuse.timeseries_0.9x1.25_hist_16pfts_Irrig_CMIP6_simyr1850-2015_c170824.nc
-lnd/clm2/surfdata_map/landuse.timeseries_1.9x2.5_hist_16pfts_Irrig_CMIP6_simyr1850-2015_c170824.nc
-lnd/clm2/surfdata_map/landuse.timeseries_10x15_hist_16pfts_Irrig_CMIP6_simyr1850-2015_c170824.nc
-lnd/clm2/surfdata_map/landuse.timeseries_48x96_hist_16pfts_Irrig_CMIP6_simyr1850-2015_c170824.nc
-lnd/clm2/surfdata_map/landuse.timeseries_ne30np4_hist_16pfts_Irrig_CMIP6_simyr1850-2015_c170824.nc
-
-lnd/clm2/surfdata_map/landuse.timeseries_0.47x0.63_hist_16pfts_Irrig_CMIP6_simyr1850-2015_c171025.nc
-lnd/clm2/surfdata_map/landuse.timeseries_360x720cru_hist_16pfts_Irrig_CMIP6_simyr1850-2015_c170824.nc
-lnd/clm2/surfdata_map/landuse.timeseries_0.9x1.25_hist_16pfts_Irrig_CMIP6_simyr1850-2015_c170824.nc
-lnd/clm2/surfdata_map/landuse.timeseries_1.9x2.5_hist_16pfts_Irrig_CMIP6_simyr1850-2015_c170824.nc
-lnd/clm2/surfdata_map/landuse.timeseries_10x15_hist_16pfts_Irrig_CMIP6_simyr1850-2015_c170824.nc
-lnd/clm2/surfdata_map/landuse.timeseries_48x96_hist_16pfts_Irrig_CMIP6_simyr1850-2015_c170824.nc
-lnd/clm2/surfdata_map/landuse.timeseries_ne120np4_hist_16pfts_Irrig_CMIP6_simyr1850-2015_c170824.nc
-lnd/clm2/surfdata_map/landuse.timeseries_ne30np4_hist_16pfts_Irrig_CMIP6_simyr1850-2015_c170824.nc
-
-lnd/clm2/surfdata_map/landuse.timeseries_0.47x0.63_hist_16pfts_Irrig_CMIP6_simyr1850-2015_c171025.nc
-lnd/clm2/surfdata_map/landuse.timeseries_360x720cru_hist_16pfts_Irrig_CMIP6_simyr1850-2015_c170824.nc
-lnd/clm2/surfdata_map/landuse.timeseries_0.9x1.25_hist_16pfts_Irrig_CMIP6_simyr1850-2015_c170824.nc
-lnd/clm2/surfdata_map/landuse.timeseries_1.9x2.5_hist_16pfts_Irrig_CMIP6_simyr1850-2015_c170824.nc
-lnd/clm2/surfdata_map/landuse.timeseries_10x15_hist_16pfts_Irrig_CMIP6_simyr1850-2015_c170824.nc
-lnd/clm2/surfdata_map/landuse.timeseries_48x96_hist_16pfts_Irrig_CMIP6_simyr1850-2015_c170824.nc
-lnd/clm2/surfdata_map/landuse.timeseries_ne30np4_hist_16pfts_Irrig_CMIP6_simyr1850-2015_c170824.nc
-
-
-lnd/clm2/surfdata_map/landuse.timeseries_0.47x0.63_hist_78pfts_CMIP6_simyr1850-2015_c180508.nc
-lnd/clm2/surfdata_map/landuse.timeseries_360x720cru_hist_78pfts_CMIP6_simyr1850-2015_c170824.nc
-lnd/clm2/surfdata_map/landuse.timeseries_0.9x1.25_hist_78pfts_CMIP6_simyr1850-2015_c170824.nc
-lnd/clm2/surfdata_map/landuse.timeseries_1.9x2.5_hist_78pfts_CMIP6_simyr1850-2015_c170824.nc
-lnd/clm2/surfdata_map/landuse.timeseries_10x15_hist_78pfts_CMIP6_simyr1850-2015_c170824.nc
-lnd/clm2/surfdata_map/landuse.timeseries_4x5_hist_78pfts_CMIP6_simyr1850-2015_c170824.nc
-lnd/clm2/surfdata_map/landuse.timeseries_48x96_hist_78pfts_CMIP6_simyr1850-2015_c170824.nc
-lnd/clm2/surfdata_map/landuse.timeseries_ne30np4_hist_78pfts_CMIP6_simyr1850-2015_c170824.nc
-lnd/clm2/surfdata_map/landuse.timeseries_ne120np4_hist_78pfts_CMIP6_simyr1850-2015_c170824.nc
-
-lnd/clm2/surfdata_map/landuse.timeseries_1x1_brazil_hist_78pfts_CMIP6_simyr1850-2015_c170824.nc
-
-lnd/clm2/surfdata_map/landuse.timeseries_0.47x0.63_hist_78pfts_CMIP6_simyr1850-2015_c180508.nc
-lnd/clm2/surfdata_map/landuse.timeseries_360x720cru_hist_78pfts_CMIP6_simyr1850-2015_c170824.nc
-lnd/clm2/surfdata_map/landuse.timeseries_0.9x1.25_hist_78pfts_CMIP6_simyr1850-2015_c170824.nc
-lnd/clm2/surfdata_map/landuse.timeseries_1.9x2.5_hist_78pfts_CMIP6_simyr1850-2015_c170824.nc
-lnd/clm2/surfdata_map/landuse.timeseries_10x15_hist_78pfts_CMIP6_simyr1850-2015_c170824.nc
-lnd/clm2/surfdata_map/landuse.timeseries_4x5_hist_78pfts_CMIP6_simyr1850-2015_c170824.nc
-lnd/clm2/surfdata_map/landuse.timeseries_48x96_hist_78pfts_CMIP6_simyr1850-2015_c170824.nc
-lnd/clm2/surfdata_map/landuse.timeseries_ne30np4_hist_78pfts_CMIP6_simyr1850-2015_c170824.nc
-
-lnd/clm2/surfdata_map/landuse.timeseries_0.47x0.63_hist_78pfts_CMIP6_simyr1850-2015_c180508.nc
-lnd/clm2/surfdata_map/landuse.timeseries_360x720cru_hist_78pfts_CMIP6_simyr1850-2015_c170824.nc
-lnd/clm2/surfdata_map/landuse.timeseries_0.9x1.25_hist_78pfts_CMIP6_simyr1850-2015_c170824.nc
-lnd/clm2/surfdata_map/landuse.timeseries_1.9x2.5_hist_78pfts_CMIP6_simyr1850-2015_c170824.nc
-lnd/clm2/surfdata_map/landuse.timeseries_10x15_hist_78pfts_CMIP6_simyr1850-2015_c170824.nc
-lnd/clm2/surfdata_map/landuse.timeseries_4x5_hist_78pfts_CMIP6_simyr1850-2015_c170824.nc
-lnd/clm2/surfdata_map/landuse.timeseries_48x96_hist_78pfts_CMIP6_simyr1850-2015_c170824.nc
-lnd/clm2/surfdata_map/landuse.timeseries_ne120np4_hist_78pfts_CMIP6_simyr1850-2015_c170824.nc
-lnd/clm2/surfdata_map/landuse.timeseries_ne30np4_hist_78pfts_CMIP6_simyr1850-2015_c170824.nc
-
-lnd/clm2/surfdata_map/landuse.timeseries_0.47x0.63_hist_78pfts_CMIP6_simyr1850-2015_c180508.nc
-lnd/clm2/surfdata_map/landuse.timeseries_360x720cru_hist_78pfts_CMIP6_simyr1850-2015_c170824.nc
-lnd/clm2/surfdata_map/landuse.timeseries_0.9x1.25_hist_78pfts_CMIP6_simyr1850-2015_c170824.nc
-lnd/clm2/surfdata_map/landuse.timeseries_1.9x2.5_hist_78pfts_CMIP6_simyr1850-2015_c170824.nc
-lnd/clm2/surfdata_map/landuse.timeseries_10x15_hist_78pfts_CMIP6_simyr1850-2015_c170824.nc
-lnd/clm2/surfdata_map/landuse.timeseries_4x5_hist_78pfts_CMIP6_simyr1850-2015_c170824.nc
-lnd/clm2/surfdata_map/landuse.timeseries_48x96_hist_78pfts_CMIP6_simyr1850-2015_c170824.nc
-lnd/clm2/surfdata_map/landuse.timeseries_ne30np4_hist_78pfts_CMIP6_simyr1850-2015_c170824.nc
+
+
+
+lnd/clm2/surfdata_map/release-clm5.0.18/landuse.timeseries_0.9x1.25_SSP5-8.5_78pfts_CMIP6_simyr1850-2100_c190214.nc
+lnd/clm2/surfdata_map/release-clm5.0.18/landuse.timeseries_1.9x2.5_SSP5-8.5_78pfts_CMIP6_simyr1850-2100_c190228.nc
+lnd/clm2/surfdata_map/release-clm5.0.18/landuse.timeseries_10x15_SSP5-8.5_78pfts_CMIP6_simyr1850-2100_c190228.nc
+lnd/clm2/surfdata_map/release-clm5.0.30/landuse.timeseries_C24_SSP5-8.5_78pfts_CMIP6_simyr1850-2100_c200317.nc
+lnd/clm2/surfdata_map/release-clm5.0.30/landuse.timeseries_C96_SSP5-8.5_78pfts_CMIP6_simyr1850-2100_c200317.nc
+
+lnd/clm2/surfdata_map/ctsm5.1.dev120/landuse.timeseries_ne3np4.pg3_SSP5-8.5_78pfts_CMIP6_simyr1850-2100_c230405.nc
+lnd/clm2/surfdata_map/ctsm5.1.dev120/landuse.timeseries_ne5np4.pg3_SSP5-8.5_78pfts_CMIP6_simyr1850-2100_c230405.nc
+lnd/clm2/surfdata_map/ctsm5.1.dev120/landuse.timeseries_ne16np4.pg3_SSP5-8.5_78pfts_CMIP6_simyr1850-2100_c230405.nc
+lnd/clm2/surfdata_map/release-clm5.0.30/landuse.timeseries_ne30np4_SSP5-8.5_78pfts_CMIP6_simyr1850-2100_c200426.nc
+lnd/clm2/surfdata_map/release-clm5.0.30/landuse.timeseries_ne30np4.pg2_SSP5-8.5_78pfts_CMIP6_simyr1850-2100_c200426.nc
+lnd/clm2/surfdata_map/release-clm5.0.30/landuse.timeseries_ne30np4.pg3_SSP5-8.5_78pfts_CMIP6_simyr1850-2100_c200426.nc
+lnd/clm2/surfdata_map/release-clm5.0.30/landuse.timeseries_ne0np4.ARCTICGRIS.ne30x8_SSP5-8.5_78pfts_CMIP6_simyr1850-2100_c200426.nc
+lnd/clm2/surfdata_map/release-clm5.0.30/landuse.timeseries_ne0np4.ARCTIC.ne30x4_SSP5-8.5_78pfts_CMIP6_simyr1850-2100_c200426.nc
+lnd/clm2/surfdata_map/release-clm5.0.30/landuse.timeseries_ne0np4.CONUS.ne30x8_SSP5-8.5_78pfts_CMIP6_simyr1850-2100_c200426.nc
+
+
+lnd/clm2/surfdata_map/release-clm5.0.18/landuse.timeseries_0.9x1.25_SSP1-2.6_78pfts_CMIP6_simyr1850-2100_c190214.nc
+lnd/clm2/surfdata_map/release-clm5.0.18/landuse.timeseries_1.9x2.5_SSP1-2.6_78pfts_CMIP6_simyr1850-2100_c190228.nc
+lnd/clm2/surfdata_map/release-clm5.0.18/landuse.timeseries_10x15_SSP1-2.6_78pfts_CMIP6_simyr1850-2100_c190228.nc
+
+
+lnd/clm2/surfdata_map/release-clm5.0.18/landuse.timeseries_0.9x1.25_SSP2-4.5_78pfts_CMIP6_simyr1850-2100_c190214.nc
+lnd/clm2/surfdata_map/release-clm5.0.18/landuse.timeseries_1.9x2.5_SSP2-4.5_78pfts_CMIP6_simyr1850-2100_c190228.nc
+lnd/clm2/surfdata_map/release-clm5.0.18/landuse.timeseries_10x15_SSP2-4.5_78pfts_CMIP6_simyr1850-2100_c190228.nc
+
+
+lnd/clm2/surfdata_map/release-clm5.0.18/landuse.timeseries_0.9x1.25_SSP3-7.0_78pfts_CMIP6_simyr1850-2100_c190214.nc
+lnd/clm2/surfdata_map/release-clm5.0.18/landuse.timeseries_1.9x2.5_SSP3-7.0_78pfts_CMIP6_simyr1850-2100_c190228.nc
+lnd/clm2/surfdata_map/release-clm5.0.18/landuse.timeseries_10x15_SSP3-7.0_78pfts_CMIP6_simyr1850-2100_c190228.nc
+
+
+lnd/clm2/surfdata_map/release-clm5.0.18/landuse.timeseries_0.9x1.25_SSP4-3.4_78pfts_CMIP6_simyr1850-2100_c190214.nc
+lnd/clm2/surfdata_map/release-clm5.0.18/landuse.timeseries_1.9x2.5_SSP4-3.4_78pfts_CMIP6_simyr1850-2100_c190228.nc
+lnd/clm2/surfdata_map/release-clm5.0.18/landuse.timeseries_10x15_SSP4-3.4_78pfts_CMIP6_simyr1850-2100_c190228.nc
+
+
+lnd/clm2/surfdata_map/release-clm5.0.18/landuse.timeseries_0.9x1.25_SSP1-1.9_78pfts_CMIP6_simyr1850-2100_c190214.nc
+lnd/clm2/surfdata_map/release-clm5.0.18/landuse.timeseries_1.9x2.5_SSP1-1.9_78pfts_CMIP6_simyr1850-2100_c190228.nc
+lnd/clm2/surfdata_map/release-clm5.0.18/landuse.timeseries_10x15_SSP1-1.9_78pfts_CMIP6_simyr1850-2100_c190228.nc
+
+
+lnd/clm2/surfdata_map/release-clm5.0.18/landuse.timeseries_0.9x1.25_SSP4-6.0_78pfts_CMIP6_simyr1850-2100_c190214.nc
+lnd/clm2/surfdata_map/release-clm5.0.18/landuse.timeseries_1.9x2.5_SSP4-6.0_78pfts_CMIP6_simyr1850-2100_c190228.nc
+lnd/clm2/surfdata_map/release-clm5.0.18/landuse.timeseries_10x15_SSP4-6.0_78pfts_CMIP6_simyr1850-2100_c190228.nc
+
+
+lnd/clm2/surfdata_map/release-clm5.0.18/landuse.timeseries_0.9x1.25_SSP5-3.4_78pfts_CMIP6_simyr1850-2100_c190214.nc
+lnd/clm2/surfdata_map/release-clm5.0.18/landuse.timeseries_1.9x2.5_SSP5-3.4_78pfts_CMIP6_simyr1850-2100_c190228.nc
+lnd/clm2/surfdata_map/release-clm5.0.18/landuse.timeseries_10x15_SSP5-3.4_78pfts_CMIP6_simyr1850-2100_c190228.nc
+
+
+
+
+lnd/clm2/surfdata_map/release-clm5.0.18/landuse.timeseries_0.9x1.25_SSP5-8.5_16pfts_Irrig_CMIP6_simyr1850-2100_c190214.nc
+lnd/clm2/surfdata_map/release-clm5.0.18/landuse.timeseries_1.9x2.5_SSP5-8.5_16pfts_Irrig_CMIP6_simyr1850-2100_c190228.nc
+lnd/clm2/surfdata_map/release-clm5.0.18/landuse.timeseries_10x15_SSP5-8.5_16pfts_Irrig_CMIP6_simyr1850-2100_c190228.nc
+
+
+lnd/clm2/surfdata_map/release-clm5.0.18/landuse.timeseries_0.9x1.25_SSP1-2.6_16pfts_Irrig_CMIP6_simyr1850-2100_c190214.nc
+lnd/clm2/surfdata_map/release-clm5.0.18/landuse.timeseries_1.9x2.5_SSP1-2.6_16pfts_Irrig_CMIP6_simyr1850-2100_c190228.nc
+lnd/clm2/surfdata_map/release-clm5.0.18/landuse.timeseries_10x15_SSP1-2.6_16pfts_Irrig_CMIP6_simyr1850-2100_c190228.nc
+
+
+lnd/clm2/surfdata_map/release-clm5.0.18/landuse.timeseries_0.9x1.25_SSP2-4.5_16pfts_Irrig_CMIP6_simyr1850-2100_c190214.nc
+lnd/clm2/surfdata_map/release-clm5.0.18/landuse.timeseries_1.9x2.5_SSP2-4.5_16pfts_Irrig_CMIP6_simyr1850-2100_c190228.nc
+lnd/clm2/surfdata_map/release-clm5.0.18/landuse.timeseries_10x15_SSP2-4.5_16pfts_Irrig_CMIP6_simyr1850-2100_c190228.nc
+
+
+lnd/clm2/surfdata_map/release-clm5.0.18/landuse.timeseries_0.9x1.25_SSP3-7.0_16pfts_Irrig_CMIP6_simyr1850-2100_c190214.nc
+lnd/clm2/surfdata_map/release-clm5.0.18/landuse.timeseries_1.9x2.5_SSP3-7.0_16pfts_Irrig_CMIP6_simyr1850-2100_c190228.nc
+lnd/clm2/surfdata_map/release-clm5.0.18/landuse.timeseries_10x15_SSP3-7.0_16pfts_Irrig_CMIP6_simyr1850-2100_c190228.nc
+
+
+lnd/clm2/surfdata_map/release-clm5.0.18/landuse.timeseries_0.9x1.25_SSP4-3.4_16pfts_Irrig_CMIP6_simyr1850-2100_c190214.nc
+lnd/clm2/surfdata_map/release-clm5.0.18/landuse.timeseries_1.9x2.5_SSP4-3.4_16pfts_Irrig_CMIP6_simyr1850-2100_c190228.nc
+lnd/clm2/surfdata_map/release-clm5.0.18/landuse.timeseries_10x15_SSP4-3.4_16pfts_Irrig_CMIP6_simyr1850-2100_c190228.nc
+
+
+lnd/clm2/surfdata_map/release-clm5.0.18/landuse.timeseries_0.9x1.25_SSP1-1.9_16pfts_Irrig_CMIP6_simyr1850-2100_c190214.nc
+lnd/clm2/surfdata_map/release-clm5.0.18/landuse.timeseries_1.9x2.5_SSP1-1.9_16pfts_Irrig_CMIP6_simyr1850-2100_c190228.nc
+lnd/clm2/surfdata_map/release-clm5.0.18/landuse.timeseries_10x15_SSP1-1.9_16pfts_Irrig_CMIP6_simyr1850-2100_c190228.nc
+
+
+lnd/clm2/surfdata_map/release-clm5.0.18/landuse.timeseries_0.9x1.25_SSP4-6.0_16pfts_Irrig_CMIP6_simyr1850-2100_c190214.nc
+lnd/clm2/surfdata_map/release-clm5.0.18/landuse.timeseries_1.9x2.5_SSP4-6.0_16pfts_Irrig_CMIP6_simyr1850-2100_c190228.nc
+lnd/clm2/surfdata_map/release-clm5.0.18/landuse.timeseries_10x15_SSP4-6.0_16pfts_Irrig_CMIP6_simyr1850-2100_c190228.nc
+
+
+lnd/clm2/surfdata_map/release-clm5.0.18/landuse.timeseries_0.9x1.25_SSP5-3.4_16pfts_Irrig_CMIP6_simyr1850-2100_c190214.nc
+lnd/clm2/surfdata_map/release-clm5.0.18/landuse.timeseries_1.9x2.5_SSP5-3.4_16pfts_Irrig_CMIP6_simyr1850-2100_c190228.nc
+lnd/clm2/surfdata_map/release-clm5.0.18/landuse.timeseries_10x15_SSP5-3.4_16pfts_Irrig_CMIP6_simyr1850-2100_c190228.nc
-.true.
-.false.
+.true.
+.true.
+.false.
-0.83d-06
+0.0117d00
+0.0006d00
+
+0.83d-06
+0.015d000.015d000.015d00
-
-20.0d00, 20.0d00, 20.0d00
-200.0d00, 200.0d00, 200.0d00
-20.0d00, 20.0d00, 20.0d00
-200.0d00, 200.0d00, 200.0d00
-
-1.50d00
-0.3
-1.50d00
-0.3
-100.d00
-20.d00
-1.d00
-1.d00
+100.d00
+100.d00
+20.d00
+1.d00
+1.d00
+1.d00
@@ -986,6 +1563,24 @@ lnd/clm2/surfdata_map/surfdata_ne120np4_78pfts_CMIP6_simyr1850_c170824.nclnd/clm2/snicardata/snicar_drdt_bst_fit_60_c070416.nc
+2015
+2101
+2015
+
+2015
+2101
+2015
+
+2015
+2101
+2015
+
+2018
+2018
+
+2010
+2010
+
20002000
@@ -1001,35 +1596,71 @@ lnd/clm2/surfdata_map/surfdata_ne120np4_78pfts_CMIP6_simyr1850_c170824.nc2000
2000
-1850
-2015
-
-1850
-2100
-
-2000
-2100
-
-lnd/clm2/ndepdata/fndep_clm_hist_simyr1849-2006_1.9x2.5_c100428.nc
-lnd/clm2/ndepdata/fndep_clm_rcp8.5_simyr1849-2106_1.9x2.5_c100428.nc
-lnd/clm2/ndepdata/fndep_clm_rcp6.0_simyr1849-2106_1.9x2.5_c100810.nc
-lnd/clm2/ndepdata/fndep_clm_rcp4.5_simyr1849-2106_1.9x2.5_c100428.nc
-lnd/clm2/ndepdata/fndep_clm_rcp2.6_simyr1849-2106_1.9x2.5_c100428.nc
-
-extend
-
-NDEP_year
-
-bilinear
+lnd/clm2/ndepdata/fndep_clm_hist_b.e21.BWHIST.f09_g17.CMIP6-historical-WACCM.ensmean_1849-2015_monthly_0.9x1.25_c180926.nc
+lnd/clm2/ndepdata/fndep_clm_hist_b.e21.BWHIST.f09_g17.CMIP6-historical-WACCM.ensmean_1849-2015_monthly_0.9x1.25_c180926.nc
+lnd/clm2/ndepdata/fndep_clm_hist_b.e21.BWHIST.f09_g17.CMIP6-historical-WACCM.ensmean_1849-2015_monthly_0.9x1.25_c180926.nc
+
+share/meshes/fv1.9x2.5_141008_ESMFmesh_c20191001.nc
+share/meshes/fv0.9x1.25_141008_polemod_ESMFmesh.nc
+
+
+lnd/clm2/ndepdata/fndep_clm_f09_g17.CMIP6-SSP5-8.5-WACCM_1849-2101_monthly_c191007.nc
+lnd/clm2/ndepdata/fndep_clm_f09_g17.CMIP6-SSP1-2.6-WACCM_1849-2101_monthly_c191007.nc
+lnd/clm2/ndepdata/fndep_clm_f09_g17.CMIP6-SSP2-4.5-WACCM_1849-2101_monthly_c191007.nc
+lnd/clm2/ndepdata/fndep_clm_SSP370_b.e21.BWSSP370cmip6.f09_g17.CMIP6-SSP3-7.0-WACCM.002_1849-2101_monthly_0.9x1.25_c211216.nc
+
+lnd/clm2/ndepdata/fndep_clm_f09_g17.CMIP6-SSP5-8.5-WACCM_1849-2101_monthly_c191007.nc
+lnd/clm2/ndepdata/fndep_clm_f09_g17.CMIP6-SSP1-2.6-WACCM_1849-2101_monthly_c191007.nc
+lnd/clm2/ndepdata/fndep_clm_f09_g17.CMIP6-SSP2-4.5-WACCM_1849-2101_monthly_c191007.nc
+lnd/clm2/ndepdata/fndep_clm_SSP370_b.e21.BWSSP370cmip6.f09_g17.CMIP6-SSP3-7.0-WACCM.002_1849-2101_monthly_0.9x1.25_c211216.nc
+
+lnd/clm2/ndepdata/fndep_clm_f09_g17.CMIP6-SSP5-8.5-WACCM_1849-2101_monthly_c191007.nc
+lnd/clm2/ndepdata/fndep_clm_f09_g17.CMIP6-SSP1-2.6-WACCM_1849-2101_monthly_c191007.nc
+lnd/clm2/ndepdata/fndep_clm_f09_g17.CMIP6-SSP2-4.5-WACCM_1849-2101_monthly_c191007.nc
+lnd/clm2/ndepdata/fndep_clm_SSP370_b.e21.BWSSP370cmip6.f09_g17.CMIP6-SSP3-7.0-WACCM.002_1849-2101_monthly_0.9x1.25_c211216.nc
+
+cycle
+NDEP_month
+
+cycle
+NDEP_month
+
+cycle
+NDEP_month
+
+bilinearnnnnnnnn
-nnnnnn
+
+
+.false.
+1997
+1997
+1997
+
+lnd/clm2/prescribed_data/LFMIP-pdLC-SST.H2OSOI.0.9x1.25.20levsoi.natveg.climo1980-2014.MONS_c190709.nc
+
+linear
+0
+
.false.2001
@@ -1037,6 +1668,7 @@ lnd/clm2/surfdata_map/surfdata_ne120np4_78pfts_CMIP6_simyr1850_c170824.nc2001
lnd/clm2/lai_streams/MODISPFTLAI_0.5x0.5_c140711.nc
+lnd/clm2/lai_streams/MODISPFTLAI_0.5x0_ESMFmesh_cdf5_090621.ncbilinear
@@ -1044,41 +1676,78 @@ lnd/clm2/surfdata_map/surfdata_ne120np4_78pfts_CMIP6_simyr1850_c170824.ncnn
nnnn
-nnnnnnnnnnnnnn
-nnnnnn
+
+1850
+2100
+1850
+
nonenone
+106x17494x19294x192
+360x720
+none
+none
+none
+360x720
+360x720
+360x720
+360x720
+106x174
+106x174
+106x174
+106x174
+
+0001
+0001
+
+atm/datm7/NASA_LIS/clmforc.Li_2012_climo1995-2011.T62.lnfm_Total_c140423.nc
+atm/datm7/NASA_LIS/clmforc.Li_2012_climo1995-2011.T62_ESMFmesh_cdf5_110621.nc
+atm/datm7/NASA_LIS/clmforc.Li_2016_climo1995-2013.360x720.lnfm_Total_NEONarea_c210625.nc
+atm/datm7/NASA_LIS/ESMF_MESH.Li_2016.360x720.NEONarea_cdf5_c221104.nc
+atm/datm7/NASA_LIS/clmforc.Li_2016_climo1995-2013.360x720.lnfm_Total_c160825.nc
+atm/datm7/NASA_LIS/clmforc.Li_2016_climo1995-2013.360x720_ESMFmesh_cdf5_150621.nc
+
+bilinear
+
+nn
+nn
+nn
+nn
+nn
+nn
-0001
-0001
+
+2015
+2100
+2015
-atm/datm7/NASA_LIS/clmforc.Li_2012_climo1995-2011.T62.lnfm_Total_c140423.nc
-atm/datm7/NASA_LIS/clmforc.Li_2016_climo1995-2013.360x720.lnfm_Total_c160825.nc
+2015
+2100
+2015
-bilinear
+2015
+2100
+2015
-nn
-nn
-nn
-nn
-nn
-nn
-nn
+2018
+2018
+
+2010
+2010
-
20002000
@@ -1094,16 +1763,64 @@ lnd/clm2/surfdata_map/surfdata_ne120np4_78pfts_CMIP6_simyr1850_c170824.nc2000
2000
-1850
-2016
+2018
+2018
+
+2010
+2010
+
+2000
+2000
+
+1850
+1850
-1850
-2016
+2000
+2000
-1850
-2016
+2000
+2000
+
+2000
+2000lnd/clm2/firedata/clmforc.Li_2017_HYDEv3.2_CMIP6_hdm_0.5x0.5_AVHRR_simyr1850-2016_c180202.nc
+lnd/clm2/firedata/clmforc.Li_2018_SSP1_CMIP6_hdm_0.5x0.5_AVHRR_simyr1850-2100_c181205.nc
+
+lnd/clm2/firedata/clmforc.Li_2018_SSP1_CMIP6_hdm_0.5x0.5_AVHRR_simyr1850-2100_c181205.nc
+
+lnd/clm2/firedata/clmforc.Li_2018_SSP2_CMIP6_hdm_0.5x0.5_AVHRR_simyr1850-2100_c181205.nc
+
+lnd/clm2/firedata/clmforc.Li_2018_SSP3_CMIP6_hdm_0.5x0.5_AVHRR_simyr1850-2100_c181205.nc
+
+lnd/clm2/firedata/clmforc.Li_2018_SSP4_CMIP6_hdm_0.5x0.5_AVHRR_simyr1850-2100_c181205.nc
+
+lnd/clm2/firedata/clmforc.Li_2018_SSP4_CMIP6_hdm_0.5x0.5_AVHRR_simyr1850-2100_c181205.nc
+
+lnd/clm2/firedata/clmforc.Li_2018_SSP5_CMIP6_hdm_0.5x0.5_AVHRR_simyr1850-2100_c181205.nc
+
+lnd/clm2/firedata/clmforc.Li_2018_SSP5_CMIP6_hdm_0.5x0.5_AVHRR_simyr1850-2100_c181205.nc
+
+
+lnd/clm2/firedata/clmforc.Li_2017_HYDEv3.2_CMIP6_hdm_0.5x0.5_AVHRR_simyr1850-2016_c180202.nc
+lnd/clm2/firedata/clmforc.Li_2018_SSP1_CMIP6_hdm_0.5x0.5_AVHRR_simyr1850-2100_c181205.nc
+
+lnd/clm2/firedata/clmforc.Li_2018_SSP1_CMIP6_hdm_0.5x0.5_AVHRR_simyr1850-2100_c181205.nc
+
+lnd/clm2/firedata/clmforc.Li_2018_SSP2_CMIP6_hdm_0.5x0.5_AVHRR_simyr1850-2100_c181205.nc
+
+lnd/clm2/firedata/clmforc.Li_2018_SSP3_CMIP6_hdm_0.5x0.5_AVHRR_simyr1850-2100_c181205.nc
+
+lnd/clm2/firedata/clmforc.Li_2018_SSP4_CMIP6_hdm_0.5x0.5_AVHRR_simyr1850-2100_c181205.nc
+
+lnd/clm2/firedata/clmforc.Li_2018_SSP4_CMIP6_hdm_0.5x0.5_AVHRR_simyr1850-2100_c181205.nc
+
+lnd/clm2/firedata/clmforc.Li_2018_SSP5_CMIP6_hdm_0.5x0.5_AVHRR_simyr1850-2100_c181205.nc
+
+lnd/clm2/firedata/clmforc.Li_2018_SSP5_CMIP6_hdm_0.5x0.5_AVHRR_simyr1850-2100_c181205.nc
+
+
+lnd/clm2/firedata/clmforc.Li_2017_HYDEv3.2_CMIP6_hdm_0.5x0_ESMFmesh_cdf5_100621.ncbilinear
@@ -1111,11 +1828,37 @@ lnd/clm2/surfdata_map/surfdata_ne120np4_78pfts_CMIP6_simyr1850_c170824.ncnn
nnnn
-nnnnnn
+bilinear
+
+nn
+nn
+nn
+nn
+nn
+nn
+
+2015
+2106
+2015
+
+2015
+2106
+2015
+
+2015
+2106
+2015
+
+2018
+2018
+
+2010
+2010
+
20002000
@@ -1134,17 +1877,20 @@ lnd/clm2/surfdata_map/surfdata_ne120np4_78pfts_CMIP6_simyr1850_c170824.nc1850
2106
-1850
-2106
-
-1850
-2106
+lnd/clm2/urbandata/CLM50_tbuildmax_Oleson_2016_0.9x1.25_simyr1849-2106_c160923.nc
+lnd/clm2/urbandata/CLM50_tbuildmax_Oleson_2016_0.9x1_ESMFmesh_cdf5_100621.nclnd/clm2/urbandata/CLM50_tbuildmax_Oleson_2016_0.9x1.25_simyr1849-2106_c160923.nc
+lnd/clm2/urbandata/CLM50_tbuildmax_Oleson_2016_0.9x1_ESMFmesh_cdf5_100621.nclnd/clm2/urbandata/CLM45_tbuildmax_Oleson_2016_0.9x1.25_simyr1849-2106_c160923.nc
+lnd/clm2/urbandata/CLM50_tbuildmax_Oleson_2016_0.9x1_ESMFmesh_cdf5_100621.ncnn
@@ -1152,7 +1898,6 @@ lnd/clm2/surfdata_map/surfdata_ne120np4_78pfts_CMIP6_simyr1850_c170824.ncnn
nnnn
-nnnnnn
@@ -1189,1287 +1934,719 @@ lnd/clm2/surfdata_map/surfdata_ne120np4_78pfts_CMIP6_simyr1850_c170824.nc
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
lnd/clm2/mappingdata/maps/4x5/map_5x5min_nomask_to_4x5_nomask_aave_da_c110822.nc
-lnd/clm2/mappingdata/maps/4x5/map_5x5min_ISRIC-WISE_to_4x5_nomask_aave_da_c120906.nc
-lnd/clm2/mappingdata/maps/4x5/map_5x5min_ORNL-Soil_to_4x5_nomask_aave_da_c170706.nc
-lnd/clm2/mappingdata/maps/4x5/map_3x3min_MODIS_to_4x5_nomask_aave_da_c111111.nc
-lnd/clm2/mappingdata/maps/4x5/map_3x3min_MODIS-wCsp_to_4x5_nomask_aave_da_c160425.nc
-lnd/clm2/mappingdata/maps/4x5/map_3x3min_USGS_to_4x5_nomask_aave_da_c120926.nc
-lnd/clm2/mappingdata/maps/4x5/map_3x3min_LandScan2004_to_4x5_nomask_aave_da_c120518.nc
-lnd/clm2/mappingdata/maps/4x5/map_3x3min_GLOBE-Gardner_to_4x5_nomask_aave_da_c120923.nc
-lnd/clm2/mappingdata/maps/4x5/map_3x3min_GLOBE-Gardner-mergeGIS_to_4x5_nomask_aave_da_c120923.nc
-lnd/clm2/mappingdata/maps/4x5/map_0.9x1.25_GRDC_to_4x5_nomask_aave_da_c130308.nc
-lnd/clm2/mappingdata/maps/4x5/map_360x720_cruncep_to_4x5_nomask_aave_da_c130326.nc
-lnd/clm2/mappingdata/maps/4x5/map_5x5min_nomask_to_4x5_nomask_aave_da_c200309.nc
+lnd/clm2/mappingdata/maps/4x5/map_3x3min_nomask_to_4x5_nomask_aave_da_c200309.nc
+lnd/clm2/mappingdata/maps/4x5/map_0.9x1.25_nomask_to_4x5_nomask_aave_da_c200206.nc
+lnd/clm2/mappingdata/maps/4x5/map_1km-merge-10min_HYDRO1K-merge-nomask_to_4x5_nomask_aave_da_c130411.nc
-lnd/clm2/mappingdata/maps/0.23x0.31/map_0.5x0.5_MODIS_to_0.23x0.31_nomask_aave_da_c110920.nc
-lnd/clm2/mappingdata/maps/0.23x0.31/map_0.25x0.25_MODIS_to_0.23x0.31_nomask_aave_da_c170321.nc
-lnd/clm2/mappingdata/maps/0.23x0.31/map_0.5x0.5_AVHRR_to_0.23x0.31_nomask_aave_da_c110920.nc
+lnd/clm2/mappingdata/maps/0.23x0.31/map_0.125x0.125_nomask_to_0.23x0.31_nomask_aave_da_c200206.nc
+lnd/clm2/mappingdata/maps/0.23x0.31/map_0.5x0.5_nomask_to_0.23x0.31_nomask_aave_da_c200206.nc
+lnd/clm2/mappingdata/maps/0.23x0.31/map_0.25x0.25_nomask_to_0.23x0.31_nomask_aave_da_c200309.nclnd/clm2/mappingdata/maps/0.23x0.31/map_10x10min_nomask_to_0.23x0.31_nomask_aave_da_c110920.nc
-lnd/clm2/mappingdata/maps/0.23x0.31/map_5x5min_IGBP-GSDP_to_0.23x0.31_nomask_aave_da_c110920.nc
+>lnd/clm2/mappingdata/maps/0.23x0.31/map_10x10min_nomask_to_0.23x0.31_nomask_aave_da_c200206.nc
lnd/clm2/mappingdata/maps/0.23x0.31/map_5x5min_nomask_to_0.23x0.31_nomask_aave_da_c110920.nc
-lnd/clm2/mappingdata/maps/0.23x0.31/map_5x5min_ISRIC-WISE_to_0.23x0.31_nomask_aave_da_c111115.nc
-lnd/clm2/mappingdata/maps/0.23x0.31/map_5x5min_ORNL-Soil_to_0.23x0.31_nomask_aave_da_c170706.nc
-lnd/clm2/mappingdata/maps/0.23x0.31/map_3x3min_MODIS_to_0.23x0.31_nomask_aave_da_c110930.nc
-lnd/clm2/mappingdata/maps/0.23x0.31/map_3x3min_MODIS-wCsp_to_0.23x0.31_nomask_aave_da_c160425.nc
-lnd/clm2/mappingdata/maps/0.23x0.31/map_3x3min_USGS_to_0.23x0.31_nomask_aave_da_c120926.nc
-lnd/clm2/mappingdata/maps/0.23x0.31/map_3x3min_LandScan2004_to_0.23x0.31_nomask_aave_da_c120518.nc
-lnd/clm2/mappingdata/maps/0.23x0.31/map_3x3min_GLOBE-Gardner_to_0.23x0.31_nomask_aave_da_c120923.nc
-lnd/clm2/mappingdata/maps/0.23x0.31/map_3x3min_GLOBE-Gardner-mergeGIS_to_0.23x0.31_nomask_aave_da_c120923.nc
-lnd/clm2/mappingdata/maps/0.23x0.31/map_3x3min_LandScan2004_to_0.23x0.31_nomask_aave_da_c120518.nc
-lnd/clm2/mappingdata/maps/0.23x0.31/map_0.9x1.25_GRDC_to_0.23x0.31_nomask_aave_da_c130308.nc
-lnd/clm2/mappingdata/maps/0.23x0.31/map_360x720_cruncep_to_0.23x0.31_nomask_aave_da_c130326.nc
-lnd/clm2/mappingdata/maps/0.23x0.31/map_5x5min_nomask_to_0.23x0.31_nomask_aave_da_c200309.nc
+lnd/clm2/mappingdata/maps/0.23x0.31/map_3x3min_nomask_to_0.23x0.31_nomask_aave_da_c200309.nc
+lnd/clm2/mappingdata/maps/0.23x0.31/map_0.9x1.25_nomask_to_0.23x0.31_nomask_aave_da_c200206.nc
+lnd/clm2/mappingdata/maps/0.23x0.31/map_1km-merge-10min_HYDRO1K-merge-nomask_to_0.23x0.31_nomask_aave_da_c130405.nc
-lnd/clm2/mappingdata/maps/2.5x3.33/map_0.5x0.5_MODIS_to_2.5x3.33_nomask_aave_da_c110823.nc
-lnd/clm2/mappingdata/maps/2.5x3.33/map_0.25x0.25_MODIS_to_2.5x3.33_nomask_aave_da_c170321.nc
-lnd/clm2/mappingdata/maps/2.5x3.33/map_0.5x0.5_AVHRR_to_2.5x3.33_nomask_aave_da_c110823.nc
+lnd/clm2/mappingdata/maps/2.5x3.33/map_0.125x0.125_nomask_to_2.5x3.33_nomask_aave_da_c200206.nc
+lnd/clm2/mappingdata/maps/2.5x3.33/map_0.5x0.5_nomask_to_2.5x3.33_nomask_aave_da_c200206.nc
+lnd/clm2/mappingdata/maps/2.5x3.33/map_0.25x0.25_nomask_to_2.5x3.33_nomask_aave_da_c200309.nclnd/clm2/mappingdata/maps/2.5x3.33/map_10x10min_nomask_to_2.5x3.33_nomask_aave_da_c110823.nc
-lnd/clm2/mappingdata/maps/2.5x3.33/map_5x5min_IGBP-GSDP_to_2.5x3.33_nomask_aave_da_c110823.nc
+>lnd/clm2/mappingdata/maps/2.5x3.33/map_10x10min_nomask_to_2.5x3.33_nomask_aave_da_c200206.nc
lnd/clm2/mappingdata/maps/2.5x3.33/map_5x5min_nomask_to_2.5x3.33_nomask_aave_da_c110823.nc
-lnd/clm2/mappingdata/maps/2.5x3.33/map_5x5min_ISRIC-WISE_to_2.5x3.33_nomask_aave_da_c111115.nc
-lnd/clm2/mappingdata/maps/2.5x3.33/map_5x5min_ORNL-Soil_to_2.5x3.33_nomask_aave_da_c170706.nc
-lnd/clm2/mappingdata/maps/2.5x3.33/map_3x3min_MODIS_to_2.5x3.33_nomask_aave_da_c111111.nc
-lnd/clm2/mappingdata/maps/2.5x3.33/map_3x3min_MODIS-wCsp_to_2.5x3.33_nomask_aave_da_c160425.nc
-lnd/clm2/mappingdata/maps/2.5x3.33/map_3x3min_USGS_to_2.5x3.33_nomask_aave_da_c120926.nc
-lnd/clm2/mappingdata/maps/2.5x3.33/map_3x3min_LandScan2004_to_2.5x3.33_nomask_aave_da_c120518.nc
-lnd/clm2/mappingdata/maps/2.5x3.33/map_3x3min_GLOBE-Gardner_to_2.5x3.33_nomask_aave_da_c120923.nc
-lnd/clm2/mappingdata/maps/2.5x3.33/map_3x3min_GLOBE-Gardner-mergeGIS_to_2.5x3.33_nomask_aave_da_c120923.nc
-lnd/clm2/mappingdata/maps/2.5x3.33/map_0.9x1.25_GRDC_to_2.5x3.33_nomask_aave_da_c130308.nc
-lnd/clm2/mappingdata/maps/2.5x3.33/map_360x720_cruncep_to_2.5x3.33_nomask_aave_da_c130326.nc
-lnd/clm2/mappingdata/maps/2.5x3.33/map_5x5min_nomask_to_2.5x3.33_nomask_aave_da_c200309.nc
+lnd/clm2/mappingdata/maps/2.5x3.33/map_3x3min_nomask_to_2.5x3.33_nomask_aave_da_c200309.nc
+lnd/clm2/mappingdata/maps/2.5x3.33/map_0.9x1.25_nomask_to_2.5x3.33_nomask_aave_da_c200206.nc
+lnd/clm2/mappingdata/maps/2.5x3.33/map_1km-merge-10min_HYDRO1K-merge-nomask_to_2.5x3.33_nomask_aave_da_c130405.nc
-
-
-lnd/clm2/mappingdata/maps/0.5x0.5/map_0.5x0.5_AVHRR_to_0.5x0.5_nomask_aave_da_c111021.nc
-lnd/clm2/mappingdata/maps/0.5x0.5/map_0.25x0.25_MODIS_to_0.5x0.5_nomask_aave_da_c170321.nc
-lnd/clm2/mappingdata/maps/0.5x0.5/map_0.5x0.5_MODIS_to_0.5x0.5_nomask_aave_da_c111021.nc
-lnd/clm2/mappingdata/maps/0.5x0.5/map_0.5x0.5_nomask_to_0.5x0.5_nomask_aave_da_c111021.nc
-lnd/clm2/mappingdata/maps/0.5x0.5/map_10x10min_IGBPmergeICESatGIS_to_0.5x0.5_nomask_aave_da_c111021.nc
-lnd/clm2/mappingdata/maps/0.5x0.5/map_10x10min_nomask_to_0.5x0.5_nomask_aave_da_c111021.nc
-lnd/clm2/mappingdata/maps/0.5x0.5/map_5x5min_IGBP-GSDP_to_0.5x0.5_nomask_aave_da_c111021.nc
-lnd/clm2/mappingdata/maps/0.5x0.5/map_5x5min_nomask_to_0.5x0.5_nomask_aave_da_c111021.nc
-lnd/clm2/mappingdata/maps/0.5x0.5/map_3x3min_MODIS_to_0.5x0.5_nomask_aave_da_c111111.nc
-lnd/clm2/mappingdata/maps/0.5x0.5/map_3x3min_MODIS-wCsp_to_0.5x0.5_nomask_aave_da_c160425.nc
-lnd/clm2/mappingdata/maps/0.5x0.5/map_5x5min_ISRIC-WISE_to_0.5x0.5_nomask_aave_da_c111115.nc
-lnd/clm2/mappingdata/maps/0.5x0.5/map_5x5min_ORNL-Soil_to_0.5x0.5_nomask_aave_da_c170706.nc
-lnd/clm2/mappingdata/maps/0.5x0.5/map_3x3min_LandScan2004_to_0.5x0.5_nomask_aave_da_c120518.nc
-lnd/clm2/mappingdata/maps/0.5x0.5/map_3x3min_GLOBE-Gardner_to_0.5x0.5_nomask_aave_da_c120923.nc
-lnd/clm2/mappingdata/maps/0.5x0.5/map_3x3min_GLOBE-Gardner-mergeGIS_to_0.5x0.5_nomask_aave_da_c120923.nc
-lnd/clm2/mappingdata/maps/0.5x0.5/map_0.1x0.1_nomask_to_0.5x0.5_nomask_aave_da_c120706.nc
-lnd/clm2/mappingdata/maps/0.5x0.5/map_ne240np4_nomask_to_0.5x0.5_nomask_aave_da_c120711.nc
-lnd/clm2/mappingdata/maps/0.5x0.5/map_4x5_nomask_to_0.5x0.5_nomask_aave_da_c120706.nc
-lnd/clm2/mappingdata/maps/0.5x0.5/map_1.9x2.5_nomask_to_0.5x0.5_nomask_aave_da_c120709.nc
-lnd/clm2/mappingdata/maps/0.5x0.5/map_ne120np4_nomask_to_0.5x0.5_nomask_aave_da_c120711.nc
-lnd/clm2/mappingdata/maps/0.5x0.5/map_3x3_USGS_nomask_to_0.5x0.5_nomask_aave_da_c120912.nc
-lnd/clm2/mappingdata/maps/0.5x0.5/map_0.9x1.25_GRDC_to_0.5x0.5_nomask_aave_da_c130308.nc
-lnd/clm2/mappingdata/maps/0.5x0.5/map_360x720_cruncep_to_0.5x0.5_nomask_aave_da_c130326.nc
-
+lnd/clm2/mappingdata/maps/0.5x0.5/map_0.125x0.125_nomask_to_0.5x0.5_nomask_aave_da_c200206.nc
+lnd/clm2/mappingdata/maps/0.5x0.5/map_0.5x0.5_nomask_to_0.5x0.5_nomask_aave_da_c200206.nc
+lnd/clm2/mappingdata/maps/0.5x0.5/map_10x10min_nomask_to_0.5x0.5_nomask_aave_da_c200206.nc
+lnd/clm2/mappingdata/maps/0.5x0.5/map_0.25x0.25_nomask_to_0.5x0.5_nomask_aave_da_c200309.nc
+lnd/clm2/mappingdata/maps/0.5x0.5/map_3x3min_nomask_to_0.5x0.5_nomask_aave_da_c200309.nc
+lnd/clm2/mappingdata/maps/0.5x0.5/map_5x5min_nomask_to_0.5x0.5_nomask_aave_da_c200309.nc
+lnd/clm2/mappingdata/maps/0.5x0.5/map_0.9x1.25_nomask_to_0.5x0.5_nomask_aave_da_c200206.nc
+lnd/clm2/mappingdata/maps/0.5x0.5/map_1km-merge-10min_HYDRO1K-merge-nomask_to_0.5x0.5_nomask_aave_da_c130405.nc
-
-lnd/clm2/mappingdata/maps/ne4np4/map_0.5x0.5_MODIS_to_ne4np4_nomask_aave_da_c110923.nc
-lnd/clm2/mappingdata/maps/ne4np4/map_0.25x0.25_MODIS_to_ne4np4_nomask_aave_da_c170321.nc
-lnd/clm2/mappingdata/maps/ne4np4/map_0.5x0.5_AVHRR_to_ne4np4_nomask_aave_da_c110923.nc
+lnd/clm2/mappingdata/maps/ne4np4/map_0.125x0.125_nomask_to_ne4np4_nomask_aave_da_c200206.nc
+lnd/clm2/mappingdata/maps/ne4np4/map_0.5x0.5_nomask_to_ne4np4_nomask_aave_da_c200206.nc
+lnd/clm2/mappingdata/maps/ne4np4/map_0.25x0.25_nomask_to_ne4np4_nomask_aave_da_c200309.nc
+
+lnd/clm2/mappingdata/maps/C24/map_0.5x0.5_TO_C24_aave.181018.nc
+lnd/clm2/mappingdata/maps/C24/map_10x10min_nomask_to_C24_nomask_aave_da_c181018.nc
+lnd/clm2/mappingdata/maps/C24/map_5x5min_nomask_to_C24_nomask_aave_da_c181018.nc
+lnd/clm2/mappingdata/maps/C24/map_1km-merge-10min_HYDRO1K-merge-nomask_to_C24_nomask_aave_da_c181018.nc
+lnd/clm2/mappingdata/maps/C24/map_C24_nomask_to_0.5x0.5_nomask_aave_da_c181018.nc
+
+
+
+lnd/clm2/mappingdata/maps/C48/map_0.5x0.5_TO_C48_aave.181018.nc
+lnd/clm2/mappingdata/maps/C48/map_10x10min_nomask_to_C48_nomask_aave_da_c181018.nc
+lnd/clm2/mappingdata/maps/C48/map_5x5min_nomask_to_C48_nomask_aave_da_c181018.nc
+lnd/clm2/mappingdata/maps/C48/map_1km-merge-10min_HYDRO1K-merge-nomask_to_C48_nomask_aave_da_c181018.nc
+lnd/clm2/mappingdata/maps/C48/map_C48_nomask_to_0.5x0.5_nomask_aave_da_c181018.nc
+
+
+
+lnd/clm2/mappingdata/maps/C96/map_0.5x0.5_TO_C96_aave.181018.nc
+lnd/clm2/mappingdata/maps/C96/map_10x10min_nomask_to_C96_nomask_aave_da_c181018.nc
+lnd/clm2/mappingdata/maps/C96/map_5x5min_nomask_to_C96_nomask_aave_da_c181018.nc
+lnd/clm2/mappingdata/maps/C96/map_1km-merge-10min_HYDRO1K-merge-nomask_to_C96_nomask_aave_da_c181018.nc
+lnd/clm2/mappingdata/maps/C96/map_C96_nomask_to_0.5x0.5_nomask_aave_da_c181018.nc
+
+
+
+lnd/clm2/mappingdata/maps/C192/map_0.5x0.5_TO_C192_aave.181018.nc
+lnd/clm2/mappingdata/maps/C192/map_10x10min_nomask_to_C192_nomask_aave_da_c181018.nc
+lnd/clm2/mappingdata/maps/C192/map_5x5min_nomask_to_C192_nomask_aave_da_c181018.nc
+lnd/clm2/mappingdata/maps/C192/map_1km-merge-10min_HYDRO1K-merge-nomask_to_C192_nomask_aave_da_c181018.nc
+lnd/clm2/mappingdata/maps/C192/map_C192_nomask_to_0.5x0.5_nomask_aave_da_c181018.nc
+
+
+
+lnd/clm2/mappingdata/maps/C384/map_0.5x0.5_TO_C384_aave.181018.nc
+lnd/clm2/mappingdata/maps/C384/map_10x10min_nomask_to_C384_nomask_aave_da_c181018.nc
+lnd/clm2/mappingdata/maps/C384/map_5x5min_nomask_to_C384_nomask_aave_da_c181018.nc
+lnd/clm2/mappingdata/maps/C384/map_1km-merge-10min_HYDRO1K-merge-nomask_to_C384_nomask_aave_da_c181018.nc
+lnd/clm2/mappingdata/maps/C384/map_C384_nomask_to_0.5x0.5_nomask_aave_da_c181018.nc
+
+
lnd/clm2/mappingdata/maps/ne4np4/map_10x10min_nomask_to_ne4np4_nomask_aave_da_c110923.nc
-lnd/clm2/mappingdata/maps/ne4np4/map_5x5min_IGBP-GSDP_to_ne4np4_nomask_aave_da_c110923.nc
+>lnd/clm2/mappingdata/maps/ne4np4/map_10x10min_nomask_to_ne4np4_nomask_aave_da_c200206.nclnd/clm2/mappingdata/maps/ne4np4/map_5x5min_nomask_to_ne4np4_nomask_aave_da_c110923.nc
-lnd/clm2/mappingdata/maps/ne4np4/map_5x5min_ISRIC-WISE_to_ne4np4_nomask_aave_da_c120906.nc
-lnd/clm2/mappingdata/maps/ne4np4/map_5x5min_ORNL-Soil_to_ne4np4_nomask_aave_da_c170706.nc
-lnd/clm2/mappingdata/maps/ne4np4/map_3x3min_MODIS_to_ne4np4_nomask_aave_da_c120906.nc
-lnd/clm2/mappingdata/maps/ne4np4/map_3x3min_MODIS-wCsp_to_ne4np4_nomask_aave_da_c160425.nc
-lnd/clm2/mappingdata/maps/ne4np4/map_3x3min_USGS_to_ne4np4_nomask_aave_da_c120926.nc
-lnd/clm2/mappingdata/maps/ne4np4/map_3x3min_LandScan2004_to_ne4np4_nomask_aave_da_c120518.nc
-lnd/clm2/mappingdata/maps/ne4np4/map_3x3min_GLOBE-Gardner_to_ne4np4_nomask_aave_da_c120924.nc
-lnd/clm2/mappingdata/maps/ne4np4/map_3x3min_GLOBE-Gardner-mergeGIS_to_ne4np4_nomask_aave_da_c120923.nc
-lnd/clm2/mappingdata/maps/ne4np4/map_3x3min_LandScan2004_to_ne4np4_nomask_aave_da_c120518.nc
-lnd/clm2/mappingdata/maps/ne4np4/map_0.9x1.25_GRDC_to_ne4np4_nomask_aave_da_c130308.nc
-lnd/clm2/mappingdata/maps/ne4np4/map_360x720_cruncep_to_ne4np4_nomask_aave_da_c130326.nc
-lnd/clm2/mappingdata/maps/ne4np4/map_5x5min_nomask_to_ne4np4_nomask_aave_da_c200309.nc
+lnd/clm2/mappingdata/maps/ne4np4/map_3x3min_nomask_to_ne4np4_nomask_aave_da_c200309.nc
+lnd/clm2/mappingdata/maps/ne4np4/map_0.9x1.25_nomask_to_ne4np4_nomask_aave_da_c200206.nc
+lnd/clm2/mappingdata/maps/ne4np4/map_1km-merge-10min_HYDRO1K-merge-nomask_to_ne4np4_nomask_aave_da_c130411.nc
-lnd/clm2/mappingdata/maps/ne4np4/map_ne4np4_nomask_to_0.5x0.5_nomask_aave_da_c110923.nc
-lnd/clm2/mappingdata/maps/ne16np4/map_0.5x0.5_MODIS_to_ne16np4_nomask_aave_da_c110922.nc
-lnd/clm2/mappingdata/maps/ne16np4/map_0.25x0.25_MODIS_to_ne16np4_nomask_aave_da_c170321.nc
-lnd/clm2/mappingdata/maps/ne16np4/map_0.5x0.5_AVHRR_to_ne16np4_nomask_aave_da_c110922.nc
+lnd/clm2/mappingdata/maps/ne16np4/map_0.125x0.125_nomask_to_ne16np4_nomask_aave_da_c200206.nc
+lnd/clm2/mappingdata/maps/ne16np4/map_0.5x0.5_nomask_to_ne16np4_nomask_aave_da_c200206.nc
+lnd/clm2/mappingdata/maps/ne16np4/map_0.25x0.25_nomask_to_ne16np4_nomask_aave_da_c200309.nclnd/clm2/mappingdata/maps/ne16np4/map_10x10min_nomask_to_ne16np4_nomask_aave_da_c110922.nc
-lnd/clm2/mappingdata/maps/ne16np4/map_5x5min_IGBP-GSDP_to_ne16np4_nomask_aave_da_c110922.nc
+>lnd/clm2/mappingdata/maps/ne16np4/map_10x10min_nomask_to_ne16np4_nomask_aave_da_c200206.nc
lnd/clm2/mappingdata/maps/ne16np4/map_5x5min_nomask_to_ne16np4_nomask_aave_da_c110922.nc
-lnd/clm2/mappingdata/maps/ne16np4/map_5x5min_ISRIC-WISE_to_ne16np4_nomask_aave_da_c111115.nc
-lnd/clm2/mappingdata/maps/ne16np4/map_5x5min_ORNL-Soil_to_ne16np4_nomask_aave_da_c170706.nc
-lnd/clm2/mappingdata/maps/ne16np4/map_3x3min_MODIS_to_ne16np4_nomask_aave_da_c111111.nc
-lnd/clm2/mappingdata/maps/ne16np4/map_3x3min_MODIS-wCsp_to_ne16np4_nomask_aave_da_c160425.nc
-lnd/clm2/mappingdata/maps/ne16np4/map_3x3min_USGS_to_ne16np4_nomask_aave_da_c120926.nc
-lnd/clm2/mappingdata/maps/ne16np4/map_3x3min_LandScan2004_to_ne16np4_nomask_aave_da_c120518.nc
-lnd/clm2/mappingdata/maps/ne16np4/map_3x3min_GLOBE-Gardner_to_ne16np4_nomask_aave_da_c120924.nc
-lnd/clm2/mappingdata/maps/ne16np4/map_3x3min_GLOBE-Gardner-mergeGIS_to_ne16np4_nomask_aave_da_c120924.nc
-lnd/clm2/mappingdata/maps/ne16np4/map_0.9x1.25_GRDC_to_ne16np4_nomask_aave_da_c130308.nc
-lnd/clm2/mappingdata/maps/ne16np4/map_360x720_cruncep_to_ne16np4_nomask_aave_da_c130326.nc
-lnd/clm2/mappingdata/maps/ne16np4/map_5x5min_nomask_to_ne16np4_nomask_aave_da_c200309.nc
+lnd/clm2/mappingdata/maps/ne16np4/map_3x3min_nomask_to_ne16np4_nomask_aave_da_c210506.nc
+lnd/clm2/mappingdata/maps/ne16np4/map_0.9x1.25_nomask_to_ne16np4_nomask_aave_da_c200206.nc
+lnd/clm2/mappingdata/maps/ne16np4/map_1km-merge-10min_HYDRO1K-merge-nomask_to_ne16np4_nomask_aave_da_c130408.nc
-lnd/clm2/mappingdata/maps/ne16np4/map_ne16np4_nomask_to_0.5x0.5_nomask_aave_da_c110922.nc
-lnd/clm2/mappingdata/maps/ne30np4/map_0.5x0.5_landuse_to_ne30np4_aave_da_110320.nc
-lnd/clm2/mappingdata/maps/ne30np4/map_0.25x0.25_MODIS_to_ne30np4_nomask_aave_da_c170321.nc
-lnd/clm2/mappingdata/maps/ne30np4/map_0.5x0.5_lanwat_to_ne30np4_aave_da_110320.nc
+lnd/clm2/mappingdata/maps/ne30np4/map_0.125x0.125_nomask_to_ne30np4_nomask_aave_da_c200206.nc
+lnd/clm2/mappingdata/maps/ne30np4/map_0.5x0.5_nomask_to_ne30np4_nomask_aave_da_c200206.nc
+lnd/clm2/mappingdata/maps/ne30np4/map_0.25x0.25_nomask_to_ne30np4_nomask_aave_da_c200309.nclnd/clm2/mappingdata/maps/ne30np4/map_10minx10min_topo_to_ne30np4_aave_da_110320.nc
-lnd/clm2/mappingdata/maps/ne30np4/map_5minx5min_soitex_to_ne30np4_aave_da_110320.nc
+>lnd/clm2/mappingdata/maps/ne30np4/map_10x10min_nomask_to_ne30np4_nomask_aave_da_c200206.nc
lnd/clm2/mappingdata/maps/ne30np4/map_5minx5min_irrig_to_ne30np4_aave_da_110720.nc
-lnd/clm2/mappingdata/maps/ne30np4/map_5x5min_ISRIC-WISE_to_ne30np4_nomask_aave_da_c111115.nc
-lnd/clm2/mappingdata/maps/ne30np4/map_5x5min_ORNL-Soil_to_ne30np4_nomask_aave_da_c170706.nc
-lnd/clm2/mappingdata/maps/ne30np4/map_3x3min_MODIS_to_ne30np4_nomask_aave_da_c111111.nc
-lnd/clm2/mappingdata/maps/ne30np4/map_3x3min_MODIS-wCsp_to_ne30np4_nomask_aave_da_c160425.nc
-lnd/clm2/mappingdata/maps/ne30np4/map_3x3min_USGS_to_ne30np4_nomask_aave_da_c120926.nc
-lnd/clm2/mappingdata/maps/ne30np4/map_3x3min_LandScan2004_to_ne30np4_nomask_aave_da_c120518.nc
-lnd/clm2/mappingdata/maps/ne30np4/map_3x3min_GLOBE-Gardner_to_ne30np4_nomask_aave_da_c120924.nc
-lnd/clm2/mappingdata/maps/ne30np4/map_3x3min_GLOBE-Gardner-mergeGIS_to_ne30np4_nomask_aave_da_c120924.nc
-lnd/clm2/mappingdata/maps/ne30np4/map_0.9x1.25_GRDC_to_ne30np4_nomask_aave_da_c130308.nc
-lnd/clm2/mappingdata/maps/ne30np4/map_360x720_cruncep_to_ne30np4_nomask_aave_da_c130326.nc
-lnd/clm2/mappingdata/maps/ne30np4/map_5x5min_nomask_to_ne30np4_nomask_aave_da_c200309.nc
+lnd/clm2/mappingdata/maps/ne30np4/map_3x3min_nomask_to_ne30np4_nomask_aave_da_c200309.nc
+lnd/clm2/mappingdata/maps/ne30np4/map_0.9x1.25_nomask_to_ne30np4_nomask_aave_da_c200206.nc
+lnd/clm2/mappingdata/maps/ne30np4/map_1km-merge-10min_HYDRO1K-merge-nomask_to_ne30np4_nomask_aave_da_c130405.nc
-lnd/clm2/mappingdata/maps/ne30np4/map_ne30np4_to_0.5x0.5rtm_aave_da_110320.nc
-lnd/clm2/mappingdata/maps/ne60np4/map_0.5x0.5_MODIS_to_ne60np4_nomask_aave_da_c110922.nc
-lnd/clm2/mappingdata/maps/ne60np4/map_0.25x0.25_MODIS_to_ne60np4_nomask_aave_da_c170321.nc
-lnd/clm2/mappingdata/maps/ne60np4/map_0.5x0.5_AVHRR_to_ne60np4_nomask_aave_da_c110922.nc
+lnd/clm2/mappingdata/maps/ne60np4/map_0.125x0.125_nomask_to_ne60np4_nomask_aave_da_c200206.nc
+lnd/clm2/mappingdata/maps/ne60np4/map_0.5x0.5_nomask_to_ne60np4_nomask_aave_da_c200206.nc
+lnd/clm2/mappingdata/maps/ne60np4/map_0.25x0.25_nomask_to_ne60np4_nomask_aave_da_c200309.nclnd/clm2/mappingdata/maps/ne60np4/map_10x10min_nomask_to_ne60np4_nomask_aave_da_c110922.nc
-lnd/clm2/mappingdata/maps/ne60np4/map_5x5min_IGBP-GSDP_to_ne60np4_nomask_aave_da_c110922.nc
+>lnd/clm2/mappingdata/maps/ne60np4/map_10x10min_nomask_to_ne60np4_nomask_aave_da_c200206.nc
lnd/clm2/mappingdata/maps/ne60np4/map_5x5min_nomask_to_ne60np4_nomask_aave_da_c110922.nc
-lnd/clm2/mappingdata/maps/ne60np4/map_5x5min_ISRIC-WISE_to_ne60np4_nomask_aave_da_c111115.nc
-lnd/clm2/mappingdata/maps/ne60np4/map_5x5min_ORNL-Soil_to_ne60np4_nomask_aave_da_c170706.nc
-lnd/clm2/mappingdata/maps/ne60np4/map_3x3min_MODIS_to_ne60np4_nomask_aave_da_c111111.nc
-lnd/clm2/mappingdata/maps/ne60np4/map_3x3min_MODIS-wCsp_to_ne60np4_nomask_aave_da_c160425.nc
-lnd/clm2/mappingdata/maps/ne60np4/map_3x3min_USGS_to_ne60np4_nomask_aave_da_c120926.nc
-lnd/clm2/mappingdata/maps/ne60np4/map_3x3min_LandScan2004_to_ne60np4_nomask_aave_da_c120518.nc
-lnd/clm2/mappingdata/maps/ne60np4/map_3x3min_GLOBE-Gardner_to_ne60np4_nomask_aave_da_c120924.nc
-lnd/clm2/mappingdata/maps/ne60np4/map_3x3min_GLOBE-Gardner-mergeGIS_to_ne60np4_nomask_aave_da_c120924.nc
-lnd/clm2/mappingdata/maps/ne60np4/map_0.9x1.25_GRDC_to_ne60np4_nomask_aave_da_c130308.nc
-lnd/clm2/mappingdata/maps/ne60np4/map_360x720_cruncep_to_ne60np4_nomask_aave_da_c130326.nc
-lnd/clm2/mappingdata/maps/ne60np4/map_5x5min_nomask_to_ne60np4_nomask_aave_da_c200309.nc
+lnd/clm2/mappingdata/maps/ne60np4/map_3x3min_nomask_to_ne60np4_nomask_aave_da_c200309.nc
+lnd/clm2/mappingdata/maps/ne60np4/map_0.9x1.25_nomask_to_ne60np4_nomask_aave_da_c200206.nc
+lnd/clm2/mappingdata/maps/ne60np4/map_1km-merge-10min_HYDRO1K-merge-nomask_to_ne60np4_nomask_aave_da_c130405.nc
-lnd/clm2/mappingdata/maps/ne60np4/map_ne60np4_nomask_to_0.5x0.5_nomask_aave_da_c110922.nc
-
-lnd/clm2/mappingdata/maps/ne120np4/map_0.5x0.5_landuse_to_ne120np4_aave_da_110320.nc
-lnd/clm2/mappingdata/maps/ne120np4/map_0.25x0.25_MODIS_to_ne120np4_nomask_aave_da_c170321.nc
-lnd/clm2/mappingdata/maps/ne120np4/map_0.5x0.5_lanwat_to_ne120np4_aave_da_110320.nc
+
+lnd/clm2/mappingdata/maps/ne120np4/map_0.125x0.125_nomask_to_ne120np4_nomask_aave_da_c200206.nc
+lnd/clm2/mappingdata/maps/ne120np4/map_0.5x0.5_nomask_to_ne120np4_nomask_aave_da_c200206.nc
+lnd/clm2/mappingdata/maps/ne120np4/map_0.25x0.25_nomask_to_ne120np4_nomask_aave_da_c200309.nclnd/clm2/mappingdata/maps/ne120np4/map_10minx10min_topo_to_ne120np4_aave_da_110320.nc
-lnd/clm2/mappingdata/maps/ne120np4/map_5minx5min_soitex_to_ne120np4_aave_da_110320.nc
-lnd/clm2/mappingdata/maps/ne120np4/map_5x5min_ISRIC-WISE_to_ne120np4_nomask_aave_da_c111115.nc
-lnd/clm2/mappingdata/maps/ne120np4/map_5x5min_ORNL-Soil_to_ne120np4_nomask_aave_da_c170706.nc
+>lnd/clm2/mappingdata/maps/ne120np4/map_10x10min_nomask_to_ne120np4_nomask_aave_da_c200206.nc
lnd/clm2/mappingdata/maps/ne120np4/map_5minx5min_irrig_to_ne120np4_aave_da_110817.nc
-lnd/clm2/mappingdata/maps/ne120np4/map_3x3min_MODIS_to_ne120np4_nomask_aave_da_c111111.nc
-lnd/clm2/mappingdata/maps/ne120np4/map_3x3min_MODIS-wCsp_to_ne120np4_nomask_aave_da_c160425.nc
-lnd/clm2/mappingdata/maps/ne120np4/map_3x3min_USGS_to_ne120np4_nomask_aave_da_c120913.nc
-lnd/clm2/mappingdata/maps/ne120np4/map_3x3min_LandScan2004_to_ne120np4_nomask_aave_da_c120518.nc
-lnd/clm2/mappingdata/maps/ne120np4/map_3x3min_GLOBE-Gardner_to_ne120np4_nomask_aave_da_c120924.nc
-lnd/clm2/mappingdata/maps/ne120np4/map_3x3min_GLOBE-Gardner-mergeGIS_to_ne120np4_nomask_aave_da_c120924.nc
-lnd/clm2/mappingdata/maps/ne120np4/map_3x3min_USGS_to_ne120np4_nomask_aave_da_c120913.nc
-lnd/clm2/mappingdata/maps/ne120np4/map_0.9x1.25_GRDC_to_ne120np4_nomask_aave_da_c130308.nc
-lnd/clm2/mappingdata/maps/ne120np4/map_360x720_cruncep_to_ne120np4_nomask_aave_da_c130326.nc
-lnd/clm2/mappingdata/maps/ne120np4/map_5x5min_nomask_to_ne120np4_nomask_aave_da_c200309.nc
+lnd/clm2/mappingdata/maps/ne120np4/map_3x3min_nomask_to_ne120np4_nomask_aave_da_c210506.nc
+lnd/clm2/mappingdata/maps/ne120np4/map_0.9x1.25_nomask_to_ne120np4_nomask_aave_da_c200206.nc
+lnd/clm2/mappingdata/maps/ne120np4/map_1km-merge-10min_HYDRO1K-merge-nomask_to_ne120np4_nomask_aave_da_c130405.nc
-
+
-lnd/clm2/mappingdata/maps/ne120np4/map_0.1x0.1_nomask_to_ne120np4_nomask_aave_da_c120706.nc
-
+
+lnd/clm2/mappingdata/maps/0.125x0.125/map_0.125x0.125_nomask_to_0.125nldas2_nomask_aave_da_c200206.nc
+lnd/clm2/mappingdata/maps/0.125x0.125/map_0.5x0.5_nomask_to_0.125nldas2_nomask_aave_da_c200206.nc
+lnd/clm2/mappingdata/maps/0.125x0.125/map_0.25x0.25_nomask_to_0.125nldas2_nomask_aave_da_c200309.nc
+lnd/clm2/mappingdata/maps/0.125x0.125/map_3x3min_nomask_to_0.125nldas2_nomask_aave_da_c200309.nclnd/clm2/mappingdata/maps/0.125nldas2/map_1km-merge-10min_HYDRO1K-merge-nomask_to_0.125nldas2_nomask_aave_da_c190408.nc
+>lnd/clm2/mappingdata/maps/0.125x0.125/map_1km-merge-10min_HYDRO1K-merge-nomask_to_0.125nldas2_nomask_aave_da_c140702.nc
lnd/clm2/mappingdata/maps/0.125nldas2/map_5x5min_nomask_to_0.125nldas2_nomask_aave_da_c190408.nc
-lnd/clm2/mappingdata/maps/0.125nldas2/map_0.25x0.25_MODIS_to_0.125nldas2_nomask_aave_da_c190408.nc
-lnd/clm2/mappingdata/maps/0.125nldas2/map_0.9x1.25_GRDC_to_0.125nldas2_nomask_aave_da_c190408.nc
+>lnd/clm2/mappingdata/maps/0.125x0.125/map_5x5min_nomask_to_0.125nldas2_nomask_aave_da_c200309.nc
lnd/clm2/mappingdata/maps/0.125nldas2/map_10x10min_nomask_to_0.125nldas2_nomask_aave_da_c190408.nc
-lnd/clm2/mappingdata/maps/0.125nldas2/map_360x720cru_cruncep_to_0.125nldas2_nomask_aave_da_c190408.nc
-lnd/clm2/mappingdata/maps/0.125nldas2/map_3x3min_LandScan2004_to_0.125nldas2_nomask_aave_da_c190408.nc
-lnd/clm2/mappingdata/maps/0.125nldas2/map_10x10min_IGBPmergeICESatGIS_to_0.125nldas2_nomask_aave_da_c190408.nc
-lnd/clm2/mappingdata/maps/0.125nldas2/map_3x3min_MODIS_to_0.125nldas2_nomask_aave_da_c190412.nc
-lnd/clm2/mappingdata/maps/0.125nldas2/map_3x3min_MODIS-wCsp_to_0.125nldas2_nomask_aave_da_c190408.nc
-lnd/clm2/mappingdata/maps/0.125nldas2/map_0.5x0.5_MODIS_to_0.125nldas2_nomask_aave_da_c190408.nc
-lnd/clm2/mappingdata/maps/0.125nldas2/map_3x3min_GLOBE-Gardner-mergeGIS_to_0.125nldas2_nomask_aave_da_c190408.nc
-lnd/clm2/mappingdata/maps/0.125nldas2/map_5x5min_ISRIC-WISE_to_0.125nldas2_nomask_aave_da_c190408.nc
-lnd/clm2/mappingdata/maps/0.125nldas2/map_3x3min_GLOBE-Gardner_to_0.125nldas2_nomask_aave_da_c190408.nc
-lnd/clm2/mappingdata/maps/0.125nldas2/map_0.5x0.5_AVHRR_to_0.125nldas2_nomask_aave_da_c190408.nc
-lnd/clm2/mappingdata/maps/0.125nldas2/map_3x3min_USGS_to_0.125nldas2_nomask_aave_da_c190408.nc
-lnd/clm2/mappingdata/maps/0.125nldas2/map_5x5min_IGBP-GSDP_to_0.125nldas2_nomask_aave_da_c190408.nc
-lnd/clm2/mappingdata/maps/0.125nldas2/map_5x5min_ORNL-Soil_to_0.125nldas2_nomask_aave_da_c190408.nc
+>lnd/clm2/mappingdata/maps/0.125x0.125/map_10x10min_nomask_to_0.125nldas2_nomask_aave_da_c200206.nc
+lnd/clm2/mappingdata/maps/0.125x0.125/map_0.9x1.25_nomask_to_0.125nldas2_nomask_aave_da_c200206.nc
-lnd/clm2/mappingdata/maps/5x5_amazon/map_0.5x0.5_MODIS_to_5x5_amazon_nomask_aave_da_c110920.nc
-lnd/clm2/mappingdata/maps/5x5_amazon/map_0.25x0.25_MODIS_to_5x5_amazon_nomask_aave_da_c170321.nc
-lnd/clm2/mappingdata/maps/5x5_amazon/map_0.5x0.5_AVHRR_to_5x5_amazon_nomask_aave_da_c110920.nc
+lnd/clm2/mappingdata/maps/5x5_amazon/map_0.125x0.125_nomask_to_5x5_amazon_nomask_aave_da_c200206.nc
+lnd/clm2/mappingdata/maps/5x5_amazon/map_0.5x0.5_nomask_to_5x5_amazon_nomask_aave_da_c200206.nc
+lnd/clm2/mappingdata/maps/5x5_amazon/map_0.25x0.25_nomask_to_5x5_amazon_nomask_aave_da_c200309.nc
+
+
+
+lnd/clm2/mappingdata/maps/ne0np4CONUS.ne30x8/map_5x5min_nomask_to_ne0np4CONUS.ne30x8_nomask_aave_da_c200426.nc
+lnd/clm2/mappingdata/maps/ne0np4CONUS.ne30x8/map_10x10min_nomask_to_ne0np4CONUS.ne30x8_nomask_aave_da_c200426.nc
+lnd/clm2/mappingdata/maps/ne0np4CONUS.ne30x8/map_1km-merge-10min_HYDRO1K-merge-nomask_to_ne0np4CONUS.ne30x8_nomask_aave_da_c200426.nc
+
+
lnd/clm2/mappingdata/maps/5x5_amazon/map_10x10min_nomask_to_5x5_amazon_nomask_aave_da_c110920.nc
-lnd/clm2/mappingdata/maps/5x5_amazon/map_5x5min_IGBP-GSDP_to_5x5_amazon_nomask_aave_da_c110920.nc
+>lnd/clm2/mappingdata/maps/5x5_amazon/map_10x10min_nomask_to_5x5_amazon_nomask_aave_da_c200206.nc
lnd/clm2/mappingdata/maps/5x5_amazon/map_5x5min_nomask_to_5x5_amazon_nomask_aave_da_c110920.nc
-lnd/clm2/mappingdata/maps/5x5_amazon/map_5x5min_ISRIC-WISE_to_5x5_amazon_nomask_aave_da_c111115.nc
-lnd/clm2/mappingdata/maps/5x5_amazon/map_5x5min_ORNL-Soil_to_5x5_amazon_nomask_aave_da_c170706.nc
-lnd/clm2/mappingdata/maps/5x5_amazon/map_3x3min_MODIS_to_5x5_amazon_nomask_aave_da_c111111.nc
-lnd/clm2/mappingdata/maps/5x5_amazon/map_3x3min_MODIS-wCsp_to_5x5_amazon_nomask_aave_da_c160425.nc
-lnd/clm2/mappingdata/maps/5x5_amazon/map_3x3min_USGS_to_5x5_amazon_nomask_aave_da_c120927.nc
-lnd/clm2/mappingdata/maps/5x5_amazon/map_3x3min_LandScan2004_to_5x5_amazon_nomask_aave_da_c120518.nc
-lnd/clm2/mappingdata/maps/5x5_amazon/map_3x3min_GLOBE-Gardner_to_5x5_amazon_nomask_aave_da_c120923.nc
-lnd/clm2/mappingdata/maps/5x5_amazon/map_3x3min_GLOBE-Gardner-mergeGIS_to_5x5_amazon_nomask_aave_da_c120923.nc
-lnd/clm2/mappingdata/maps/5x5_amazon/map_0.9x1.25_GRDC_to_5x5_amazon_nomask_aave_da_c130309.nc
-lnd/clm2/mappingdata/maps/5x5_amazon/map_360x720_cruncep_to_5x5_amazon_nomask_aave_da_c130326.nc
-lnd/clm2/mappingdata/maps/5x5_amazon/map_5x5min_nomask_to_5x5_amazon_nomask_aave_da_c200309.nc
+lnd/clm2/mappingdata/maps/5x5_amazon/map_3x3min_nomask_to_5x5_amazon_nomask_aave_da_c200309.nc
+lnd/clm2/mappingdata/maps/5x5_amazon/map_0.9x1.25_nomask_to_5x5_amazon_nomask_aave_da_c200206.nc
+lnd/clm2/mappingdata/maps/5x5_amazon/map_1km-merge-10min_HYDRO1K-merge-nomask_to_5x5_amazon_nomask_aave_da_c130403.nc
-lnd/clm2/mappingdata/maps/ne240np4/map_0.5x0.5_MODIS_to_ne240np4_nomask_aave_da_c110922.nc
-lnd/clm2/mappingdata/maps/ne240np4/map_0.25x0.25_MODIS_to_ne240np4_nomask_aave_da_c170321.nc
-lnd/clm2/mappingdata/maps/ne240np4/map_0.5x0.5_AVHRR_to_ne240np4_nomask_aave_da_c110922.nc
+lnd/clm2/mappingdata/maps/ne240np4/map_0.125x0.125_nomask_to_ne240np4_nomask_aave_da_c200206.nclnd/clm2/mappingdata/maps/ne240np4/map_10x10min_nomask_to_ne240np4_nomask_aave_da_c110922.nc
-lnd/clm2/mappingdata/maps/ne240np4/map_5x5min_IGBP-GSDP_to_ne240np4_nomask_aave_da_c110922.nc
+>lnd/clm2/mappingdata/maps/ne240np4/map_10x10min_nomask_to_ne240np4_nomask_aave_da_c200206.nc
+lnd/clm2/mappingdata/maps/ne240np4/map_0.5x0.5_nomask_to_ne240np4_nomask_aave_da_c200206.nc
+lnd/clm2/mappingdata/maps/ne240np4/map_0.25x0.25_nomask_to_ne240np4_nomask_aave_da_c200309.nc
+lnd/clm2/mappingdata/maps/ne240np4/map_3x3min_nomask_to_ne240np4_nomask_aave_da_c200309.nclnd/clm2/mappingdata/maps/ne240np4/map_5x5min_nomask_to_ne240np4_nomask_aave_da_c110922.nc
-lnd/clm2/mappingdata/maps/ne240np4/map_5x5min_ISRIC-WISE_to_ne240np4_nomask_aave_da_c111115.nc
-lnd/clm2/mappingdata/maps/ne240np4/map_5x5min_ORNL-Soil_to_ne240np4_nomask_aave_da_c170706.nc
-lnd/clm2/mappingdata/maps/ne240np4/map_3x3min_MODIS_to_ne240np4_nomask_aave_da_c111111.nc
-lnd/clm2/mappingdata/maps/ne240np4/map_3x3min_MODIS-wCsp_to_ne240np4_nomask_aave_da_c160425.nc
-lnd/clm2/mappingdata/maps/ne240np4/map_3x3min_USGS_to_ne240np4_nomask_aave_da_c120926.nc
-lnd/clm2/mappingdata/maps/ne240np4/map_3x3min_LandScan2004_to_ne240np4_nomask_aave_da_c120521.nc
-lnd/clm2/mappingdata/maps/ne240np4/map_3x3min_GLOBE-Gardner_to_ne240np4_nomask_aave_da_c120925.nc
-lnd/clm2/mappingdata/maps/ne240np4/map_3x3min_GLOBE-Gardner-mergeGIS_to_ne240np4_nomask_aave_da_c120925.nc
-lnd/clm2/mappingdata/maps/ne240np4/map_0.9x1.25_GRDC_to_ne240np4_nomask_aave_da_c130308.nc
-lnd/clm2/mappingdata/maps/ne240np4/map_360x720_cruncep_to_ne240np4_nomask_aave_da_c130326.nc
-lnd/clm2/mappingdata/maps/ne240np4/map_5x5min_nomask_to_ne240np4_nomask_aave_da_c200309.nc
+lnd/clm2/mappingdata/maps/ne240np4/map_0.9x1.25_nomask_to_ne240np4_nomask_aave_da_c200206.nc
+lnd/clm2/mappingdata/maps/ne240np4/map_1km-merge-10min_HYDRO1K-merge-nomask_to_ne240np4_nomask_aave_da_c130405.nc
-lnd/clm2/mappingdata/maps/ne240np4/map_ne240np4_nomask_to_0.5x0.5_nomask_aave_da_c110922.nc
-
-
-lnd/clm2/mappingdata/maps/0.125x0.125/map_0.5x0.5_AVHRR_to_0.125x0.125_nomask_aave_da_c140702.nc
-lnd/clm2/mappingdata/maps/0.125x0.125/map_0.5x0.5_MODIS_to_0.125x0.125_nomask_aave_da_c140702.nc
-lnd/clm2/mappingdata/maps/0.125x0.125/map_0.25x0.25_MODIS_to_0.125x0.125_nomask_aave_da_c170321.nc
-lnd/clm2/mappingdata/maps/0.125x0.125/map_0.9x1.25_GRDC_to_0.125x0.125_nomask_aave_da_c140702.nc
-lnd/clm2/mappingdata/maps/0.125x0.125/map_10x10min_IGBPmergeICESatGIS_to_0.125x0.125_nomask_aave_da_c140702.nc
-lnd/clm2/mappingdata/maps/0.125x0.125/map_10x10min_nomask_to_0.125x0.125_nomask_aave_da_c140702.nc
-lnd/clm2/mappingdata/maps/0.125x0.125/map_1km-merge-10min_HYDRO1K-merge-nomask_to_0.125x0.125_nomask_aave_da_c140702.nc
-lnd/clm2/mappingdata/maps/0.125x0.125/map_360x720cru_cruncep_to_0.125x0.125_nomask_aave_da_c140702.nc
-lnd/clm2/mappingdata/maps/0.125x0.125/map_3x3min_GLOBE-Gardner-mergeGIS_to_0.125x0.125_nomask_aave_da_c140702.nc
-lnd/clm2/mappingdata/maps/0.125x0.125/map_3x3min_GLOBE-Gardner_to_0.125x0.125_nomask_aave_da_c140702.nc
-lnd/clm2/mappingdata/maps/0.125x0.125/map_3x3min_LandScan2004_to_0.125x0.125_nomask_aave_da_c140702.nc
-lnd/clm2/mappingdata/maps/0.125x0.125/map_3x3min_MODIS_to_0.125x0.125_nomask_aave_da_c140702.nc
-lnd/clm2/mappingdata/maps/0.125x0.125/map_3x3min_MODIS-wCsp_to_0.125x0.125_nomask_aave_da_c160427.nc
-lnd/clm2/mappingdata/maps/0.125x0.125/map_3x3min_USGS_to_0.125x0.125_nomask_aave_da_c140702.nc
-lnd/clm2/mappingdata/maps/0.125x0.125/map_5x5min_IGBP-GSDP_to_0.125x0.125_nomask_aave_da_c140702.nc
-lnd/clm2/mappingdata/maps/0.125x0.125/map_5x5min_ISRIC-WISE_to_0.125x0.125_nomask_aave_da_c140702.nc
-lnd/clm2/mappingdata/maps/0.125x0.125/map_5x5min_ORNL-Soil_to_0.125x0.125_nomask_aave_da_c170706.nc
-lnd/clm2/mappingdata/maps/0.125x0.125/map_5x5min_nomask_to_0.125x0.125_nomask_aave_da_c140702.nc
+
+
+lnd/clm2/mappingdata/maps/0.125x0.125/map_0.125x0.125_nomask_to_0.125x0.125_nomask_aave_da_c200206.nc
+lnd/clm2/mappingdata/maps/0.125x0.125/map_10x10min_nomask_to_0.125x0.125_nomask_aave_da_c200206.nc
+lnd/clm2/mappingdata/maps/0.125x0.125/map_1km-merge-10min_HYDRO1K-merge-nomask_to_0.125x0.125_nomask_aave_da_c200206.nc
+lnd/clm2/mappingdata/maps/0.125x0.125/map_0.5x0.5_nomask_to_0.125x0.125_nomask_aave_da_c200206.nc
+lnd/clm2/mappingdata/maps/0.125x0.125/map_0.25x0.25_nomask_to_0.125x0.125_nomask_aave_da_c200309.nc
+lnd/clm2/mappingdata/maps/0.125x0.125/map_3x3min_nomask_to_0.125x0.125_nomask_aave_da_c200309.nc
+lnd/clm2/mappingdata/maps/0.125x0.125/map_5x5min_nomask_to_0.125x0.125_nomask_aave_da_c200309.nc
+lnd/clm2/mappingdata/maps/0.125x0.125/map_0.9x1.25_nomask_to_0.125x0.125_nomask_aave_da_c200206.nc
+
+
+lnd/clm2/mappingdata/maps/1km/map_0.5x0.5_nomask_to_1km-merge-10min_HYDRO1K-merge-nomask_aave_da_c200206.nc
+
+
+
+
+
+
+
+lnd/clm2/mappingdata/maps/94x192/map_0.5x0.5_nomask_to_94x192_nomask_aave_da_c110823.nc
+lnd/clm2/mappingdata/maps/94x192/map_94x192_nomask_to_0.5x0.5_nomask_aave_da_c110823.nc
+lnd/clm2/mappingdata/maps/94x192/map_1km-merge-10min_HYDRO1K-merge-nomask_to_94x192_nomask_aave_da_c190521.nc
+lnd/clm2/mappingdata/maps/94x192/map_5x5min_nomask_to_94x192_nomask_aave_da_c110823.nc
+lnd/clm2/mappingdata/maps/94x192/map_10x10min_nomask_to_94x192_nomask_aave_da_c110823.nc
+
+
+
+
+
+
+lnd/clm2/mappingdata/maps/ARCTIC/map_1km-merge-10min_HYDRO1K-merge-nomask_to_ne0np4.ARCTIC.ne30x4_nomask_aave_da_c200426.nc
+lnd/clm2/mappingdata/maps/ARCTIC/map_5x5min_nomask_to_ne0np4.ARCTIC.ne30x4_nomask_aave_da_c200426.nc
+lnd/clm2/mappingdata/maps/ARCTIC/map_10x10min_nomask_to_ne0np4.ARCTIC.ne30x4_nomask_aave_da_c200426.nc
+
+
+
+
+
+
+lnd/clm2/mappingdata/maps/ARCTICGRIS/map_1km-merge-10min_HYDRO1K-merge-nomask_to_ne0np4.ARCTICGRIS.ne30x8_nomask_aave_da_c200426.nc
+lnd/clm2/mappingdata/maps/ARCTICGRIS/map_5x5min_nomask_to_ne0np4.ARCTICGRIS.ne30x8_nomask_aave_da_c200426.nc
+lnd/clm2/mappingdata/maps/ARCTICGRIS/map_10x10min_nomask_to_ne0np4.ARCTICGRIS.ne30x8_nomask_aave_da_c200426.nc
+
+
+
+
+
+
+lnd/clm2/mappingdata/maps/ne30np4.pg2/map_5x5min_nomask_to_ne30np4.pg2_nomask_aave_da_c200426.nc
+lnd/clm2/mappingdata/maps/ne30np4.pg2/map_1km-merge-10min_HYDRO1K-merge-nomask_to_ne30np4.pg2_nomask_aave_da_c200426.nc
+lnd/clm2/mappingdata/maps/ne30np4.pg2/map_10x10min_nomask_to_ne30np4.pg2_nomask_aave_da_c200426.nc
+
+
+
+
+
+
+lnd/clm2/mappingdata/maps/ne30pg3/map_5x5min_nomask_to_ne30np4.pg3_nomask_aave_da_c200426.nc
+lnd/clm2/mappingdata/maps/ne30pg3/map_10x10min_nomask_to_ne30np4.pg3_nomask_aave_da_c200426.nc
+lnd/clm2/mappingdata/maps/ne30pg3/map_1km-merge-10min_HYDRO1K-merge-nomask_to_ne30np4.pg3_nomask_aave_da_c200426.nc
+
+
+
+
+
+
+lnd/clm2/mappingdata/maps/ne120np4.pg2/map_10x10min_nomask_to_ne120np4.pg2_nomask_aave_da_c200426.nc
+lnd/clm2/mappingdata/maps/ne120np4.pg2/map_5x5min_nomask_to_ne120np4.pg2_nomask_aave_da_c200426.nc
+lnd/clm2/mappingdata/maps/ne120np4.pg2/map_1km-merge-10min_HYDRO1K-merge-nomask_to_ne120np4.pg2_nomask_aave_da_c200426.nc
+
+
+
+
+
+
+lnd/clm2/mappingdata/maps/ne120np4.pg3/map_10x10min_nomask_to_ne120np4.pg3_nomask_aave_da_c200426.nc
+lnd/clm2/mappingdata/maps/ne120np4.pg3/map_1km-merge-10min_HYDRO1K-merge-nomask_to_ne120np4.pg3_nomask_aave_da_c200426.nc
+lnd/clm2/mappingdata/maps/ne120np4.pg3/map_5x5min_nomask_to_ne120np4.pg3_nomask_aave_da_c200426.nc
+
+
@@ -2481,53 +2658,63 @@ lnd/clm2/surfdata_map/surfdata_ne120np4_78pfts_CMIP6_simyr1850_c170824.nc
-TWS_inversion
-ZWT_inversion
+TWS_inversion
+TWS_inversion
+ZWT_inversion.true..true.
-1.9x2.5
+0.9x1.25
+0.9x1.25
-lnd/clm2/paramdata/finundated_inversiondata_0.9x1.25_c170706.nc
+lnd/clm2/paramdata/finundated_inversiondata_0.9x1.25_c170706.nc
+lnd/clm2/paramdata/finundated_inversiondata_0.9x1_ESMFmesh_cdf5_130621.nc
+lnd/clm2/paramdata/finundated_inversiondata_0.9x1_ESMFmesh_cdf5_130621.nc
+
-
+
-.false.
-.false.
-.false.
-.false.
-
-.false.
-.false.
-.false.
-.false.
-
-.true.
-.true.
-.true.
-.true.
+CENTURYKoven2013
+CENTURYKoven2013
+None
+None
-.true.
-.true.
-.false.
-.false.
+.false.
+.true.
+.false.
+.true.
-.false.
+0.false.
+.false.
+.false..false..false..false..false.
+.false.
+1
+
+.true.
+.false.
+.true.
+.false.
+.false.
+.false..false.
@@ -2544,4 +2731,14 @@ lnd/clm2/surfdata_map/surfdata_ne120np4_78pfts_CMIP6_simyr1850_c170824.ncgeneral
+
+
+
+
+.false.
+
+lnd/clm2/paramdata/exice_init_0.125x0.125_c20220516.nc
+lnd/clm2/paramdata/exice_init_0.125x0.125_ESMFmesh_cdf5_c20220802.nc
+bilinear
+
diff --git a/bld/namelist_files/namelist_defaults_ctsm_tools.xml b/bld/namelist_files/namelist_defaults_ctsm_tools.xml
index 9fa7b11d33..ff309c6fc9 100644
--- a/bld/namelist_files/namelist_defaults_ctsm_tools.xml
+++ b/bld/namelist_files/namelist_defaults_ctsm_tools.xml
@@ -38,65 +38,52 @@ attributes from the config_cache.xml file (with keys converted to upper-case).
lnd/clm2/mappingdata/grids/SCRIPgrid_32x64_nomask_c110308.nclnd/clm2/mappingdata/grids/SCRIPgrid_8x16_nomask_c110308.nc
+
+atm/cam/coords/C384_SCRIP_desc.181018.nc
+atm/cam/coords/C192_SCRIP_desc.181018.nc
+atm/cam/coords/C96_SCRIP_desc.181018.nc
+atm/cam/coords/C48_SCRIP_desc.181018.nc
+atm/cam/coords/C24_SCRIP_desc.181018.nc
+
-lnd/clm2/mappingdata/grids/SCRIPgrid_ne240np4_nomask_c091227.nc
-lnd/clm2/mappingdata/grids/SCRIPgrid_ne120np4_nomask_c101123.nc
-lnd/clm2/mappingdata/grids/SCRIPgrid_ne60np4_nomask_c100408.nc
-lnd/clm2/mappingdata/grids/SCRIPgrid_ne30np4_nomask_c101123.nc
-lnd/clm2/mappingdata/grids/SCRIPgrid_ne16np4_nomask_c110512.nc
-lnd/clm2/mappingdata/grids/SCRIPgrid_ne4np4_nomask_c110808.nc
+lnd/clm2/mappingdata/grids/SCRIPgrid_ne240np4_nomask_c091227.nc
+lnd/clm2/mappingdata/grids/SCRIPgrid_ne120np4_nomask_c101123.nc
+lnd/clm2/mappingdata/grids/SCRIPgrid_ne60np4_nomask_c100408.nc
+lnd/clm2/mappingdata/grids/SCRIPgrid_ne30np4_nomask_c101123.nc
+lnd/clm2/mappingdata/grids/SCRIPgrid_ne16np4_nomask_c110512.nc
+
+atm/cam/coords/ne30pg2_scrip_c170608.nc
+atm/cam/coords/ne30pg3_scrip_170604.nc
+atm/cam/coords/ne120pg2_scrip_c170629.nc
+atm/cam/coords/ne120pg3_scrip_c170628.nc
+
+
+atm/cam/coords/ne0CONUSne30x8_scrip_c200107.nc
+atm/cam/coords/ne0ARCTICGRISne30x8_scrip_c191209.nc
+atm/cam/coords/ne0ARCTICne30x4_scrip_c191212.nclnd/clm2/mappingdata/grids/SCRIPgrid_0.125x0.125_nomask_c140702.nclnd/clm2/mappingdata/grids/SCRIPgrid_0.33x0.33_navy_c111207.nc
-lnd/clm2/mappingdata/grids/SCRIPgrid_0.1x0.1_nomask_c110712.nc
-
+lnd/clm2/mappingdata/grids/SCRIPgrid_360x720_nomask_c120830.nc
+
+lnd/clm2/mappingdata/grids/SCRIPgrid_0.5x0.5_nomask_c110308.nc
-lnd/clm2/mappingdata/grids/SCRIPgrid_0.5x0.5_AVHRR_c110228.nc
-lnd/clm2/mappingdata/grids/SCRIPgrid_0.5x0.5_MODIS_c110228.nc
-lnd/clm2/mappingdata/grids/SCRIPgrid_0.25x0.25_MODIS_c170321.nc
+lnd/clm2/mappingdata/grids/SCRIPgrid_0.25x0.25_nomask_c200309.nclnd/clm2/mappingdata/grids/SCRIPgrid_5x5min_nomask_c110530.nc
-lnd/clm2/mappingdata/grids/SCRIPgrid_5x5min_IGBP-GSDP_c110228.nc
-lnd/clm2/mappingdata/grids/SCRIPgrid_5x5min_ISRIC-WISE_c111114.nc
-lnd/clm2/mappingdata/grids/SCRIPgrid_5x5min_ORNL-Soil_c170630.nc
+ >lnd/clm2/mappingdata/grids/SCRIPgrid_5x5min_nomask_c200309.nclnd/clm2/mappingdata/grids/SCRIPgrid_10x10min_nomask_c110228.nc
-lnd/clm2/mappingdata/grids/SCRIPgrid_10x10min_IGBPmergeICESatGIS_c110818.nc
-lnd/clm2/mappingdata/grids/SCRIPgrid_3minx3min_MODIS_c110915.nc
-lnd/clm2/mappingdata/grids/SCRIPgrid_3minx3min_MODISwcspsea_c151020.nc
-64bit_offset
-64bit_offset
-lnd/clm2/mappingdata/grids/SCRIPgrid_3x3_USGS_c120912.nc
-64bit_offset
-lnd/clm2/mappingdata/grids/SCRIPgrid_3minx3min_LandScan2004_c120517.nc
-64bit_offset
-lnd/clm2/mappingdata/grids/SCRIPgrid_3minx3min_GLOBE-Gardner_c120922.nc
-64bit_offset
-lnd/clm2/mappingdata/grids/SCRIPgrid_3minx3min_GLOBE-Gardner-mergeGIS_c120922.nc
-64bit_offset
-lnd/clm2/mappingdata/grids/SCRIPgrid_360x720_cruncep_c120830.nc
-lnd/clm2/mappingdata/grids/SCRIPgrid_360x720_nomask_c120830.nc
-lnd/clm2/mappingdata/grids/SCRIPgrid_0.9x1.25_GRDC_c130307.nc
+lnd/clm2/mappingdata/grids/SCRIPgrid_3x3min_nomask_c200309.nc
+64bit_offset
+
@@ -108,9 +95,7 @@ attributes from the config_cache.xml file (with keys converted to upper-case).
lnd/clm2/mappingdata/grids/SCRIPgrid_0.125nldas2_nomask_c190328.nc
-lnd/clm2/mappingdata/grids/SCRIPgrid_1x1pt_camdenNJ_nomask_c110308.nc
-lnd/clm2/mappingdata/grids/SCRIPgrid_1x1pt_brazil_nomask_c110308.nc
-lnd/clm2/mappingdata/grids/SCRIPgrid_1x1pt_camdenNJ_nomask_c110308.nc
+lnd/clm2/mappingdata/grids/SCRIPgrid_1x1pt_brazil_nomask_c20211211.nclnd/clm2/mappingdata/grids/SCRIPgrid_1x1pt_mexicocityMEX_nomask_c110308.nclnd/clm2/mappingdata/grids/SCRIPgrid_1x1pt_numaIA_nomask_c110308.nclnd/clm2/mappingdata/grids/SCRIPgrid_1x1pt_smallvilleIA_nomask_c110308.nc
@@ -126,46 +111,72 @@ attributes from the config_cache.xml file (with keys converted to upper-case).
/glade/proj3/cseg/mapping/grids/tx1v1_090122.nc/glade/proj3/cseg/mapping/grids/tx0.1v2_090127.nc
+
+
+
-MODIS-wCsp
-AVHRR
-AVHRR
-MODIS
-MODIS
-MODIS
-MODIS
-LandScan2004
-MODIS
-ISRIC-WISE
-GLOBE-Gardner
-GLOBE-Gardner-mergeGIS
+nomask
+nomask
+nomask
+nomask
+nomask
+nomask
+nomask
+nomask
+nomask
+nomask
+nomask
+nomask
+nomask
+nomasknomask
-USGS
+nomasknomasknomask
-IGBP-GSDP
-AVHRR
-AVHRR
-ORNL-Soil
-AVHRR
+nomask
+nomask
+nomask
+nomask
+nomaskHYDRO1K-merge-nomask
-GRDC
-cruncep
+nomask3x3min0.5x0.50.5x0.50.25x0.25
+3x3min0.25x0.253x3min0.25x0.253x3min0.25x0.25
+3x3min5x5min3x3min10x10min
-3x3min
+0.125x0.1255x5min10x10min5x5min
@@ -175,7 +186,6 @@ attributes from the config_cache.xml file (with keys converted to upper-case).
0.5x0.51km-merge-10min0.9x1.25
-360x720crumksrf_flakwat
@@ -198,14 +208,17 @@ attributes from the config_cache.xml file (with keys converted to upper-case).
mksrf_fabmmksrf_ftopostatsmksrf_fvic
-mksrf_fch4lnd/clm2/rawdata/mksrf_navyoro_20min.c010129.nc
-lnd/clm2/rawdata/pftcftdynharv.0.05x0.05.LUH2.histsimyr2005.c190116/mksrf_lai_histclm52deg005_earthstatmirca_2005.c190119.nc
+
+
+lnd/clm2/rawdata/pftcftlandusedynharv.0.25x0.25.MODIS.simyr1850-2015.c170412/mksrf_lai_78pfts_simyr2005.c170413.nc
@@ -213,33 +226,40 @@ attributes from the config_cache.xml file (with keys converted to upper-case).
lnd/clm2/rawdata/mksrf_irrig_2160x4320_simyr2000.c110527.nc
-lnd/clm2/rawdata/mksrf_soitex.10level.c010119.nc
-lnd/clm2/rawdata/pftcftdynharv.0.05x0.05.LUH2.histsimyr2005.c190116/mksrf_soilcolor_histclm52deg005_earthstatmirca_2005.c190116.nc
+
+
+lnd/clm2/rawdata/pftcftlandusedynharv.0.25x0.25.MODIS.simyr1850-2015.c170412/mksrf_soilcolor_CMIP6_simyr2005.c170623.nc
-lnd/clm2/rawdata/mksrf_organic_10level_5x5min_ISRIC-WISE-NCSCD_nlev7_c120830.nc
-lnd/clm2/rawdata/mksrf_fmax_3x3min_USGS_c120911.nc
+lnd/clm2/rawdata/mksrf_fmax_0.125x0.125_c200220.nc
-lnd/clm2/rawdata/mksrf_LakePnDepth_3x3min_simyr2004_csplk_c151015.nc
-lnd/clm2/rawdata/mksrf_lanwat.050425.nc
-lnd/clm2/rawdata/mksrf_vocef_0.5x0.5_simyr2000.c110531.nc
-lnd/clm2/rawdata/mksrf_urban_0.05x0.05_simyr2000.c120621.nc
+lnd/clm2/rawdata/mksrf_urban_0.05x0.05_zerourbanpct.c181014.nc
+
-lnd/clm2/rawdata/mksrf_glacier_3x3min_simyr2000.c120926.nc
-lnd/clm2/rawdata/mksrf_glacier_3x3min_simyr2000_mergeGreenland.c120921.nclnd/clm2/rawdata/mksrf_GlacierRegion_10x10min_nomask_c170616.nc
+>lnd/clm2/rawdata/mksrf_GlacierRegion_10x10min_nomask_c191120.nc
lnd/clm2/rawdata/mksrf_topo.10min.c080912.nc
+>lnd/clm2/rawdata/mksrf_topo.10min.c191120.nc
-lnd/clm2/rawdata/mksrf_gdp_0.5x0.5_AVHRR_simyr2000.c130228.nc
+lnd/clm2/rawdata/mksrf_gdp_0.5x0_zerogdp.c200413.nc
-lnd/clm2/rawdata/mksrf_peatf_0.5x0.5_AVHRR_simyr2000.c130228.nc
-lnd/clm2/rawdata/mksf_soilthk_5x5min_ORNL-Soil_simyr1900-2015_c170630.nc
-lnd/clm2/rawdata/mksrf_abm_0.5x0.5_AVHRR_simyr2000.c130201.nc
+lnd/clm2/rawdata/mksrf_abm_0.5x0.5_missingabm.c200413.nc
+
lnd/clm2/rawdata/mksrf_topostats_1km-merge-10min_HYDRO1K-merge-nomask_simyr2000.c130402.nc
-lnd/clm2/rawdata/mksrf_vic_0.9x1.25_GRDC_simyr2000.c130307.nc
-lnd/clm2/rawdata/mksrf_ch4inversion_360x720_cruncep_simyr2000.c130322.nc
-
-
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1850.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.05x0.05.LUH2.histsimyr2005.c190116/mksrf_landuse_clm52deg005_histLUH2_1850.c190119.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1851.c170629.nc
+lnd/clm2/rawdata/pftcftdynharv.0.05x0.05.LUH2.histsimyr2005.c190116/mksrf_landuse_clm52deg005_histLUH2_2005.c190119.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1852.c170629.nc
+
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_850.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1853.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_851.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1854.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_852.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1855.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_853.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1856.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_854.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1857.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_855.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1858.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_856.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1859.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_857.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1860.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_858.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1861.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_859.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1862.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_860.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1863.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_861.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1864.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_862.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1865.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_863.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1866.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_864.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1867.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_865.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1868.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_866.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1869.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_867.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1870.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_868.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1871.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_869.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1872.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_870.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1873.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_871.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1874.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_872.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1875.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_873.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1876.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_874.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1877.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_875.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1878.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_876.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1879.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_877.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1880.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_878.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1881.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_879.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1882.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_880.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1883.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_881.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1884.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_882.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1885.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_883.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1886.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_884.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1887.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_885.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1888.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_886.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1889.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_887.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1890.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_888.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1891.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_889.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1892.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_890.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1893.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_891.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1894.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_892.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1895.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_893.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1896.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_894.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1897.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_895.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1898.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_896.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1899.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_897.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1900.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_898.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1901.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_899.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1902.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_900.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1903.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_901.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1904.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_902.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1905.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_903.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1906.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_904.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1907.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_905.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1908.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_906.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1909.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_907.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1910.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_908.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1911.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_909.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1912.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_910.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1913.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_911.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1914.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_912.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1915.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_913.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1916.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_914.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1917.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_915.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1918.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_916.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1919.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_917.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1920.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_918.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1921.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_919.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1922.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_920.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1923.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_921.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1924.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_922.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1925.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_923.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1926.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_924.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1927.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_925.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1928.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_926.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1929.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_927.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1930.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_928.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1931.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_929.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1932.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_930.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1933.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_931.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1934.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_932.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1935.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_933.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1936.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_934.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1937.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_935.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1938.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_936.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1939.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_937.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1940.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_938.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1941.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_939.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1942.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_940.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1943.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_941.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1944.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_942.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1945.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_943.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1946.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_944.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1947.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_945.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1948.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_946.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1949.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_947.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1950.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_948.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1951.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_949.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1952.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_950.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1953.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_951.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1954.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_952.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1955.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_953.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1956.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_954.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1957.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_955.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1958.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_956.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1959.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_957.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1960.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_958.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1961.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_959.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1962.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_960.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1963.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_961.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1964.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_962.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1965.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_963.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1966.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_964.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1967.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_965.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1968.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_966.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1969.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_967.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1970.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_968.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1971.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_969.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1972.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_970.c171012.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1973.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_971.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_972.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_973.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_974.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_975.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_976.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_977.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_978.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_979.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_980.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_981.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_982.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_983.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_984.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_985.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_986.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_987.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_988.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_989.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_990.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_991.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_992.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_993.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_994.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_995.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_996.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_997.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_998.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_999.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1000.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1001.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1002.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1003.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1004.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1005.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1006.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1007.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1008.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1009.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1010.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1011.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1012.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1013.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1014.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1015.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1016.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1017.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1018.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1019.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1020.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1021.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1022.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1023.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1024.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1025.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1026.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1027.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1028.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1029.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1030.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1031.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1032.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1033.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1034.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1035.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1036.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1037.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1038.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1039.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1040.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1041.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1042.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1043.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1044.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1045.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1046.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1047.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1048.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1049.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1050.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1051.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1052.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1053.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1054.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1055.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1056.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1057.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1058.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1059.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1060.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1061.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1062.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1063.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1064.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1065.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1066.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1067.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1068.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1069.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1070.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1071.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1072.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1073.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1074.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1075.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1076.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1077.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1078.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1079.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1080.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1081.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1082.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1083.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1084.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1085.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1086.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1087.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1088.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1089.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1090.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1091.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1092.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1093.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1094.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1095.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1096.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1097.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1098.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1099.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1100.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1101.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1102.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1103.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1104.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1105.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1106.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1107.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1108.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1109.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1110.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1111.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1112.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1113.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1114.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1115.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1116.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1117.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1118.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1119.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1120.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1121.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1122.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1123.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1124.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1125.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1126.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1127.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1128.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1129.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1130.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1131.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1132.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1133.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1134.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1135.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1136.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1137.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1138.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1139.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1140.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1141.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1142.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1143.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1144.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1145.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1146.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1147.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1148.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1149.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1150.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1151.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1152.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1153.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1154.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1155.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1156.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1157.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1158.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1159.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1160.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1161.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1162.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1163.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1164.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1165.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1166.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1167.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1168.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1169.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1170.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1171.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1172.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1173.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1174.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1175.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1176.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1177.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1178.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1179.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1180.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1181.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1182.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1183.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1184.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1185.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1186.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1187.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1188.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1189.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1190.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1191.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1192.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1193.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1194.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1195.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1196.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1197.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1198.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1199.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1200.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1201.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1202.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1203.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1204.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1205.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1206.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1207.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1208.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1209.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1210.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1211.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1212.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1213.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1214.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1215.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1216.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1217.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1218.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1219.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1220.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1221.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1222.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1223.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1224.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1225.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1226.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1227.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1228.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1229.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1230.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1231.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1232.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1233.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1234.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1235.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1236.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1237.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1238.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1239.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1240.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1241.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1242.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1243.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1244.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1245.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1246.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1247.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1248.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1249.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1250.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1251.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1252.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1253.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1254.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1255.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1256.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1257.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1258.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1259.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1260.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1261.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1262.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1263.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1264.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1265.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1266.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1267.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1268.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1269.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1270.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1271.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1272.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1273.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1274.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1275.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1276.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1277.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1278.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1279.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1280.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1281.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1282.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1283.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1284.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1285.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1286.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1287.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1288.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1289.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1290.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1291.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1292.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1293.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1294.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1295.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1296.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1297.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1298.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1299.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1300.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1301.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1302.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1303.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1304.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1305.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1306.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1307.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1308.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1309.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1310.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1311.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1312.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1313.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1314.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1315.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1316.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1317.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1318.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1319.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1320.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1321.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1322.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1323.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1324.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1325.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1326.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1327.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1328.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1329.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1330.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1331.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1332.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1333.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1334.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1335.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1336.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1337.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1338.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1339.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1340.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1341.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1342.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1343.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1344.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1345.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1346.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1347.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1348.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1349.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1350.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1351.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1352.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1353.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1354.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1355.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1356.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1357.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1358.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1359.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1360.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1361.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1362.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1363.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1364.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1365.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1366.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1367.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1368.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1369.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1370.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1371.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1372.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1373.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1374.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1375.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1376.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1377.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1378.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1379.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1380.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1381.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1382.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1383.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1384.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1385.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1386.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1387.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1388.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1389.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1390.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1391.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1392.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1393.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1394.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1395.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1396.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1397.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1398.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1399.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1400.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1401.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1402.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1403.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1404.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1405.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1406.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1407.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1408.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1409.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1410.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1411.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1412.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1413.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1414.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1415.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1416.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1417.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1418.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1419.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1420.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1421.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1422.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1423.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1424.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1425.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1426.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1427.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1428.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1429.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1430.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1431.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1432.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1433.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1434.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1435.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1436.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1437.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1438.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1439.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1440.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1441.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1442.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1443.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1444.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1445.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1446.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1447.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1448.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1449.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1450.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1451.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1452.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1453.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1454.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1455.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1456.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1457.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1458.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1459.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1460.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1461.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1462.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1463.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1464.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1465.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1466.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1467.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1468.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1469.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1470.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1471.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1472.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1473.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1474.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1475.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1476.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1477.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1478.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1479.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1480.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1481.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1482.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1483.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1484.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1485.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1486.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1487.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1488.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1489.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1490.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1491.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1492.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1493.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1494.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1495.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1496.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1497.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1498.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1499.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1500.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1501.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1502.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1503.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1504.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1505.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1506.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1507.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1508.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1509.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1510.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1511.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1512.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1513.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1514.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1515.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1516.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1517.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1518.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1519.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1520.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1521.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1522.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1523.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1524.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1525.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1526.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1527.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1528.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1529.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1530.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1531.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1532.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1533.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1534.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1535.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1536.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1537.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1538.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1539.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1540.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1541.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1542.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1543.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1544.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1545.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1546.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1547.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1548.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1549.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1550.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1551.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1552.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1553.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1554.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1555.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1556.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1557.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1558.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1559.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1560.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1561.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1562.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1563.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1564.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1565.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1566.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1567.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1568.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1569.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1570.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1571.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1572.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1573.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1574.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1575.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1576.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1577.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1578.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1579.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1580.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1581.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1582.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1583.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1584.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1585.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1586.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1587.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1588.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1589.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1590.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1591.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1592.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1593.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1594.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1595.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1596.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1597.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1598.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1599.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1600.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1601.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1602.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1603.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1604.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1605.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1606.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1607.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1608.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1609.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1610.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1611.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1612.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1613.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1614.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1615.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1616.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1617.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1618.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1619.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1620.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1621.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1622.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1623.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1624.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1625.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1626.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1627.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1628.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1629.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1630.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1631.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1632.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1633.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1634.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1635.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1636.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1637.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1638.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1639.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1640.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1641.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1642.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1643.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1644.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1645.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1646.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1647.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1648.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1649.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1650.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1651.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1652.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1653.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1654.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1655.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1656.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1657.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1658.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1659.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1660.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1661.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1662.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1663.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1664.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1665.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1666.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1667.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1668.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1669.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1670.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1671.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1672.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1673.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1674.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1675.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1676.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1677.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1678.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1679.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1680.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1681.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1682.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1683.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1684.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1685.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1686.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1687.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1688.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1689.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1690.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1691.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1692.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1693.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1694.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1695.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1696.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1697.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1698.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1699.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1700.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1701.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1702.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1703.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1704.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1705.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1706.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1707.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1708.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1709.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1710.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1711.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1712.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1713.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1714.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1715.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1716.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1717.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1718.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1719.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1720.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1721.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1722.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1723.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1724.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1725.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1726.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1727.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1728.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1729.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1730.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1731.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1732.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1733.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1734.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1735.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1736.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1737.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1738.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1739.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1740.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1741.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1742.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1743.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1744.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1745.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1746.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1747.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1748.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1749.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1750.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1751.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1752.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1753.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1754.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1755.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1756.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1757.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1758.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1759.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1760.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1761.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1762.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1763.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1764.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1765.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1766.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1767.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1768.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1769.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1770.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1771.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1772.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1773.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1774.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1775.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1776.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1777.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1778.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1779.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1780.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1781.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1782.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1783.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1784.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1785.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1786.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1787.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1788.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1789.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1790.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1791.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1792.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1793.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1794.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1795.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1796.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1797.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1798.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1799.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1800.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1801.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1802.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1803.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1804.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1805.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1806.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1807.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1808.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1809.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1810.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1811.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1812.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1813.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1814.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1815.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1816.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1817.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1818.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1819.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1820.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1821.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1822.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1823.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1824.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1825.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1826.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1827.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1828.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1829.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1830.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1831.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1832.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1833.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1834.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1835.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1836.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1837.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1838.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1839.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1840.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1841.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1842.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1843.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1844.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1845.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1846.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1847.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1848.c171012.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr0850-1849.c171012/mksrf_landuse_histclm50_LUH2_1849.c171012.nc
+
+
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1850.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1851.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1852.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1853.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1854.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1855.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1856.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1857.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1858.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1859.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1860.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1861.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1862.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1863.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1864.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1865.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1866.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1867.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1868.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1869.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1870.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1871.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1872.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1873.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1874.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1875.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1876.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1877.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1878.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1879.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1880.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1881.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1882.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1883.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1884.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1885.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1886.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1887.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1888.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1889.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1890.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1891.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1892.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1893.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1894.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1895.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1896.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1897.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1898.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1899.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1900.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1901.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1902.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1903.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1904.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1905.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1906.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1907.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1908.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1909.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1910.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1911.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1912.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1913.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1914.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1915.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1916.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1917.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1918.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1919.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1920.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1921.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1922.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1923.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1924.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1925.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1926.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1927.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1928.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1929.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1930.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1931.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1932.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1933.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1934.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1935.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1936.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1937.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1938.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1939.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1940.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1941.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1942.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1943.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1944.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1945.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1946.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1947.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1948.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1949.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1950.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1951.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1952.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1953.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1954.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1955.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1956.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1957.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1958.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1959.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1960.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1961.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1962.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1963.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1964.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1965.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1966.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1967.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1968.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1969.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1970.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1971.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1972.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1973.c170629.nc
lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1974.c170629.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1975.c170629.nc
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1975.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1976.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1977.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1978.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1979.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1980.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1981.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1982.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1983.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1984.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1985.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1986.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1987.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1988.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1989.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1990.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1991.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1992.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1993.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1994.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1995.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1996.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1997.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1998.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1999.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_2000.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_2001.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_2002.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_2003.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_2004.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_2005.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_2006.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_2007.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_2008.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_2009.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_2010.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_2011.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_2012.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_2013.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_2014.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_2015.c170629.nc
+
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.simyrPtVg.c181106/mksrf_landuse_potvegclm50_LUH2.c181106.nc
+
+
+
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-2.6.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP26_clm5_2016.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-2.6.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP26_clm5_2017.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-2.6.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP26_clm5_2018.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-2.6.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP26_clm5_2019.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-2.6.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP26_clm5_2020.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-2.6.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP26_clm5_2021.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-2.6.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP26_clm5_2022.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-2.6.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP26_clm5_2023.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-2.6.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP26_clm5_2024.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-2.6.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP26_clm5_2025.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-2.6.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP26_clm5_2026.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-2.6.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP26_clm5_2027.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-2.6.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP26_clm5_2028.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-2.6.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP26_clm5_2029.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-2.6.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP26_clm5_2030.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-2.6.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP26_clm5_2031.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-2.6.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP26_clm5_2032.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-2.6.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP26_clm5_2033.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-2.6.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP26_clm5_2034.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-2.6.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP26_clm5_2035.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-2.6.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP26_clm5_2036.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-2.6.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP26_clm5_2037.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-2.6.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP26_clm5_2038.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-2.6.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP26_clm5_2039.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-2.6.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP26_clm5_2040.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-2.6.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP26_clm5_2041.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-2.6.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP26_clm5_2042.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-2.6.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP26_clm5_2043.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-2.6.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP26_clm5_2044.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-2.6.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP26_clm5_2045.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-2.6.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP26_clm5_2046.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-2.6.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP26_clm5_2047.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-2.6.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP26_clm5_2048.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-2.6.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP26_clm5_2049.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-2.6.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP26_clm5_2050.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-2.6.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP26_clm5_2051.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-2.6.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP26_clm5_2052.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-2.6.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP26_clm5_2053.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-2.6.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP26_clm5_2054.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-2.6.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP26_clm5_2055.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-2.6.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP26_clm5_2056.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-2.6.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP26_clm5_2057.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-2.6.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP26_clm5_2058.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-2.6.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP26_clm5_2059.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-2.6.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP26_clm5_2060.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-2.6.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP26_clm5_2061.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-2.6.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP26_clm5_2062.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-2.6.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP26_clm5_2063.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-2.6.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP26_clm5_2064.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-2.6.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP26_clm5_2065.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-2.6.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP26_clm5_2066.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-2.6.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP26_clm5_2067.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-2.6.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP26_clm5_2068.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-2.6.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP26_clm5_2069.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-2.6.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP26_clm5_2070.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-2.6.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP26_clm5_2071.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-2.6.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP26_clm5_2072.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-2.6.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP26_clm5_2073.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-2.6.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP26_clm5_2074.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-2.6.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP26_clm5_2075.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-2.6.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP26_clm5_2076.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-2.6.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP26_clm5_2077.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-2.6.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP26_clm5_2078.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-2.6.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP26_clm5_2079.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-2.6.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP26_clm5_2080.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-2.6.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP26_clm5_2081.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-2.6.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP26_clm5_2082.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-2.6.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP26_clm5_2083.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-2.6.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP26_clm5_2084.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-2.6.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP26_clm5_2085.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-2.6.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP26_clm5_2086.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-2.6.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP26_clm5_2087.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-2.6.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP26_clm5_2088.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-2.6.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP26_clm5_2089.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-2.6.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP26_clm5_2090.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-2.6.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP26_clm5_2091.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-2.6.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP26_clm5_2092.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-2.6.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP26_clm5_2093.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-2.6.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP26_clm5_2094.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-2.6.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP26_clm5_2095.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-2.6.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP26_clm5_2096.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-2.6.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP26_clm5_2097.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-2.6.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP26_clm5_2098.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-2.6.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP26_clm5_2099.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-2.6.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP26_clm5_2100.c181217.nc
+
+
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP3-7.0.simyr2016-2100.c181217/mksrf_landuse_SSP3RCP70_clm5_2016.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP3-7.0.simyr2016-2100.c181217/mksrf_landuse_SSP3RCP70_clm5_2017.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP3-7.0.simyr2016-2100.c181217/mksrf_landuse_SSP3RCP70_clm5_2018.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP3-7.0.simyr2016-2100.c181217/mksrf_landuse_SSP3RCP70_clm5_2019.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP3-7.0.simyr2016-2100.c181217/mksrf_landuse_SSP3RCP70_clm5_2020.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP3-7.0.simyr2016-2100.c181217/mksrf_landuse_SSP3RCP70_clm5_2021.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP3-7.0.simyr2016-2100.c181217/mksrf_landuse_SSP3RCP70_clm5_2022.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP3-7.0.simyr2016-2100.c181217/mksrf_landuse_SSP3RCP70_clm5_2023.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP3-7.0.simyr2016-2100.c181217/mksrf_landuse_SSP3RCP70_clm5_2024.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP3-7.0.simyr2016-2100.c181217/mksrf_landuse_SSP3RCP70_clm5_2025.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP3-7.0.simyr2016-2100.c181217/mksrf_landuse_SSP3RCP70_clm5_2026.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP3-7.0.simyr2016-2100.c181217/mksrf_landuse_SSP3RCP70_clm5_2027.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP3-7.0.simyr2016-2100.c181217/mksrf_landuse_SSP3RCP70_clm5_2028.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP3-7.0.simyr2016-2100.c181217/mksrf_landuse_SSP3RCP70_clm5_2029.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP3-7.0.simyr2016-2100.c181217/mksrf_landuse_SSP3RCP70_clm5_2030.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP3-7.0.simyr2016-2100.c181217/mksrf_landuse_SSP3RCP70_clm5_2031.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP3-7.0.simyr2016-2100.c181217/mksrf_landuse_SSP3RCP70_clm5_2032.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP3-7.0.simyr2016-2100.c181217/mksrf_landuse_SSP3RCP70_clm5_2033.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP3-7.0.simyr2016-2100.c181217/mksrf_landuse_SSP3RCP70_clm5_2034.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP3-7.0.simyr2016-2100.c181217/mksrf_landuse_SSP3RCP70_clm5_2035.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP3-7.0.simyr2016-2100.c181217/mksrf_landuse_SSP3RCP70_clm5_2036.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP3-7.0.simyr2016-2100.c181217/mksrf_landuse_SSP3RCP70_clm5_2037.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP3-7.0.simyr2016-2100.c181217/mksrf_landuse_SSP3RCP70_clm5_2038.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP3-7.0.simyr2016-2100.c181217/mksrf_landuse_SSP3RCP70_clm5_2039.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP3-7.0.simyr2016-2100.c181217/mksrf_landuse_SSP3RCP70_clm5_2040.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP3-7.0.simyr2016-2100.c181217/mksrf_landuse_SSP3RCP70_clm5_2041.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP3-7.0.simyr2016-2100.c181217/mksrf_landuse_SSP3RCP70_clm5_2042.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP3-7.0.simyr2016-2100.c181217/mksrf_landuse_SSP3RCP70_clm5_2043.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP3-7.0.simyr2016-2100.c181217/mksrf_landuse_SSP3RCP70_clm5_2044.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP3-7.0.simyr2016-2100.c181217/mksrf_landuse_SSP3RCP70_clm5_2045.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP3-7.0.simyr2016-2100.c181217/mksrf_landuse_SSP3RCP70_clm5_2046.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP3-7.0.simyr2016-2100.c181217/mksrf_landuse_SSP3RCP70_clm5_2047.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP3-7.0.simyr2016-2100.c181217/mksrf_landuse_SSP3RCP70_clm5_2048.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP3-7.0.simyr2016-2100.c181217/mksrf_landuse_SSP3RCP70_clm5_2049.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP3-7.0.simyr2016-2100.c181217/mksrf_landuse_SSP3RCP70_clm5_2050.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP3-7.0.simyr2016-2100.c181217/mksrf_landuse_SSP3RCP70_clm5_2051.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP3-7.0.simyr2016-2100.c181217/mksrf_landuse_SSP3RCP70_clm5_2052.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP3-7.0.simyr2016-2100.c181217/mksrf_landuse_SSP3RCP70_clm5_2053.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP3-7.0.simyr2016-2100.c181217/mksrf_landuse_SSP3RCP70_clm5_2054.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP3-7.0.simyr2016-2100.c181217/mksrf_landuse_SSP3RCP70_clm5_2055.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP3-7.0.simyr2016-2100.c181217/mksrf_landuse_SSP3RCP70_clm5_2056.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP3-7.0.simyr2016-2100.c181217/mksrf_landuse_SSP3RCP70_clm5_2057.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP3-7.0.simyr2016-2100.c181217/mksrf_landuse_SSP3RCP70_clm5_2058.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP3-7.0.simyr2016-2100.c181217/mksrf_landuse_SSP3RCP70_clm5_2059.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP3-7.0.simyr2016-2100.c181217/mksrf_landuse_SSP3RCP70_clm5_2060.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP3-7.0.simyr2016-2100.c181217/mksrf_landuse_SSP3RCP70_clm5_2061.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP3-7.0.simyr2016-2100.c181217/mksrf_landuse_SSP3RCP70_clm5_2062.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP3-7.0.simyr2016-2100.c181217/mksrf_landuse_SSP3RCP70_clm5_2063.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP3-7.0.simyr2016-2100.c181217/mksrf_landuse_SSP3RCP70_clm5_2064.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP3-7.0.simyr2016-2100.c181217/mksrf_landuse_SSP3RCP70_clm5_2065.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP3-7.0.simyr2016-2100.c181217/mksrf_landuse_SSP3RCP70_clm5_2066.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP3-7.0.simyr2016-2100.c181217/mksrf_landuse_SSP3RCP70_clm5_2067.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP3-7.0.simyr2016-2100.c181217/mksrf_landuse_SSP3RCP70_clm5_2068.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP3-7.0.simyr2016-2100.c181217/mksrf_landuse_SSP3RCP70_clm5_2069.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP3-7.0.simyr2016-2100.c181217/mksrf_landuse_SSP3RCP70_clm5_2070.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP3-7.0.simyr2016-2100.c181217/mksrf_landuse_SSP3RCP70_clm5_2071.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP3-7.0.simyr2016-2100.c181217/mksrf_landuse_SSP3RCP70_clm5_2072.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP3-7.0.simyr2016-2100.c181217/mksrf_landuse_SSP3RCP70_clm5_2073.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP3-7.0.simyr2016-2100.c181217/mksrf_landuse_SSP3RCP70_clm5_2074.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP3-7.0.simyr2016-2100.c181217/mksrf_landuse_SSP3RCP70_clm5_2075.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP3-7.0.simyr2016-2100.c181217/mksrf_landuse_SSP3RCP70_clm5_2076.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP3-7.0.simyr2016-2100.c181217/mksrf_landuse_SSP3RCP70_clm5_2077.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP3-7.0.simyr2016-2100.c181217/mksrf_landuse_SSP3RCP70_clm5_2078.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP3-7.0.simyr2016-2100.c181217/mksrf_landuse_SSP3RCP70_clm5_2079.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP3-7.0.simyr2016-2100.c181217/mksrf_landuse_SSP3RCP70_clm5_2080.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP3-7.0.simyr2016-2100.c181217/mksrf_landuse_SSP3RCP70_clm5_2081.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP3-7.0.simyr2016-2100.c181217/mksrf_landuse_SSP3RCP70_clm5_2082.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP3-7.0.simyr2016-2100.c181217/mksrf_landuse_SSP3RCP70_clm5_2083.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP3-7.0.simyr2016-2100.c181217/mksrf_landuse_SSP3RCP70_clm5_2084.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP3-7.0.simyr2016-2100.c181217/mksrf_landuse_SSP3RCP70_clm5_2085.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP3-7.0.simyr2016-2100.c181217/mksrf_landuse_SSP3RCP70_clm5_2086.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP3-7.0.simyr2016-2100.c181217/mksrf_landuse_SSP3RCP70_clm5_2087.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP3-7.0.simyr2016-2100.c181217/mksrf_landuse_SSP3RCP70_clm5_2088.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP3-7.0.simyr2016-2100.c181217/mksrf_landuse_SSP3RCP70_clm5_2089.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP3-7.0.simyr2016-2100.c181217/mksrf_landuse_SSP3RCP70_clm5_2090.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP3-7.0.simyr2016-2100.c181217/mksrf_landuse_SSP3RCP70_clm5_2091.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP3-7.0.simyr2016-2100.c181217/mksrf_landuse_SSP3RCP70_clm5_2092.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP3-7.0.simyr2016-2100.c181217/mksrf_landuse_SSP3RCP70_clm5_2093.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP3-7.0.simyr2016-2100.c181217/mksrf_landuse_SSP3RCP70_clm5_2094.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP3-7.0.simyr2016-2100.c181217/mksrf_landuse_SSP3RCP70_clm5_2095.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP3-7.0.simyr2016-2100.c181217/mksrf_landuse_SSP3RCP70_clm5_2096.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP3-7.0.simyr2016-2100.c181217/mksrf_landuse_SSP3RCP70_clm5_2097.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP3-7.0.simyr2016-2100.c181217/mksrf_landuse_SSP3RCP70_clm5_2098.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP3-7.0.simyr2016-2100.c181217/mksrf_landuse_SSP3RCP70_clm5_2099.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP3-7.0.simyr2016-2100.c181217/mksrf_landuse_SSP3RCP70_clm5_2100.c181217.nc
+
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP5-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP5RCP34_clm5_2016.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP5-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP5RCP34_clm5_2017.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP5-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP5RCP34_clm5_2018.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP5-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP5RCP34_clm5_2019.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP5-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP5RCP34_clm5_2020.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP5-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP5RCP34_clm5_2021.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP5-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP5RCP34_clm5_2022.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP5-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP5RCP34_clm5_2023.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP5-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP5RCP34_clm5_2024.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP5-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP5RCP34_clm5_2025.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP5-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP5RCP34_clm5_2026.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP5-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP5RCP34_clm5_2027.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP5-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP5RCP34_clm5_2028.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP5-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP5RCP34_clm5_2029.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP5-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP5RCP34_clm5_2030.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP5-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP5RCP34_clm5_2031.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP5-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP5RCP34_clm5_2032.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP5-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP5RCP34_clm5_2033.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP5-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP5RCP34_clm5_2034.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP5-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP5RCP34_clm5_2035.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP5-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP5RCP34_clm5_2036.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP5-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP5RCP34_clm5_2037.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP5-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP5RCP34_clm5_2038.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP5-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP5RCP34_clm5_2039.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP5-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP5RCP34_clm5_2040.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP5-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP5RCP34_clm5_2041.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP5-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP5RCP34_clm5_2042.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP5-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP5RCP34_clm5_2043.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP5-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP5RCP34_clm5_2044.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP5-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP5RCP34_clm5_2045.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP5-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP5RCP34_clm5_2046.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP5-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP5RCP34_clm5_2047.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP5-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP5RCP34_clm5_2048.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP5-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP5RCP34_clm5_2049.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP5-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP5RCP34_clm5_2050.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP5-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP5RCP34_clm5_2051.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP5-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP5RCP34_clm5_2052.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP5-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP5RCP34_clm5_2053.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP5-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP5RCP34_clm5_2054.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP5-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP5RCP34_clm5_2055.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP5-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP5RCP34_clm5_2056.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP5-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP5RCP34_clm5_2057.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP5-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP5RCP34_clm5_2058.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP5-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP5RCP34_clm5_2059.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP5-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP5RCP34_clm5_2060.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP5-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP5RCP34_clm5_2061.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP5-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP5RCP34_clm5_2062.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP5-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP5RCP34_clm5_2063.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP5-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP5RCP34_clm5_2064.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP5-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP5RCP34_clm5_2065.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP5-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP5RCP34_clm5_2066.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP5-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP5RCP34_clm5_2067.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP5-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP5RCP34_clm5_2068.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP5-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP5RCP34_clm5_2069.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP5-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP5RCP34_clm5_2070.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP5-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP5RCP34_clm5_2071.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP5-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP5RCP34_clm5_2072.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP5-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP5RCP34_clm5_2073.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP5-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP5RCP34_clm5_2074.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP5-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP5RCP34_clm5_2075.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP5-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP5RCP34_clm5_2076.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP5-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP5RCP34_clm5_2077.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP5-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP5RCP34_clm5_2078.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP5-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP5RCP34_clm5_2079.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP5-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP5RCP34_clm5_2080.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP5-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP5RCP34_clm5_2081.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP5-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP5RCP34_clm5_2082.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP5-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP5RCP34_clm5_2083.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP5-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP5RCP34_clm5_2084.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP5-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP5RCP34_clm5_2085.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP5-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP5RCP34_clm5_2086.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP5-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP5RCP34_clm5_2087.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP5-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP5RCP34_clm5_2088.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP5-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP5RCP34_clm5_2089.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP5-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP5RCP34_clm5_2090.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP5-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP5RCP34_clm5_2091.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP5-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP5RCP34_clm5_2092.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP5-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP5RCP34_clm5_2093.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP5-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP5RCP34_clm5_2094.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP5-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP5RCP34_clm5_2095.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP5-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP5RCP34_clm5_2096.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP5-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP5RCP34_clm5_2097.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP5-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP5RCP34_clm5_2098.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP5-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP5RCP34_clm5_2099.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP5-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP5RCP34_clm5_2100.c181217.nc
+
+
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP2-4.5.simyr2016-2100.c181217/mksrf_landuse_SSP2RCP45_clm5_2016.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP2-4.5.simyr2016-2100.c181217/mksrf_landuse_SSP2RCP45_clm5_2017.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP2-4.5.simyr2016-2100.c181217/mksrf_landuse_SSP2RCP45_clm5_2018.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP2-4.5.simyr2016-2100.c181217/mksrf_landuse_SSP2RCP45_clm5_2019.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP2-4.5.simyr2016-2100.c181217/mksrf_landuse_SSP2RCP45_clm5_2020.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP2-4.5.simyr2016-2100.c181217/mksrf_landuse_SSP2RCP45_clm5_2021.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP2-4.5.simyr2016-2100.c181217/mksrf_landuse_SSP2RCP45_clm5_2022.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP2-4.5.simyr2016-2100.c181217/mksrf_landuse_SSP2RCP45_clm5_2023.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP2-4.5.simyr2016-2100.c181217/mksrf_landuse_SSP2RCP45_clm5_2024.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP2-4.5.simyr2016-2100.c181217/mksrf_landuse_SSP2RCP45_clm5_2025.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP2-4.5.simyr2016-2100.c181217/mksrf_landuse_SSP2RCP45_clm5_2026.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP2-4.5.simyr2016-2100.c181217/mksrf_landuse_SSP2RCP45_clm5_2027.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP2-4.5.simyr2016-2100.c181217/mksrf_landuse_SSP2RCP45_clm5_2028.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP2-4.5.simyr2016-2100.c181217/mksrf_landuse_SSP2RCP45_clm5_2029.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP2-4.5.simyr2016-2100.c181217/mksrf_landuse_SSP2RCP45_clm5_2030.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP2-4.5.simyr2016-2100.c181217/mksrf_landuse_SSP2RCP45_clm5_2031.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP2-4.5.simyr2016-2100.c181217/mksrf_landuse_SSP2RCP45_clm5_2032.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP2-4.5.simyr2016-2100.c181217/mksrf_landuse_SSP2RCP45_clm5_2033.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP2-4.5.simyr2016-2100.c181217/mksrf_landuse_SSP2RCP45_clm5_2034.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP2-4.5.simyr2016-2100.c181217/mksrf_landuse_SSP2RCP45_clm5_2035.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP2-4.5.simyr2016-2100.c181217/mksrf_landuse_SSP2RCP45_clm5_2036.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP2-4.5.simyr2016-2100.c181217/mksrf_landuse_SSP2RCP45_clm5_2037.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP2-4.5.simyr2016-2100.c181217/mksrf_landuse_SSP2RCP45_clm5_2038.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP2-4.5.simyr2016-2100.c181217/mksrf_landuse_SSP2RCP45_clm5_2039.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP2-4.5.simyr2016-2100.c181217/mksrf_landuse_SSP2RCP45_clm5_2040.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP2-4.5.simyr2016-2100.c181217/mksrf_landuse_SSP2RCP45_clm5_2041.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP2-4.5.simyr2016-2100.c181217/mksrf_landuse_SSP2RCP45_clm5_2042.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP2-4.5.simyr2016-2100.c181217/mksrf_landuse_SSP2RCP45_clm5_2043.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP2-4.5.simyr2016-2100.c181217/mksrf_landuse_SSP2RCP45_clm5_2044.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP2-4.5.simyr2016-2100.c181217/mksrf_landuse_SSP2RCP45_clm5_2045.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP2-4.5.simyr2016-2100.c181217/mksrf_landuse_SSP2RCP45_clm5_2046.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP2-4.5.simyr2016-2100.c181217/mksrf_landuse_SSP2RCP45_clm5_2047.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP2-4.5.simyr2016-2100.c181217/mksrf_landuse_SSP2RCP45_clm5_2048.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP2-4.5.simyr2016-2100.c181217/mksrf_landuse_SSP2RCP45_clm5_2049.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP2-4.5.simyr2016-2100.c181217/mksrf_landuse_SSP2RCP45_clm5_2050.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP2-4.5.simyr2016-2100.c181217/mksrf_landuse_SSP2RCP45_clm5_2051.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP2-4.5.simyr2016-2100.c181217/mksrf_landuse_SSP2RCP45_clm5_2052.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP2-4.5.simyr2016-2100.c181217/mksrf_landuse_SSP2RCP45_clm5_2053.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP2-4.5.simyr2016-2100.c181217/mksrf_landuse_SSP2RCP45_clm5_2054.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP2-4.5.simyr2016-2100.c181217/mksrf_landuse_SSP2RCP45_clm5_2055.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP2-4.5.simyr2016-2100.c181217/mksrf_landuse_SSP2RCP45_clm5_2056.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP2-4.5.simyr2016-2100.c181217/mksrf_landuse_SSP2RCP45_clm5_2057.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP2-4.5.simyr2016-2100.c181217/mksrf_landuse_SSP2RCP45_clm5_2058.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP2-4.5.simyr2016-2100.c181217/mksrf_landuse_SSP2RCP45_clm5_2059.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP2-4.5.simyr2016-2100.c181217/mksrf_landuse_SSP2RCP45_clm5_2060.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP2-4.5.simyr2016-2100.c181217/mksrf_landuse_SSP2RCP45_clm5_2061.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP2-4.5.simyr2016-2100.c181217/mksrf_landuse_SSP2RCP45_clm5_2062.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP2-4.5.simyr2016-2100.c181217/mksrf_landuse_SSP2RCP45_clm5_2063.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP2-4.5.simyr2016-2100.c181217/mksrf_landuse_SSP2RCP45_clm5_2064.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP2-4.5.simyr2016-2100.c181217/mksrf_landuse_SSP2RCP45_clm5_2065.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP2-4.5.simyr2016-2100.c181217/mksrf_landuse_SSP2RCP45_clm5_2066.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP2-4.5.simyr2016-2100.c181217/mksrf_landuse_SSP2RCP45_clm5_2067.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP2-4.5.simyr2016-2100.c181217/mksrf_landuse_SSP2RCP45_clm5_2068.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP2-4.5.simyr2016-2100.c181217/mksrf_landuse_SSP2RCP45_clm5_2069.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP2-4.5.simyr2016-2100.c181217/mksrf_landuse_SSP2RCP45_clm5_2070.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP2-4.5.simyr2016-2100.c181217/mksrf_landuse_SSP2RCP45_clm5_2071.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP2-4.5.simyr2016-2100.c181217/mksrf_landuse_SSP2RCP45_clm5_2072.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP2-4.5.simyr2016-2100.c181217/mksrf_landuse_SSP2RCP45_clm5_2073.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP2-4.5.simyr2016-2100.c181217/mksrf_landuse_SSP2RCP45_clm5_2074.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP2-4.5.simyr2016-2100.c181217/mksrf_landuse_SSP2RCP45_clm5_2075.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP2-4.5.simyr2016-2100.c181217/mksrf_landuse_SSP2RCP45_clm5_2076.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP2-4.5.simyr2016-2100.c181217/mksrf_landuse_SSP2RCP45_clm5_2077.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP2-4.5.simyr2016-2100.c181217/mksrf_landuse_SSP2RCP45_clm5_2078.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP2-4.5.simyr2016-2100.c181217/mksrf_landuse_SSP2RCP45_clm5_2079.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP2-4.5.simyr2016-2100.c181217/mksrf_landuse_SSP2RCP45_clm5_2080.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP2-4.5.simyr2016-2100.c181217/mksrf_landuse_SSP2RCP45_clm5_2081.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP2-4.5.simyr2016-2100.c181217/mksrf_landuse_SSP2RCP45_clm5_2082.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP2-4.5.simyr2016-2100.c181217/mksrf_landuse_SSP2RCP45_clm5_2083.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP2-4.5.simyr2016-2100.c181217/mksrf_landuse_SSP2RCP45_clm5_2084.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP2-4.5.simyr2016-2100.c181217/mksrf_landuse_SSP2RCP45_clm5_2085.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP2-4.5.simyr2016-2100.c181217/mksrf_landuse_SSP2RCP45_clm5_2086.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP2-4.5.simyr2016-2100.c181217/mksrf_landuse_SSP2RCP45_clm5_2087.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP2-4.5.simyr2016-2100.c181217/mksrf_landuse_SSP2RCP45_clm5_2088.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP2-4.5.simyr2016-2100.c181217/mksrf_landuse_SSP2RCP45_clm5_2089.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP2-4.5.simyr2016-2100.c181217/mksrf_landuse_SSP2RCP45_clm5_2090.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP2-4.5.simyr2016-2100.c181217/mksrf_landuse_SSP2RCP45_clm5_2091.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP2-4.5.simyr2016-2100.c181217/mksrf_landuse_SSP2RCP45_clm5_2092.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP2-4.5.simyr2016-2100.c181217/mksrf_landuse_SSP2RCP45_clm5_2093.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP2-4.5.simyr2016-2100.c181217/mksrf_landuse_SSP2RCP45_clm5_2094.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP2-4.5.simyr2016-2100.c181217/mksrf_landuse_SSP2RCP45_clm5_2095.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP2-4.5.simyr2016-2100.c181217/mksrf_landuse_SSP2RCP45_clm5_2096.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP2-4.5.simyr2016-2100.c181217/mksrf_landuse_SSP2RCP45_clm5_2097.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP2-4.5.simyr2016-2100.c181217/mksrf_landuse_SSP2RCP45_clm5_2098.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP2-4.5.simyr2016-2100.c181217/mksrf_landuse_SSP2RCP45_clm5_2099.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP2-4.5.simyr2016-2100.c181217/mksrf_landuse_SSP2RCP45_clm5_2100.c181217.nc
+
+
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-1.9.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP19_clm5_2016.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-1.9.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP19_clm5_2017.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-1.9.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP19_clm5_2018.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-1.9.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP19_clm5_2019.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-1.9.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP19_clm5_2020.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-1.9.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP19_clm5_2021.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-1.9.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP19_clm5_2022.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-1.9.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP19_clm5_2023.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-1.9.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP19_clm5_2024.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-1.9.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP19_clm5_2025.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-1.9.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP19_clm5_2026.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-1.9.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP19_clm5_2027.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-1.9.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP19_clm5_2028.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-1.9.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP19_clm5_2029.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-1.9.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP19_clm5_2030.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-1.9.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP19_clm5_2031.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-1.9.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP19_clm5_2032.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-1.9.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP19_clm5_2033.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-1.9.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP19_clm5_2034.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-1.9.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP19_clm5_2035.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-1.9.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP19_clm5_2036.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-1.9.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP19_clm5_2037.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-1.9.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP19_clm5_2038.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-1.9.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP19_clm5_2039.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-1.9.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP19_clm5_2040.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-1.9.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP19_clm5_2041.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-1.9.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP19_clm5_2042.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-1.9.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP19_clm5_2043.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-1.9.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP19_clm5_2044.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-1.9.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP19_clm5_2045.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-1.9.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP19_clm5_2046.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-1.9.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP19_clm5_2047.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-1.9.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP19_clm5_2048.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-1.9.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP19_clm5_2049.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-1.9.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP19_clm5_2050.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-1.9.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP19_clm5_2051.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-1.9.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP19_clm5_2052.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-1.9.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP19_clm5_2053.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-1.9.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP19_clm5_2054.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-1.9.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP19_clm5_2055.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-1.9.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP19_clm5_2056.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-1.9.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP19_clm5_2057.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-1.9.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP19_clm5_2058.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-1.9.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP19_clm5_2059.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-1.9.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP19_clm5_2060.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-1.9.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP19_clm5_2061.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-1.9.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP19_clm5_2062.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-1.9.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP19_clm5_2063.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-1.9.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP19_clm5_2064.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-1.9.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP19_clm5_2065.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-1.9.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP19_clm5_2066.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-1.9.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP19_clm5_2067.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-1.9.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP19_clm5_2068.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-1.9.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP19_clm5_2069.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-1.9.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP19_clm5_2070.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-1.9.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP19_clm5_2071.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-1.9.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP19_clm5_2072.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-1.9.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP19_clm5_2073.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-1.9.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP19_clm5_2074.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-1.9.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP19_clm5_2075.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-1.9.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP19_clm5_2076.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-1.9.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP19_clm5_2077.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-1.9.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP19_clm5_2078.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-1.9.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP19_clm5_2079.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-1.9.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP19_clm5_2080.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-1.9.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP19_clm5_2081.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-1.9.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP19_clm5_2082.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-1.9.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP19_clm5_2083.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-1.9.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP19_clm5_2084.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-1.9.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP19_clm5_2085.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-1.9.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP19_clm5_2086.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-1.9.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP19_clm5_2087.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-1.9.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP19_clm5_2088.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-1.9.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP19_clm5_2089.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-1.9.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP19_clm5_2090.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-1.9.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP19_clm5_2091.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-1.9.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP19_clm5_2092.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-1.9.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP19_clm5_2093.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-1.9.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP19_clm5_2094.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-1.9.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP19_clm5_2095.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-1.9.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP19_clm5_2096.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-1.9.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP19_clm5_2097.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-1.9.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP19_clm5_2098.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-1.9.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP19_clm5_2099.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP1-1.9.simyr2016-2100.c181217/mksrf_landuse_SSP1RCP19_clm5_2100.c181217.nc
+
+
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP34_clm5_2016.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP34_clm5_2017.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP34_clm5_2018.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP34_clm5_2019.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP34_clm5_2020.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP34_clm5_2021.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP34_clm5_2022.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP34_clm5_2023.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP34_clm5_2024.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP34_clm5_2025.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP34_clm5_2026.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP34_clm5_2027.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP34_clm5_2028.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP34_clm5_2029.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP34_clm5_2030.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP34_clm5_2031.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP34_clm5_2032.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP34_clm5_2033.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP34_clm5_2034.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP34_clm5_2035.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP34_clm5_2036.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP34_clm5_2037.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP34_clm5_2038.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP34_clm5_2039.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP34_clm5_2040.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP34_clm5_2041.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP34_clm5_2042.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP34_clm5_2043.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP34_clm5_2044.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP34_clm5_2045.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP34_clm5_2046.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP34_clm5_2047.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP34_clm5_2048.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP34_clm5_2049.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP34_clm5_2050.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP34_clm5_2051.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP34_clm5_2052.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP34_clm5_2053.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP34_clm5_2054.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP34_clm5_2055.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP34_clm5_2056.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP34_clm5_2057.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP34_clm5_2058.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP34_clm5_2059.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP34_clm5_2060.c181217.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1976.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP34_clm5_2061.c181217.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1977.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP34_clm5_2062.c181217.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1978.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP34_clm5_2063.c181217.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1979.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP34_clm5_2064.c181217.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1980.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP34_clm5_2065.c181217.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1981.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP34_clm5_2066.c181217.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1982.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP34_clm5_2067.c181217.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1983.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP34_clm5_2068.c181217.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1984.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP34_clm5_2069.c181217.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1985.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP34_clm5_2070.c181217.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1986.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP34_clm5_2071.c181217.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1987.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP34_clm5_2072.c181217.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1988.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP34_clm5_2073.c181217.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1989.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP34_clm5_2074.c181217.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1990.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP34_clm5_2075.c181217.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1991.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP34_clm5_2076.c181217.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1992.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP34_clm5_2077.c181217.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1993.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP34_clm5_2078.c181217.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1994.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP34_clm5_2079.c181217.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1995.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP34_clm5_2080.c181217.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1996.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP34_clm5_2081.c181217.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1997.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP34_clm5_2082.c181217.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1998.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP34_clm5_2083.c181217.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1999.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP34_clm5_2084.c181217.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_2000.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP34_clm5_2085.c181217.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_2001.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP34_clm5_2086.c181217.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_2002.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP34_clm5_2087.c181217.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_2003.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP34_clm5_2088.c181217.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_2004.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP34_clm5_2089.c181217.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_2005.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP34_clm5_2090.c181217.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_2006.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP34_clm5_2091.c181217.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_2007.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP34_clm5_2092.c181217.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_2008.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP34_clm5_2093.c181217.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_2009.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP34_clm5_2094.c181217.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_2010.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP34_clm5_2095.c181217.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_2011.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP34_clm5_2096.c181217.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_2012.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP34_clm5_2097.c181217.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_2013.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP34_clm5_2098.c181217.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_2014.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP34_clm5_2099.c181217.nc
-lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_2015.c170629.nc
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-3.4.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP34_clm5_2100.c181217.nc
+
+
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-6.0.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP60_clm5_2016.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-6.0.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP60_clm5_2017.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-6.0.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP60_clm5_2018.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-6.0.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP60_clm5_2019.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-6.0.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP60_clm5_2020.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-6.0.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP60_clm5_2021.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-6.0.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP60_clm5_2022.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-6.0.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP60_clm5_2023.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-6.0.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP60_clm5_2024.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-6.0.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP60_clm5_2025.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-6.0.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP60_clm5_2026.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-6.0.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP60_clm5_2027.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-6.0.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP60_clm5_2028.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-6.0.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP60_clm5_2029.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-6.0.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP60_clm5_2030.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-6.0.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP60_clm5_2031.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-6.0.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP60_clm5_2032.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-6.0.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP60_clm5_2033.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-6.0.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP60_clm5_2034.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-6.0.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP60_clm5_2035.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-6.0.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP60_clm5_2036.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-6.0.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP60_clm5_2037.c181217.nc
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-6.0.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP60_clm5_2038.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-6.0.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP60_clm5_2039.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-6.0.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP60_clm5_2040.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-6.0.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP60_clm5_2041.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-6.0.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP60_clm5_2042.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-6.0.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP60_clm5_2043.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-6.0.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP60_clm5_2044.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-6.0.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP60_clm5_2045.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-6.0.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP60_clm5_2046.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-6.0.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP60_clm5_2047.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-6.0.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP60_clm5_2048.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-6.0.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP60_clm5_2049.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-6.0.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP60_clm5_2050.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-6.0.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP60_clm5_2051.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-6.0.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP60_clm5_2052.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-6.0.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP60_clm5_2053.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-6.0.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP60_clm5_2054.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-6.0.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP60_clm5_2055.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-6.0.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP60_clm5_2056.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-6.0.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP60_clm5_2057.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-6.0.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP60_clm5_2058.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-6.0.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP60_clm5_2059.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-6.0.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP60_clm5_2060.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-6.0.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP60_clm5_2061.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-6.0.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP60_clm5_2062.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-6.0.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP60_clm5_2063.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-6.0.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP60_clm5_2064.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-6.0.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP60_clm5_2065.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-6.0.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP60_clm5_2066.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-6.0.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP60_clm5_2067.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-6.0.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP60_clm5_2068.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-6.0.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP60_clm5_2069.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-6.0.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP60_clm5_2070.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-6.0.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP60_clm5_2071.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-6.0.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP60_clm5_2072.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-6.0.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP60_clm5_2073.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-6.0.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP60_clm5_2074.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-6.0.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP60_clm5_2075.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-6.0.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP60_clm5_2076.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-6.0.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP60_clm5_2077.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-6.0.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP60_clm5_2078.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-6.0.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP60_clm5_2079.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-6.0.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP60_clm5_2080.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-6.0.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP60_clm5_2081.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-6.0.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP60_clm5_2082.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-6.0.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP60_clm5_2083.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-6.0.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP60_clm5_2084.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-6.0.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP60_clm5_2085.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-6.0.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP60_clm5_2086.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-6.0.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP60_clm5_2087.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-6.0.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP60_clm5_2088.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-6.0.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP60_clm5_2089.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-6.0.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP60_clm5_2090.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-6.0.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP60_clm5_2091.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-6.0.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP60_clm5_2092.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-6.0.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP60_clm5_2093.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-6.0.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP60_clm5_2094.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-6.0.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP60_clm5_2095.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-6.0.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP60_clm5_2096.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-6.0.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP60_clm5_2097.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-6.0.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP60_clm5_2098.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-6.0.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP60_clm5_2099.c181217.nc
+
+
+lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP4-6.0.simyr2016-2100.c181217/mksrf_landuse_SSP4RCP60_clm5_2100.c181217.nc
+
+
+
+
+
lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.SSP5-8.5.simyr2016-2100.c171005/mksrf_landuse_SSP5RCP85_clm5_2016.c171005.nc
@@ -966,7 +7403,25 @@ attributes from the config_cache.xml file (with keys converted to upper-case).
-atm/waccm/lb/LBC_17500116-20150116_CMIP6_0p5degLat_c180905.nc
-/gpfs/fs1/p/acom/acom-climate/cesm2/inputdata/atm/waccm/lb/LBC_1750-2015_CMIP6_GlobAnnAvg_c180905.nc
+atm/waccm/lb/LBC_17500116-20150116_CMIP6_0p5degLat_c180905.nc
+atm/waccm/lb/LBC_1750-2015_CMIP6_GlobAnnAvg_c180926.nc
+
+atm/waccm/lb/LBC_20140116-25001216_CMIP6_SSP119_0p5degLat_c190514.nc
+atm/waccm/lb/LBC_20140116-25001216_CMIP6_SSP126_0p5degLat_c180905.nc
+atm/waccm/lb/LBC_20140116-25001216_CMIP6_SSP245_0p5degLat_c180905.nc
+atm/waccm/lb/LBC_20140116-25001216_CMIP6_SSP370_0p5degLat_c180905.nc
+atm/waccm/lb/LBC_20140116-25001216_CMIP6_SSP119_0p5degLat_c190514.nc
+atm/waccm/lb/LBC_20140116-25001216_CMIP6_SSP460_0p5degLat_c180905.nc
+atm/waccm/lb/LBC_20140116-25001216_CMIP6_SSP534os_0p5degLat_c180905.nc
+atm/waccm/lb/LBC_20140116-25001216_CMIP6_SSP585_0p5degLat_c180905.nc
+
+atm/waccm/lb/LBC_2014-2500_CMIP6_SSP119_0p5degLat_GlobAnnAvg_c190514.nc
+atm/waccm/lb/LBC_2014-2500_CMIP6_SSP126_0p5degLat_GlobAnnAvg_c190301.nc
+atm/waccm/lb/LBC_2014-2500_CMIP6_SSP245_0p5degLat_GlobAnnAvg_c190301.nc
+atm/waccm/lb/LBC_2014-2500_CMIP6_SSP370_0p5degLat_GlobAnnAvg_c190301.nc
+atm/waccm/lb/LBC_2014-2500_CMIP6_SSP434_0p5degLat_GlobAnnAvg_c190514.nc
+atm/waccm/lb/LBC_2014-2500_CMIP6_SSP460_0p5degLat_GlobAnnAvg_c190301.nc
+atm/waccm/lb/LBC_2014-2500_CMIP6_SSP534os_0p5degLat_GlobAnnAvg_c190301.nc
+atm/waccm/lb/LBC_2014-2500_CMIP6_SSP585_0p5degLat_GlobAnnAvg_c190301.nc
diff --git a/bld/namelist_files/namelist_defaults_drydep.xml b/bld/namelist_files/namelist_defaults_drydep.xml
index e73f2987c2..9933d5cee3 100644
--- a/bld/namelist_files/namelist_defaults_drydep.xml
+++ b/bld/namelist_files/namelist_defaults_drydep.xml
@@ -17,12 +17,15 @@ attributes from the config_cache.xml file (with keys converted to upper-case).
'O3','NO2','HNO3','NO','HO2NO2','CH3OOH','CH2O','CO','H2O2','CH3COOOH','PAN','MPAN','C2H5OOH','ONIT','POOH','C3H7OOH','ROOH','CH3COCHO','CH3COCH3','Pb','ONITR','MACROOH','XOOH','ISOPOOH','CH3OH','C2H5OH','CH3CHO','GLYALD','HYAC','HYDRALD','ALKOOH','MEKOOH','TOLOOH','TERPOOH','CH3COOH','CB1','CB2','OC1','OC2','SOA','SO2','SO4','NH3','NH4NO3'
-xactive_lnd
+
+
+atm/cam/chem/trop_mozart/dvel/dep_data_c201019.nc'ISOP = isoprene', 'C10H16 = pinene_a + carene_3 + thujene_a', 'CH3OH = methanol', 'C2H5OH = ethanol', 'CH2O = formaldehyde', 'CH3CHO = acetaldehyde', 'CH3COOH = acetic_acid', 'CH3COCH3 = acetone'
+atm/cam/chem/trop_mozart/emis/megan21_emis_factors_78pft_c20161108.ncatm/cam/chem/trop_mozart/emis/megan21_emis_factors_78pft_c20161108.ncatm/cam/chem/trop_mozart/emis/megan21_emis_factors_78pft_c20161108.nc
diff --git a/bld/namelist_files/namelist_defaults_overall.xml b/bld/namelist_files/namelist_defaults_overall.xml
index f7f2d041c2..c4ccac6467 100644
--- a/bld/namelist_files/namelist_defaults_overall.xml
+++ b/bld/namelist_files/namelist_defaults_overall.xml
@@ -12,14 +12,41 @@ in a namelist, but they are default values that will help
determine default values for namelists.
-->
-
-startup
-startup
-arb_ic
-arb_ic
-arb_ic
-arb_ic
-cold
+
+
+arb_ic
+arb_ic
+arb_ic
+arb_ic
+arb_ic
+arb_ic
+startup
+startup
+startup
+startup
+startup
+startup
+arb_ic
+arb_ic
+arb_ic
+arb_ic
+cold
+
+arb_ic
+
+
+
+flanduse_timeseries
+flanduse_timeseries
+
/fs/cgd/csm/inputdata
@@ -28,7 +55,6 @@ determine default values for namelists.
1.9x2.51x1_brazil5x5_amazon
-1x1_camdenNJ1x1_vancouverCAN1x1_mexicocityMEX1x1_asphaltjungleNJ
@@ -42,32 +68,31 @@ determine default values for namelists.
constant
-
-1
-0
+
+010
-
--999.9
+
+histgx1v6gx1v6
-gx1v6
-gx1v6
+gx1v7
+gx1v7gx3v7gx3v7
-USGS
+gx3v7cruncep
-USGS
-USGS
+gx1v7
+gx1v7gx3v7
-USGS
-USGS
+gx3v7
+gx3v7T62
@@ -77,7 +102,6 @@ determine default values for namelists.
nldas2navy
-navynavynavynavy
@@ -85,7 +109,7 @@ determine default values for namelists.
testnavytest
-gx1v6
+gx1v7
diff --git a/bld/namelist_files/namelist_defaults_usr_files.xml b/bld/namelist_files/namelist_defaults_usr_files.xml
index 8ef06f8014..41e6dcd47b 100644
--- a/bld/namelist_files/namelist_defaults_usr_files.xml
+++ b/bld/namelist_files/namelist_defaults_usr_files.xml
@@ -23,13 +23,14 @@ provided they are in the valid list expressed above.
lnd/clm2/initdata/clmi.${clm_usr_name}_${mask}_simyr${sim_year}.nc
+lnd/clm2/surfdata/surfdata_${clm_usr_name}_simyr${sim_year}.nclnd/clm2/surfdata_map/surfdata_${clm_usr_name}_simyr${sim_year}.nc
-null
-lnd/clm2/surfdata/landuse.timeseries_${clm_usr_name}_simyr${sim_year_range}.nc
-lnd/clm2/surfdata/landuse.timeseries_${clm_usr_name}_simyr1849-2006.nc
-lnd/clm2/surfdata/landuse.timeseries_rcp${rcp}_${clm_usr_name}_simyr${sim_year_range}.nc
-lnd/clm2/surfdata/landuse.timeseries_rcp${rcp}_${clm_usr_name}_simyr1849-2006.nc
+null
+lnd/clm2/surfdata/landuse.timeseries_${clm_usr_name}_simyr${sim_year_range}.nc
+lnd/clm2/surfdata/landuse.timeseries_${clm_usr_name}_simyr1849-2006.nc
+lnd/clm2/surfdata/landuse.timeseries_${ssp_rcp}_${clm_usr_name}_simyr${sim_year_range}.nc
+lnd/clm2/surfdata/landuse.timeseries_${ssp_rcp}_${clm_usr_name}_simyr1849-2006.nc
diff --git a/bld/namelist_files/namelist_definition_ctsm.xml b/bld/namelist_files/namelist_definition_ctsm.xml
index 16ea3aa5ce..928a037aa0 100644
--- a/bld/namelist_files/namelist_definition_ctsm.xml
+++ b/bld/namelist_files/namelist_definition_ctsm.xml
@@ -8,16 +8,6 @@
-
-If use_init_interp is set to .true., interpinic will be called to interpolate
-the file given by finidat, creating the output file specified by finidat_interp_dest.
-
-
+
+Component name to use in history and restart files
+
+
-
Supplemental Nitrogen mode and for what type of vegetation it's turned on for.
@@ -108,6 +106,14 @@ This means that computations will be run even over these 0-weight points.
THIS IS ONLY FOR TESTING PURPOSES - IT HAS NOT BEEN CHECKED FOR SCIENTIFIC VALIDITY.
+
+If TRUE (which is the default), send the expcrt state for the nuopc driver to the ATM even if running with a data ATM
+
+
If TRUE, square the organic fraction when it's used (as was done in CLM4.5)
@@ -198,12 +204,13 @@ formulation (1).
+ group="cnfire_inparm" valid_values="nofire,li2014qianfrc,li2016crufrc,li2021gswpfrc" >
The method type to use for CNFire
nofire: Turn fire effects off
li2014qianfrc: Reference paper Li, et. al.(2014) tuned with QIAN atmospheric forcing
li2016crufrc: Reference paper Li, et. al.(2016) tuned with CRU-NCEP atmospheric forcing
+li2021gswpfrc: Reference paper Li, et. al.(2021?) tuned with GSWP3 atmospheric forcing
-
+Combustion completeness factor for litter (unitless)
+
+
+
-Combustion completeness factor (for litter and CWD[Course Woody Debris]) (unitless)
+Combustion completeness factor for CWD[Course Woody Debris] (unitless)
-
-Initial stocks of Carbon to use in soil organic matter pools for CENTURY decomposition
-
-
-
-Soil depth to place initial stocks of Carbon in soil organic matter pools for CENTURY decomposition
-
-
Slope of free living Nitrogen fixation with annual ET
@@ -316,6 +318,11 @@ Intercept of free living Nitrogen fixation with zero annual ET
If TRUE use the undercanopy stability term used with CLM4.5 (Sakaguchi&Zeng, 2008)
+
+If TRUE, include biomass heat storage in canopy energy balance.
+
+
Max number of iterations used in subr. CanopyFluxes. For many years, 40 was the hardwired default value.
@@ -482,7 +489,7 @@ If TRUE, irrigation will be active.
If TRUE, fsat will be set to zero for crop columns.
-
Number of multiple elevation classes over glacier points.
@@ -619,54 +626,96 @@ The maximum value to use for zeta under stable conditions
baseline proportion of nitrogen allocated for electron transport (J)
-
-Time step (seconds)
-
-
Toggle to turn on the FATES model
-(use_fates= '.true.' is EXPERIMENTAL NOT SUPPORTED!)
+Functionally Assembled Terrestrial Ecosystem Simulator (FATES)
-
-Toggle to turn on spitfire module for modeling fire (only relevant if FATES is being used).
+
+Switch deciding which nutrient model to use in FATES.
+(Only relevant if FATES is on)
+
+
+
+Toggle to turn on the tree damage module in FATES
+(Only relevant if FATES is on)
+
+
+
+Turn on spitfire module to simulate fire by setting fates_spitfire_mode > 0.
+Allowed values are:
+ 0 : Simulations of fire are off
+ 1 : use a global constant lightning rate found in fates_params.
+ 2 : use an external lightning dataset.
+ 3 : use an external confirmed ignitions dataset (not available through standard CSEM dataset collection).
+ 4 : use external lightning and population datasets to simulate both natural and anthropogenic
+ 5 : use gross domestic production and population datasets to simulate anthropogenic fire supression
+ignitions.
+(Only relevant if FATES is on)
+
+
+
+Toggle to turn on fixed biogeography mode
+(Only relevant if FATES is on)
+
+
+
+Toggle to turn on no competition mode (only relevant if FATES is being used).
+
+
+
+
+Toggle to turn on FATES satellite phenology mode (only relevant if FATES is being used).
-Toggle to turn on the logging module (only relevant if FATES is being used).
+Toggle to turn on the logging module
+(Only relevant if FATES is on)
-Toggle to turn on plant hydraulics (only relevant if FATES is on).
-(use_fates_planthydro=".true." is EXPERIMENTAL NOT SUPPORTED! Nor is it Tested!)
+ group="clm_inparm" valid_values="" value=".false.">
+Toggle to turn on plant hydraulics
+(Only relevant if FATES is on)
+
+
+
+Toggle to turn on cohort age tracking (by default FATES only tracks age of patches)
+(Only relevant if FATES is on).
Toggle to turn on Static Stand Structure Mode (only relevant if FATES is being used).
-(use_fates_ed_st3=".true." is EXPERIMENTAL NOT SUPPORTED! Nor is it Tested!)
+(Only relevant if FATES is on).
-Toggle to turn on prescribed physiology (only relevant if FATES is being used).
+Toggle to turn on prescribed physiology
+(Only relevant if FATES is on).
-Toggle to turn on inventory initialization to startup FATES (only relevant if FATES is being used).
-(use_fates_inventory_init=".true." is EXPERIMENTAL NOT SUPPORTED! Nor is it Tested!)
+Toggle to turn on inventory initialization to startup FATES
+(Only relevant if FATES is on).
Full pathname to the inventory initialization control file.
(Required, if use_fates_inventory_init=T)
+(Only relevant if FATES is on).
Full pathname datafile with fates parameters
+(Only relevant if FATES is on).
-
+
+If TRUE, write list of all output fields to separate file for documentation purposes
+
+
+
Per file averaging flag.
'A' (average over history period)
'I' (instantaneous)
'X' (maximum over history period)
'M' (minimum over history period)
+ 'LXXXXX' (local solar time at XXXXX seconds of day)
-
-If TRUE, write diagnostic of global radiative temperature written to CLM log file.
-
-
Whether to use subgrid fluxes for snow
@@ -926,6 +977,42 @@ Whether to use subgrid fluxes for snow
Whether snow on the vegetation canopy affects the radiation/albedo calculations
+
+Whether to run some tests of ncdio_pio as part of the model run. This is
+typically only used in automated tests.
+
+
+
+If true, allocate memory for and use a second crop grain pool. This is
+meant only for software testing of infrastructure to support the AgSys
+crop model integration. This option can be dropped once AgSys is
+integrated and we have tests of it.
+
+
+
+If true, allocate memory for two crop reproductive structure pools and
+send all reproductive C and N to the second reproductive structure pool
+instead of the grain pool. This is meant only for software testing of
+infrastructure to support the AgSys crop model integration. This option
+can be dropped once AgSys is integrated and we have tests of it.
+
+
+
+If true, do NOT use grain C/N to replenish the crop seed deficits. This
+is needed when doing software testing to verify that we can get
+bit-for-bit identical answers when using a reproductive structure pool
+as when using a grain pool (in conjunction with
+for_testing_use_repr_structure_pool). We do this testing to have some
+tests of the infrastructure to support the AgSys crop model integration.
+This option can be dropped if/when we stop doing this software testing,
+e.g., because we have integrated AgSys and have tests of it that make
+these software infrastructure tests obsolete.
+
+
@@ -956,49 +1043,23 @@ Requires the CN model to work (either CN or CNDV).
group="clm_inparm" valid_values="" value=".false.">
Nitrification/denitrification splits the prognostic mineral N pool into two
mineral N pools: NO3 and NH4, and includes the transformations between them.
-Requires the CN model to work (either CN or CNDV).
+Turned on for BGC
+FATES currently allows it to be true or false, but will be hardwired to true later
Multiplier for heterotrophic respiration for max denitrification rates
-(ONLY used if use_nitrif_denitrif is enabled)
Exponent power for heterotrophic respiration for max denitrification rates
-(ONLY used if use_nitrif_denitrif is enabled)
-
-
-
-Multiplier for nitrate concentration for max denitrification rates
-(ONLY used if use_nitrif_denitrif is enabled)
-
-
-
-Exponent power for nitrate concentrationfor max denitrification rates
-(ONLY used if use_nitrif_denitrif is enabled)
Maximum nitrification rate constant (1/s)
-(ONLY used if use_nitrif_denitrif is enabled)
-
-
-
-Turn on vertical soil carbon.
-Requires the CN or FATES model to work (either CN or CNDV).
-
-
-
-Use parameters for decomposition from the CENTURY Carbon model
-Requires the CN or FATES model to work (either CN or CNDV).
+ group="crop_inparm" valid_values="constant,varytropicsbylat" value="constant">
Type of mapping to use for base temperature for prognostic crop model
constant = Just use baset from the PFT parameter file
varytropicsbylat = Vary the tropics by latitude
+ group="crop_inparm" valid_values="" value="0.4d00">
Only used when baset_mapping == varytropicsbylat
Slope with latitude in degrees to vary tropical baset by
+ group="crop_inparm" valid_values="" value="12.0d00">
Only used when baset_mapping == varytropicsbylat
Intercept at zero latitude to add to baset from the PFT parameter file
@@ -1058,9 +1119,40 @@ Initial seed Carbon to use at planting
(only used when CN is on as well as crop)
-
-Toggle to turn on ozone stress
+
+ Parameter to set the type of ozone vegetation stress method
+ unset = (default) ozone stress vegetation method is off
+ stress_lombardozzi2015 = ozone stress vegetation functions from Danica Lombardozzi 2015
+ stress_falk = ozone stress vegetation functions from Stefanie Falk (issue #1224)
+Default: "unset"
+
+
+
+Phenology onset depends on the vegetation type
+(only used when CN is on)
+
+
+
+Set to .true. in order to override crop harvesting logic and to instead harvest the day before the next sowing date. Used to generate growing-degree day outputs that can be used with an external script to generate new GDD requirement ("cultivar") files.
+
+
+
+Set to .false. in order to ignore crop PFT parameter for maximum growing season length (mxmat). Must be set to .false. when generate_crop_gdds is .true.
+
+
+
+Method for determining what the minimum critical day length for seasonal decidious leaf offset depends on
+Constant ----------- constant value of crit_dayl from parameter file (value from White 2001)
+DependsOnLat ------- Higher values at high latitudes down to value from parameter file for temperate and equatorial regions
+ (L. Birch et. al, GMD 2021)
+DependsOnVeg ------- Arctic vegetation with higher value and temperate vegetation with crit_dayl from parameter file
+DependsOnLatAndVeg - Arctic vegetation depends on latitude as above, but temperate vegetation fixed at crit_dayl value from parameter file
+(only used when CN is on)
-
-Max number of plant functional types in naturally vegetated landunit.
-
-
@@ -1110,37 +1197,37 @@ If true, this directs the model to collapse the urban landunits to the dominant
Percentage threshold above which the model keeps the soil landunit. Selecting the value 0 means DO NOTHING.
Default: 0
Percentage threshold above which the model keeps the crop landunit. Selecting the value 0 means DO NOTHING.
Default: 0
Percentage threshold above which the model keeps the glacier landunit. Selecting the value 0 means DO NOTHING.
Default: 0
Percentage threshold above which the model keeps the lake landunit. Selecting the value 0 means DO NOTHING.
Default: 0
Percentage threshold above which the model keeps the wetland landunit. Selecting the value 0 means DO NOTHING.
Default: 0
Percentage threshold above which the model keeps the urban landunits. Selecting the value 0 means DO NOTHING. If collapse_urban = .false., the same threshold will apply to all three urban landunits if they are present. If collapse_urban = .true., this threshold will apply to the single collapsed urban landunit if presnet.
Default: 0
@@ -1194,7 +1281,7 @@ Output of "git describe" to give the tag/commit the version being used correspon
+ valid_values="mksrf_fsoitex,mksrf_forganic,mksrf_flakwat,mksrf_fwetlnd,mksrf_fmax,mksrf_fmax,mksrf_fglacier,mksrf_fglacierregion,mksrf_fvocef,mksrf_furbtopo,firrig,mksrf_furban,mksrf_fvegtyp,mksrf_fhrvtyp,mksrf_fsoicol,mksrf_flai,mksrf_fgdp,mksrf_fpeat,mksrf_fsoildepth,mksrf_fabm,mksrf_ftopostats,mksrf_fvic" >
Filename for mksurfdata_map to remap raw data into the output surface dataset
@@ -1332,11 +1419,6 @@ Topography statistics dataset for mksurfdata
VIC parameters dataset for mksurfdata
-
-Inversion-derived CH4 parameters dataset for mksurfdata
-
-
If TRUE, output variables in double precision for mksurfdata
@@ -1504,7 +1586,7 @@ If TRUE, repartition rain/snow from atmosphere based on temperature.
-If TRUE, downscale longwave radiation over glc_mec landunits.
+If TRUE, downscale longwave radiation over glacier landunits.
This downscaling is conservative.
Default: .true.
@@ -1591,6 +1673,11 @@ Simulation year that aligns with stream_year_first_ndep value
Filename of input stream data for Nitrogen Deposition
+
+Stream meshfile for Nitrogen Deposition data
+
+
Time interpolation mode to determine how to handle data before and after the times in the file
@@ -1599,6 +1686,11 @@ Time interpolation mode to determine how to handle data before and after the tim
limit = Only use the data within the times available -- abort if the model tries to go outside it
+
+Time interpolation method to use for Nitrogen Deposition
+
+
Colon delimited list of variables to read from the streams file for nitrogen deposition
@@ -1617,7 +1709,7 @@ Mapping method from Nitrogen deposition input file to the model resolution
-
+
+
+mesh filename of input stream data for finundated inversion of observed (from Prigent dataset)
+to hydrologic variables (either TWS or ZWT)
+
+
+
+
+Toggle to turn on use of input prescribed soil moisture streams rather than have CLM prognose it (EXPERIMENTAL)
+
+
+
+First year to loop over for prescribed soil moisture streams data
+
+
+
+Last year to loop over for prescribed soil moisture streams data
+
+
+
+Simulation year that aligns with stream_year_first_soilm value
+
+
+
+Filename of input stream data for prescribed soil moisture streams data
+
+
+
+Time interpolation method to use for prescribed soil moisture streams data
+
+
+
+Offset in time coordinate for soil moisture streams (sec)
+
+
+
+If false will abort if using soil moisture streams and find a point where the model shows H2OSOI_VOL
+should be set because it's vegetated, but the input soilm streams dataset shows that point is missing.
+If true, will ignore the prescribed soilm data for that point and let the model run for that point without
+prescribed data.
+
+
@@ -1657,6 +1799,16 @@ Simulation year that aligns with stream_year_first_lai value
Filename of input stream data for LAI
+
+Filename of input stream data for LAI
+
+
+
+Time interpolation method to use with LAI streams
+
+
Mapping method from LAI input file to the model resolution
@@ -1668,6 +1820,41 @@ Mapping method from LAI input file to the model resolution
copy = copy using the same indices
+
+
+
+
+
+
+First year to loop over for crop calendar data
+
+
+
+Last year to loop over for crop calendar data
+
+
+
+Simulation year that aligns with stream_year_first_cropcal value
+
+
+
+Filename of input stream data for sowing dates
+
+
+
+Filename of input stream data for cultivar growing degree-day targets
+
+
+
+Filename of input stream data for crop calendar inputs
+
+
@@ -1693,6 +1880,16 @@ Simulation year that aligns with stream_year_first_lightng value
Filename of input stream data for Lightning
+
+Stream meshfile for Nitrogen Deposition data
+
+
+
+Time interpolation method to use with Lightning streams
+
+
Mapping method from Lightning input file to the model resolution
@@ -1730,6 +1927,16 @@ Simulation year that aligns with stream_year_first_popdens value
Filename of input stream data for human population density
+
+mesh file for input stream data for human population density
+
+
+
+Time interpolation method to use with human population density streams
+
+
Mapping method from human population density input file to the model resolution
@@ -1767,6 +1974,16 @@ Simulation year that aligns with stream_year_first_urbantv value
Filename of input stream data for urban time varying
+
+mesh filename of input stream data for urban time varying
+
+
+
+Time interpolation method to use with urban time varying streams
+
+
Mapping method from urban time varying input file to the model resolution
@@ -1808,7 +2025,7 @@ Land mask description for mksurfdata input files
+ valid_values="0.25x0.25,0.5x0.5,10x10min,5x5min,360x720cru,0.9x1.25,19basin,1km-merge-10min">
Horizontal grid resolutions for mksurfdata input files
@@ -1818,16 +2035,16 @@ Horizontal grid resolutions for mksurfdata input files
+ group="default_settings" valid_values="none,0.9x1.25" >
Resolution of finundated inversion streams dataset (stream_fldfilename_ch4finundated)
to use for methane model
(only applies when CN and methane model are turned on)
-Resolution of Lightning dataset to use for CN fire model
-(only applies when CN and the CN fire model are turned on)
+ group="default_settings" valid_values="none,360x720,106x174,94x192">
+Resolution of Lightning dataset to use for CN or FATES fire model
+(only applies when CN or FATES and the fire model is turned on)
+ valid_values="512x1024,360x720cru,128x256,64x128,48x96,94x192,0.23x0.31,0.47x0.63,0.9x1.25,1.9x2.5,2.5x3.33,4x5,10x15,0.125nldas2,5x5_amazon,1x1_vancouverCAN,1x1_mexicocityMEX,1x1_asphaltjungleNJ,1x1_brazil,1x1_urbanc_alpha,1x1_numaIA,1x1_smallvilleIA,0.25x0.25,0.5x0.5,3x3min,5x5min,10x10min,0.33x0.33,0.125x0.125,ne3np4.pg3,ne4np4,ne5np4.pg3,ne16np4,ne16np4.pg3,ne30np4.pg2,ne30np4.pg3,ne30np4,ne60np4,ne120np4,ne120np4.pg2,ne120np4.pg3,ne0np4CONUS.ne30x8,ne0np4.ARCTIC.ne30x4,ne0np4.ARCTICGRIS.ne30x8,ne240np4,1km-merge-10min,C24,C48,C96,C192,C384,mpasa480,mpasa240,mpasa120,mpasa60,mpasa30,mpasa15">
Horizontal resolutions
-Note: 0.1x0.1, 0.25x0.25, 0.5x0.5, 5x5min, 10x10min, 3x3min and 0.33x0.33 are only used for CLM tools
-
-
-
-Representative concentration pathway for future scenarios [radiative forcing at peak or 2100 in W/m^2]
--999.9 means do NOT use a future scenario, just use historical data.
+Note: 0.25x0.25, 0.5x0.5, 5x5min, 10x10min, 3x3min, 1km-merge-10min and 0.33x0.33 are only used for CLM toolsI
-
-Shared Socioeconomic Pathway and Representative Concentration Pathway combination for future scenarios
+ valid_values="hist,SSP1-2.6,SSP3-7.0,SSP5-3.4,SSP2-4.5,SSP1-1.9,SSP4-3.4,SSP4-6.0,SSP5-8.5">
+Shared Socioeconomic Pathway (SSP) and Representative Concentration Pathway (RCP) combination for future scenarios
The form is SSPn-m.m Where n is the SSP number and m.m is RCP radiative forcing at peak or 2100 in W/m^2
+n is just the whole number of the specific SSP scenario. The lower numbers have higher mitigation
+- the higher numbers less mitigation, more than one SSP can result in the same RCP forcing
hist means do NOT use a future scenario, just use historical data.
+ valid_values="USGS,gx3v7,gx1v6,gx1v7,navy,test,tx0.1v2,tx0.1v3,tx1v1,T62,cruncep,nldas2">
Land mask description
+ valid_values="clm4_5_CRUv7,clm4_5_GSWP3v1,clm4_5_cam6.0,clm5_0_cam6.0,clm5_0_CRUv7,clm5_0_GSWP3v1,clm5_1_GSWP3v1">
General configuration of model version and atmospheric forcing to tune the model to run under.
This sets the model to run with constants and initial conditions that were set to run well under
the configuration of model version and atmospheric forcing. To run well constants would need to be changed
@@ -1894,19 +2105,20 @@ to run with a different type of atmospheric forcing.
If 1, turn on the MEGAN model for BVOC's (Biogenic Volitile Organic Compounds)
-
+"PtVg,1000,850,1100,1350,1600,1850,1855,1865,1875,1885,1895,1905,1915,1925,1935,1945,1955,1965,1975,1979,1980,1982,1985,1995,2000,2005,2010,2013,2015,2018,2025,2035,2045,2055,2065,2075,2085,2095,2105">
Year to simulate and to provide datasets for (such as surface datasets, initial conditions, aerosol-deposition, Nitrogen deposition rates etc.)
A sim_year of 1000 corresponds to data used for testing only, NOT corresponding to any real datasets.
-A sim_year greater than 2005 corresponds to rcp scenario data
+A sim_year greater than 2015 corresponds to ssp_rcp scenario data
+A sim_year of PtVg refers to the Potential Vegetation dataset, that doesn't include human influences
Most years are only used for clm_tools and there aren't CLM datasets that correspond to them.
CLM datasets exist for years: 1000 (for testing), 1850, and 2000
+"constant,1000-1002,1000-1004,850-1850,1850-1855,1850-2000,1850-2005,1850-2100,1980-2015,2000-2025,2000-2100">
Range of years to simulate transitory datasets for (such as dynamic: land-use datasets, aerosol-deposition, Nitrogen deposition rates etc.)
Constant means simulation will be held at a constant year given in sim_year.
A sim_year_range of 1000-1002 or 1000-1004 corresponds to data used for testing only, NOT corresponding to any real datasets.
@@ -1933,8 +2145,8 @@ Attributes to use when looking for an initial condition file (finidat) if interp
How close in years to use when looking for an initial condition file (finidat) if interpolation is turned on (use_init_interp is .true.)
-
+
Simulation years you can look for in initial condition files (finidat) if interpolation is turned on (use_init_interp is .true.)
@@ -1958,7 +2170,7 @@ Command line arguement for biogeochemistry mode for CLM4.5
Nitrification/De-nitrification
Methane model
Vertically resolved Carbon
- fates = FATES/ED ecosystem demography model with below ground BGC:
+ fates = FATES Functionally Assembled Terrestrial Ecosystem Simulator (ecosystem demography model with below ground BGC):
@@ -1991,12 +2203,6 @@ Base advective flux (downwards) for SOM.
Maximum depth to mix soils to by croturbation, in permafrost soils.
-
-
-E-folding depth over which decomposition is slowed with depth in all soils.
-
-
If TRUE, reduce heterotrophic respiration according to available oxygen predicted by CH4 submodel.
@@ -2031,12 +2237,29 @@ If true, no denitrification or nitrification in frozen soil layers.
Number of days over which to use exponential relaxation of NPP in N fixation calculation
+
+
+Soil decomposition method
+ None -- No soil decomposition is done
+ CENTURYKoven2013 -- CENTURY model in CTSM from Koven et. al. 2013
+ MIMICSWieder2015 -- MIMICS model in CTSM from Wieder et. al. 2015
+
+An active soil decomposition method requires the BGC or FATES model to work
+And both BGC and FATES models require an active soil decomposition model
+
+
Flag to reseed any dead plants on startup from reading the initial conditions file
+
+Harvest the XSMR pool at crop harvest time to the atmosphere slowly at an exponential rate
+
+
@@ -2124,36 +2347,6 @@ Allow the CN ratio to flexibly change with the simulation, rather than being fix
How much Carbon to initialize vegetation pools (leafc/frootc and storage) to when -- Michaelis Menten nitrogen uptake kinetics is on
-
- GPP downregulation for use_flexibleCN option
-(EXPERIMENTAL and NOT tested)
-
-
-
- Plant nitrogen demand for use_flexibleCN option
-(EXPERIMENTAL and NOT tested)
-
-
-
- Michaelis Menten substrate limitation for use_flexibleCN option
-(EXPERIMENTAL and NOT tested)
-
-
-
- Michaelis Menten nitrogen limitation for use_flexibleCN option
-(EXPERIMENTAL and NOT tested)
-
-
-
- Michaelis Menten temperature limitation for use_flexibleCN option
-(EXPERIMENTAL and NOT tested)
-
-
Flexible CN ratio used for Phenology
@@ -2174,19 +2367,6 @@ Vcmax calculation for Photosynthesis
vcmax_opt = 0 Based on canopy top and foilage Nitrogen limitation factor from params file (clm4.5)
-
-Residual option for flexible-CN
-(EXPERIMENTAL and NOT tested)
-
-
-
-Partition option for flexible-CN
- CN_partition_opt = 1
-(EXPERIMENTAL and NOT tested)
-
-
Evergreen phenology option for CNPhenology
@@ -2326,6 +2506,18 @@ If TRUE, apply transient crops from flanduse_timeseries file.
(Only valid for transient runs, where there is a flanduse_timeseries file.)
+
+If TRUE, apply transient lakes from flanduse_timeseries file.
+(Only valid for transient runs, where there is a flanduse_timeseries file.)
+
+
+
+If TRUE, apply transient urban from flanduse_timeseries file.
+(Only valid for transient runs, where there is a flanduse_timeseries file.)
+
+
If TRUE, apply harvest from flanduse_timeseries file.
@@ -2333,6 +2525,13 @@ If TRUE, apply harvest from flanduse_timeseries file.
(Also, only valid for use_cn = true.)
+
+If TRUE, apply gross unrepresented landuse/land-cover change from flanduse_timeseries file.
+(Only valid for transient runs, where there is a flanduse_timeseries file.)
+(Also, only valid for use_cn = true.)
+
+
If TRUE, reset baseline values of total column water and energy in the
@@ -2521,11 +2720,6 @@ Snow compaction overburden exponential factor (1/K)
Not used for snow_overburden_compaction_method=Vionnet2012
-
-Minimum wind speed tht results in compaction (m/s)
-
-
maximum warm (at freezing) fresh snow effective radius [microns]
@@ -2605,6 +2799,24 @@ the related bulk quantities.
If .true., run with water isotopes
+
+
+
+
+
+Parameterization/parameters to use for surface roughness
+ZengWang2007: Zeng and Wang 2007
+Meier2022: Meier et al. in prep. 2022
+
+
+
+If FALSE use constant snow z0m
+If TRUE use parameterization of snow z0m as a function of accumulated
+snow melt of Brock et al. (2006)
+
+
@@ -2659,4 +2871,38 @@ use case.)
+
+
+
+
+If TRUE turn on the excess ice physics, (Lee et al., 2014; Cai et al., 2020)
+
+
+
+If TRUE and use_excess_ice is TRUE, use the excess ice stream to determine the initial values of the excess ice field
+if FALSE and use_excess_ice is TRUE, expect excess ice to come from the initial conditions or restart file
+Expect to be FALSE is use_excess_ice is FALSE
+
+
+
+Filename of input stream data for excess ice data
+
+
+
+mesh filename of input stream data for excess ice
+
+
+
+Mapping method from excess ice input stream data to the model resolution
+ bilinear = bilinear interpolation
+ nn = nearest neighbor
+ none = no interpolation
+
+
+
diff --git a/bld/namelist_files/namelist_definition_drv_flds.xml b/bld/namelist_files/namelist_definition_drv_flds.xml
index b54082981a..088f5c5fa9 100644
--- a/bld/namelist_files/namelist_definition_drv_flds.xml
+++ b/bld/namelist_files/namelist_definition_drv_flds.xml
@@ -63,21 +63,7 @@
-
- Where dry deposition is calculated (from land, atmosphere, or from a table)
- This specifies the method used to calculate dry
- deposition velocities of gas-phase chemical species. The available methods
- are:
- 'table' - prescribed method in CAM
- 'xactive_atm' - interactive method in CAM
- 'xactive_lnd' - interactive method in CLM
-
-
-
+
+ Full pathname of file containing gas phase deposition data including effective
+ Henry's law coefficients.
+
@@ -114,7 +109,7 @@
category="Fire_emissions"
group="fire_emis_nl"
valid_values="" >
- If ture fire emissions are input into atmosphere as elevated forcings.
+ If true fire emissions are input into atmosphere as elevated forcings.
Otherwise they are treated as surface emissions.
Default: TRUE
diff --git a/bld/namelist_files/use_cases/1850-2100_SSP1-1.9_transient.xml b/bld/namelist_files/use_cases/1850-2100_SSP1-1.9_transient.xml
new file mode 100644
index 0000000000..7ce017b3fc
--- /dev/null
+++ b/bld/namelist_files/use_cases/1850-2100_SSP1-1.9_transient.xml
@@ -0,0 +1,21 @@
+
+
+
+
+Simulate transient land-use, and aerosol deposition changes from 1850 to current day with historical data, and then to 2100 with the CMIP6 SSP1-1.9 scenario
+Simulate transient land-use, aerosol deposition, and Nitrogen deposition changes from 1850 to current day with historical data, and then to 2100 with the CMIP6 SSP1-1.9 scenario
+
+
+
+1850
+
+1850-2100
+
+
+
+SSP1-1.9
+
+
diff --git a/bld/namelist_files/use_cases/1850-2100_SSP1-2.6_transient.xml b/bld/namelist_files/use_cases/1850-2100_SSP1-2.6_transient.xml
new file mode 100644
index 0000000000..a622d270ad
--- /dev/null
+++ b/bld/namelist_files/use_cases/1850-2100_SSP1-2.6_transient.xml
@@ -0,0 +1,21 @@
+
+
+
+
+Simulate transient land-use, and aerosol deposition changes from 1850 to current day with historical data, and then to 2100 with the CMIP6 SSP1-2.6 scenario
+Simulate transient land-use, aerosol deposition, and Nitrogen deposition changes from 1850 to current day with historical data, and then to 2100 with the CMIP6 SSP1-2.6 scenario
+
+
+
+1850
+
+1850-2100
+
+
+
+SSP1-2.6
+
+
diff --git a/bld/namelist_files/use_cases/1850-2100_SSP2-4.5_transient.xml b/bld/namelist_files/use_cases/1850-2100_SSP2-4.5_transient.xml
new file mode 100644
index 0000000000..e67af8dc85
--- /dev/null
+++ b/bld/namelist_files/use_cases/1850-2100_SSP2-4.5_transient.xml
@@ -0,0 +1,21 @@
+
+
+
+
+Simulate transient land-use, and aerosol deposition changes from 1850 to current day with historical data, and then to 2100 with the CMIP6 SSP2-4.5 scenario
+Simulate transient land-use, aerosol deposition, and Nitrogen deposition changes from 1850 to current day with historical data, and then to 2100 with the CMIP6 SSP2-4.5 scenario
+
+
+
+1850
+
+1850-2100
+
+
+
+SSP2-4.5
+
+
diff --git a/bld/namelist_files/use_cases/1850-2100_SSP3-7.0_transient.xml b/bld/namelist_files/use_cases/1850-2100_SSP3-7.0_transient.xml
new file mode 100644
index 0000000000..2a0bdbc7cf
--- /dev/null
+++ b/bld/namelist_files/use_cases/1850-2100_SSP3-7.0_transient.xml
@@ -0,0 +1,21 @@
+
+
+
+
+Simulate transient land-use, and aerosol deposition changes from 1850 to current day with historical data, and then to 2100 with the CMIP6 SSP3-7.0 scenario
+Simulate transient land-use, aerosol deposition, and Nitrogen deposition changes from 1850 to current day with historical data, and then to 2100 with the CMIP6 SSP3-7.0 scenario
+
+
+
+1850
+
+1850-2100
+
+
+
+SSP3-7.0
+
+
diff --git a/bld/namelist_files/use_cases/1850-2100_SSP4-3.4_transient.xml b/bld/namelist_files/use_cases/1850-2100_SSP4-3.4_transient.xml
new file mode 100644
index 0000000000..6425fed3a5
--- /dev/null
+++ b/bld/namelist_files/use_cases/1850-2100_SSP4-3.4_transient.xml
@@ -0,0 +1,21 @@
+
+
+
+
+Simulate transient land-use, and aerosol deposition changes from 1850 to current day with historical data, and then to 2100 with the CMIP6 SSP4-3.4 scenario
+Simulate transient land-use, aerosol deposition, and Nitrogen deposition changes from 1850 to current day with historical data, and then to 2100 with the CMIP6 SSP4-3.4 scenario
+
+
+
+1850
+
+1850-2100
+
+
+
+SSP4-3.4
+
+
diff --git a/bld/namelist_files/use_cases/1850-2100_SSP4-6.0_transient.xml b/bld/namelist_files/use_cases/1850-2100_SSP4-6.0_transient.xml
new file mode 100644
index 0000000000..3b32371efc
--- /dev/null
+++ b/bld/namelist_files/use_cases/1850-2100_SSP4-6.0_transient.xml
@@ -0,0 +1,21 @@
+
+
+
+
+Simulate transient land-use, and aerosol deposition changes from 1850 to current day with historical data, and then to 2100 with the CMIP6 SSP4-6.0 scenario
+Simulate transient land-use, aerosol deposition, and Nitrogen deposition changes from 1850 to current day with historical data, and then to 2100 with the CMIP6 SSP4-6.0 scenario
+
+
+
+1850
+
+1850-2100
+
+
+
+SSP4-6.0
+
+
diff --git a/bld/namelist_files/use_cases/1850-2100_SSP5-3.4_transient.xml b/bld/namelist_files/use_cases/1850-2100_SSP5-3.4_transient.xml
new file mode 100644
index 0000000000..0f7cd35eb9
--- /dev/null
+++ b/bld/namelist_files/use_cases/1850-2100_SSP5-3.4_transient.xml
@@ -0,0 +1,21 @@
+
+
+
+
+Simulate transient land-use, and aerosol deposition changes from 1850 to current day with historical data, and then to 2100 with the CMIP6 SSP5-3.4 scenario
+Simulate transient land-use, aerosol deposition, and Nitrogen deposition changes from 1850 to current day with historical data, and then to 2100 with the CMIP6 SSP5-3.4 scenario
+
+
+
+1850
+
+1850-2100
+
+
+
+SSP5-3.4
+
+
diff --git a/bld/namelist_files/use_cases/1850-2100_SSP5-8.5_transient.xml b/bld/namelist_files/use_cases/1850-2100_SSP5-8.5_transient.xml
new file mode 100644
index 0000000000..c3c0e33f20
--- /dev/null
+++ b/bld/namelist_files/use_cases/1850-2100_SSP5-8.5_transient.xml
@@ -0,0 +1,21 @@
+
+
+
+
+Simulate transient land-use, and aerosol deposition changes from 1850 to current day with historical data, and then to 2100 with the CMIP6 SSP5-8.5 scenario
+Simulate transient land-use, aerosol deposition, and Nitrogen deposition changes from 1850 to current day with historical data, and then to 2100 with the CMIP6 SSP5-8.5 scenario
+
+
+
+1850
+
+1850-2100
+
+
+
+SSP5-8.5
+
+
diff --git a/bld/namelist_files/use_cases/1850-2100_rcp2.6_transient.xml b/bld/namelist_files/use_cases/1850-2100_rcp2.6_transient.xml
deleted file mode 100644
index 4252c1e64f..0000000000
--- a/bld/namelist_files/use_cases/1850-2100_rcp2.6_transient.xml
+++ /dev/null
@@ -1,52 +0,0 @@
-
-
-
-
-Simulate transient land-use, and aerosol deposition changes with historical data from 1850 to 2005 and then with the RCP2.6 scenario from IMAGE
-
-Simulate transient land-use, aerosol and Nitrogen deposition changes with historical data from 1850 to 2005 and then with the RCP2.6 scenario from IMAGE
-
-
-Simulate transient land-use, aerosol and Nitrogen deposition changes with historical data from 1850 to 2005 and then with the RCP2.6 scenario from IMAGE
-
-
-1850
-
-1850-2100
-
-2.6
-
-flanduse_timeseries
-
-.true.
-.false.
-.false.
-
-arb_ic
-
-1850
-2100
-1850
-
-1850
-2100
-1850
-
-1850
-2010
-1850
-
-1850
-2010
-1850
-
-1850
-2100
-1850
-
-1850
-2100
-1850
-
-
-
diff --git a/bld/namelist_files/use_cases/1850-2100_rcp4.5_transient.xml b/bld/namelist_files/use_cases/1850-2100_rcp4.5_transient.xml
deleted file mode 100644
index 09541a7b86..0000000000
--- a/bld/namelist_files/use_cases/1850-2100_rcp4.5_transient.xml
+++ /dev/null
@@ -1,51 +0,0 @@
-
-
-
-
-Simulate transient land-use, and aerosol deposition changes with historical data from 1850 to 2005 and then with the RCP4.5 scenario from MINICAM
-
-Simulate transient land-use, aerosol and Nitrogen deposition changes with historical data from 1850 to 2005 and then with the RCP4.5 scenario from MINICAM
-
-
-Simulate transient land-use, aerosol and Nitrogen deposition changes with historical data from 1850 to 2005 and then with the RCP4.5 scenario from MINICAM
-
-
-1850
-
-1850-2100
-
-4.5
-
-flanduse_timeseries
-
-arb_ic
-
-.true.
-.false.
-.false.
-
-1850
-2100
-1850
-
-1850
-2100
-1850
-
-1850
-2010
-1850
-
-1850
-2010
-1850
-
-1850
-2100
-1850
-
-1850
-2100
-1850
-
-
diff --git a/bld/namelist_files/use_cases/1850-2100_rcp6_transient.xml b/bld/namelist_files/use_cases/1850-2100_rcp6_transient.xml
deleted file mode 100644
index 4ee8db473e..0000000000
--- a/bld/namelist_files/use_cases/1850-2100_rcp6_transient.xml
+++ /dev/null
@@ -1,52 +0,0 @@
-
-
-
-
-Simulate transient land-use, and aerosol deposition changes with historical data from 1850 to 2005 and then with the RCP6 scenario from AIM
-
-
-Simulate transient land-use, aerosol and Nitrogen deposition changes with historical data from 1850 to 2005 and then with the RCP6 scenario from AIM
-
-
-Simulate transient land-use, aerosol and Nitrogen deposition changes with historical data from 1850 to 2005 and then with the RCP6 scenario from AIM
-
-
-1850
-
-1850-2100
-
-6
-
-.true.
-.false.
-.false.
-
-flanduse_timeseries
-
-arb_ic
-
-1850
-2100
-1850
-
-1850
-2100
-1850
-
-1850
-2010
-1850
-
-1850
-2010
-1850
-
-1850
-2100
-1850
-
-1850
-2100
-1850
-
-
diff --git a/bld/namelist_files/use_cases/1850-2100_rcp8.5_transient.xml b/bld/namelist_files/use_cases/1850-2100_rcp8.5_transient.xml
deleted file mode 100644
index c649101306..0000000000
--- a/bld/namelist_files/use_cases/1850-2100_rcp8.5_transient.xml
+++ /dev/null
@@ -1,51 +0,0 @@
-
-
-
-
-Simulate transient land-use, and aerosol deposition changes with historical data from 1850 to 2005 and then with the RCP8.5 scenario from MESSAGE
-
-Simulate transient land-use, aerosol and Nitrogen deposition changes with historical data from 1850 to 2005 and then with the RCP8.5 scenario from MESSAGE
-
-
-Simulate transient land-use, aerosol and Nitrogen deposition changes with historical data from 1850 to 2005 and then with the RCP8.5 scenario from MESSAGE
-
-
-1850
-
-1850-2100
-
-8.5
-
-.true.
-.false.
-.false.
-
-flanduse_timeseries
-
-arb_ic
-
-1850
-2100
-1850
-
-1850
-2100
-1850
-
-1850
-2010
-1850
-
-1850
-2010
-1850
-
-1850
-2100
-1850
-
-1850
-2100
-1850
-
-
diff --git a/bld/namelist_files/use_cases/1850_control.xml b/bld/namelist_files/use_cases/1850_control.xml
index bafb1e2774..94ee8c5d0d 100644
--- a/bld/namelist_files/use_cases/1850_control.xml
+++ b/bld/namelist_files/use_cases/1850_control.xml
@@ -8,6 +8,7 @@
constant
+.false..false..false.
@@ -17,23 +18,37 @@
18501850
+1850
+1850
+
1850185018501850
+1850
+1850
+
1850
-1850
+185018501850
+1850
+1850
+
+lnd/clm2/ndepdata/fndep_clm_WACCM6_CMIP6piControl001_y21-50avg_1850monthly_0.95x1.25_c180802.nc
+
lnd/clm2/ndepdata/fndep_clm_WACCM6_CMIP6piControl001_y21-50avg_1850monthly_0.95x1.25_c180802.nc
-cycle
-
-NDEP_month
+lnd/clm2/ndepdata/fndep_clm_WACCM6_CMIP6piControl001_y21-50avg_1850monthly_0.95x1.25_c180802.nc
+
+cycle
+cycle
diff --git a/bld/namelist_files/use_cases/1850_noanthro_control.xml b/bld/namelist_files/use_cases/1850_noanthro_control.xml
new file mode 100644
index 0000000000..636164a729
--- /dev/null
+++ b/bld/namelist_files/use_cases/1850_noanthro_control.xml
@@ -0,0 +1,60 @@
+
+
+
+
+Simulate current conditions without ANY anthropogenic influnces
+
+PtVg
+
+constant
+
+.false.
+
+1850
+1850
+
+1850
+1850
+
+1850
+1850
+
+cycle
+cycle
+
+1925
+1925
+
+1925
+1925
+
+1925
+1925
+
+
+lnd/clm2/firedata/clmforc.no_anthro_zero_hdm_1x1_simyr1925_181113.nc
+none
+nn
+
+1850
+1850
+
+1850
+1850
+
+1850
+1850
+
+
+NONE
+
+
+OFF
+.false.
+
+
+0.0
+0.0
+
+
diff --git a/bld/namelist_files/use_cases/2000-2100_rcp8.5_transient.xml b/bld/namelist_files/use_cases/2000-2100_rcp8.5_transient.xml
deleted file mode 100644
index bff9ef7f0f..0000000000
--- a/bld/namelist_files/use_cases/2000-2100_rcp8.5_transient.xml
+++ /dev/null
@@ -1,50 +0,0 @@
-
-
-
-
-Simulate transient land-use, and aerosol deposition changes with historical data from 2000 to 2005 and then with the RCP8.5 scenario from MESSAGE
-
-Simulate transient land-use, aerosol and Nitrogen deposition changes with historical data from 2000 to 2005 and then with the RCP8.5 scenario from MESSAGE
-
-
-20050101
-
-1850
-
-2000-2100
-
-8.5
-
-.true.
-.false.
-.false.
-
-flanduse_timeseries
-
-arb_ic
-
-2000
-2100
-2000
-
-2000
-2100
-2000
-
-2000
-2010
-2000
-
-2000
-2010
-2000
-
-2000
-2100
-2000
-
-2000
-2100
-2000
-
-
diff --git a/bld/namelist_files/use_cases/2000_control.xml b/bld/namelist_files/use_cases/2000_control.xml
index f829e97772..f3c4980fc8 100644
--- a/bld/namelist_files/use_cases/2000_control.xml
+++ b/bld/namelist_files/use_cases/2000_control.xml
@@ -8,9 +8,11 @@
constant
-.true.
-.false.
-.false.
+.true.
+.false.
+.true.
+.false.
+.false.20002000
@@ -18,16 +20,25 @@
20002000
+2000
+2000
+
2000200020002000
+2000
+2000
+
2000200020002000
+2000
+2000
+
diff --git a/bld/namelist_files/use_cases/2010_control.xml b/bld/namelist_files/use_cases/2010_control.xml
new file mode 100644
index 0000000000..9316ecfb7f
--- /dev/null
+++ b/bld/namelist_files/use_cases/2010_control.xml
@@ -0,0 +1,51 @@
+
+
+
+
+Conditions to simulate 2010 land-use
+
+2000
+
+constant
+
+.true.
+.true.
+.false.
+.true.
+.false.
+.false.
+
+2010
+2010
+
+2010
+2010
+
+2010
+2010
+
+2010
+2010
+
+2010
+2010
+
+2010
+2010
+
+2010
+2010
+
+2010
+2010
+
+2010
+2010
+
+2010
+2010
+
+2010
+2010
+
+
diff --git a/bld/namelist_files/use_cases/2018-PD_transient.xml b/bld/namelist_files/use_cases/2018-PD_transient.xml
new file mode 100644
index 0000000000..d838efbd00
--- /dev/null
+++ b/bld/namelist_files/use_cases/2018-PD_transient.xml
@@ -0,0 +1,29 @@
+
+
+
+
+Simulate transient land-use, and aerosol deposition changes from 2018 to current day with a mix of historical data, and future scenario data
+
+
+
+2018
+
+1850-2100
+
+
+SSP3-7.0
+
+2018
+2022
+2018
+
+2018
+2022
+2018
+
+2018
+2022
+2018
+
+
diff --git a/bld/namelist_files/use_cases/2018_control.xml b/bld/namelist_files/use_cases/2018_control.xml
new file mode 100644
index 0000000000..e5e572d749
--- /dev/null
+++ b/bld/namelist_files/use_cases/2018_control.xml
@@ -0,0 +1,14 @@
+
+
+
+
+Conditions to simulate 2018 land-use
+
+2018
+
+constant
+
+
+SSP3-7.0
+
+
diff --git a/bld/namelist_files/use_cases/20thC_transient.xml b/bld/namelist_files/use_cases/20thC_transient.xml
index 8dfa8fc1a6..d6dd729b35 100644
--- a/bld/namelist_files/use_cases/20thC_transient.xml
+++ b/bld/namelist_files/use_cases/20thC_transient.xml
@@ -12,20 +12,30 @@
arb_ic
+
+
flanduse_timeseries
-.true.
-.false.
-.false.
+.true.
+.false.
+.true.
+.false.
+.false.1850
-2005
+201518501850
-2005
+20151850
+1850
+2015
+1850
+
185020161850
@@ -34,6 +44,10 @@
20161850
+1850
+2016
+1850
+
185021061850
@@ -42,4 +56,8 @@
21061850
+1850
+2106
+1850
+
diff --git a/bld/namelist_files/use_cases/README b/bld/namelist_files/use_cases/README
index 40b992332b..e55fd9285b 100644
--- a/bld/namelist_files/use_cases/README
+++ b/bld/namelist_files/use_cases/README
@@ -11,12 +11,16 @@ Ending suffix requires one of these endings: _transient, _control or _pd
Transient cases:
- yyyy-yyyy_$rcp$desc_transient (for example 1850-2100_rcp8.5_transient)
+ yyyy-yyyy_$ssp_rcp$desc_transient (for example 1850-2100_SSP5-8.5_transient)
or
20thC$desc_transient (means nominal 1850-2000 although some datasets are 1850-2005)
+ or
+
+ yyyy-PD_$desc_transient (means nominal year yyyy through present day (PD) (with the year for PD advancing)
+
Control cases:
yyyy$desc_control
@@ -30,9 +34,10 @@ Where
yyyy = Simulation year (such as 1850 or 2000).
yyyy-yyyy = Range of simulation years to run over (i.e.. 1850-2000).
-$rcp = Representative concentration pathway (rcp) description string
+yyyy-PD = Range of simulation years to run over until present day (i.e.. 2018-2024).
+$ssp_rcp = Shared Socieconomic Pathway (SSP) Representative concentration pathway (RCP) description string
for future scenarios:
- rcp#.# (for example: rcp8.5, rcp6, rcp4.5, rcp2.6)
+ SSP#-#.# (for example: SSP5-8.5, SSP1-2.6, SSP4-6.0
[can be blank for historical cases].
$desc = Description of anything else -- alpha-numeric.
Should start with an underscore ("_") if not by itself
diff --git a/bld/namelist_files/use_cases/stdurbpt_pd.xml b/bld/namelist_files/use_cases/stdurbpt_pd.xml
index 9114742e66..65786f32ae 100644
--- a/bld/namelist_files/use_cases/stdurbpt_pd.xml
+++ b/bld/namelist_files/use_cases/stdurbpt_pd.xml
@@ -10,7 +10,7 @@
'TBUILD','BUILDHEAT','TRAFFICFLUX','WASTEHEAT','SWup','LWup','Rnet','Qh','Qle','Qstor','Qtau','Qanth','Wind','Qair','Tair','PSurf','Rainf','SWdown','LWdown','COSZEN'
-'TG','TBOT','FIRE','FIRA','FLDS','FSDS','FSR','FSA','FGEV','FSH','FGR','TSOI','ERRSOI','BUILDHEAT','SABV','SABG','FSDSVD','FSDSND','FSDSVI','FSDSNI','FSRVD','FSRND','FSRVI','FSRNI','TSA','FCTR','FCEV','QBOT','Q2M','H2OSOI','H2OSNO','SOILLIQ','SOILICE','SWup','LWup','Rnet','Qh','Qle','Qstor','Qtau','Qanth','Wind','Qair','Tair','PSurf','Rainf','SWdown','LWdown','SoilAlpha_U','ZWT','WA'
+'TG','TBOT','FIRE','FIRA','FLDS','FSDS','FSR','FSA','FGEV','FSH','FGR','TSOI','ERRSOI','BUILDHEAT','SABV','SABG','FSDSVD','FSDSND','FSDSVI','FSDSNI','FSRVD','FSRND','FSRVI','FSRNI','TSA','FCTR','FCEV','QBOT','Q2M','H2OSOI','H2OSNO','SOILLIQ','SOILICE','SWup','LWup','Rnet','Qh','Qle','Qstor','Qtau','Qanth','Wind','Qair','Tair','PSurf','Rainf','SWdown','LWdown','SoilAlpha_U','ZWT'
'SWup','LWup','Rnet','Qh','Qle','Qstor','Qtau','Qanth','Wind','Qair','Tair','PSurf','Rainf','SWdown','LWdown','FSA','FIRA','TG','COSZEN','SoilAlpha_U','TBUILD','BUILDHEAT'
@@ -18,8 +18,10 @@
'OFF'
-.true.
-.false.
-.false.
+.true.
+.false.
+.true.
+.false.
+.false.
diff --git a/bld/unit_testers/build-namelist_test.pl b/bld/unit_testers/build-namelist_test.pl
index 1d41ef5cda..1c5426c099 100755
--- a/bld/unit_testers/build-namelist_test.pl
+++ b/bld/unit_testers/build-namelist_test.pl
@@ -23,13 +23,13 @@ sub usage {
SYNOPSIS
build-namelist_test.pl [options]
- Test the the CLM build-namelist
+ Test the the CLM build-namelist
OPTIONS
- -help [or -h] Print usage to STDOUT.
+ -help [or -h] Print usage to STDOUT.
-compare Compare namelists for this version to namelists
created by another version.
-generate Leave the namelists in place to do a later compare.
- -test Use the -test option to make sure datasets exist.
+ -no-test Do NOT Use the -test option to make sure datasets exist.
-csmdata "dir" Root directory of CESM input data.
EOF
@@ -59,7 +59,7 @@ sub make_env_run {
EOF
foreach my $item ( keys(%env_vars) ) {
print $fh <
+
EOF
}
print $fh <
-Specifies clm physics
+Specifies clm physics
EOF
$fh->close();
}
+sub cat_and_create_namelistinfile {
+#
+# Concatenate the user_nl_clm files together and turn it into a namelist input file
+# that can be read in by build-namelist
+#
+ my ($file1, $file2, $outfile) = @_;
+
+ my $fh = IO::File->new($file1, '<') or die "can't open file: $file1";
+ my $outfh = IO::File->new($outfile, '>') or die "can't open file: $outfile";
+ print $outfh "&clm_settings\n\n";
+ while ( my $line = <$fh> ) {
+ print $outfh " $line";
+ }
+ $fh->close();
+ if ( defined($file2) ) {
+ my $fh = IO::File->new($file2, '<') or die "can't open file: $file2";
+ while ( my $line = <$fh> ) {
+ print $outfh " $line";
+ }
+ }
+ print $outfh "\n/\n";
+ $fh->close();
+ $outfh->close();
+}
+
#
# Process command-line options.
#
my %opts = ( help => 0,
generate => 0,
- test => 0,
+ test => 1,
compare => undef,
csmdata => undef,
);
@@ -98,7 +123,7 @@ sub make_config_cache {
"h|help" => \$opts{'help'},
"compare=s" => \$opts{'compare'},
"generate" => \$opts{'generate'},
- "test" => \$opts{'test'},
+ "test!" => \$opts{'test'},
"csmdata=s" => \$opts{'csmdata'},
) or usage();
@@ -110,7 +135,7 @@ sub make_config_cache {
my $inputdata_rootdir = undef;
if (defined($opts{'csmdata'})) {
$inputdata_rootdir = $opts{'csmdata'};
-} elsif (defined $ENV{'CSMDATA'} ) {
+} elsif (defined $ENV{'CSMDATA'} ) {
$inputdata_rootdir = $ENV{'CSMDATA'};
} else {
# use yellowstone location as default
@@ -128,7 +153,7 @@ sub make_config_cache {
$compGen='compare';
} elsif ( defined($opts{'compare'} && ($opts{'generate'} eq 1 ))) {
#_# if compare and generate are both given, use compare
- $compGen='compare';
+ $compGen='compare';
}
my $ProgName;
@@ -138,9 +163,10 @@ sub make_config_cache {
#
# Figure out number of tests that will run
#
-my $ntests = 927;
+my $ntests = 1999;
+
if ( defined($opts{'compare'}) ) {
- $ntests += 588;
+ $ntests += 1353;
}
plan( tests=>$ntests );
@@ -151,7 +177,7 @@ sub make_config_cache {
my $captOut=""; #_# variable to capture Test::More output
Test::More->builder->output(\$captOut);
#_# ============================================================
-#_#
+#_#
#_# ============================================================
# Check for unparsed arguments
@@ -164,8 +190,8 @@ sub make_config_cache {
&make_config_cache($phys);
my $DOMFILE = "$inputdata_rootdir/atm/datm7/domain.lnd.T31_gx3v7.090928.nc";
-my $real_par_file = "user_nl_clm_real_parameters";
-my $bldnml = "../build-namelist -verbose -csmdata $inputdata_rootdir -lnd_frac $DOMFILE -configuration clm -structure standard -glc_nec 10 -no-note -output_reals $real_par_file";
+my $real_par_file = "user_nl_ctsm_real_parameters";
+my $bldnml = "../build-namelist -verbose -csmdata $inputdata_rootdir -configuration clm -structure standard -glc_nec 10 -no-note -output_reals $real_par_file";
if ( $opts{'test'} ) {
$bldnml .= " -test";
}
@@ -197,7 +223,7 @@ sub make_config_cache {
&make_env_run();
eval{ system( "$bldnml > $tempfile 2>&1 " ); };
is( $@, '', "plain build-namelist" );
- $cfiles->checkfilesexist( "default", $mode );
+ $cfiles->checkfilesexist( "default", $mode );
# Compare to baseline
if ( defined($opts{'compare'}) ) {
$cfiles->doNOTdodiffonfile( "$tempfile", "default", $mode );
@@ -211,7 +237,7 @@ sub make_config_cache {
$cfiles->copyfiles( "default", $mode );
&cleanup();
# Simple test -- run all the list options
-foreach my $options ( "clm_demand", "rcp", "res",
+foreach my $options ( "clm_demand", "ssp_rcp", "res",
"sim_year", "use_case" ) {
&make_env_run();
eval{ system( "$bldnml -${options} list > $tempfile 2>&1 " ); };
@@ -234,7 +260,7 @@ sub make_config_cache {
# Exercise a bunch of options
my $options = "-co2_ppmv 250 ";
- $options .= " -res 0.9x1.25 -rcp 2.6 -envxml_dir .";
+ $options .= " -res 0.9x1.25 -ssp_rcp SSP1-2.6 -envxml_dir .";
&make_env_run();
eval{ system( "$bldnml $options > $tempfile 2>&1 " ); };
@@ -287,57 +313,169 @@ sub make_config_cache {
&make_config_cache($phys);
print "\n===============================================================================\n";
-print "Test configuration, structure, irrigate, verbose, clm_demand, rcp, test, sim_year, use_case, l_ncpl\n";
+print "Test configuration, structure, irrigate, verbose, clm_demand, ssp_rcp, test, sim_year, use_case\n";
print "=================================================================================\n";
-# configuration, structure, irrigate, verbose, clm_demand, rcp, test, sim_year, use_case, l_ncpl
my $startfile = "clmrun.clm2.r.1964-05-27-00000.nc";
-foreach my $options ( "-configuration nwp",
- "-structure fast",
- "-namelist '&a irrigate=.true./'", "-verbose", "-rcp 2.6", "-test", "-sim_year 1850",
- "-use_case 1850_control", "-l_ncpl 1",
- "-clm_start_type startup", "-namelist '&a irrigate=.false./' -crop -bgc bgc",
- "-envxml_dir . -infile myuser_nl_clm",
- "-ignore_ic_date -clm_start_type branch -namelist '&a nrevsn=\"thing.nc\"/' -bgc bgc -crop",
- "-ignore_ic_date -clm_start_type startup -namelist '&a finidat=\"thing.nc\"/' -bgc bgc -crop",
- ) {
- my $file = $startfile;
+foreach my $driver ( "mct", "nuopc" ) {
+ print " For $driver driver\n\n";
+ # configuration, structure, irrigate, verbose, clm_demand, ssp_rcp, test, sim_year, use_case
+ foreach my $options ( "-res 0.9x1.25 -configuration nwp",
+ "-res 0.9x1.25 -structure fast",
+ "-res 0.9x1.25 -namelist '&a irrigate=.true./'", "-res 0.9x1.25 -verbose", "-res 0.9x1.25 -ssp_rcp SSP1-2.6", "-res 0.9x1.25 -test", "-res 0.9x1.25 -sim_year 1850",
+ "-res 0.9x1.25 -namelist '&a use_lai_streams=.true.,use_soil_moisture_streams=.true./'",
+ "-res 0.9x1.25 -namelist '&a use_excess_ice=.true. use_excess_ice_streams=.true./'",
+ "-res 0.9x1.25 -namelist '&a use_excess_ice=.true. use_excess_ice_streams=.false./'",
+ "-res 0.9x1.25 -use_case 1850_control",
+ "-res 1x1pt_US-UMB -clm_usr_name 1x1pt_US-UMB -namelist '&a fsurdat=\"/dev/null\"/'",
+ "-res 1x1_brazil",
+ "-res 0.9x1.25 -clm_start_type startup", "-namelist '&a irrigate=.false./' -crop -bgc bgc",
+ "-res 0.9x1.25 -infile myuser_nl_clm",
+ "-res 0.9x1.25 -ignore_ic_date -clm_start_type branch -namelist '&a nrevsn=\"thing.nc\"/' -bgc bgc -crop",
+ "-res 0.9x1.25 -clm_start_type branch -namelist '&a nrevsn=\"thing.nc\",use_init_interp=T/'",
+ "-res 0.9x1.25 -ignore_ic_date -clm_start_type startup -namelist '&a finidat=\"thing.nc\"/' -bgc bgc -crop",
+ ) {
+ my $file = $startfile;
+ &make_env_run();
+ my $base_options = "-envxml_dir . -driver $driver";
+ if ( $driver eq "mct" ) {
+ $base_options = "$base_options -lnd_frac $DOMFILE";
+ # Skip the MCT test for excess ice streams
+ if ( $options =~ /use_excess_ice_streams=.true./ ) {
+ next;
+ }
+ } else {
+ $base_options = "$base_options -namelist '&a force_send_to_atm = .false./'";
+ }
+ eval{ system( "$bldnml $base_options $options > $tempfile 2>&1 " ); };
+ is( $@, '', "options: $base_options $options" );
+ $cfiles->checkfilesexist( "$base_options $options", $mode );
+ $cfiles->shownmldiff( "default", $mode );
+ my $finidat = `grep finidat lnd_in`;
+ if ( $options =~ /myuser_nl_clm/ ) {
+ my $fsurdat = `grep fsurdat lnd_in`;
+ like( $fsurdat, "/MYDINLOCROOT/lnd/clm2/PTCLMmydatafiles/1x1pt_US-UMB/surfdata_1x1pt_US-UMB_simyr2000_clm4_5_c131122.nc/", "$options" );
+ }
+ if ( defined($opts{'compare'}) ) {
+ $cfiles->doNOTdodiffonfile( "$tempfile", "$base_options $options", $mode );
+ $cfiles->dodiffonfile( "$real_par_file", "$base_options $options", $mode );
+ $cfiles->comparefiles( "$base_options $options", $mode, $opts{'compare'} );
+ }
+ if ( defined($opts{'generate'}) ) {
+ $cfiles->copyfiles( "$base_options $options", $mode );
+ }
+ &cleanup();
+ }
+}
+print "\n===============================================================================\n";
+print "Test the NEON sites\n";
+print "=================================================================================\n";
+my $phys = "clm5_1";
+$mode = "-phys $phys";
+&make_config_cache($phys);
+my $neondir = "../../cime_config/usermods_dirs/NEON";
+foreach my $site ( "ABBY", "BLAN", "CPER", "DEJU", "GRSM", "HEAL", "KONA", "LENO", "NIWO",
+ "ONAQ", "PUUM", "SERC", "SRER", "TALL", "TREE", "WOOD", "BARR", "BONA",
+ "DCFS", "DELA", "GUAN", "JERC", "KONZ", "MLBS", "NOGP", "ORNL", "RMNP",
+ "SJER", "STEI", "TEAK", "UKFS", "WREF", "BART", "CLBJ", "DSNY", "HARV",
+ "JORN", "LAJA", "MOAB", "OAES", "OSBS", "SCBI", "SOAP", "STER", "TOOL",
+ "UNDE", "YELL"
+ ) {
&make_env_run();
+ #
+ # Concatonate default usermods and specific sitetogether expanding env variables while doing that
+ #
+ if ( ! -d "$neondir/$site" ) {
+ print "NEON directory is not there: $neondir/$site\n";
+ die "ERROR:: NEON site does not exist: $site\n";
+ }
+ my $neondefaultfile = "$neondir/defaults/user_nl_clm";
+ my $neonsitefile = "$neondir/$site/user_nl_clm";
+ if ( ! -f $neonsitefile ) {
+ $neonsitefile = undef;
+ }
+ $ENV{'NEONSITE'} = $site;
+ my $namelistfile = "temp.namelistinfile_$site";
+ &cat_and_create_namelistinfile( $neondefaultfile, $neonsitefile, $namelistfile );
+ #
+ # Now run the site
+ #
+ my $options = "-res CLM_USRDAT -clm_usr_name NEON -no-megan -bgc bgc -sim_year 2018 -infile $namelistfile";
eval{ system( "$bldnml -envxml_dir . $options > $tempfile 2>&1 " ); };
is( $@, '', "options: $options" );
$cfiles->checkfilesexist( "$options", $mode );
$cfiles->shownmldiff( "default", $mode );
- my $finidat = `grep finidat lnd_in`;
- if ( $options eq "-l_ncpl 1" ) {
- my $dtime = `grep dtime lnd_in`;
- like( $dtime, "/ 86400\$/", "$options" );
- } elsif ( $options =~ /myuser_nl_clm/ ) {
- my $fsurdat = `grep fsurdat lnd_in`;
- like( $fsurdat, "/MYDINLOCROOT/lnd/clm2/PTCLMmydatafiles/1x1pt_US-UMB/surfdata_1x1pt_US-UMB_simyr2000_clm4_5_c131122.nc/", "$options" );
- }
if ( defined($opts{'compare'}) ) {
$cfiles->doNOTdodiffonfile( "$tempfile", "$options", $mode );
+ $cfiles->dodiffonfile( "lnd_in", "$options", $mode );
$cfiles->dodiffonfile( "$real_par_file", "$options", $mode );
$cfiles->comparefiles( "$options", $mode, $opts{'compare'} );
}
if ( defined($opts{'generate'}) ) {
$cfiles->copyfiles( "$options", $mode );
}
+ system( "/bin/rm $namelistfile" );
&cleanup();
}
+
+print "\n===============================================================================\n";
+print "Test some CAM specific setups for special grids \n";
+print "=================================================================================\n";
+foreach my $phys ( "clm4_5", "clm5_0" ) {
+ $mode = "-phys $phys";
+ &make_config_cache($phys);
+ foreach my $options (
+ "-res ne0np4.ARCTIC.ne30x4 -bgc sp -use_case 20thC_transient -namelist '&a start_ymd=19790101/' -lnd_tuning_mode ${phys}_cam6.0",
+ "-res ne0np4.ARCTICGRIS.ne30x8 -bgc sp -use_case 20thC_transient -namelist '&a start_ymd=19790101/' -lnd_tuning_mode ${phys}_cam6.0",
+ "-res 1.9x2.5 -bgc sp -use_case 20thC_transient -namelist '&a start_ymd=19790101/' -lnd_tuning_mode ${phys}_cam6.0",
+ "-res 0.9x1.25 -bgc sp -use_case 20thC_transient -namelist '&a start_ymd=19790101/' -lnd_tuning_mode ${phys}_cam6.0",
+ "-res 0.9x1.25 -bgc bgc -crop -use_case 20thC_transient -namelist '&a start_ymd=19500101/' -lnd_tuning_mode ${phys}_cam6.0",
+ "-res ne0np4CONUS.ne30x8 -bgc sp -use_case 20thC_transient -namelist '&a start_ymd=20130101/' -lnd_tuning_mode ${phys}_cam6.0",
+ "-res 1.9x2.5 -bgc sp -use_case 20thC_transient -namelist '&a start_ymd=20030101/' -lnd_tuning_mode ${phys}_cam6.0",
+ "-res 1.9x2.5 -bgc sp -use_case 2010_control -namelist '&a start_ymd=20100101/' -lnd_tuning_mode ${phys}_cam6.0",
+ "-res 1x1_brazil -bgc fates -no-megan -use_case 2000_control -lnd_tuning_mode ${phys}_CRUv7",
+ "-res C192 -bgc sp -use_case 2010_control -namelist '&a start_ymd=20100101/' -lnd_tuning_mode ${phys}_cam6.0",
+ "-res ne0np4.ARCTIC.ne30x4 -bgc sp -use_case 20thC_transient -namelist '&a start_ymd=20130101/' -lnd_tuning_mode ${phys}_cam6.0",
+ ) {
+ &make_env_run();
+ eval{ system( "$bldnml -envxml_dir . $options > $tempfile 2>&1 " ); };
+ is( $@, '', "options: $options" );
+ $cfiles->checkfilesexist( "$options", $mode );
+ $cfiles->shownmldiff( "default", $mode );
+ if ( defined($opts{'compare'}) ) {
+ $cfiles->doNOTdodiffonfile( "$tempfile", "$options", $mode );
+ $cfiles->dodiffonfile( "lnd_in", "$options", $mode );
+ $cfiles->dodiffonfile( "$real_par_file", "$options", $mode );
+ $cfiles->comparefiles( "$options", $mode, $opts{'compare'} );
+ }
+ if ( defined($opts{'generate'}) ) {
+ $cfiles->copyfiles( "$options", $mode );
+ }
+ &cleanup();
+ }
+}
+
print "\n==============================================================\n";
print "Test several use_cases and specific configurations for clm5_0\n";
print "==============================================================\n";
$phys = "clm5_0";
$mode = "-phys $phys";
&make_config_cache($phys);
-foreach my $options (
- "-bgc bgc -use_case 1850-2100_rcp2.6_transient -namelist '&a start_ymd=20100101/'",
- "-bgc sp -use_case 1850-2100_rcp4.5_transient -namelist '&a start_ymd=18501223/'",
- "-bgc bgc -use_case 1850-2100_rcp6_transient -namelist '&a start_ymd=20701029/'",
+foreach my $options (
+ "-bgc bgc -use_case 1850-2100_SSP1-2.6_transient -namelist '&a start_ymd=20100101/'",
+ "-bgc sp -use_case 1850-2100_SSP2-4.5_transient -namelist '&a start_ymd=18501223/'",
+ "-bgc bgc -use_case 1850-2100_SSP3-7.0_transient -namelist '&a start_ymd=20701029/'",
"-bgc fates -use_case 2000_control -no-megan",
- "-bgc cn -use_case 1850-2100_rcp8.5_transient -namelist '&a start_ymd=19201023/'",
+ "-bgc fates -use_case 20thC_transient -no-megan",
+ "-bgc fates -use_case 1850_control -no-megan -namelist \"&a use_fates_sp=T, soil_decomp_method='None'/\"",
+ "-bgc sp -use_case 2000_control -res 0.9x1.25 -namelist '&a use_soil_moisture_streams = T/'",
+ "-bgc bgc -use_case 1850-2100_SSP5-8.5_transient -namelist '&a start_ymd=19101023/'",
"-bgc bgc -use_case 2000_control -namelist \"&a fire_method='nofire'/\" -crop",
+ "-res 0.9x1.25 -bgc sp -use_case 1850_noanthro_control -drydep -fire_emis",
+ "-res 0.9x1.25 -bgc bgc -use_case 1850_noanthro_control -drydep -fire_emis -light_res 360x720",
+ "--bgc bgc --light_res none --namelist \"&a fire_method='nofire'/\"",
+ "--bgc fates --light_res 360x720 --no-megan --namelist \"&a fates_spitfire_mode=2/\"",
+ "--bgc fates --light_res none --no-megan --namelist \"&a fates_spitfire_mode=1/\"",
) {
my $file = $startfile;
&make_env_run();
@@ -367,7 +505,7 @@ sub make_config_cache {
my $finidat = "thing.nc";
system( "touch $finidat" );
-my %failtest = (
+my %failtest = (
"coldstart but with IC file"=>{ options=>"-clm_start_type cold -envxml_dir .",
namelst=>"finidat='$finidat'",
GLC_TWO_WAY_COUPLING=>"FALSE",
@@ -388,42 +526,87 @@ sub make_config_cache {
GLC_TWO_WAY_COUPLING=>"FALSE",
phys=>"clm5_0",
},
- "l_ncpl is zero" =>{ options=>"-l_ncpl 0 -envxml_dir .",
- namelst=>"",
+ "use_crop without -crop" =>{ options=>" -envxml_dir .",
+ namelst=>"use_crop=.true.",
+ GLC_TWO_WAY_COUPLING=>"FALSE",
+ phys=>"clm4_5",
+ },
+ "soilm_stream off w file" =>{ options=>"-res 0.9x1.25 -envxml_dir .",
+ namelst=>"use_soil_moisture_streams = .false.,stream_fldfilename_soilm='file_provided_when_off'",
GLC_TWO_WAY_COUPLING=>"FALSE",
phys=>"clm5_0",
},
- "l_ncpl not integer" =>{ options=>"-l_ncpl 1.0 -envxml_dir .",
- namelst=>"",
+ "exice_stream off w file" =>{ options=>"-res 0.9x1.25 -envxml_dir .",
+ namelst=>"use_excess_ice=.true., use_excess_ice_streams = .false.,stream_fldfilename_exice='file_provided_when_off'",
GLC_TWO_WAY_COUPLING=>"FALSE",
phys=>"clm5_0",
},
- "both l_ncpl and dtime" =>{ options=>"-l_ncpl 24 -envxml_dir .",
- namelst=>"dtime=1800",
+ "exice_stream off w mesh" =>{ options=>"-res 0.9x1.25 -envxml_dir .",
+ namelst=>"use_excess_ice=.true., use_excess_ice_streams = .false.,stream_meshfile_exice='file_provided_when_off'",
GLC_TWO_WAY_COUPLING=>"FALSE",
phys=>"clm5_0",
},
- "use_crop without -crop" =>{ options=>" -envxml_dir .",
- namelst=>"use_crop=.true.",
+ "exice off, but stream on" =>{ options=>"-res 0.9x1.25 -envxml_dir .",
+ namelst=>"use_excess_ice=.false., use_excess_ice_streams = .true.,stream_fldfilename_exice='file_provided', stream_meshfile_exice='file_provided'",
GLC_TWO_WAY_COUPLING=>"FALSE",
- phys=>"clm4_5",
+ phys=>"clm5_0",
+ },
+ "exice stream off, but setmap"=>{ options=>"-res 0.9x1.25 -envxml_dir .",
+ namelst=>"use_excess_ice=.true., use_excess_ice_streams = .false.,stream_mapalgo_exice='bilinear'",
+ GLC_TWO_WAY_COUPLING=>"FALSE",
+ phys=>"clm5_0",
+ },
+ "exice stream on, but mct" =>{ options=>"--res 0.9x1.25 --envxml_dir . --driver mct --lnd_frac $DOMFILE ",
+ namelst=>"use_excess_ice=.true., use_excess_ice_streams=.true.",
+ GLC_TWO_WAY_COUPLING=>"FALSE",
+ phys=>"clm5_0",
},
"clm50CNDVwtransient" =>{ options=>" -envxml_dir . -use_case 20thC_transient -dynamic_vegetation -res 10x15 -ignore_warnings",
namelst=>"",
GLC_TWO_WAY_COUPLING=>"FALSE",
phys=>"clm5_0",
},
+ "decomp_without_cn" =>{ options=>" -envxml_dir . -bgc sp",
+ namelst=>"soil_decomp_method='CENTURYKoven2013'",
+ GLC_TWO_WAY_COUPLING=>"FALSE",
+ phys=>"clm5_0",
+ },
+ "bgc_with_no_decomp" =>{ options=>" -envxml_dir . -bgc bgc",
+ namelst=>"soil_decomp_method='None'",
+ GLC_TWO_WAY_COUPLING=>"FALSE",
+ phys=>"clm5_0",
+ },
+ "reseed without CN" =>{ options=>" -envxml_dir . -bgc sp",
+ namelst=>"reseed_dead_plants=.true.",
+ GLC_TWO_WAY_COUPLING=>"FALSE",
+ phys=>"clm5_0",
+ },
+ "onset_threh w SP" =>{ options=>" -envxml_dir . -bgc sp",
+ namelst=>"onset_thresh_depends_on_veg=.true.",
+ GLC_TWO_WAY_COUPLING=>"FALSE",
+ phys=>"clm5_1",
+ },
+ "dribble_crphrv w/o CN" =>{ options=>" -envxml_dir . -bgc sp",
+ namelst=>"dribble_crophrv_xsmrpool_2atm=.true.",
+ GLC_TWO_WAY_COUPLING=>"FALSE",
+ phys=>"clm5_0",
+ },
+ "dribble_crphrv w/o crop" =>{ options=>" -envxml_dir . -bgc bgc -no-crop",
+ namelst=>"dribble_crophrv_xsmrpool_2atm=.true.",
+ GLC_TWO_WAY_COUPLING=>"FALSE",
+ phys=>"clm5_0",
+ },
"CNDV with flanduse_timeseries - clm4_5"=>{ options=>"-bgc bgc -dynamic_vegetation -envxml_dir . -ignore_warnings",
namelst=>"flanduse_timeseries='my_flanduse_timeseries_file.nc'",
GLC_TWO_WAY_COUPLING=>"FALSE",
phys=>"clm4_5",
},
- "use_cndv=T without bldnml op"=>{ options=>"-bgc cn -envxml_dir . -ignore_warnings",
+ "use_cndv=T without bldnml op"=>{ options=>"-bgc bgc -envxml_dir . -ignore_warnings",
namelst=>"use_cndv=.true.",
GLC_TWO_WAY_COUPLING=>"FALSE",
phys=>"clm4_5",
},
- "use_cndv=F with dyn_veg op"=>{ options=>"-bgc cn -dynamic_vegetation -envxml_dir . -ignore_warnings",
+ "use_cndv=F with dyn_veg op"=>{ options=>"-bgc bgc -dynamic_vegetation -envxml_dir . -ignore_warnings",
namelst=>"use_cndv=.false.",
GLC_TWO_WAY_COUPLING=>"FALSE",
phys=>"clm4_5",
@@ -459,7 +642,7 @@ sub make_config_cache {
phys=>"clm5_0",
},
"toosmall glc w trans" =>{ options=>"-bgc sp -envxml_dir .",
- namelst=>"toosmall_glacier=10, dyn_transient_pfts=T",
+ namelst=>"toosmall_glacier=10, dyn_transient_pfts=T",
GLC_TWO_WAY_COUPLING=>"FALSE",
phys=>"clm5_0",
},
@@ -493,13 +676,7 @@ sub make_config_cache {
GLC_TWO_WAY_COUPLING=>"FALSE",
phys=>"clm5_0",
},
- # This one should fail now, because we don't have non irrigated non-crop datasets
- "-irrigate=F without -crop" =>{ options=>"-bgc cn -no-crop -envxml_dir .",
- namelst=>"irrigate=.false.",
- GLC_TWO_WAY_COUPLING=>"FALSE",
- phys=>"clm4_5",
- },
- "grainproductWOcrop" =>{ options=>"-bgc cn -no-crop -envxml_dir .",
+ "grainproductWOcrop" =>{ options=>"-bgc bgc -no-crop -envxml_dir .",
namelst=>"use_grainproduct=.true.",
GLC_TWO_WAY_COUPLING=>"FALSE",
phys=>"clm4_5",
@@ -549,12 +726,17 @@ sub make_config_cache {
GLC_TWO_WAY_COUPLING=>"FALSE",
phys=>"clm5_0",
},
+ "NEONlightresButGlobal" =>{ options=>"--res 4x5 --bgc bgc --envxml_dir . --light_res 106x740",
+ namelst=>"",
+ GLC_TWO_WAY_COUPLING=>"FALSE",
+ phys=>"clm5_1",
+ },
"spno-fire" =>{ options=>"-bgc sp -envxml_dir . -use_case 2000_control",
namelst=>"fire_method='nofire'",
GLC_TWO_WAY_COUPLING=>"FALSE",
phys=>"clm5_0",
},
- "lightres no fire" =>{ options=>"-bgc cn -envxml_dir . -light_res 360x720",
+ "lightres no fire" =>{ options=>"-bgc bgc -envxml_dir . -light_res 360x720",
namelst=>"fire_method='nofire'",
GLC_TWO_WAY_COUPLING=>"FALSE",
phys=>"clm5_0",
@@ -579,27 +761,22 @@ sub make_config_cache {
GLC_TWO_WAY_COUPLING=>"FALSE",
phys=>"clm5_0",
},
- "bgc=cn and bgc settings" =>{ options=>"-bgc cn -envxml_dir .",
- namelst=>"use_lch4=.true.,use_nitrif_denitrif=.true.,use_vertsoilc=.true.,use_century_decomp=.true.",
- GLC_TWO_WAY_COUPLING=>"FALSE",
- phys=>"clm4_5",
- },
- "finundated and not methane"=>{ options=>"-bgc cn -envxml_dir .",
+ "finundated and not methane"=>{ options=>"-bgc bgc -envxml_dir .",
namelst=>"use_lch4=.false.,finundation_method='h2osfc'",
GLC_TWO_WAY_COUPLING=>"FALSE",
phys=>"clm5_0",
},
- "bgc=bgc and cn-only set" =>{ options=>"-bgc bgc -envxml_dir .",
- namelst=>"use_lch4=.false.,use_nitrif_denitrif=.false.,use_vertsoilc=.false.,use_century_decomp=.false.",
+ "use_cn=true bgc=sp" =>{ options=>"-bgc sp -envxml_dir .",
+ namelst=>"use_cn=.true.",
GLC_TWO_WAY_COUPLING=>"FALSE",
phys=>"clm4_5",
},
- "use_cn=true bgc=sp" =>{ options=>"-bgc sp -envxml_dir .",
- namelst=>"use_cn=.true.",
+ "freeliv wo fun" =>{ options=>"-bgc bgc -envxml_dir .",
+ namelst=>"freelivfix_intercept=9.",
GLC_TWO_WAY_COUPLING=>"FALSE",
phys=>"clm4_5",
},
- "use_cn=false bgc=cn" =>{ options=>"-bgc cn -envxml_dir .",
+ "use_cn=false bgc=bgc" =>{ options=>"-bgc bgc -envxml_dir .",
namelst=>"use_cn=.false.",
GLC_TWO_WAY_COUPLING=>"FALSE",
phys=>"clm4_5",
@@ -749,18 +926,43 @@ sub make_config_cache {
GLC_TWO_WAY_COUPLING=>"FALSE",
phys=>"clm5_0",
},
- "both lnd_frac and on nml" =>{ options=>"-lnd_frac domain.nc -envxml_dir .",
+ "both lnd_frac and on nml" =>{ options=>"-driver mct -lnd_frac $DOMFILE -envxml_dir .",
namelst=>"fatmlndfrc='frac.nc'",
GLC_TWO_WAY_COUPLING=>"FALSE",
phys=>"clm5_0",
},
+ "lnd_frac set to UNSET" =>{ options=>"-driver mct -lnd_frac UNSET -envxml_dir .",
+ namelst=>"",
+ GLC_TWO_WAY_COUPLING=>"FALSE",
+ phys=>"clm5_1",
+ },
+ "lnd_frac set but nuopc" =>{ options=>"-driver nuopc -lnd_frac $DOMFILE -envxml_dir .",
+ namelst=>"",
+ GLC_TWO_WAY_COUPLING=>"FALSE",
+ phys=>"clm5_1",
+ },
+ "lnd_frac not set but lilac"=>{ options=>"-driver nuopc -lilac -envxml_dir . -lnd_frac UNSET",
+ namelst=>"fsurdat='surfdata.nc'",
+ GLC_TWO_WAY_COUPLING=>"FALSE",
+ phys=>"clm5_1",
+ },
+ "fatmlndfrc set but nuopc" =>{ options=>"-driver nuopc -envxml_dir .",
+ namelst=>"fatmlndfrc='frac.nc'",
+ GLC_TWO_WAY_COUPLING=>"FALSE",
+ phys=>"clm5_1",
+ },
+ "force_send but not nuopc" =>{ options=>"-driver mct -lnd_frac $DOMFILE -envxml_dir .",
+ namelst=>"force_send_to_atm = .false.",
+ GLC_TWO_WAY_COUPLING=>"FALSE",
+ phys=>"clm5_1",
+ },
"branch but NO nrevsn" =>{ options=>"-clm_start_type branch -envxml_dir .",
namelst=>"",
GLC_TWO_WAY_COUPLING=>"FALSE",
phys=>"clm5_0",
},
"glc_nec inconsistent" =>{ options=>"-envxml_dir .",
- namelst=>"maxpatch_glcmec=5",
+ namelst=>"maxpatch_glc=5",
GLC_TWO_WAY_COUPLING=>"FALSE",
phys=>"clm5_0",
},
@@ -789,23 +991,63 @@ sub make_config_cache {
GLC_TWO_WAY_COUPLING=>"FALSE",
phys=>"clm5_0",
},
+ "useFATESWcrop" =>{ options=>"-bgc fates -envxml_dir . -no-megan -crop",
+ namelst=>"",
+ GLC_TWO_WAY_COUPLING=>"FALSE",
+ phys=>"clm5_1",
+ },
"useFATESWcreatecrop" =>{ options=>"-bgc fates -envxml_dir . -no-megan",
namelst=>"create_crop_landunit=.true.",
GLC_TWO_WAY_COUPLING=>"FALSE",
phys=>"clm5_0",
},
- "createcropFalse" =>{ options=>"-bgc bgc -envxml_dir . -no-megan",
- namelst=>"create_crop_landunit=.false.",
+ "useFATESWn_dom_pft" =>{ options=>"-bgc fates -envxml_dir . -no-megan",
+ namelst=>"n_dom_pfts = 1",
GLC_TWO_WAY_COUPLING=>"FALSE",
phys=>"clm5_0",
},
- "useFATESWTransient" =>{ options=>"-bgc fates -use_case 20thC_transient -envxml_dir . -no-megan -res 10x15",
- namelst=>"",
+ "useFATESWbMH" =>{ options=>"-bgc fates -envxml_dir . -no-megan",
+ namelst=>"use_biomass_heat_storage=.true.",
+ GLC_TWO_WAY_COUPLING=>"FALSE",
+ phys=>"clm5_1",
+ },
+ "FireNoneButFATESfireon" =>{ options=>"-bgc fates -envxml_dir . -no-megan -light_res none",
+ namelst=>"fates_spitfire_mode=4",
+ GLC_TWO_WAY_COUPLING=>"FALSE",
+ phys=>"clm5_1",
+ },
+ "FATESwspitfireOffLigtOn" =>{ options=>"-bgc fates -envxml_dir . -no-megan -light_res 360x720",
+ namelst=>"fates_spitfire_mode=0",
+ GLC_TWO_WAY_COUPLING=>"FALSE",
+ phys=>"clm5_1",
+ },
+ "useFATESWluna" =>{ options=>"--bgc fates --envxml_dir . --no-megan",
+ namelst=>"use_luna=TRUE",
+ GLC_TWO_WAY_COUPLING=>"FALSE",
+ phys=>"clm5_1",
+ },
+ "useFATESWfun" =>{ options=>"--bgc fates --envxml_dir . --no-megan",
+ namelst=>"use_fun=TRUE",
+ GLC_TWO_WAY_COUPLING=>"FALSE",
+ phys=>"clm5_1",
+ },
+ "useFATESWOsuplnitro" =>{ options=>"--bgc fates --envxml_dir . --no-megan",
+ namelst=>"suplnitro='NONE'",
+ GLC_TWO_WAY_COUPLING=>"FALSE",
+ phys=>"clm5_1",
+ },
+ "FireNoneButBGCfireon" =>{ options=>"-bgc bgc -envxml_dir . -light_res none",
+ namelst=>"fire_method='li2021gswpfrc'",
+ GLC_TWO_WAY_COUPLING=>"FALSE",
+ phys=>"clm5_1",
+ },
+ "createcropFalse" =>{ options=>"-bgc bgc -envxml_dir . -no-megan",
+ namelst=>"create_crop_landunit=.false.",
GLC_TWO_WAY_COUPLING=>"FALSE",
phys=>"clm5_0",
},
"usespitfireButNOTFATES" =>{ options=>"-envxml_dir . -no-megan",
- namelst=>"use_fates_spitfire=.true.",
+ namelst=>"fates_spitfire_mode=1",
GLC_TWO_WAY_COUPLING=>"FALSE",
phys=>"clm4_5",
},
@@ -829,6 +1071,26 @@ sub make_config_cache {
GLC_TWO_WAY_COUPLING=>"FALSE",
phys=>"clm4_5",
},
+ "useFIREEMISwithFATES" =>{ options=>"-bgc fates -envxml_dir . -fire_emis --no-megan",
+ namelst=>"",
+ GLC_TWO_WAY_COUPLING=>"FALSE",
+ phys=>"clm4_5",
+ },
+ "useDRYDEPwithFATES" =>{ options=>"--bgc fates --envxml_dir . --no-megan --drydep",
+ namelst=>"",
+ GLC_TWO_WAY_COUPLING=>"FALSE",
+ phys=>"clm4_5",
+ },
+ "useFATESSPWONOCOMP" =>{ options=>"-bgc fates -envxml_dir . -no-megan",
+ namelst=>"use_fates_sp=T,use_fates_nocomp=F",
+ GLC_TWO_WAY_COUPLING=>"FALSE",
+ phys=>"clm5_0",
+ },
+ "useFATESTRANSWdynPFT" =>{ options=>"-bgc fates -envxml_dir . -use_case 20thC_transient -no-megan",
+ namelst=>"do_transient_pfts=T",
+ GLC_TWO_WAY_COUPLING=>"FALSE",
+ phys=>"clm5_0",
+ },
"useHYDSTwithFATES" =>{ options=>"-bgc fates -envxml_dir . -no-megan",
namelst=>"use_hydrstress=.true.",
GLC_TWO_WAY_COUPLING=>"FALSE",
@@ -849,11 +1111,36 @@ sub make_config_cache {
GLC_TWO_WAY_COUPLING=>"FALSE",
phys=>"clm5_0",
},
+ "noanthro_w_crop" =>{ options=>"-envxml_dir . -res 0.9x1.25 -bgc bgc -crop -use_case 1850_noanthro_control",
+ namelst=>"",
+ GLC_TWO_WAY_COUPLING=>"FALSE",
+ phys=>"clm5_0",
+ },
+ "noanthro_w_irrig" =>{ options=>"-envxml_dir . -res 0.9x1.25 -bgc bgc -use_case 1850_noanthro_control",
+ namelst=>"irrigate=T",
+ GLC_TWO_WAY_COUPLING=>"FALSE",
+ phys=>"clm5_0",
+ },
"spdotransconflict" =>{ options=>"-envxml_dir . -bgc sp -use_case 20thC_transient",
namelst=>"do_transient_pfts=T,do_transient_crops=.false.",
GLC_TWO_WAY_COUPLING=>"FALSE",
phys=>"clm5_0",
},
+ "dogrossandsp" =>{ options=>"--envxml_dir . --bgc sp --use_case 20thC_transient",
+ namelst=>"do_grossunrep=.true.",
+ GLC_TWO_WAY_COUPLING=>"FALSE",
+ phys=>"clm5_0",
+ },
+ "dogrossandfates" =>{ options=>"--envxml_dir . --bgc fates --use_case 20thC_transient --no-megan",
+ namelst=>"do_grossunrep=.true.",
+ GLC_TWO_WAY_COUPLING=>"FALSE",
+ phys=>"clm5_0",
+ },
+ "dogrossandnottrans" =>{ options=>"--envxml_dir . --bgc bgc --use_case 2000_control",
+ namelst=>"do_grossunrep=.true.",
+ GLC_TWO_WAY_COUPLING=>"FALSE",
+ phys=>"clm5_0",
+ },
"nocropwfert" =>{ options=>"-envxml_dir . -bgc sp -no-crop",
namelst=>"use_fertilizer=T",
GLC_TWO_WAY_COUPLING=>"FALSE",
@@ -904,6 +1191,11 @@ sub make_config_cache {
GLC_TWO_WAY_COUPLING=>"FALSE",
phys=>"clm5_0",
},
+ "SPModeWNitrifNMethane" =>{ options=>"-envxml_dir . -bgc sp",
+ namelst=>"use_lch4=.true., use_nitrif_denitrif=.true.",
+ GLC_TWO_WAY_COUPLING=>"FALSE",
+ phys=>"clm5_0",
+ },
"knitrmaxWOnitrif" =>{ options=>"-envxml_dir . -bgc bgc",
namelst=>"use_nitrif_denitrif=.false., k_nitr_max=1.0",
GLC_TWO_WAY_COUPLING=>"FALSE",
@@ -919,16 +1211,6 @@ sub make_config_cache {
GLC_TWO_WAY_COUPLING=>"FALSE",
phys=>"clm5_0",
},
- "nitrcoefWOnitrif" =>{ options=>"-envxml_dir . -bgc bgc",
- namelst=>"use_nitrif_denitrif=.false., denitrif_nitrateconc_coefficient=1.0",
- GLC_TWO_WAY_COUPLING=>"FALSE",
- phys=>"clm5_0",
- },
- "nitrexpWOnitrif" =>{ options=>"-envxml_dir . -bgc bgc",
- namelst=>"use_nitrif_denitrif=.false., denitrif_nitrateconc_exponent=1.0",
- GLC_TWO_WAY_COUPLING=>"FALSE",
- phys=>"clm5_0",
- },
"lunaWSPandlnctrue" =>{ options=>"-envxml_dir . -bgc sp",
namelst=>"use_luna=.true., lnc_opt=.true.",
GLC_TWO_WAY_COUPLING=>"FALSE",
@@ -949,6 +1231,26 @@ sub make_config_cache {
GLC_TWO_WAY_COUPLING=>"FALSE",
phys=>"clm5_0",
},
+ "fates_non_sp_laistreams" =>{ options=>"--envxml_dir . --bgc fates",
+ namelst=>"use_lai_streams=.true., use_fates_sp=.false.",
+ GLC_TWO_WAY_COUPLING=>"FALSE",
+ phys=>"clm5_0",
+ },
+ "bgc_non_sp_laistreams" =>{ options=>"--envxml_dir . -bgc bgc",
+ namelst=>"use_lai_streams=.true.",
+ GLC_TWO_WAY_COUPLING=>"FALSE",
+ phys=>"clm5_0",
+ },
+ "bgc_laistreams_input" =>{ options=>"--envxml_dir . --bgc bgc",
+ namelst=>"stream_year_first_lai=1999",
+ GLC_TWO_WAY_COUPLING=>"FALSE",
+ phys=>"clm5_0",
+ },
+ "crop_laistreams_input" =>{ options=>"--envxml_dir . --bgc sp --crop",
+ namelst=>"use_lai_streams=.true.",
+ GLC_TWO_WAY_COUPLING=>"FALSE",
+ phys=>"clm5_0",
+ },
);
foreach my $key ( keys(%failtest) ) {
print( "$key\n" );
@@ -968,7 +1270,7 @@ sub make_config_cache {
# Warning testing, do things that give warnings, unless -ignore_warnings option is used
-my %warntest = (
+my %warntest = (
# Warnings without the -ignore_warnings option given
"coldwfinidat" =>{ options=>"-envxml_dir . -clm_start_type cold",
namelst=>"finidat = 'testfile.nc'",
@@ -980,18 +1282,23 @@ sub make_config_cache {
GLC_TWO_WAY_COUPLING=>"FALSE",
phys=>"clm5_0",
},
- "use_c13_wo_bgc" =>{ options=>"-envxml_dir . -bgc cn",
- namelst=>"use_c13=.true.",
+ "bgc=bgc WO nitrif_denit" =>{ options=>"-bgc bgc -envxml_dir .",
+ namelst=>"use_nitrif_denitrif=.false.",
GLC_TWO_WAY_COUPLING=>"FALSE",
- phys=>"clm5_0",
+ phys=>"clm4_5",
},
- "use_c14_wo_bgc" =>{ options=>"-envxml_dir . -bgc cndv",
- namelst=>"use_c14=.true.",
+ "methane off W nitrif_denit"=>{ options=>"-bgc bgc -envxml_dir .",
+ namelst=>"use_nitrif_denitrif=.true.,use_lch4=.false.",
+ GLC_TWO_WAY_COUPLING=>"FALSE",
+ phys=>"clm5_1",
+ },
+ "soilm_stream w transient" =>{ options=>"-res 0.9x1.25 -envxml_dir . -use_case 20thC_transient",
+ namelst=>"use_soil_moisture_streams=T,soilm_tintalgo='linear'",
GLC_TWO_WAY_COUPLING=>"FALSE",
phys=>"clm5_0",
},
- "maxpft_wrong" =>{ options=>"-envxml_dir . -bgc cndv",
- namelst=>"maxpatch_pft=19",
+ "missing_ndep_file" =>{ options=>"-envxml_dir . -bgc bgc -ssp_rcp SSP5-3.4",
+ namelst=>"",
GLC_TWO_WAY_COUPLING=>"FALSE",
phys=>"clm5_0",
},
@@ -1000,6 +1307,16 @@ sub make_config_cache {
GLC_TWO_WAY_COUPLING=>"FALSE",
phys=>"clm4_5",
},
+ "FUN_wo_flexCN" =>{ options=>"-envxml_dir . -bgc bgc",
+ namelst=>"use_fun=.true.,use_flexiblecn=.false.",
+ GLC_TWO_WAY_COUPLING=>"FALSE",
+ phys=>"clm5_1",
+ },
+ "NotNEONbutNEONlightres" =>{ options=>"--res CLM_USRDAT --clm_usr_name regional --envxml_dir . --bgc bgc --light_res 106x174",
+ namelst=>"fsurdat='build-namelist_test.pl'",
+ GLC_TWO_WAY_COUPLING=>"FALSE",
+ phys=>"clm5_1",
+ },
);
foreach my $key ( keys(%warntest) ) {
print( "$key\n" );
@@ -1013,19 +1330,23 @@ sub make_config_cache {
# Now run with -ignore_warnings and make sure it works
$options .= " -ignore_warnings";
eval{ system( "$bldnml $options -namelist \"&clmexp $namelist /\" > $tempfile 2>&1 " ); };
+ is( $?, 0, $key );
is( $@, '', "$options" );
system( "cat $tempfile" );
}
+#
+# Loop over all physics versions
+#
+foreach my $phys ( "clm4_5", "clm5_0", "clm5_1" ) {
+$mode = "-phys $phys";
+&make_config_cache($phys);
print "\n==================================================\n";
-print "Test ALL resolutions with CLM5.0 and SP \n";
+print "Test ALL resolutions with SP\n";
print "==================================================\n";
# Check for ALL resolutions with CLM50SP
-$phys = "clm5_0";
-$mode = "-phys $phys";
-&make_config_cache($phys);
my $reslist = `../queryDefaultNamelist.pl -res list -s`;
my @resolutions = split( / /, $reslist );
my @regional;
@@ -1041,7 +1362,6 @@ sub make_config_cache {
# Resolutions for mksurfdata mapping
} elsif ( $res eq "0.5x0.5" ||
$res eq "0.25x0.25" ||
- $res eq "0.1x0.1" ||
$res eq "3x3min" ||
$res eq "5x5min" ||
$res eq "10x10min" ||
@@ -1055,12 +1375,18 @@ sub make_config_cache {
$res eq "ne4np4" ||
$res eq "2.5x3.33" ||
$res eq "0.23x0.31" ||
+ $res eq "0.47x0.63" ||
$res eq "94x192" ||
$res eq "8x16" ||
$res eq "32x64" ||
$res eq "128x256" ||
+ $res eq "360x720cru" ||
$res eq "512x1024" ) {
next;
+ # Resolutions not supported on release branch
+ } elsif ( $res eq "ne120np4" ||
+ $res eq "conus_30_x8" ) {
+ next;
}
&make_env_run();
@@ -1083,16 +1409,13 @@ sub make_config_cache {
}
print "\n==================================================\n";
-print " Test important resolutions for CLM4.5 and BGC\n";
+print " Test important resolutions for BGC\n";
print "==================================================\n";
-$phys = "clm4_5";
-$mode = "-phys $phys";
-&make_config_cache($phys);
-my @resolutions = ( "4x5", "10x15", "ne30np4", "ne120np4", "ne16np4", "1.9x2.5", "0.9x1.25" );
+my @resolutions = ( "4x5", "10x15", "ne30np4", "ne16np4", "1.9x2.5", "0.9x1.25" );
my @regional;
my $nlbgcmode = "bgc";
-my $mode = "clm45-$nlbgcmode";
+my $mode = "$phys-$nlbgcmode";
foreach my $res ( @resolutions ) {
chomp($res);
print "=== Test $res === \n";
@@ -1150,10 +1473,7 @@ sub make_config_cache {
print "==================================================\n";
# Check for crop resolutions
-$phys = "clm5_0";
-$mode = "-phys $phys";
-&make_config_cache($phys);
-my @crop_res = ( "1x1_numaIA", "1x1_smallvilleIA", "4x5", "10x15", "0.9x1.25", "1.9x2.5", "ne30np4", "ne120np4" );
+my @crop_res = ( "1x1_numaIA", "1x1_smallvilleIA", "4x5", "10x15", "0.9x1.25", "1.9x2.5", "ne30np4" );
foreach my $res ( @crop_res ) {
$options = "-bgc bgc -crop -res $res -envxml_dir .";
&make_env_run();
@@ -1186,21 +1506,29 @@ sub make_config_cache {
# use cases, but I've kept these pointing to the equivalent normal use
# cases; I'm not sure if it's actually important to test this with all
# of the different use cases.
-$phys = "clm4_5";
-$mode = "-phys $phys";
-&make_config_cache($phys);
-my @glc_res = ( "48x96", "0.9x1.25", "1.9x2.5" );
-my @use_cases = ( "1850-2100_rcp2.6_transient",
- "1850-2100_rcp4.5_transient",
- "1850-2100_rcp6_transient",
- "1850-2100_rcp8.5_transient",
+my @glc_res = ( "0.9x1.25", "1.9x2.5" );
+my @use_cases = ( "1850-2100_SSP1-2.6_transient",
+ "1850-2100_SSP2-4.5_transient",
+ "1850-2100_SSP3-7.0_transient",
+ "1850-2100_SSP5-8.5_transient",
"1850_control",
"2000_control",
+ "2010_control",
"20thC_transient",
);
foreach my $res ( @glc_res ) {
foreach my $usecase ( @usecases ) {
- $options = "-bgc bgc -res $res -use_case $usecase -envxml_dir . ";
+ my $startymd = undef;
+ if ( ($usecase eq "1850_control") || ($usecase eq "20thC_transient") ) {
+ $startymd = 18500101;
+ } elsif ( $usecase eq "2000_control") {
+ $startymd = 20000101;
+ } elsif ( $usecase eq "2010_control") {
+ $startymd = 20100101;
+ } else {
+ $startymd = 20150101;
+ }
+ $options = "-bgc bgc -res $res -use_case $usecase -envxml_dir . -namelist '&a start_ymd=$startymd/'";
&make_env_run();
eval{ system( "$bldnml $options > $tempfile 2>&1 " ); };
is( $@, '', "$options" );
@@ -1217,14 +1545,11 @@ sub make_config_cache {
}
}
# Transient 20th Century simulations
-$phys = "clm5_0";
-$mode = "-phys $phys";
-&make_config_cache($phys);
-my @tran_res = ( "48x96", "0.9x1.25", "1.9x2.5", "ne30np4", "ne120np4", "10x15" );
+my @tran_res = ( "0.9x1.25", "1.9x2.5", "ne30np4", "10x15" );
my $usecase = "20thC_transient";
my $GLC_NEC = 10;
foreach my $res ( @tran_res ) {
- $options = "-res $res -use_case $usecase -envxml_dir . ";
+ $options = "-res $res -use_case $usecase -envxml_dir . -namelist '&a start_ymd=18500101/' -bgc bgc -crop -namelist '&a do_grossunrep=T/'";
&make_env_run();
eval{ system( "$bldnml $options > $tempfile 2>&1 " ); };
is( $@, '', "$options" );
@@ -1240,14 +1565,18 @@ sub make_config_cache {
}
&cleanup();
}
-# Transient rcp scenarios
-$phys = "clm5_0";
-$mode = "-phys $phys";
-&make_config_cache($phys);
-my @tran_res = ( "48x96", "0.9x1.25", "1.9x2.5", "ne30np4", "10x15" );
-foreach my $usecase ( "1850_control", "1850-2100_rcp2.6_transient", "1850-2100_rcp4.5_transient", "1850-2100_rcp6_transient", "1850-2100_rcp8.5_transient" ) {
+# Transient ssp_rcp scenarios that work
+my @tran_res = ( "0.9x1.25", "1.9x2.5", "10x15" );
+foreach my $usecase ( "1850_control", "1850-2100_SSP5-8.5_transient", "1850-2100_SSP1-2.6_transient", "1850-2100_SSP3-7.0_transient",
+ "1850-2100_SSP2-4.5_transient" ) {
+ my $startymd = undef;
+ if ( $usecase eq "1850_control") {
+ $startymd = 18500101;
+ } else {
+ $startymd = 20150101;
+ }
foreach my $res ( @tran_res ) {
- $options = "-res $res -bgc bgc -crop -use_case $usecase -envxml_dir . ";
+ $options = "-res $res -bgc bgc -crop -use_case $usecase -envxml_dir . -namelist '&a start_ymd=$startymd/'";
&make_env_run();
eval{ system( "$bldnml $options > $tempfile 2>&1 " ); };
is( $@, '', "$options" );
@@ -1264,19 +1593,38 @@ sub make_config_cache {
&cleanup();
}
}
+} # End loop over all physics versions
+#
+# End loop over versions
+#
+
+# The SSP's that fail...
+$phys = "clm5_0";
+$mode = "-phys $phys";
+&make_config_cache($phys);
+my $res = "0.9x1.25";
+foreach my $usecase ( "1850-2100_SSP4-3.4_transient", "1850-2100_SSP5-3.4_transient", "1850-2100_SSP1-1.9_transient",
+ "1850-2100_SSP4-6.0_transient" ) {
+ $options = "-res $res -bgc bgc -crop -use_case $usecase -envxml_dir . -namelist '&a start_ymd=20150101/'";
+ &make_env_run();
+ eval{ system( "$bldnml $options > $tempfile 2>&1 " ); };
+ isnt( $?, 0, $usecase );
+ system( "cat $tempfile" );
+}
print "\n==================================================\n";
-print "Test clm4.5/clm5.0 resolutions \n";
+print "Test clm4.5/clm5.0/clm5_1 resolutions \n";
print "==================================================\n";
-foreach my $phys ( "clm4_5", 'clm5_0' ) {
+foreach my $phys ( "clm4_5", 'clm5_0', 'clm5_1' ) {
my $mode = "-phys $phys";
&make_config_cache($phys);
my @clmoptions = ( "-bgc bgc -envxml_dir .", "-bgc bgc -envxml_dir . -clm_accelerated_spinup=on", "-bgc bgc -envxml_dir . -light_res 360x720",
- "-bgc sp -envxml_dir . -vichydro", "-bgc bgc -dynamic_vegetation -ignore_warnings", "-bgc bgc -clm_demand flanduse_timeseries -sim_year 1850-2000",
+ "-bgc sp -envxml_dir . -vichydro", "-bgc bgc -dynamic_vegetation -ignore_warnings",
+ "-bgc bgc -clm_demand flanduse_timeseries -sim_year 1850-2000 -namelist '&a start_ymd=18500101/'",
"-bgc bgc -envxml_dir . -namelist '&a use_c13=.true.,use_c14=.true.,use_c14_bombspike=.true./'" );
foreach my $clmopts ( @clmoptions ) {
- my @clmres = ( "ne120np4", "10x15", "0.9x1.25", "1.9x2.5" );
+ my @clmres = ( "10x15", "0.9x1.25", "1.9x2.5" );
foreach my $res ( @clmres ) {
$options = "-res $res -envxml_dir . ";
&make_env_run( );
@@ -1294,10 +1642,10 @@ sub make_config_cache {
&cleanup();
}
}
- my @clmoptions = ( "-bgc bgc -envxml_dir .",
+ my @clmoptions = ( "-bgc bgc -envxml_dir .",
"-bgc sp -envxml_dir .", );
foreach my $clmopts ( @clmoptions ) {
- my @clmres = ( "ne16np4", "360x720cru" );
+ my @clmres = ( "ne16np4" );
foreach my $res ( @clmres ) {
$options = "-res $res -envxml_dir . ";
&make_env_run( );
@@ -1315,9 +1663,9 @@ sub make_config_cache {
&cleanup();
}
}
- my $clmopts = "-bgc cn -crop";
+ my $clmopts = "-bgc bgc -crop";
my $res = "1.9x2.5";
- $options = "-res $res -namelist '&a irrigate=.true./' -crop -bgc cn -envxml_dir .";
+ $options = "-res $res -namelist '&a irrigate=.true./' -crop -envxml_dir .";
&make_env_run();
eval{ system( "$bldnml $options $clmopts > $tempfile 2>&1 " ); };
is( $@, '', "$options $clmopts" );
@@ -1333,22 +1681,30 @@ sub make_config_cache {
&cleanup();
# Run FATES mode for several resolutions and configurations
my $clmoptions = "-bgc fates -envxml_dir . -no-megan";
- my @clmres = ( "1x1_brazil", "5x5_amazon", "10x15", "1.9x2.5" );
+ my @clmres = ( "1x1_brazil", "5x5_amazon", "4x5", "1.9x2.5" );
foreach my $res ( @clmres ) {
- $options = "-res $res";
- my @edoptions = ( "-use_case 2000_control", "", "-namelist \"&a use_lch4=.true.,use_nitrif_denitrif=.true./\"", "-clm_accelerated_spinup on" );
+ $options = "-res $res -clm_start_type cold";
+ my @edoptions = ( "-use_case 2000_control",
+ "-use_case 1850_control",
+ "",
+ "-namelist \"&a use_lch4=.true.,use_nitrif_denitrif=.true./\"",
+ "-clm_accelerated_spinup on"
+ );
foreach my $edop (@edoptions ) {
+ if ( $res eq "5x5_amazon" && ($edop =~ /1850_control/) ) {
+ next;
+ }
&make_env_run( );
eval{ system( "$bldnml $options $clmoptions $edop > $tempfile 2>&1 " ); };
is( $@, '', "$options $edop" );
- $cfiles->checkfilesexist( "$options $edop", $mode );
+ $cfiles->checkfilesexist( "$options $clmoptions $edop", $mode );
$cfiles->shownmldiff( "default", "standard" );
if ( defined($opts{'compare'}) ) {
- $cfiles->doNOTdodiffonfile( "$tempfile", "$options $edop", $mode );
- $cfiles->comparefiles( "$options $edop", $mode, $opts{'compare'} );
+ $cfiles->doNOTdodiffonfile( "$tempfile", "$options $clmoptions $edop", $mode );
+ $cfiles->comparefiles( "$options $clmoptions $edop", $mode, $opts{'compare'} );
}
if ( defined($opts{'generate'}) ) {
- $cfiles->copyfiles( "$options $edop", $mode );
+ $cfiles->copyfiles( "$options $clmoptions $edop", $mode );
}
&cleanup();
}
@@ -1360,10 +1716,16 @@ sub make_config_cache {
my $res = "0.9x1.25";
my $mask = "gx1v6";
my $simyr = "1850";
-foreach my $phys ( "clm4_5", 'clm5_0' ) {
+foreach my $phys ( "clm4_5", 'clm5_0', 'clm5_1' ) {
my $mode = "-phys $phys";
&make_config_cache($phys);
- foreach my $forc ( "CRUv7", "GSWP3v1", "cam6.0" ) {
+ my @forclist = ();
+ if ( $phys == "clm5_1" ) {
+ @forclist = ( "GSWP3v1" );
+ } else {
+ @forclist = ( "CRUv7", "GSWP3v1", "cam6.0" );
+ }
+ foreach my $forc ( @forclist ) {
foreach my $bgc ( "sp", "bgc" ) {
my $lndtuningmode = "${phys}_${forc}";
my $clmoptions = "-res $res -mask $mask -sim_year $simyr -envxml_dir . -lnd_tuning_mod $lndtuningmode -bgc $bgc";
@@ -1408,7 +1770,7 @@ sub cleanup {
system( "/bin/rm env_run.xml $real_par_file" );
if ( defined($type) ) {
if ( $type eq "config" ) {
- system( "/bin/rm Filepath config_cache.xml CESM_cppdefs" );
+ system( "/bin/rm config_cache.xml" );
}
} else {
system( "/bin/rm $tempfile *_in" );
diff --git a/bld/unit_testers/xFail/expectedFail.pm b/bld/unit_testers/xFail/expectedFail.pm
index 877d4a71ae..9feaa3e38b 100755
--- a/bld/unit_testers/xFail/expectedFail.pm
+++ b/bld/unit_testers/xFail/expectedFail.pm
@@ -428,7 +428,7 @@ sub _readXml
# Add $cfgdir to the list of paths that Perl searches for modules
my @dirs = ( $cfgdir, "$cfgdir/perl5lib",
"$cfgdir/../../cime/utils/perl5lib",
- "$cfgdir/../../../cime/utils/perl5lib"
+ "$cfgdir/../../../../cime/utils/perl5lib"
);
unshift @INC, @dirs;
my $result = eval "require XML::Lite";
diff --git a/test/tools/config_files/gen_domain b/cime_config/SystemTests/__init__.py
similarity index 100%
rename from test/tools/config_files/gen_domain
rename to cime_config/SystemTests/__init__.py
diff --git a/cime_config/SystemTests/fsurdatmodifyctsm.py b/cime_config/SystemTests/fsurdatmodifyctsm.py
new file mode 100644
index 0000000000..03e437d5c4
--- /dev/null
+++ b/cime_config/SystemTests/fsurdatmodifyctsm.py
@@ -0,0 +1,94 @@
+"""
+CTSM-specific test that first runs the fsurdat_modifier tool and then ensures
+that the CTSM does not fail using the just-generated modified fsurdat file
+"""
+
+import os
+import re
+from CIME.SystemTests.system_tests_common import SystemTestsCommon
+from CIME.XML.standard_module_setup import *
+from CIME.SystemTests.test_utils.user_nl_utils import append_to_user_nl_files
+
+# For calling fsurdat_modifier
+from argparse import Namespace
+
+_CTSM_PYTHON = os.path.join(
+ os.path.dirname(os.path.realpath(__file__)), os.pardir, os.pardir, "python"
+)
+sys.path.insert(1, _CTSM_PYTHON)
+
+logger = logging.getLogger(__name__)
+
+
+class FSURDATMODIFYCTSM(SystemTestsCommon):
+ def __init__(self, case):
+ """
+ initialize an object interface to the SMS system test
+ """
+ SystemTestsCommon.__init__(self, case)
+
+ if not os.path.exists(
+ os.path.join(self._get_caseroot(), "done_FSURDATMODIFYCTSM_setup.txt")
+ ):
+ # Create out-of-the-box lnd_in to obtain fsurdat_in
+ case.create_namelists(component="lnd")
+ # If fsurdat_in does not exist, download it from the server
+ case.check_all_input_data()
+
+ lnd_in_path = os.path.join(self._get_caseroot(), "CaseDocs/lnd_in")
+ with open(lnd_in_path, "r") as lnd_in:
+ for line in lnd_in:
+ fsurdat_in = re.match(r" *fsurdat *= *'(.*)'", line)
+ if fsurdat_in:
+ self._fsurdat_in = fsurdat_in.group(1)
+ break
+
+ self._fsurdat_out = os.path.join(self._get_caseroot(), "fsurdat.nc")
+ self._ctsm_root = self._case.get_value("COMP_ROOT_DIR_LND")
+ self._cfg_file_path = os.path.join(self._get_caseroot(), "modify_fsurdat.cfg")
+
+ logger.info(" create config file to modify")
+ self._create_config_file()
+ logger.info(" run modify_fsurdat")
+ self._run_modify_fsurdat()
+ logger.info(" modify user_nl files")
+ self._modify_user_nl()
+ with open("done_FSURDATMODIFYCTSM_setup.txt", "w") as fp:
+ pass
+
+ def _create_config_file(self):
+ cfg_template_path = os.path.join(
+ self._ctsm_root, "tools/modify_input_files/modify_fsurdat_template.cfg"
+ )
+
+ with open(self._cfg_file_path, "w") as cfg_out:
+ with open(cfg_template_path, "r") as cfg_in:
+ for line in cfg_in:
+ if re.match(r" *fsurdat_in *=", line):
+ line = "fsurdat_in = {}".format(self._fsurdat_in)
+ elif re.match(r" *fsurdat_out *=", line):
+ line = "fsurdat_out = {}".format(self._fsurdat_out)
+ elif re.match(r" *idealized *=", line):
+ line = "idealized = True"
+ cfg_out.write(line)
+
+ def _run_modify_fsurdat(self):
+ fsurdat_modifier_args = Namespace(
+ cfg_path=self._cfg_file_path,
+ debug=False,
+ fsurdat_in="UNSET",
+ fsurdat_out="UNSET",
+ overwrite=False,
+ silent=False,
+ verbose=False,
+ )
+ from ctsm.modify_input_files.fsurdat_modifier import fsurdat_modifier
+
+ fsurdat_modifier(fsurdat_modifier_args)
+
+ def _modify_user_nl(self):
+ append_to_user_nl_files(
+ caseroot=self._get_caseroot(),
+ component="clm",
+ contents="fsurdat = '{}'".format(self._fsurdat_out),
+ )
diff --git a/cime_config/SystemTests/funitctsm.py b/cime_config/SystemTests/funitctsm.py
index 8634a74c2f..783e5b5d85 100644
--- a/cime_config/SystemTests/funitctsm.py
+++ b/cime_config/SystemTests/funitctsm.py
@@ -14,8 +14,8 @@
logger = logging.getLogger(__name__)
-class FUNITCTSM(FUNIT):
+class FUNITCTSM(FUNIT):
def __init__(self, case):
FUNIT.__init__(self, case)
diff --git a/cime_config/SystemTests/lciso.py b/cime_config/SystemTests/lciso.py
index e79af2886b..a9edba8e80 100644
--- a/cime_config/SystemTests/lciso.py
+++ b/cime_config/SystemTests/lciso.py
@@ -14,23 +14,28 @@
logger = logging.getLogger(__name__)
-class LCISO(SystemTestsCompareTwo):
+class LCISO(SystemTestsCompareTwo):
def __init__(self, case):
- SystemTestsCompareTwo.__init__(self, case,
- separate_builds = False,
- run_two_suffix = 'cisoallon',
- run_one_description = 'carbon isotopes off',
- run_two_description = 'c13 and c14 isotopes on as well as C isotope time series',
- ignore_fieldlist_diffs = True)
+ self.comp = case.get_value("COMP_LND")
+ SystemTestsCompareTwo.__init__(
+ self,
+ case,
+ separate_builds=False,
+ run_two_suffix="cisoallon",
+ run_one_description="carbon isotopes off",
+ run_two_description="c13 and c14 isotopes on as well as C isotope time series",
+ ignore_fieldlist_diffs=True,
+ )
def _case_one_setup(self):
- append_to_user_nl_files(caseroot = self._get_caseroot(),
- component = "clm",
- contents = "use_c13=F, use_c14=F")
+ append_to_user_nl_files(
+ caseroot=self._get_caseroot(), component=self.comp, contents="use_c13=F, use_c14=F"
+ )
def _case_two_setup(self):
- append_to_user_nl_files(caseroot = self._get_caseroot(),
- component = "clm",
- contents = "use_c13=.true.,use_c14=.true.,use_c13_timeseries=.true.,use_c14_bombspike=.true." )
-
+ append_to_user_nl_files(
+ caseroot=self._get_caseroot(),
+ component=self.comp,
+ contents="use_c13=.true.,use_c14=.true.,use_c13_timeseries=.true.,use_c14_bombspike=.true.",
+ )
diff --git a/cime_config/SystemTests/lgrain2.py b/cime_config/SystemTests/lgrain2.py
new file mode 100644
index 0000000000..f4e19ad930
--- /dev/null
+++ b/cime_config/SystemTests/lgrain2.py
@@ -0,0 +1,47 @@
+"""
+Implementation of the CIME LGRAIN2 (Land 2-grain-pool) test.
+
+This is a CTSM specific test: Verifies that we can allocate and use a second grain pool,
+and that answers are identical to a run with a single grain pool. This is useful until we
+have tests that include AgSys, which will exercise this capability more completely.
+
+(1) do a run with a second grain pool
+(2) do a standard run only a single grain pool
+
+The reason for having the second grain pool in the first case (rather than the other way
+around) is that this results in having a few extra fields present in the baselines.
+
+"""
+
+from CIME.SystemTests.system_tests_compare_two import SystemTestsCompareTwo
+from CIME.XML.standard_module_setup import *
+from CIME.SystemTests.test_utils.user_nl_utils import append_to_user_nl_files
+
+logger = logging.getLogger(__name__)
+
+
+class LGRAIN2(SystemTestsCompareTwo):
+ def __init__(self, case):
+ SystemTestsCompareTwo.__init__(
+ self,
+ case,
+ separate_builds=False,
+ run_two_suffix="grain1",
+ run_one_description="use a second grain pool",
+ run_two_description="use a single grain pool",
+ ignore_fieldlist_diffs=True,
+ )
+
+ def _case_one_setup(self):
+ append_to_user_nl_files(
+ caseroot=self._get_caseroot(),
+ component="clm",
+ contents="for_testing_use_second_grain_pool=.true.",
+ )
+
+ def _case_two_setup(self):
+ append_to_user_nl_files(
+ caseroot=self._get_caseroot(),
+ component="clm",
+ contents="for_testing_use_second_grain_pool=.false.",
+ )
diff --git a/cime_config/SystemTests/lii.py b/cime_config/SystemTests/lii.py
index 0bf371ee9a..de274256a3 100644
--- a/cime_config/SystemTests/lii.py
+++ b/cime_config/SystemTests/lii.py
@@ -1,5 +1,4 @@
-"""
-Implementation of the CIME LII test.
+"""Implementation of the CIME LII test.
This is a CLM specific test:
Verifies that interpolation of initial conditions onto an identical
@@ -23,10 +22,11 @@
(2) Copy the finidat_interp_dest.nc file from the 'base' case to the inputdata
space. Rename this to be similar to the name of the file pointed to in this
-test's user_nl_clm file, but with a new creation date.
+test's user_nl_ctsm file, but with a new creation date.
-(3) Update this test's user_nl_clm file (in the appropriate testmods directory)
-to point to the new finidat file.
+(3) Update this test's user_nl_ctsm file (in the appropriate testmods directory, or in
+namelist_defaults if the test is using an out-of-the-box initial conditions file and it is
+acceptable to update that file) to point to the new finidat file.
"""
from CIME.SystemTests.system_tests_compare_two import SystemTestsCompareTwo
@@ -35,22 +35,24 @@
logger = logging.getLogger(__name__)
-class LII(SystemTestsCompareTwo):
+class LII(SystemTestsCompareTwo):
def __init__(self, case):
- SystemTestsCompareTwo.__init__(self, case,
- separate_builds = False,
- run_two_suffix = 'no_interp',
- run_one_description = 'use_init_interp set to true',
- run_two_description = 'use_init_interp set to false')
+ SystemTestsCompareTwo.__init__(
+ self,
+ case,
+ separate_builds=False,
+ run_two_suffix="no_interp",
+ run_one_description="use_init_interp set to true",
+ run_two_description="use_init_interp set to false",
+ )
def _case_one_setup(self):
- append_to_user_nl_files(caseroot = self._get_caseroot(),
- component = "clm",
- contents = "use_init_interp = .true.")
+ append_to_user_nl_files(
+ caseroot=self._get_caseroot(), component="clm", contents="use_init_interp = .true."
+ )
def _case_two_setup(self):
- append_to_user_nl_files(caseroot = self._get_caseroot(),
- component = "clm",
- contents = "use_init_interp = .false.")
-
+ append_to_user_nl_files(
+ caseroot=self._get_caseroot(), component="clm", contents="use_init_interp = .false."
+ )
diff --git a/cime_config/SystemTests/lii2finidatareas.py b/cime_config/SystemTests/lii2finidatareas.py
index 21ba082fff..337e46bf39 100644
--- a/cime_config/SystemTests/lii2finidatareas.py
+++ b/cime_config/SystemTests/lii2finidatareas.py
@@ -1,17 +1,11 @@
-"""
-Implementation of the LII2FINIDATAREAS test.
+"""Implementation of the LII2FINIDATAREAS test.
This is similar to the LII test, but tests init_interp with mode
'use_finidat_areas'.
-As with the standard LII test, this must be used in a configuration for
-which we have a compatible out-of-the-box finidat file (so that the run
-with use_init_interp = .false. runs successfully). In constrast to our
-standard LII test (which uses glcMEC_spunup_1way), this one can use a
-standard CISM2%NOEVOLVE configuration: we do *not* need to set
-GLC_TWO_WAY_COUPLING=FALSE; in fact, it's a better test if we have
-GLC_TWO_WAY_COUPLING=TRUE: with this mode of operation, areas should
-match between the two runs.
+As with the standard LII test, this must be used in a configuration for which we have a
+compatible out-of-the-box finidat file (so that the run with use_init_interp =
+.false. runs successfully).
It may not be totally necessary to have a system test covering this
init_interp_method: between unit tests and inline checks, we have quite
@@ -41,7 +35,7 @@
(3) Update namelist defaults to point to the new finidat file. If
updating the out-of-the-box file is not desired, then you could instead
-point to this new finidat file with a user_nl_clm file in this testmod.
+point to this new finidat file with a user_nl_ctsm file in this testmod.
"""
from CIME.XML.standard_module_setup import *
@@ -64,13 +58,15 @@
logger = logging.getLogger(__name__)
-class LII2FINIDATAREAS(LII):
+class LII2FINIDATAREAS(LII):
def __init__(self, case):
super(LII2FINIDATAREAS, self).__init__(case)
def _case_one_setup(self):
super(LII2FINIDATAREAS, self)._case_one_setup()
- append_to_user_nl_files(caseroot = self._get_caseroot(),
- component = "clm",
- contents = "init_interp_method = 'use_finidat_areas'")
+ append_to_user_nl_files(
+ caseroot=self._get_caseroot(),
+ component="clm",
+ contents="init_interp_method = 'use_finidat_areas'",
+ )
diff --git a/cime_config/SystemTests/lilacsmoke.py b/cime_config/SystemTests/lilacsmoke.py
new file mode 100644
index 0000000000..66a94068da
--- /dev/null
+++ b/cime_config/SystemTests/lilacsmoke.py
@@ -0,0 +1,438 @@
+"""Implementation of the CIME LILACSMOKE (LILAC smoke) test.
+
+This is a CTSM-specific test. It tests the building and running of CTSM via LILAC. Compset
+is ignored, but grid is important. Also, it's important that this test use the nuopc
+driver, both for the sake of the build and for extracting some runtime settings. This test
+should also use the lilac testmod (or a testmod that derives from it) in order to
+establish the user_nl_ctsm file correctly.
+
+Important directories under CASEROOT are:
+- lilac_build: this contains the build and the runtime inputs for the lilac run
+- lilac_atm_driver: this contains the build of the test driver as well as the run
+ directory in which the test is actually run
+
+Note that namelists for this test are generated in the build phase; they are NOT
+regenerated when the test is submitted / run. This means that, if you have made any
+changes that will impact namelists, you will need to rebuild this test.
+
+Note that this test is tied to a specific resolution (10x15) and has a hard-coded domain
+file for this resolution: see the setting of lnd_domain_file below.
+
+"""
+
+import glob
+import os
+import shutil
+
+from CIME.SystemTests.system_tests_common import SystemTestsCommon
+from CIME.utils import run_cmd, run_cmd_no_fail, symlink_force, new_lid, safe_copy, append_testlog
+from CIME.build import post_build
+from CIME.test_status import (
+ NAMELIST_PHASE,
+ GENERATE_PHASE,
+ BASELINE_PHASE,
+ TEST_PASS_STATUS,
+ TEST_FAIL_STATUS,
+)
+from CIME.XML.standard_module_setup import *
+
+logger = logging.getLogger(__name__)
+
+_LILAC_RUNTIME_FILES = ["lnd_in", "lnd_modelio.nml", "lilac_in"]
+
+
+class LILACSMOKE(SystemTestsCommon):
+ def __init__(self, case):
+ SystemTestsCommon.__init__(self, case)
+
+ def build_phase(self, sharedlib_only=False, model_only=False):
+ if not sharedlib_only:
+ lndroot = self._case.get_value("COMP_ROOT_DIR_LND")
+ exeroot = self._case.get_value("EXEROOT")
+ build_dir = self._lilac_build_dir()
+ script_path = os.path.abspath(os.path.join(lndroot, "lilac", "build_ctsm"))
+
+ # We only run the initial build command if the build_dir doesn't exist
+ # yet. This is to support rebuilding the test case. (The first time through,
+ # the build_dir won't exist yet; subsequent times, it will already exist, so
+ # we skip to the rebuild command.)
+ if not os.path.isdir(build_dir):
+ machine = self._case.get_value("MACH")
+ compiler = self._case.get_value("COMPILER")
+ debug = self._case.get_value("DEBUG")
+ # It would be possible to do this testing via the python interface rather
+ # than through a separate subprocess. However, we do it through a
+ # subprocess in order to test the full build_ctsm script, including
+ # command-line parsing.
+ cmd = "{script_path} {build_dir} --machine {machine} --compiler {compiler}".format(
+ script_path=script_path, build_dir=build_dir, machine=machine, compiler=compiler
+ )
+ # It isn't straightforward to determine if pnetcdf is available on a
+ # machine. To keep things simple, always run without pnetcdf.
+ cmd += " --no-pnetcdf"
+ if debug:
+ cmd += " --build-debug"
+ self._run_build_cmd(cmd, exeroot, "build_ctsm.bldlog")
+
+ # We call the build script with --rebuild even for an initial build. This is
+ # so we make sure to test the code path for --rebuild. (This is also needed if
+ # the user rebuilds the test case, in which case this will be the only command
+ # run, since the build_dir will already exist.)
+ cmd = "{script_path} {build_dir} --rebuild".format(
+ script_path=script_path, build_dir=build_dir
+ )
+ self._run_build_cmd(cmd, exeroot, "rebuild_ctsm.bldlog")
+
+ self._build_atm_driver()
+
+ self._create_link_to_atm_driver()
+
+ self._create_runtime_inputs()
+
+ self._setup_atm_driver_rundir()
+
+ self._cmpgen_namelists()
+
+ # Setting logs=[] implies that we don't bother gzipping any of the build log
+ # files; that seems fine for these purposes (and it keeps the above code
+ # simpler).
+ post_build(self._case, logs=[], build_complete=True)
+
+ def _build_atm_driver(self):
+ caseroot = self._case.get_value("CASEROOT")
+ lndroot = self._case.get_value("COMP_ROOT_DIR_LND")
+ blddir = os.path.join(caseroot, "lilac_atm_driver", "bld")
+
+ if not os.path.exists(blddir):
+ os.makedirs(blddir)
+ symlink_force(
+ os.path.join(lndroot, "lilac", "atm_driver", "Makefile"),
+ os.path.join(blddir, "Makefile"),
+ )
+ symlink_force(
+ os.path.join(lndroot, "lilac", "atm_driver", "atm_driver.F90"),
+ os.path.join(blddir, "atm_driver.F90"),
+ )
+ symlink_force(
+ os.path.join(self._lilac_build_dir(), "case", "Macros.make"),
+ os.path.join(blddir, "Macros.make"),
+ )
+
+ makevars = "COMPILER={compiler} DEBUG={debug} CTSM_MKFILE={ctsm_mkfile}".format(
+ compiler=self._case.get_value("COMPILER"),
+ debug=str(self._case.get_value("DEBUG")).upper(),
+ ctsm_mkfile=os.path.join(self._lilac_build_dir(), "ctsm.mk"),
+ )
+ makecmd = "make {makevars} atm_driver".format(makevars=makevars)
+
+ # Normally the user will source either ctsm_build_environment.sh or
+ # ctsm_build_environment.csh before building the atmosphere model. In the context
+ # of this test case, case.load_env does the equivalent.
+ self._case.load_env()
+
+ self._run_build_cmd(makecmd, blddir, "atm_driver.bldlog")
+
+ def _create_link_to_atm_driver(self):
+ caseroot = self._case.get_value("CASEROOT")
+ run_exe = (self._case.get_value("run_exe")).strip()
+
+ # Make a symlink to the atm_driver executable so that the case's run command finds
+ # it in the expected location
+ symlink_force(os.path.join(caseroot, "lilac_atm_driver", "bld", "atm_driver.exe"), run_exe)
+
+ def _create_runtime_inputs(self):
+ caseroot = self._case.get_value("CASEROOT")
+ runtime_inputs = self._runtime_inputs_dir()
+
+ # NOTE: *** this test is currently tied to this single 10x15 grid resolution ***
+ lnd_grid = self._case.get_value("LND_GRID")
+ expect(
+ lnd_grid == "10x15", "this test is currently tied to this single 10x15 grid resolution"
+ )
+ lnd_domain_file = os.path.join(
+ self._case.get_value("DIN_LOC_ROOT"),
+ "share",
+ "domains",
+ "domain.lnd.fv10x15_gx3v7.180321.nc",
+ )
+
+ # Cheat a bit here: Get the fsurdat file from the already-generated lnd_in file in
+ # the host test case - i.e., from the standard cime-based preview_namelists. But
+ # this isn't really a morally-objectionable cheat, because in the real workflow,
+ # we expect the user to identify fsurdat manually; in this testing situation, we
+ # need to come up with some way to replace this manual identification, so cheating
+ # feels acceptable.
+ self._case.create_namelists(component="lnd")
+ fsurdat = self._extract_var_from_namelist(
+ nl_filename=os.path.join(caseroot, "CaseDocs", "lnd_in"), varname="fsurdat"
+ )
+
+ self._fill_in_variables_in_file(
+ filepath=os.path.join(runtime_inputs, "ctsm.cfg"),
+ replacements={"lnd_domain_file": lnd_domain_file, "fsurdat": fsurdat},
+ )
+
+ # The user_nl_ctsm in the case directory is set up based on the standard testmods
+ # mechanism. We use that one in place of the standard user_nl_ctsm, since the one
+ # in the case directory may contain test-specific modifications.
+ shutil.copyfile(
+ src=os.path.join(caseroot, "user_nl_ctsm"),
+ dst=os.path.join(runtime_inputs, "user_nl_ctsm"),
+ )
+
+ script_to_run = os.path.join(runtime_inputs, "make_runtime_inputs")
+ self._run_build_cmd(
+ "{} --rundir {}".format(script_to_run, runtime_inputs),
+ runtime_inputs,
+ "make_runtime_inputs.log",
+ )
+
+ # In lilac_in, we intentionally use the land mesh file for both atm_mesh_filename
+ # and lnd_mesh_filename
+ lnd_mesh = self._case.get_value("LND_DOMAIN_MESH")
+ casename = self._case.get_value("CASE")
+ self._fill_in_variables_in_file(
+ filepath=os.path.join(runtime_inputs, "lilac_in"),
+ replacements={
+ "caseid": casename,
+ "atm_mesh_filename": lnd_mesh,
+ "lnd_mesh_filename": lnd_mesh,
+ "lilac_histfreq_option": "ndays",
+ },
+ placeholders={"caseid": "ctsm_lilac", "lilac_histfreq_option": "never"},
+ )
+
+ # We run download_input_data partly because it may be needed and partly to test
+ # this script.
+ script_to_run = os.path.join(runtime_inputs, "download_input_data")
+ self._run_build_cmd(
+ "{} --rundir {}".format(script_to_run, runtime_inputs),
+ runtime_inputs,
+ "download_input_data.log",
+ )
+
+ def _setup_atm_driver_rundir(self):
+ """Set up the directory from which we will actually do the run"""
+ lndroot = self._case.get_value("COMP_ROOT_DIR_LND")
+ rundir = self._atm_driver_rundir()
+
+ if not os.path.exists(rundir):
+ os.makedirs(rundir)
+ shutil.copyfile(
+ src=os.path.join(lndroot, "lilac", "atm_driver", "atm_driver_in"),
+ dst=os.path.join(rundir, "atm_driver_in"),
+ )
+
+ # As elsewhere: assume the land variables also apply to the atmosphere
+ lnd_mesh = self._case.get_value("LND_DOMAIN_MESH")
+ lnd_nx = self._case.get_value("LND_NX")
+ lnd_ny = self._case.get_value("LND_NY")
+ expect(
+ self._case.get_value("STOP_OPTION") == "ndays",
+ "LILAC testing currently assumes STOP_OPTION of ndays, not {}".format(
+ self._case.get_value("STOP_OPTION")
+ ),
+ )
+ stop_n = self._case.get_value("STOP_N")
+ casename = self._case.get_value("CASE")
+ self._fill_in_variables_in_file(
+ filepath=os.path.join(rundir, "atm_driver_in"),
+ replacements={
+ "caseid": casename,
+ "atm_mesh_file": lnd_mesh,
+ "atm_global_nx": str(lnd_nx),
+ "atm_global_ny": str(lnd_ny),
+ "atm_stop_day": str(stop_n + 1),
+ "atm_ndays_all_segs": str(stop_n),
+ },
+ )
+
+ for file_to_link in _LILAC_RUNTIME_FILES:
+ symlink_force(
+ os.path.join(self._runtime_inputs_dir(), file_to_link),
+ os.path.join(rundir, file_to_link),
+ )
+
+ init_generated_files_dir = os.path.join(rundir, "init_generated_files")
+ if not os.path.exists(init_generated_files_dir):
+ os.mkdir(init_generated_files_dir)
+
+ def _cmpgen_namelists(self):
+ """Redoes the namelist comparison & generation with appropriate namelists
+
+ The standard namelist comparison & generation is done with the CaseDocs directory
+ from the test case. That isn't appropriate here, because those namelists aren't
+ actually used in this test. Instead, we want to compare & generate the namelists
+ used by the atm_driver-lilac-ctsm execution. Here, we do some file copies and then
+ re-call the namelist comparison & generation script in order to accomplish
+ this. This will overwrite the namelists generated earlier in the test, and will
+ also replace the results of the NLCOMP phase.
+
+ Note that we expect a failure in the NLCOMP phase that is run earlier in the test,
+ because that one will have compared the test's standard CaseDocs with the files
+ generated from here - and those two sets of namelists can be quite different.
+ """
+ caseroot = self._case.get_value("CASEROOT")
+ casedocs = os.path.join(caseroot, "CaseDocs")
+ if os.path.exists(casedocs):
+ shutil.rmtree(casedocs)
+ os.makedirs(casedocs)
+
+ # case_cmpgen_namelists uses the existence of drv_in to decide whether namelists
+ # need to be regenerated. We do NOT want it to regenerate namelists, so we give it
+ # the file it wants.
+ with open(os.path.join(casedocs, "drv_in"), "a") as drv_in:
+ pass
+
+ for onefile in _LILAC_RUNTIME_FILES + ["atm_driver_in"]:
+ safe_copy(
+ os.path.join(self._atm_driver_rundir(), onefile), os.path.join(casedocs, onefile)
+ )
+
+ success = self._case.case_cmpgen_namelists()
+ # The setting of the NLCOMP phase status in case_cmpgen_namelists doesn't work
+ # here (probably because the test object has a saved version of the test status
+ # and so, when it goes to write the status of the build phase, it ends up
+ # overwriting whatever was set by case_cmpgen_namelists). So we need to set it
+ # here.
+ with self._test_status:
+ self._test_status.set_status(
+ NAMELIST_PHASE,
+ TEST_PASS_STATUS if success else TEST_FAIL_STATUS,
+ comments="(used lilac namelists)",
+ )
+
+ def _extract_var_from_namelist(self, nl_filename, varname):
+ """Tries to find a variable named varname in the given file; returns its value
+
+ If not found, aborts
+ """
+ with open(nl_filename) as nl_file:
+ for line in nl_file:
+ match = re.search(r'^ *{} *= *[\'"]([^\'"]+)'.format(varname), line)
+ if match:
+ return match.group(1)
+ expect(False, "{} not found in {}".format(varname, nl_filename))
+
+ def _fill_in_variables_in_file(self, filepath, replacements, placeholders=None):
+ """For the given file, make the given replacements
+
+ replacements should be a dictionary mapping variable names to their values
+
+ If placeholders is given, it should be a dictionary mapping some subset of
+ variable names to their placeholders. Anything not given here uses a placeholder
+ of 'FILL_THIS_IN'.
+ """
+ if placeholders is None:
+ placeholders = {}
+
+ orig_filepath = "{}.orig".format(filepath)
+ if not os.path.exists(orig_filepath):
+ shutil.copyfile(src=filepath, dst=orig_filepath)
+ os.remove(filepath)
+
+ counts = dict.fromkeys(replacements, 0)
+ with open(orig_filepath) as orig_file:
+ with open(filepath, "w") as new_file:
+ for orig_line in orig_file:
+ line = orig_line
+ for varname in replacements:
+ if varname in placeholders:
+ this_placeholder = placeholders[varname]
+ else:
+ this_placeholder = "FILL_THIS_IN"
+ line, replacement_done = self._fill_in_variable(
+ line=line,
+ varname=varname,
+ value=replacements[varname],
+ placeholder=this_placeholder,
+ )
+ if replacement_done:
+ counts[varname] += 1
+ break
+ new_file.write(line)
+
+ for varname in counts:
+ expect(
+ counts[varname] > 0,
+ "Did not find any instances of <{}> to replace in {}".format(varname, filepath),
+ )
+
+ def _fill_in_variable(self, line, varname, value, placeholder):
+ """Fill in a placeholder variable in a config or namelist file
+
+ Returns a tuple: (newline, replacement_done)
+ - newline is the line with the given placeholder replaced with the given value if this
+ line is for varname; otherwise returns line unchanged
+ - replacement_done is True if the replacement was done, otherwise False
+ """
+ if re.search(r"^ *{} *=".format(varname), line):
+ expect(
+ placeholder in line,
+ "Placeholder to replace ({}) not found in <{}>".format(placeholder, line.strip()),
+ )
+ newline = line.replace(placeholder, value)
+ replacement_done = True
+ else:
+ newline = line
+ replacement_done = False
+ return (newline, replacement_done)
+
+ def _lilac_build_dir(self):
+ return os.path.join(self._case.get_value("CASEROOT"), "lilac_build")
+
+ def _runtime_inputs_dir(self):
+ return os.path.join(self._lilac_build_dir(), "runtime_inputs")
+
+ def _atm_driver_rundir(self):
+ return os.path.join(self._case.get_value("CASEROOT"), "lilac_atm_driver", "run")
+
+ @staticmethod
+ def _run_build_cmd(cmd, exeroot, logfile):
+ """
+ Runs the given build command, with output to the given logfile
+
+ Args:
+ cmd: str (command to run)
+ exeroot: str (path to exeroot)
+ logfile: str (path to logfile)
+ """
+ append_testlog(cmd)
+ run_cmd_no_fail(cmd, arg_stdout=logfile, combine_output=True, from_dir=exeroot)
+ with open(os.path.join(exeroot, logfile)) as lf:
+ append_testlog(lf.read())
+
+ def run_phase(self):
+ # This mimics a bit of what's done in the typical case.run. Note that
+ # case.get_mpirun_cmd creates a command that runs the executable given by
+ # case.run_exe. So it's important that (elsewhere in this test script) we create a
+ # link pointing from that to the atm_driver.exe executable.
+ lid = new_lid()
+ os.environ["OMP_NUM_THREADS"] = str(self._case.thread_count)
+ cmd = self._case.get_mpirun_cmd(allow_unresolved_envvars=False)
+ run_cmd_no_fail(cmd, from_dir=self._atm_driver_rundir())
+
+ self._link_to_output_files()
+
+ def _link_to_output_files(self):
+ """Make links to the output files so that they appear in the directory expected by the test case
+
+ Note: We do the run from a different directory in order to ensure that the run
+ isn't using any of the files that are staged by the test case in the standard run
+ directory. But then we need to create these links afterwards for the sake of
+ baseline generation / comparison.
+ """
+ casename = self._case.get_value("CASE")
+ rundir = self._case.get_value("RUNDIR")
+ pattern = "{}*.nc".format(casename)
+
+ # First remove any old files from the run directory
+ old_files = glob.glob(os.path.join(rundir, pattern))
+ for one_file in old_files:
+ os.remove(one_file)
+
+ # Now link to new files
+ output_files = glob.glob(os.path.join(self._atm_driver_rundir(), pattern))
+ for one_file in output_files:
+ file_basename = os.path.basename(one_file)
+ symlink_force(one_file, os.path.join(rundir, file_basename))
diff --git a/cime_config/SystemTests/lreprstruct.py b/cime_config/SystemTests/lreprstruct.py
new file mode 100644
index 0000000000..a03fb1815b
--- /dev/null
+++ b/cime_config/SystemTests/lreprstruct.py
@@ -0,0 +1,75 @@
+"""
+Implementation of the CIME LREPRSTRUCT (Land Reproductive Structure) test.
+
+This is a CTSM specific test: Verifies that we can allocate and use a crop reproductive
+structure pool, and that answers are identical to a run with a single reproductive grain
+pool. This is useful until we have tests that include AgSys, which will exercise this
+capability more completely.
+
+(1) do a run with a second grain pool and two reproductive structure pools, with all
+ allocation going to the second reproductive structure pool
+(2) do a standard run only a single grain pool, but with no crop seed replenishment
+
+The reason for having the new reproductive structure pools in the first case (rather than
+the other way around) is that this results in having a few extra fields present in the
+baselines.
+
+"""
+
+from CIME.SystemTests.system_tests_compare_two import SystemTestsCompareTwo
+from CIME.XML.standard_module_setup import *
+from CIME.SystemTests.test_utils.user_nl_utils import append_to_user_nl_files
+
+logger = logging.getLogger(__name__)
+
+
+class LREPRSTRUCT(SystemTestsCompareTwo):
+ def __init__(self, case):
+ SystemTestsCompareTwo.__init__(
+ self,
+ case,
+ separate_builds=False,
+ run_two_suffix="grain1",
+ run_one_description="use a reproductive structure pool",
+ run_two_description="use a single grain pool",
+ ignore_fieldlist_diffs=True,
+ )
+
+ def _case_one_setup(self):
+ # We don't really need a second grain pool for this test, but we might as well do
+ # this to further exercise the looping over different reproductive components.
+ append_to_user_nl_files(
+ caseroot=self._get_caseroot(),
+ component="clm",
+ contents="for_testing_use_second_grain_pool=.true.",
+ )
+ append_to_user_nl_files(
+ caseroot=self._get_caseroot(),
+ component="clm",
+ contents="for_testing_use_repr_structure_pool=.true.",
+ )
+
+ # Replace any GRAIN outputs with the same outputs for REPRODUCTIVE1 and REPRODUCTIVE2
+ user_nl_clm_path = os.path.join(self._get_caseroot(), "user_nl_clm")
+ with open(user_nl_clm_path) as f:
+ user_nl_clm_text = f.read()
+ for grain_output in re.findall("GRAIN\w*", user_nl_clm_text):
+ user_nl_clm_text = user_nl_clm_text.replace(
+ grain_output,
+ grain_output.replace("GRAIN", "REPRODUCTIVE1")
+ + "', '"
+ + grain_output.replace("GRAIN", "REPRODUCTIVE2"),
+ )
+ with open(user_nl_clm_path, "w") as f:
+ f.write(user_nl_clm_text)
+
+ def _case_two_setup(self):
+ # This is needed in the nearly-standard case to prevent grain from being used to
+ # replenish crop seed deficits, thus making grain act like the reproductive
+ # structure pools. (It wouldn't hurt to do this in case one as well, but it
+ # shouldn't be needed there, since we shouldn't have any grain there anyway.)
+ append_to_user_nl_files(
+ caseroot=self._get_caseroot(),
+ component="clm",
+ contents="for_testing_no_crop_seed_replenishment=.true.",
+ )
diff --git a/cime_config/SystemTests/lvg.py b/cime_config/SystemTests/lvg.py
index 36fae196b2..4b990313f5 100644
--- a/cime_config/SystemTests/lvg.py
+++ b/cime_config/SystemTests/lvg.py
@@ -16,22 +16,28 @@
logger = logging.getLogger(__name__)
-class LVG(SystemTestsCompareTwo):
+class LVG(SystemTestsCompareTwo):
def __init__(self, case):
- SystemTestsCompareTwo.__init__(self, case,
- separate_builds = False,
- run_two_suffix = 'more_virtual',
- run_one_description = 'standard set of virtual columns',
- run_two_description = 'add virtual columns over Antarctica')
+ SystemTestsCompareTwo.__init__(
+ self,
+ case,
+ separate_builds=False,
+ run_two_suffix="more_virtual",
+ run_one_description="standard set of virtual columns",
+ run_two_description="add virtual columns over Antarctica",
+ )
def _case_one_setup(self):
- append_to_user_nl_files(caseroot = self._get_caseroot(),
- component = "clm",
- contents = "glacier_region_behavior = 'single_at_atm_topo', 'virtual', 'virtual', 'multiple'")
+ append_to_user_nl_files(
+ caseroot=self._get_caseroot(),
+ component="clm",
+ contents="glacier_region_behavior = 'single_at_atm_topo', 'virtual', 'virtual', 'multiple'",
+ )
def _case_two_setup(self):
- append_to_user_nl_files(caseroot = self._get_caseroot(),
- component = "clm",
- contents = "glacier_region_behavior = 'single_at_atm_topo', 'virtual', 'virtual', 'virtual'")
-
+ append_to_user_nl_files(
+ caseroot=self._get_caseroot(),
+ component="clm",
+ contents="glacier_region_behavior = 'single_at_atm_topo', 'virtual', 'virtual', 'virtual'",
+ )
diff --git a/cime_config/SystemTests/lwiso.py b/cime_config/SystemTests/lwiso.py
index 1083e2ff36..37cfd42603 100644
--- a/cime_config/SystemTests/lwiso.py
+++ b/cime_config/SystemTests/lwiso.py
@@ -17,15 +17,18 @@
logger = logging.getLogger(__name__)
-class LWISO(SystemTestsCompareTwo):
+class LWISO(SystemTestsCompareTwo):
def __init__(self, case):
- SystemTestsCompareTwo.__init__(self, case,
- separate_builds = False,
- run_two_suffix = 'nowiso',
- run_one_description = 'water isotopes on',
- run_two_description = 'water isotopes off',
- ignore_fieldlist_diffs = True)
+ SystemTestsCompareTwo.__init__(
+ self,
+ case,
+ separate_builds=False,
+ run_two_suffix="nowiso",
+ run_one_description="water isotopes on",
+ run_two_description="water isotopes off",
+ ignore_fieldlist_diffs=True,
+ )
def _case_one_setup(self):
# BUG(wjs, 2019-07-30, ESCOMP/ctsm#495) We currently can't turn on actual water
@@ -33,12 +36,15 @@ def _case_one_setup(self):
# enable_water_tracer_consistency_checks rather than enable_water_isotopes;
# eventually, though, we should change this to the latter. (See
# .)
- append_to_user_nl_files(caseroot = self._get_caseroot(),
- component = "clm",
- contents = "enable_water_tracer_consistency_checks=.true.")
+ append_to_user_nl_files(
+ caseroot=self._get_caseroot(),
+ component="clm",
+ contents="enable_water_tracer_consistency_checks=.true.",
+ )
def _case_two_setup(self):
- append_to_user_nl_files(caseroot = self._get_caseroot(),
- component = "clm",
- contents = "enable_water_tracer_consistency_checks=.false.")
-
+ append_to_user_nl_files(
+ caseroot=self._get_caseroot(),
+ component="clm",
+ contents="enable_water_tracer_consistency_checks=.false.",
+ )
diff --git a/cime_config/SystemTests/rxcropmaturity.py b/cime_config/SystemTests/rxcropmaturity.py
new file mode 100644
index 0000000000..b3b43cff07
--- /dev/null
+++ b/cime_config/SystemTests/rxcropmaturity.py
@@ -0,0 +1,442 @@
+"""
+CTSM-specific test that first performs a GDD-generating run, then calls
+Python code to generate the maturity requirement file. This is then used
+in a sowing+maturity forced run, which finally is tested to ensure
+correct behavior.
+
+Currently only supports 0.9x1.25, 1.9x2.5, and 10x15 resolutions. Eventually,
+this test should be able to generate its own files at whatever resolution it's
+called at. Well, really, the ultimate goal would be to give CLM the files
+at the original resolution (for GGCMI phase 3, 0.5°) and have the stream
+code do the interpolation. However, that wouldn't act on harvest dates
+(which are needed for generate_gdds.py). I could have Python interpolate
+those, but this would cause a potential inconsistency.
+"""
+
+import os
+import re
+import systemtest_utils as stu
+import subprocess
+from CIME.SystemTests.system_tests_common import SystemTestsCommon
+from CIME.XML.standard_module_setup import *
+from CIME.SystemTests.test_utils.user_nl_utils import append_to_user_nl_files
+import shutil, glob
+
+logger = logging.getLogger(__name__)
+
+
+class RXCROPMATURITY(SystemTestsCommon):
+ def __init__(self, case):
+ # initialize an object interface to the SMS system test
+ SystemTestsCommon.__init__(self, case)
+
+ # Ensure run length is at least 5 years. Minimum to produce one complete growing season (i.e., two complete calendar years) actually 4 years, but that only gets you 1 season usable for GDD generation, so you can't check for season-to-season consistency.
+ stop_n = self._case.get_value("STOP_N")
+ stop_option = self._case.get_value("STOP_OPTION")
+ stop_n_orig = stop_n
+ stop_option_orig = stop_option
+ if "nsecond" in stop_option:
+ stop_n /= 60
+ stop_option = "nminutes"
+ if "nminute" in stop_option:
+ stop_n /= 60
+ stop_option = "nhours"
+ if "nhour" in stop_option:
+ stop_n /= 24
+ stop_option = "ndays"
+ if "nday" in stop_option:
+ stop_n /= 365
+ stop_option = "nyears"
+ if "nmonth" in stop_option:
+ stop_n /= 12
+ stop_option = "nyears"
+ error_message = None
+ if "nyear" not in stop_option:
+ error_message = (
+ f"STOP_OPTION ({stop_option_orig}) must be nsecond(s), nminute(s), "
+ + "nhour(s), nday(s), nmonth(s), or nyear(s)"
+ )
+ elif stop_n < 5:
+ error_message = (
+ "RXCROPMATURITY must be run for at least 5 years; you requested "
+ + f"{stop_n_orig} {stop_option_orig[1:]}"
+ )
+ if error_message is not None:
+ logger.error(error_message)
+ raise RuntimeError(error_message)
+
+ # Get the number of complete years that will be run
+ self._run_Nyears = int(stop_n)
+
+ # Only allow RXCROPMATURITY to be called with test cropMonthOutput
+ casebaseid = self._case.get_value("CASEBASEID")
+ if casebaseid.split("-")[-1] != "cropMonthOutput":
+ error_message = (
+ "Only call RXCROPMATURITY with test cropMonthOutput "
+ + "to avoid potentially huge sets of daily outputs."
+ )
+ logger.error(error_message)
+ raise RuntimeError(error_message)
+
+ # Get files with prescribed sowing and harvest dates
+ self._get_rx_dates()
+
+ # Which conda environment should we use?
+ self._get_conda_env()
+
+ def run_phase(self):
+ # Modeling this after the SSP test, we create a clone to be the case whose outputs we don't
+ # want to be saved as baseline.
+
+ # -------------------------------------------------------------------
+ # (1) Set up GDD-generating run
+ # -------------------------------------------------------------------
+ # Create clone to be GDD-Generating case
+ logger.info("RXCROPMATURITY log: cloning setup")
+ case_rxboth = self._case
+ caseroot = self._case.get_value("CASEROOT")
+ clone_path = f"{caseroot}.gddgen"
+ self._path_gddgen = clone_path
+ if os.path.exists(self._path_gddgen):
+ shutil.rmtree(self._path_gddgen)
+ logger.info("RXCROPMATURITY log: cloning")
+ case_gddgen = self._case.create_clone(clone_path, keepexe=True)
+ logger.info("RXCROPMATURITY log: done cloning")
+
+ os.chdir(self._path_gddgen)
+ self._set_active_case(case_gddgen)
+
+ # Set up stuff that applies to both tests
+ self._setup_all()
+
+ # Add stuff specific to GDD-Generating run
+ logger.info("RXCROPMATURITY log: modify user_nl files: generate GDDs")
+ self._append_to_user_nl_clm(
+ [
+ "generate_crop_gdds = .true.",
+ "use_mxmat = .false.",
+ " ",
+ "! (h2) Daily outputs for GDD generation and figure-making",
+ "hist_fincl3 = 'GDDACCUM', 'GDDHARV'",
+ "hist_nhtfrq(3) = -24",
+ "hist_mfilt(3) = 365",
+ "hist_type1d_pertape(3) = 'PFTS'",
+ "hist_dov2xy(3) = .false.",
+ ]
+ )
+
+ # If flanduse_timeseries is defined, we need to make a static version for this test. This
+ # should have every crop in most of the world.
+ self._get_flanduse_timeseries_in(case_gddgen)
+ if self._flanduse_timeseries_in is not None:
+
+ # Download files from the server, if needed
+ case_gddgen.check_all_input_data()
+
+ # Make custom version of surface file
+ logger.info("RXCROPMATURITY log: run fsurdat_modifier")
+ self._run_fsurdat_modifier()
+
+ # -------------------------------------------------------------------
+ # (2) Perform GDD-generating run and generate prescribed GDDs file
+ # -------------------------------------------------------------------
+ logger.info("RXCROPMATURITY log: Start GDD-Generating run")
+
+ # As per SSP test:
+ # "No history files expected, set suffix=None to avoid compare error"
+ # We *do* expect history files here, but anyway. This works.
+ self._skip_pnl = False
+ self.run_indv(suffix=None, st_archive=True)
+
+ self._run_generate_gdds(case_gddgen)
+
+ # -------------------------------------------------------------------
+ # (3) Set up and perform Prescribed Calendars run
+ # -------------------------------------------------------------------
+ os.chdir(caseroot)
+ self._set_active_case(case_rxboth)
+
+ # Set up stuff that applies to both tests
+ self._setup_all()
+
+ # Add stuff specific to Prescribed Calendars run
+ logger.info("RXCROPMATURITY log: modify user_nl files: Prescribed Calendars")
+ self._append_to_user_nl_clm(
+ [
+ "generate_crop_gdds = .false.",
+ f"stream_fldFileName_cultivar_gdds = '{self._gdds_file}'",
+ ]
+ )
+
+ self.run_indv()
+
+ # -------------------------------------------------------------------
+ # (4) Check Prescribed Calendars run
+ # -------------------------------------------------------------------
+ logger.info("RXCROPMATURITY log: output check: Prescribed Calendars")
+ self._run_check_rxboth_run()
+
+ # Get sowing and harvest dates for this resolution.
+ def _get_rx_dates(self):
+ # Eventually, I want to remove these hard-coded resolutions so that this test can generate
+ # its own sowing and harvest date files at whatever resolution is requested.
+ lnd_grid = self._case.get_value("LND_GRID")
+ input_data_root = self._case.get_value("DIN_LOC_ROOT")
+ processed_crop_dates_dir = f"{input_data_root}/lnd/clm2/cropdata/calendars/processed"
+ if lnd_grid == "10x15":
+ self._sdatefile = os.path.join(
+ processed_crop_dates_dir,
+ "sdates_ggcmi_crop_calendar_phase3_v1.01_nninterp-f10_f10_mg37.2000-2000.20230330_165301.nc",
+ )
+ self._hdatefile = os.path.join(
+ processed_crop_dates_dir,
+ "hdates_ggcmi_crop_calendar_phase3_v1.01_nninterp-f10_f10_mg37.2000-2000.20230330_165301.nc",
+ )
+ elif lnd_grid == "1.9x2.5":
+ self._sdatefile = os.path.join(
+ processed_crop_dates_dir,
+ "sdates_ggcmi_crop_calendar_phase3_v1.01_nninterp-f19_g17.2000-2000.20230102_175625.nc",
+ )
+ self._hdatefile = os.path.join(
+ processed_crop_dates_dir,
+ "hdates_ggcmi_crop_calendar_phase3_v1.01_nninterp-f19_g17.2000-2000.20230102_175625.nc",
+ )
+ elif lnd_grid == "0.9x1.25":
+ self._sdatefile = os.path.join(
+ processed_crop_dates_dir,
+ "sdates_ggcmi_crop_calendar_phase3_v1.01_nninterp-f09_g17.2000-2000.20230520_134417.nc",
+ )
+ self._hdatefile = os.path.join(
+ processed_crop_dates_dir,
+ "hdates_ggcmi_crop_calendar_phase3_v1.01_nninterp-f09_g17.2000-2000.20230520_134418.nc",
+ )
+ else:
+ error_message = "ERROR: RXCROPMATURITY currently only supports 0.9x1.25, 1.9x2.5, and 10x15 resolutions"
+ logger.error(error_message)
+ raise RuntimeError(error_message)
+
+ # Ensure files exist
+ error_message = None
+ if not os.path.exists(self._sdatefile):
+ error_message = f"ERROR: Sowing date file not found: {self._sdatefile}"
+ elif not os.path.exists(self._hdatefile):
+ error_message = f"ERROR: Harvest date file not found: {self._sdatefile}"
+ if error_message is not None:
+ logger.error(error_message)
+ raise RuntimeError(error_message)
+
+ def _setup_all(self):
+ logger.info("RXCROPMATURITY log: _setup_all start")
+
+ # Get some info
+ self._ctsm_root = self._case.get_value("COMP_ROOT_DIR_LND")
+ run_startdate = self._case.get_value("RUN_STARTDATE")
+ self._run_startyear = int(run_startdate.split("-")[0])
+
+ # Set sowing dates file (and other crop calendar settings) for all runs
+ logger.info("RXCROPMATURITY log: modify user_nl files: all tests")
+ self._modify_user_nl_allruns()
+ logger.info("RXCROPMATURITY log: _setup_all done")
+
+ # Make a surface dataset that has every crop in every gridcell
+ def _run_fsurdat_modifier(self):
+
+ # fsurdat should be defined. Where is it?
+ self._fsurdat_in = None
+ with open(self._lnd_in_path, "r") as lnd_in:
+ for line in lnd_in:
+ fsurdat_in = re.match(r" *fsurdat *= *'(.*)'", line)
+ if fsurdat_in:
+ self._fsurdat_in = fsurdat_in.group(1)
+ break
+ if self._fsurdat_in is None:
+ error_message = "fsurdat not defined"
+ logger.error(error_message)
+ raise RuntimeError(error_message)
+
+ # Where we will save the fsurdat version for this test
+ path, ext = os.path.splitext(self._fsurdat_in)
+ dir_in, filename_in_noext = os.path.split(path)
+ self._fsurdat_out = os.path.join(
+ self._path_gddgen, f"{filename_in_noext}.all_crops_everywhere{ext}"
+ )
+
+ # Make fsurdat for this test, if not already done
+ if not os.path.exists(self._fsurdat_out):
+ tool_path = os.path.join(
+ self._ctsm_root,
+ "tools",
+ "modify_input_files",
+ "fsurdat_modifier",
+ )
+
+ # Create configuration file for fsurdat_modifier
+ self._cfg_path = os.path.join(
+ self._path_gddgen,
+ "modify_fsurdat_allcropseverywhere.cfg",
+ )
+ self._create_config_file_evenlysplitcrop()
+
+ command = f"python3 {tool_path} {self._cfg_path} "
+ stu.run_python_script(
+ self._get_caseroot(),
+ self._this_conda_env,
+ command,
+ tool_path,
+ )
+
+ # Modify namelist
+ logger.info("RXCROPMATURITY log: modify user_nl files: new fsurdat")
+ self._append_to_user_nl_clm(
+ [
+ "fsurdat = '{}'".format(self._fsurdat_out),
+ "do_transient_crops = .false.",
+ "flanduse_timeseries = ''",
+ "use_init_interp = .true.",
+ ]
+ )
+
+ def _create_config_file_evenlysplitcrop(self):
+ """
+ Open the new and the template .cfg files
+ Loop line by line through the template .cfg file
+ When string matches, replace that line's content
+ """
+ cfg_template_path = os.path.join(
+ self._ctsm_root, "tools/modify_input_files/modify_fsurdat_template.cfg"
+ )
+
+ with open(self._cfg_path, "w", encoding="utf-8") as cfg_out:
+ # Copy template, replacing some lines
+ with open(cfg_template_path, "r", encoding="utf-8") as cfg_in:
+ for line in cfg_in:
+ if re.match(r" *evenly_split_cropland *=", line):
+ line = f"evenly_split_cropland = True"
+ elif re.match(r" *fsurdat_in *=", line):
+ line = f"fsurdat_in = {self._fsurdat_in}"
+ elif re.match(r" *fsurdat_out *=", line):
+ line = f"fsurdat_out = {self._fsurdat_out}"
+ elif re.match(r" *process_subgrid_section *=", line):
+ line = f"process_subgrid_section = True"
+ cfg_out.write(line)
+
+ # Add new lines
+ cfg_out.write("\n")
+ cfg_out.write("[modify_fsurdat_subgrid_fractions]\n")
+ cfg_out.write("PCT_CROP = 100.0\n")
+ cfg_out.write("PCT_NATVEG = 0.0\n")
+ cfg_out.write("PCT_GLACIER = 0.0\n")
+ cfg_out.write("PCT_WETLAND = 0.0\n")
+ cfg_out.write("PCT_LAKE = 0.0\n")
+ cfg_out.write("PCT_URBAN = 0.0 0.0 0.0\n")
+
+ def _run_check_rxboth_run(self):
+
+ output_dir = os.path.join(self._get_caseroot(), "run")
+ first_usable_year = self._run_startyear + 2
+ last_usable_year = self._run_startyear + self._run_Nyears - 2
+
+ tool_path = os.path.join(
+ self._ctsm_root, "python", "ctsm", "crop_calendars", "check_rxboth_run.py"
+ )
+ command = (
+ f"python3 {tool_path} "
+ + f"--directory {output_dir} "
+ + f"-y1 {first_usable_year} "
+ + f"-yN {last_usable_year} "
+ + f"--rx-sdates-file {self._sdatefile} "
+ + f"--rx-gdds-file {self._gdds_file} "
+ )
+ stu.run_python_script(
+ self._get_caseroot(),
+ self._this_conda_env,
+ command,
+ tool_path,
+ )
+
+ def _modify_user_nl_allruns(self):
+ nl_additions = [
+ "stream_meshfile_cropcal = '{}'".format(self._case.get_value("LND_DOMAIN_MESH")),
+ "stream_fldFileName_sdate = '{}'".format(self._sdatefile),
+ "stream_year_first_cropcal = 2000",
+ "stream_year_last_cropcal = 2000",
+ "model_year_align_cropcal = 2000",
+ " ",
+ "! (h1) Annual outputs on sowing or harvest axis",
+ "hist_fincl2 = 'GRAINC_TO_FOOD_PERHARV', 'GRAINC_TO_FOOD_ANN', 'SDATES', 'SDATES_PERHARV', 'SYEARS_PERHARV', 'HDATES', 'GDDHARV_PERHARV', 'GDDACCUM_PERHARV', 'HUI_PERHARV', 'SOWING_REASON_PERHARV', 'HARVEST_REASON_PERHARV'",
+ "hist_nhtfrq(2) = 17520",
+ "hist_mfilt(2) = 999",
+ "hist_type1d_pertape(2) = 'PFTS'",
+ "hist_dov2xy(2) = .false.",
+ ]
+ self._append_to_user_nl_clm(nl_additions)
+
+ def _run_generate_gdds(self, case_gddgen):
+ self._generate_gdds_dir = os.path.join(self._path_gddgen, "generate_gdds_out")
+ os.makedirs(self._generate_gdds_dir)
+
+ # Get arguments to generate_gdds.py
+ dout_sr = case_gddgen.get_value("DOUT_S_ROOT")
+ input_dir = os.path.join(dout_sr, "lnd", "hist")
+ first_season = self._run_startyear + 2
+ last_season = self._run_startyear + self._run_Nyears - 2
+ sdates_file = self._sdatefile
+ hdates_file = self._hdatefile
+
+ # It'd be much nicer to call generate_gdds.main(), but I can't import generate_gdds.
+ tool_path = os.path.join(
+ self._ctsm_root, "python", "ctsm", "crop_calendars", "generate_gdds.py"
+ )
+ command = " ".join(
+ [
+ f"python3 {tool_path}",
+ f"--input-dir {input_dir}",
+ f"--first-season {first_season}",
+ f"--last-season {last_season}",
+ f"--sdates-file {sdates_file}",
+ f"--hdates-file {hdates_file}",
+ f"--output-dir generate_gdds_out",
+ f"--skip-crops miscanthus,irrigated_miscanthus",
+ ]
+ )
+ stu.run_python_script(
+ self._get_caseroot(),
+ self._this_conda_env,
+ command,
+ tool_path,
+ )
+
+ # Where were the prescribed maturity requirements saved?
+ generated_gdd_files = glob.glob(os.path.join(self._generate_gdds_dir, "gdds_*.nc"))
+ if len(generated_gdd_files) != 1:
+ error_message = f"ERROR: Expected one matching prescribed maturity requirements file; found {len(generated_gdd_files)}: {generated_gdd_files}"
+ logger.error(error_message)
+ raise RuntimeError(error_message)
+ self._gdds_file = generated_gdd_files[0]
+
+ def _get_conda_env(self):
+ conda_setup_commands = stu.cmds_to_setup_conda(self._get_caseroot())
+
+ # If npl conda environment is available, use that (It has dask, which
+ # enables chunking, which makes reading daily 1-degree netCDF files
+ # much more efficient.
+ if "npl " in os.popen(conda_setup_commands + "conda env list").read():
+ self._this_conda_env = "npl"
+ else:
+ self._this_conda_env = "ctsm_pylib"
+
+ def _append_to_user_nl_clm(self, additions):
+ caseroot = self._get_caseroot()
+ append_to_user_nl_files(caseroot=caseroot, component="clm", contents=additions)
+
+ # Is flanduse_timeseries defined? If so, where is it?
+ def _get_flanduse_timeseries_in(self, case):
+ case.create_namelists(component="lnd")
+ self._lnd_in_path = os.path.join(self._path_gddgen, "CaseDocs", "lnd_in")
+ self._flanduse_timeseries_in = None
+ with open(self._lnd_in_path, "r") as lnd_in:
+ for line in lnd_in:
+ flanduse_timeseries_in = re.match(r" *flanduse_timeseries *= *'(.*)'", line)
+ if flanduse_timeseries_in:
+ self._flanduse_timeseries_in = flanduse_timeseries_in.group(1)
+ break
diff --git a/cime_config/SystemTests/soilstructud.py b/cime_config/SystemTests/soilstructud.py
index c59ab8b4f6..42ffae54be 100644
--- a/cime_config/SystemTests/soilstructud.py
+++ b/cime_config/SystemTests/soilstructud.py
@@ -2,10 +2,10 @@
Implementation of the CIME SOILSTRUCTUD test.
This is a CLM specific test:
-Verifies that a simulation that points to user_nl_clm containing
+Verifies that a simulation that points to user_nl_ctsm containing
soil_layerstruct_userdefined_nlevsoi = 4
soil_layerstruct_userdefined = 0.1d0,0.3d0,0.6d0,1.0d0,1.0d0
-gives bfb same results as one that points to user_nl_clm containing
+gives bfb same results as one that points to user_nl_ctsm containing
soil_layerstruct_predefined = '4SL_2m'
"""
@@ -16,22 +16,28 @@
logger = logging.getLogger(__name__)
-class SOILSTRUCTUD(SystemTestsCompareTwo):
+class SOILSTRUCTUD(SystemTestsCompareTwo):
def __init__(self, case):
- SystemTestsCompareTwo.__init__(self, case,
- separate_builds = False,
- run_two_suffix = '4SL_2m',
- run_one_description = 'soil_layerstruct_userdefined',
- run_two_description = 'soil_layerstruct_predefined')
+ SystemTestsCompareTwo.__init__(
+ self,
+ case,
+ separate_builds=False,
+ run_two_suffix="4SL_2m",
+ run_one_description="soil_layerstruct_userdefined",
+ run_two_description="soil_layerstruct_predefined",
+ )
def _case_one_setup(self):
- append_to_user_nl_files(caseroot = self._get_caseroot(),
- component = "clm",
- contents = "soil_layerstruct_userdefined_nlevsoi = 4,soil_layerstruct_userdefined = 0.1d0,0.3d0,0.6d0,1.0d0,1.0d0")
+ append_to_user_nl_files(
+ caseroot=self._get_caseroot(),
+ component="clm",
+ contents="soil_layerstruct_userdefined_nlevsoi = 4,soil_layerstruct_userdefined = 0.1d0,0.3d0,0.6d0,1.0d0,1.0d0",
+ )
def _case_two_setup(self):
- append_to_user_nl_files(caseroot = self._get_caseroot(),
- component = "clm",
- contents = "soil_layerstruct_predefined = '4SL_2m'")
-
+ append_to_user_nl_files(
+ caseroot=self._get_caseroot(),
+ component="clm",
+ contents="soil_layerstruct_predefined = '4SL_2m'",
+ )
diff --git a/cime_config/SystemTests/ssp.py b/cime_config/SystemTests/ssp.py
index 4aad37274a..bd554aeae9 100644
--- a/cime_config/SystemTests/ssp.py
+++ b/cime_config/SystemTests/ssp.py
@@ -18,8 +18,8 @@
logger = logging.getLogger(__name__)
-class SSP(SystemTestsCommon):
+class SSP(SystemTestsCommon):
def __init__(self, case):
"""
initialize an object interface to the SSP system test
@@ -45,13 +45,13 @@ def run_phase(self):
# determine run lengths needed below
stop_nf = self._case.get_value("STOP_N")
- stop_n1 = stop_nf / 2
+ stop_n1 = int(stop_nf / 2)
stop_n2 = stop_nf - stop_n1
- #-------------------------------------------------------------------
+ # -------------------------------------------------------------------
# (1) do a spinup run in the main case in the cloned ref case
# (short term archiving is on)
- #-------------------------------------------------------------------
+ # -------------------------------------------------------------------
os.chdir(clone_path)
self._set_active_case(clone)
@@ -61,20 +61,24 @@ def run_phase(self):
with clone:
clone.set_value("CLM_ACCELERATED_SPINUP", "on")
- clone.set_value("STOP_N",stop_n1)
+ clone.set_value("STOP_N", stop_n1)
dout_sr = clone.get_value("DOUT_S_ROOT")
# No history files expected, set suffix=None to avoid compare error
self._skip_pnl = False
self.run_indv(suffix=None, st_archive=True)
- #-------------------------------------------------------------------
+ # -------------------------------------------------------------------
# (2) do a hybrid, non-spinup run in orig_case
- #-------------------------------------------------------------------
+ # -------------------------------------------------------------------
os.chdir(caseroot)
self._set_active_case(orig_case)
- refdate = run_cmd_no_fail(r'ls -1dt {}/rest/*-00000* | head -1 | sed "s/-00000.*//" | sed "s/^.*rest\///"'.format(dout_sr))
+ refdate = run_cmd_no_fail(
+ r'ls -1dt {}/rest/*-00000* | head -1 | sed "s/-00000.*//" | sed "s/^.*rest\///"'.format(
+ dout_sr
+ )
+ )
refsec = "00000"
# obtain rpointer files and necessary restart files from short term archiving directory
@@ -83,7 +87,14 @@ def run_phase(self):
rest_path = os.path.join(dout_sr, "rest", "{}-{}".format(refdate, refsec))
for item in glob.glob("{}/*{}*".format(rest_path, refdate)):
- os.symlink(item, os.path.join(rundir, os.path.basename(item)))
+ link_name = os.path.join(rundir, os.path.basename(item))
+ if os.path.islink(link_name) and os.readlink(link_name) == item:
+ # Link is already set up correctly: do nothing
+ # (os.symlink raises an exception if you try to replace an
+ # existing file)
+ pass
+ else:
+ os.symlink(item, link_name)
for item in glob.glob("{}/*rpointer*".format(rest_path)):
shutil.copy(item, rundir)
diff --git a/cime_config/SystemTests/systemtest_utils.py b/cime_config/SystemTests/systemtest_utils.py
new file mode 100644
index 0000000000..c5ac986abd
--- /dev/null
+++ b/cime_config/SystemTests/systemtest_utils.py
@@ -0,0 +1,86 @@
+"""
+Reduce code duplication by putting reused functions here.
+"""
+
+import os, subprocess
+
+
+def cmds_to_setup_conda(caseroot):
+ # Add specific commands needed on different machines to get conda available
+ # Use semicolon here since it's OK to fail
+ #
+ conda_setup_commands = ". " + caseroot + "/.env_mach_specific.sh; "
+ # Setting CONDA_PREFIX to empty ensures that this works even if called from
+ # a shell with a conda environment activated
+ conda_setup_commands += "CONDA_PREFIX=; "
+ # Execute the module unload/load when "which conda" fails
+ # eg on cheyenne
+ try:
+ subprocess.run("which conda", shell=True, check=True)
+ except subprocess.CalledProcessError:
+ # Remove python and add conda to environment for cheyennne
+ unload_python_load_conda = "module unload python; module load conda;"
+ # Make sure that adding this actually loads conda
+ subprocess.run(unload_python_load_conda + "which conda", shell=True, check=True)
+ # Save
+ conda_setup_commands += " " + unload_python_load_conda
+
+ return conda_setup_commands
+
+
+def cmds_to_run_via_conda(caseroot, conda_run_call, command):
+ # Run in the specified conda environment
+ conda_setup_commands = cmds_to_setup_conda(caseroot)
+ conda_setup_commands += " " + conda_run_call
+
+ # Finish with Python script call
+ command = conda_setup_commands + " " + command
+ print(f"command: {command}")
+
+ return command
+
+
+def run_python_script(caseroot, this_conda_env, command_in, tool_path):
+
+ # First, try with "conda run -n"
+ command = cmds_to_run_via_conda(caseroot, f"conda run -n {this_conda_env}", command_in)
+
+ # Run with logfile
+ tool_name = os.path.split(tool_path)[-1]
+ try:
+ with open(tool_name + ".log", "w") as f:
+ subprocess.run(
+ command, shell=True, check=True, text=True, stdout=f, stderr=subprocess.STDOUT
+ )
+ except subprocess.CalledProcessError as error:
+ # Retry with the original "conda activate" method
+ command = cmds_to_run_via_conda(
+ caseroot,
+ f"conda activate {this_conda_env} && ",
+ command_in,
+ )
+ try:
+ with open(tool_name + ".log2", "w") as f:
+ subprocess.run(
+ command, shell=True, check=True, text=True, stdout=f, stderr=subprocess.STDOUT
+ )
+ except subprocess.CalledProcessError as error:
+ print("ERROR while getting the conda environment and/or ")
+ print(f"running the {tool_name} tool: ")
+ print(f"(1) If your {this_conda_env} environment is out of date or you ")
+ print(f"have not created the {this_conda_env} environment, yet, you may ")
+ print("get past this error by running ./py_env_create ")
+ print("in your ctsm directory and trying this test again. ")
+ print("(2) If conda is not available, install and load conda, ")
+ print("run ./py_env_create, and then try this test again. ")
+ print("(3) If (1) and (2) are not the issue, then you may be ")
+ print(f"getting an error within {tool_name} itself. ")
+ print("Default error message: ")
+ print(error.output)
+ raise
+ except:
+ print(f"ERROR trying to run {tool_name}.")
+ raise
+ except:
+ print(f"ERROR trying to run {tool_name}.")
+ raise
diff --git a/cime_config/buildlib b/cime_config/buildlib
index fabf2e8d45..4e3a89f1fd 100755
--- a/cime_config/buildlib
+++ b/cime_config/buildlib
@@ -1,7 +1,7 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
"""
-build clm library
+build ctsm library
"""
import sys, os
@@ -9,7 +9,7 @@ _CIMEROOT = os.environ.get("CIMEROOT")
if _CIMEROOT is None:
raise SystemExit("ERROR: must set CIMEROOT environment variable")
-_LIBDIR = os.path.join(_CIMEROOT, "scripts", "Tools")
+_LIBDIR = os.path.join(_CIMEROOT, "CIME", "Tools")
sys.path.append(_LIBDIR)
from standard_script_setup import *
@@ -21,59 +21,176 @@ from CIME.utils import run_cmd, expect
logger = logging.getLogger(__name__)
###############################################################################
-def _main_func():
+def _write_ctsm_mk(gmake, gmake_opts, makefile, exeroot, libroot):
+ """Writes a ctsm.mk file in exeroot.
+
+ This file can be included by atmosphere model builds outside of cime.
+ """
+
+ cime_output_file = os.path.join(exeroot, "cime_variables.mk")
+ # Set COMP_NAME=driver because some link flags are set differently when COMP_NAME=driver, and
+ # those are the ones we want here.
+ cmd = (
+ "{gmake} write_include_and_link_flags OUTPUT_FILE={cime_output_file} "
+ "COMP_NAME=driver {gmake_opts} -f {makefile} "
+ ).format(
+ gmake=gmake,
+ cime_output_file=cime_output_file,
+ gmake_opts=gmake_opts,
+ makefile=makefile,
+ )
+ rc, out, err = run_cmd(cmd)
+ logger.info("%s: \n\n output:\n %s \n\n err:\n\n%s\n" % (cmd, out, err))
+ expect(rc == 0, "Command %s failed with rc=%s" % (cmd, rc))
+
+ ctsm_mk_path = os.path.join(exeroot, "ctsm.mk")
+ with open(ctsm_mk_path, "w") as ctsm_mk:
+ ctsm_mk.write(
+ """
+# ======================================================================
+# Include this file to get makefile variables needed to include / link
+# LILAC/CTSM in an atmosphere model's build
+#
+# Variables of interest are:
+# - CTSM_INCLUDES: add this to the compilation line
+# - CTSM_LIBS: add this to the link line
+# ======================================================================
+
+# ======================================================================
+# The following CIME variables are meant for internal use, and generally
+# should not be included directly in an atmosphere model's build.
+# ======================================================================
+
+"""
+ )
+ with open(cime_output_file) as infile:
+ ctsm_mk.write(infile.read())
+
+ ctsm_bld_dir = os.path.abspath(os.path.join(libroot, os.pardir))
+ with open(ctsm_mk_path, "a") as ctsm_mk:
+ ctsm_mk.write(
+ """
+# ======================================================================
+# The following settings are meant for internal use, and generally
+# should not be included directly in an atmosphere model's build.
+# NOTE: clm library name and subdirectory will eventually need to
+# be updated to ctsm.
+# ======================================================================
+
+CTSM_BLD_DIR = {ctsm_bld_dir}
+CTSM_INC = $(CTSM_BLD_DIR)/clm/obj
+
+# ======================================================================
+# The following settings should be included in an atmosphere model's build.
+# ======================================================================
+
+CTSM_INCLUDES = $(CIME_ESMF_F90COMPILEPATHS) -I$(CIME_CSM_SHR_INCLUDE) -I$(CTSM_INC)
+CTSM_LIBS = -L$(CTSM_BLD_DIR)/lib -lclm $(CIME_ULIBS) $(CIME_SLIBS) $(CIME_MLIBS) $(CIME_F90_LDFLAGS)
+""".format(
+ ctsm_bld_dir=ctsm_bld_dir
+ )
+ )
+
+
###############################################################################
+def _main_func():
+ ###############################################################################
caseroot, libroot, bldroot = parse_input(sys.argv)
with Case(caseroot) as case:
casetools = case.get_value("CASETOOLS")
+ makefile = os.path.join(casetools, "Makefile")
lnd_root = case.get_value("COMP_ROOT_DIR_LND")
gmake_j = case.get_value("GMAKE_J")
gmake = case.get_value("GMAKE")
+ gmake_opts = get_standard_makefile_args(case)
driver = case.get_value("COMP_INTERFACE").lower()
+ lilac_mode = case.get_value("LILAC_MODE")
- #-------------------------------------------------------
+ if lilac_mode == "on":
+ driver = "lilac"
+
+ # -------------------------------------------------------
# create Filepath file
- #-------------------------------------------------------
- filepath_file = os.path.join(bldroot,"Filepath")
+ # -------------------------------------------------------
+ compname = case.get_value("COMP_LND")
+ filepath_file = os.path.join(bldroot, "Filepath")
if not os.path.isfile(filepath_file):
caseroot = case.get_value("CASEROOT")
- paths = [os.path.join(caseroot,"SourceMods","src.clm"),
- os.path.join(lnd_root,"src","main"),
- os.path.join(lnd_root,"src","biogeophys"),
- os.path.join(lnd_root,"src","biogeochem"),
- os.path.join(lnd_root,"src","soilbiogeochem"),
- os.path.join(lnd_root,"src","dyn_subgrid"),
- os.path.join(lnd_root,"src","init_interp"),
- os.path.join(lnd_root,"src","fates"),
- os.path.join(lnd_root,"src","fates","main"),
- os.path.join(lnd_root,"src","fates","biogeophys"),
- os.path.join(lnd_root,"src","fates","biogeochem"),
- os.path.join(lnd_root,"src","fates","fire"),
- os.path.join(lnd_root,"src","utils"),
- os.path.join(lnd_root,"src","cpl"),
- os.path.join(lnd_root,"src","cpl",driver)]
+ expect(
+ ((compname == "clm") or (compname == "ctsm")),
+ "Unexpected COMP_LND name: %s" % (compname),
+ )
+
+ paths = [
+ os.path.join(caseroot, "SourceMods", "src." + compname),
+ os.path.join(lnd_root, "src", "cpl", driver),
+ os.path.join(lnd_root, "src", "main"),
+ os.path.join(lnd_root, "src", "biogeophys"),
+ os.path.join(lnd_root, "src", "biogeochem"),
+ os.path.join(lnd_root, "src", "soilbiogeochem"),
+ os.path.join(lnd_root, "src", "dyn_subgrid"),
+ os.path.join(lnd_root, "src", "init_interp"),
+ os.path.join(lnd_root, "src", "self_tests"),
+ os.path.join(lnd_root, "src", "fates"),
+ os.path.join(lnd_root, "src", "fates", "main"),
+ os.path.join(lnd_root, "src", "fates", "biogeophys"),
+ os.path.join(lnd_root, "src", "fates", "biogeochem"),
+ os.path.join(lnd_root, "src", "fates", "fire"),
+ os.path.join(lnd_root, "src", "fates", "parteh"),
+ os.path.join(lnd_root, "src", "utils"),
+ os.path.join(lnd_root, "src", "cpl"),
+ os.path.join(lnd_root, "src", "cpl", "utils"),
+ ]
+
+ if lilac_mode == "on":
+ paths.append(os.path.join(lnd_root, "lilac", "src"))
+ # If we want to build with a real river model (e.g., MOSART), we'll need
+ # to use its directories in place of stub_rof
+ paths.append(os.path.join(lnd_root, "lilac", "stub_rof"))
+
+ if driver == "lilac" or driver == "nuopc":
+ paths.append(os.path.join(lnd_root, "src", "cpl", "share_esmf"))
+
with open(filepath_file, "w") as filepath:
filepath.write("\n".join(paths))
filepath.write("\n")
- #-------------------------------------------------------
+ # -------------------------------------------------------
# create the library in libroot
- #-------------------------------------------------------
+ # -------------------------------------------------------
- complib = os.path.join(libroot,"libclm.a")
- makefile = os.path.join(casetools, "Makefile")
+ complib = os.path.join(libroot, "lib%s.a" % (compname))
- cmd = "{} complib -j {} MODEL=clm COMPLIB={} -f {} {}" \
- .format(gmake, gmake_j, complib, makefile, get_standard_makefile_args(case))
+ cmd = "{} complib -j {} COMP_NAME={} COMPLIB={} -f {} {}".format(
+ gmake, gmake_j, compname, complib, makefile, gmake_opts
+ )
rc, out, err = run_cmd(cmd)
- logger.info("%s: \n\n output:\n %s \n\n err:\n\n%s\n"%(cmd,out,err))
+ logger.info("%s: \n\n output:\n %s \n\n err:\n\n%s\n" % (cmd, out, err))
expect(rc == 0, "Command %s failed with rc=%s" % (cmd, rc))
+ # ------------------------------------------------------------------------
+ # for lilac usage, we need a file containing some Makefile variables (for the atmosphere model's build)
+ # ------------------------------------------------------------------------
+
+ if lilac_mode == "on":
+ _write_ctsm_mk(
+ gmake=gmake,
+ gmake_opts=gmake_opts,
+ makefile=makefile,
+ exeroot=case.get_value("EXEROOT"),
+ libroot=libroot,
+ )
+
+
###############################################################################
if __name__ == "__main__":
+ logger.warning(
+ "WARNING: buildlib is being called as a program rather than a subroutine as "
+ + "it is expected to be in the CESM context"
+ )
_main_func()
diff --git a/cime_config/buildnml b/cime_config/buildnml
index 9940de97a3..e239f0ec58 100755
--- a/cime_config/buildnml
+++ b/cime_config/buildnml
@@ -1,21 +1,21 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
"""
-CLM namelist creator
+CTSM namelist creator
"""
-import sys, os, shutil
+import sys, os, shutil, re
_CIMEROOT = os.environ.get("CIMEROOT")
if _CIMEROOT is None:
raise SystemExit("ERROR: must set CIMEROOT environment variable")
-_LIBDIR = os.path.join(_CIMEROOT, "scripts", "Tools")
+_LIBDIR = os.path.join(_CIMEROOT, "CIME", "Tools")
sys.path.append(_LIBDIR)
-from standard_script_setup import *
-from CIME.buildnml import create_namelist_infile, parse_input
-from CIME.case import Case
-from CIME.utils import expect, run_cmd
+from standard_script_setup import *
+from CIME.buildnml import create_namelist_infile, parse_input
+from CIME.case import Case
+from CIME.utils import expect, run_cmd
logger = logging.getLogger(__name__)
@@ -23,17 +23,17 @@ _config_cache_template = """
-Specifies clm physics
+Specifies CTSM physics
"""
###############################################################################
def buildnml(case, caseroot, compname):
-###############################################################################
- """Build the clm namelist """
+ ###############################################################################
+ """Build the CTSM namelist"""
- # Build the component namelist
- if compname != "clm":
+ # Build the component namelist
+ if compname != "ctsm" and compname != "clm":
raise AttributeError
lnd_root = case.get_value("COMP_ROOT_DIR_LND")
@@ -41,6 +41,7 @@ def buildnml(case, caseroot, compname):
configuration = case.get_value("CLM_CONFIGURATION")
structure = case.get_value("CLM_STRUCTURE")
ccsm_co2_ppmv = case.get_value("CCSM_CO2_PPMV")
+ casename = case.get_value("CASE")
clm_co2_type = case.get_value("CLM_CO2_TYPE")
clm_namelist_opts = case.get_value("CLM_NAMELIST_OPTS")
clm_bldnml_opts = case.get_value("CLM_BLDNML_OPTS")
@@ -50,9 +51,6 @@ def buildnml(case, caseroot, compname):
clm_accelerated_spinup = case.get_value("CLM_ACCELERATED_SPINUP")
comp_atm = case.get_value("COMP_ATM")
lnd_grid = case.get_value("LND_GRID")
- lnd_ncpl = case.get_value("LND_NCPL")
- lnd_domain_path = case.get_value("LND_DOMAIN_PATH")
- lnd_domain_file = case.get_value("LND_DOMAIN_FILE")
ninst_lnd = case.get_value("NINST_LND")
rundir = case.get_value("RUNDIR")
run_type = case.get_value("RUN_TYPE")
@@ -61,28 +59,45 @@ def buildnml(case, caseroot, compname):
run_refdate = case.get_value("RUN_REFDATE")
run_reftod = case.get_value("RUN_REFTOD")
glc_nec = case.get_value("GLC_NEC")
+ cism_use_antarctica = case.get_value("CISM_USE_ANTARCTICA")
mask = case.get_value("MASK_GRID")
+ driver = case.get_value("COMP_INTERFACE").lower()
+
+ # Create init_generated_files directory if not there
+ newdir = os.path.join(rundir, "init_generated_files")
+ if not os.path.exists(newdir):
+ os.mkdir(newdir)
+
+ # -----------------------------------------------------
+ # Error checking
+ # -----------------------------------------------------
+ if clm_bldnml_opts.find("-namelist") >= 0:
+ expect(
+ False,
+ "The -namelist option is NOT allowed to be part of CLM_BLDNML_OPTS, "
+ + "use the CLM_NAMELIST_OPTS option or add namelist items to user_nl_clm instead ",
+ )
# -----------------------------------------------------
- # Set clmconf
+ # Set ctsmconf
# -----------------------------------------------------
- clmconf = os.path.join(caseroot, "Buildconf", "clmconf")
- if not os.path.isdir(clmconf):
- os.makedirs(clmconf)
+ ctsmconf = os.path.join(caseroot, "Buildconf", compname + "conf")
+ if not os.path.isdir(ctsmconf):
+ os.makedirs(ctsmconf)
# -----------------------------------------------------
- # Create config_cache.xml file
+ # Create config_cache.xml file
# -----------------------------------------------------
- # Note that build-namelist utilizes the contents of the config_cache.xml file in
+ # Note that build-namelist utilizes the contents of the config_cache.xml file in
# the namelist_defaults.xml file to obtain namelist variables
clm_phys = case.get_value("CLM_PHYSICS_VERSION")
config_cache_text = _config_cache_template.format(clm_phys=clm_phys)
- config_cache_path = os.path.join(caseroot, "Buildconf", "clmconf", "config_cache.xml")
- with open(config_cache_path, 'w') as config_cache_file:
+ config_cache_path = os.path.join(caseroot, "Buildconf", compname + "conf", "config_cache.xml")
+ with open(config_cache_path, "w") as config_cache_file:
config_cache_file.write(config_cache_text)
# -----------------------------------------------------
@@ -100,62 +115,94 @@ def buildnml(case, caseroot, compname):
startfile_type = "nrevsn"
if clm_force_coldstart == "on":
clm_force_coldstart = "off"
- logger.warning( "WARNING: You've turned on CLM_FORCE_COLDSTART for a branch run_type, which is a contradiction, the coldstart will be ignored\n" +
- " turn off CLM_FORCE_COLDSTART, or set RUN_TYPE=hybrid to get rid of this warning")
+ logger.warning(
+ "WARNING: You've turned on CLM_FORCE_COLDSTART for a branch run_type, which is a contradiction, the coldstart will be ignored\n"
+ + " turn off CLM_FORCE_COLDSTART, or set RUN_TYPE=hybrid to get rid of this warning"
+ )
-
- if (clm_force_coldstart == "on"):
- logger.warning( "WARNING: CLM is starting up from a cold state" )
+ if clm_force_coldstart == "on":
+ logger.warning("WARNING: CLM is starting up from a cold state")
start_type = "cold"
- if lnd_grid == 'T31':
- lnd_grid = '48x96'
- if lnd_grid == 'T42':
- lnd_grid = '64x128'
- if lnd_grid == 'T85':
- lnd_grid = '128x256'
- if lnd_grid == 'T341':
- lnd_grid = '512x1024'
+ if lnd_grid == "T31":
+ lnd_grid = "48x96"
+ if lnd_grid == "T42":
+ lnd_grid = "64x128"
+ if lnd_grid == "T85":
+ lnd_grid = "128x256"
+ if lnd_grid == "T341":
+ lnd_grid = "512x1024"
clmusr = ""
if lnd_grid == "CLM_USRDAT":
clm_usrdat_name = case.get_value("CLM_USRDAT_NAME")
lnd_grid = clm_usrdat_name
- clmusr = " -clm_usr_name %s "%clm_usrdat_name
+ clmusr = " -clm_usr_name %s " % clm_usrdat_name
+ # Write warning about initial condition data
+ if "NEON" in clm_usrdat_name and clm_force_coldstart == "off":
+ if ("_transient" in clm_nml_use_case) and (
+ re.fullmatch(r"\w\w\w\w\.transient", casename) is None
+ or clm_usrdat_name is "NEON.PRISM"
+ ):
+ logger.warning(
+ "WARNING: Do you have approriprate initial conditions for this simulation?"
+ + " Check that the finidat file used in the lnd_in namelist is apprporiately spunup for your case"
+ )
if comp_atm != "datm":
nomeg = "-no-megan"
else:
nomeg = ""
+ if cism_use_antarctica is None:
+ # This is the case for compsets without CISM, where the CISM_USE_ANTARCTICA xml
+ # variable isn't defined
+ glc_use_antarctica_flag = ""
+ elif isinstance(cism_use_antarctica, bool):
+ if cism_use_antarctica:
+ glc_use_antarctica_flag = "-glc_use_antarctica"
+ else:
+ glc_use_antarctica_flag = ""
+ else:
+ expect(
+ False,
+ "Unexpected value for CISM_USE_ANTARCTICA: {}".format(cism_use_antarctica),
+ )
+
if clm_nml_use_case != "UNSET":
- usecase = "-use_case %s" %clm_nml_use_case
+ usecase = "-use_case %s" % clm_nml_use_case
else:
usecase = ""
- if ( (mask != "null") and (mask != "UNSET") ):
- gridmask = "-mask %s" %mask
+ if (mask != "null") and (mask != "UNSET"):
+ gridmask = "-mask %s" % mask
else:
gridmask = ""
- start_ymd = run_startdate.replace('-','')
+ start_ymd = run_startdate.replace("-", "")
- if ('-01-01' in run_startdate) or ('-09-01' in run_startdate):
+ if ("-01-01" in run_startdate) or ("-09-01" in run_startdate):
ignore = "-ignore_ic_year"
else:
ignore = "-ignore_ic_date"
- tuning = "-lnd_tuning_mode %s "%lnd_tuning_mode
-
- spinup = "-clm_accelerated_spinup %s "%clm_accelerated_spinup
-
- infile = os.path.join(clmconf, "namelist")
-
- inputdata_file = os.path.join(caseroot,"Buildconf","clm.input_data_list")
-
- lndfrac_file = os.path.join(lnd_domain_path,lnd_domain_file)
-
- config_cache_file = os.path.join(caseroot,"Buildconf","clmconf","config_cache.xml")
+ tuning = "-lnd_tuning_mode %s " % lnd_tuning_mode
+
+ spinup = "-clm_accelerated_spinup %s " % clm_accelerated_spinup
+
+ infile = os.path.join(ctsmconf, "namelist")
+
+ inputdata_file = os.path.join(caseroot, "Buildconf", "ctsm.input_data_list")
+
+ if driver == "nuopc":
+ lndfrac_setting = " "
+ else:
+ lnd_domain_path = case.get_value("LND_DOMAIN_PATH")
+ lnd_domain_file = case.get_value("LND_DOMAIN_FILE")
+ lndfrac_file = os.path.join(lnd_domain_path, lnd_domain_file)
+ lndfrac_setting = "-lnd_frac " + lndfrac_file
+
+ config_cache_file = os.path.join(caseroot, "Buildconf", compname + "conf", "config_cache.xml")
# -----------------------------------------------------
# Clear out old data
@@ -169,32 +216,57 @@ def buildnml(case, caseroot, compname):
# -----------------------------------------------------
ninst = int(ninst_lnd)
- for inst_counter in range(1, ninst+1):
+ for inst_counter in range(1, ninst + 1):
# determine instance string
inst_string = ""
if ninst > 1:
- inst_string = '_' + '%04d' % inst_counter
+ inst_string = "_" + "%04d" % inst_counter
# If multi-instance case does not have restart file, use
# single-case restart for each instance
- rpointer = "rpointer.lnd"
- if (os.path.isfile(os.path.join(rundir,rpointer)) and
- (not os.path.isfile(os.path.join(rundir,rpointer + inst_string)))):
- shutil.copy(os.path.join(rundir, rpointer),
- os.path.join(rundir, rpointer + inst_string))
+ rpointer = "rpointer.lnd"
+ if os.path.isfile(os.path.join(rundir, rpointer)) and (
+ not os.path.isfile(os.path.join(rundir, rpointer + inst_string))
+ ):
+ shutil.copy(
+ os.path.join(rundir, rpointer),
+ os.path.join(rundir, rpointer + inst_string),
+ )
# -----------------------------------------------------
# call build-namelist
# -----------------------------------------------------
if run_type == "hybrid" or run_type == "branch":
- clm_startfile = "%s.clm2%s.r.%s-%s.nc"%(run_refcase,inst_string,run_refdate,run_reftod)
- if not os.path.exists(os.path.join(rundir, clm_startfile)):
- clm_startfile = "%s.clm2.r.%s-%s.nc"%(run_refcase,run_refdate,run_reftod)
- logger.warning( "WARNING: the start file being used for a multi-instance case is a single instance: "+clm_startfile )
+ compnames = ["clm4", "clm5", "clm2"]
+ for comp in compnames:
+ clm_startfile = "%s.%s%s.r.%s-%s.nc" % (
+ run_refcase,
+ comp,
+ inst_string,
+ run_refdate,
+ run_reftod,
+ )
+ if os.path.exists(os.path.join(rundir, clm_startfile)):
+ break
+ else:
+ clm_startfile = "%s.%s.r.%s-%s.nc" % (
+ run_refcase,
+ comp,
+ run_refdate,
+ run_reftod,
+ )
+ if os.path.exists(os.path.join(rundir, clm_startfile)):
+ logger.warning(
+ "WARNING: the start file being used for a multi-instance case is a single instance: "
+ + clm_startfile
+ )
+ break
- clm_icfile = "%s = \'%s\'"%(startfile_type, clm_startfile)
+ if not os.path.exists(os.path.join(rundir, clm_startfile)):
+ logger.warning("WARNING: Could NOT find a start file to use using" + clm_startfile)
+ clm_icfile = "%s = '%s'" % (startfile_type, clm_startfile)
else:
clm_icfile = ""
@@ -202,48 +274,81 @@ def buildnml(case, caseroot, compname):
infile_lines.append(clm_icfile)
user_nl_file = os.path.join(caseroot, "user_nl_clm" + inst_string)
- namelist_infile = os.path.join(clmconf, "namelist")
+ namelist_infile = os.path.join(ctsmconf, "namelist")
create_namelist_infile(case, user_nl_file, namelist_infile, "\n".join(infile_lines))
- cmd = os.path.join(lnd_root,"bld","build-namelist")
-
- command = ("%s -cimeroot %s -infile %s -csmdata %s -inputdata %s %s -namelist \"&clm_inparm start_ymd=%s %s/ \" "
- "%s %s -res %s %s -clm_start_type %s -envxml_dir %s -l_ncpl %s "
- "-configuration %s -structure %s "
- "-lnd_frac %s -glc_nec %s -co2_ppmv %s -co2_type %s -config %s "
- "%s %s %s %s"
- %(cmd, _CIMEROOT, infile, din_loc_root, inputdata_file, ignore, start_ymd, clm_namelist_opts,
- nomeg, usecase, lnd_grid, clmusr, start_type, caseroot, lnd_ncpl,
- configuration, structure,
- lndfrac_file, glc_nec, ccsm_co2_ppmv, clm_co2_type, config_cache_file,
- clm_bldnml_opts, spinup, tuning, gridmask))
-
- rc, out, err = run_cmd(command, from_dir=clmconf)
- expect(rc==0,"Command %s failed rc=%d\nout=%s\nerr=%s"%(cmd,rc,out,err))
+ cmd = os.path.join(lnd_root, "bld", "build-namelist")
+
+ command = (
+ '%s -cimeroot %s -infile %s -csmdata %s -inputdata %s %s -namelist "&clm_inparm start_ymd=%s %s/ " '
+ "%s %s -res %s %s -clm_start_type %s -envxml_dir %s "
+ "-configuration %s -structure %s "
+ "%s -glc_nec %s %s -co2_ppmv %s -co2_type %s -config %s -driver %s "
+ "%s %s %s %s"
+ % (
+ cmd,
+ _CIMEROOT,
+ infile,
+ din_loc_root,
+ inputdata_file,
+ ignore,
+ start_ymd,
+ clm_namelist_opts,
+ nomeg,
+ usecase,
+ lnd_grid,
+ clmusr,
+ start_type,
+ caseroot,
+ configuration,
+ structure,
+ lndfrac_setting,
+ glc_nec,
+ glc_use_antarctica_flag,
+ ccsm_co2_ppmv,
+ clm_co2_type,
+ config_cache_file,
+ driver,
+ clm_bldnml_opts,
+ spinup,
+ tuning,
+ gridmask,
+ )
+ )
+
+ rc, out, err = run_cmd(command, from_dir=ctsmconf)
+ expect(rc == 0, "Command %s failed rc=%d\nout=%s\nerr=%s" % (cmd, rc, out, err))
if out is not None:
- logger.debug(" %s"%out)
+ logger.debug(" %s" % out)
if err is not None:
- logger.debug(" %s"%err)
+ logger.debug(" %s" % err)
# -----------------------------------------------------
# copy resolved namelist to rundir
# -----------------------------------------------------
if os.path.isdir(rundir):
- file1 = os.path.join(clmconf, "lnd_in")
+ file1 = os.path.join(ctsmconf, "lnd_in")
file2 = os.path.join(rundir, "lnd_in")
if ninst > 1:
file2 += inst_string
- logger.debug("CLM namelist copy: file1 %s file2 %s " %(file1, file2))
- shutil.copy(file1,file2)
+ logger.debug("CTSM namelist copy: file1 %s file2 %s " % (file1, file2))
+ shutil.copy(file1, file2)
+
###############################################################################
def _main_func():
caseroot = parse_input(sys.argv)
with Case(caseroot) as case:
- buildnml(case, caseroot, "clm")
+ compname = case.get_value("COMP_LND")
+ logger.warning(
+ "WARNING: buildnml is being called a s program rather than a subroutine "
+ + "as it is expected to be in the CESM context"
+ )
+ buildnml(case, caseroot, compname)
+
if __name__ == "__main__":
_main_func()
diff --git a/cime_config/config_archive.xml b/cime_config/config_archive.xml
index 4c2412a0e3..c219a1d1ef 100644
--- a/cime_config/config_archive.xml
+++ b/cime_config/config_archive.xml
@@ -3,6 +3,8 @@
rrh\d?h\d*.*\.nc$
+ lilac_hi.*\.nc$
+ lilac_atm_driver_h\d*.*\.nc$elocfnh
@@ -15,10 +17,33 @@
casename.clm2.r.1976-01-01-00000.nccasename.clm2.rh4.1976-01-01-00000.nccasename.clm2.h0.1976-01-01-00000.nc
+ casename.clm2.lilac_hi.1976-01-01-00000.nc
+ casename.clm2.lilac_atm_driver_h0.0001-01.nccasename.clm2.h0.1976-01-01-00000.nc.basecasename.clm2_0002.e.postassim.1976-01-01-00000.nccasename.clm2_0002.e.preassim.1976-01-01-00000.ncanothercasename.clm2.i.1976-01-01-00000.nc
+
+ r
+ rh\d?
+ h\d*.*\.nc$
+ e
+ locfnh
+
+ rpointer.lnd$NINST_STRING
+ ./$CASE.ctsm$NINST_STRING.r.$DATENAME.nc
+
+
+ rpointer.lnd
+ rpointer.lnd_9999
+ casename.ctsm.r.1976-01-01-00000.nc
+ casename.ctsm.rh4.1976-01-01-00000.nc
+ casename.ctsm.h0.1976-01-01-00000.nc
+ casename.ctsm.h0.1976-01-01-00000.nc.base
+ casename.ctsm_0002.e.postassim.1976-01-01-00000.nc
+ casename.ctsm_0002.e.preassim.1976-01-01-00000.nc
+
+
diff --git a/cime_config/config_component.xml b/cime_config/config_component.xml
index f9eeca8b7c..743e9229b9 100644
--- a/cime_config/config_component.xml
+++ b/cime_config/config_component.xml
@@ -14,18 +14,18 @@
- clm4.5:
- clm5.0:
+ clm4.5:
+ clm5.0:
+ clm5.1:Satellite phenology:
- CN: Carbon Nitrogen model
- CNDV: CN with Dynamic Vegetation (deprecated)
- CN with prognostic crop:
- CNDV with prognostic crop: (deprecated)Satellite phenology with VIC hydrology:
+ Satellite phenology without anthropomorphic influencesBGC (vert. resol. CN and methane):BGC (vert. resol. CN and methane) with prognostic crop:
- FATES (Functionally Assembled Terrestrial Ecosystem Simulator) Ecosystem Demography model: (experimental)
+ BGC (vert. resol. CN and methane) without anthropomorphic influences:
+ FATES (Functionally Assembled Terrestrial Ecosystem Simulator) Ecosystem Demography model:
+ Satellite phenology with FATES (Functionally Assembled Terrestrial Ecosystem Simulator) Ecosystem Demography model: BGC (vert. resol. CN and methane) with dynamic vegetation:BGC (vert. resol. CN and methane) with dynamic vegetation and prognostic crop:BGC (vert. resol. CN and methane) with prognostic crop, with modifications appropriate for CMIP6 DECK experiments:
@@ -34,49 +34,65 @@
NWP configuration with satellite phenology:NWP configuration with BGC and CROP:
-
char
- clm
- clm
+ clm,ctsm
+ UNSET
+
+ clm
+ ctsm
+ case_compenv_case.xmlName of land component
+
+ char
+ on,off
+ off
+ build_component_ctsm
+ env_build.xml
+ Flag to enable building the LILAC cap and coupling code
+
+
char
- run_component_clm
+ run_component_ctsmenv_run.xmlTuning parameters and initial conditions should be optimized for what CLM model version and what meteorlogical forcing combination?
UNSET
- clm5_0_cam6.0,clm5_0_GSWP3v1,clm5_0_CRUv7,clm4_5_CRUv7,clm4_5_GSWP3v1,clm4_5_cam6.0
+ clm5_0_cam6.0,clm5_0_GSWP3v1,clm5_0_CRUv7,clm4_5_CRUv7,clm4_5_GSWP3v1,clm4_5_cam6.0,clm5_1_GSWP3v1clm4_5_CRUv7clm4_5_CRUv7clm4_5_GSWP3v1clm4_5_cam6.0
+ clm4_5_cam6.0clm5_0_CRUv7clm5_0_CRUv7clm5_0_GSWP3v1clm5_0_cam6.0
+ clm5_0_cam6.0
+ clm5_1_GSWP3v1char
- clm4_5,clm5_0
+ clm4_5,clm5_0,clm5_1UNSET
- clm4_5
- clm5_0
+ clm4_5
+ clm5_0
+ clm5_1
- run_component_clm
+ run_component_ctsmenv_run.xmlOverall physics version to use.
This sets the default values for many different namelist options.
@@ -90,7 +106,7 @@
nwp
- run_component_clm
+ run_component_ctsmenv_run.xmlSets CLM default namelist options related to model configuration.
clm: Configuration used for climate applications (CLM)
@@ -105,7 +121,7 @@
fast
- run_component_clm
+ run_component_ctsmenv_run.xmlSets CLM default namelist options related to model structure.
standard: Standard model structure, allowing for more subgrid heterogeneity,
@@ -119,18 +135,25 @@
charUNSET
-
- 2000_control
- 1850_control
- 20thC_transient
- 1850-2100_rcp6_transient
- 1850-2100_rcp4.5_transient
- 1850-2100_rcp2.6_transient
- 1850-2100_rcp8.5_transient
- 20thC_transient
- 1850-2100_rcp4.5_transient
+
+ 2010_control
+ 2000_control
+ 1850_control
+ 1850_noanthro_control
+ 20thC_transient
+ 1850-2100_SSP5-8.5_transient
+ 1850-2100_SSP1-2.6_transient
+ 1850-2100_SSP3-7.0_transient
+ 1850-2100_SSP5-3.4_transient
+ 1850-2100_SSP2-4.5_transient
+ 1850-2100_SSP1-1.9_transient
+ 1850-2100_SSP4-3.4_transient
+ 1850-2100_SSP4-6.0_transient
+ 1850-2100_SSP5-8.5_transient
+ 20thC_transient
+ 1850-2100_SSP5-8.5_transient
- run_component_clm
+ run_component_ctsmenv_run.xmlCLM namelist use_case.
Determines the use-case that will be sent to the CLM build-namelist utility.
@@ -144,31 +167,24 @@
char
- -bgc sp
- -bgc cn
- -bgc bgc
- -bgc cn -crop
- -bgc bgc -crop
- -bgc cn -dynamic_vegetation
+
+ -bgc sp
+ -bgc bgc
+ -bgc bgc -crop
+ -bgc fates -no-megan
+ -bgc fates -no-megan
+
+
-bgc bgc -dynamic_vegetation
- -bgc cn -dynamic_vegetation -crop-bgc bgc -dynamic_vegetation -crop-bgc sp -vichydro
- -bgc fates -no-megan
- -bgc sp
- -bgc bgc
+
-bgc bgc -dynamic_vegetation
- -bgc bgc -crop
- -bgc cn
- -bgc cn -crop
- -bgc cn -dynamic_vegetation
- -bgc cn -dynamic_vegetation -crop-bgc bgc -dynamic_vegetation -crop-bgc sp -vichydro
- -bgc fates -no-megan
- run_component_clm
+ run_component_ctsmenv_run.xmlCLM build-namelist options
@@ -178,13 +194,13 @@
constant,diagnostic,prognosticconstant
- diagnostic
+ diagnosticdiagnosticprognosticdiagnostic
- diagnostic
+ diagnostic
- run_component_clm
+ run_component_ctsmenv_run.xmlDetermines how CLM will determine where CO2 is set.
If value is constant, it will be set to CCSM_CO2_PPMV,
@@ -199,7 +215,7 @@
char
- run_component_clm
+ run_component_ctsmenv_run.xmlCLM-specific namelist settings for -namelist option in the CLM
build-namelist. CLM_NAMELIST_OPTS is normally set as a compset variable
@@ -214,7 +230,7 @@
charon,offoff
- run_component_clm
+ run_component_ctsmenv_run.xmlTurn on any settings for accellerating the model spinup.
@@ -223,25 +239,40 @@
charUNSET
- run_component_clm
+ run_component_ctsmenv_run.xml
- Dataset name for user-created datasets. This is used as the argument
- in Buildconf/clm.buildnml to build-namelist -clm_usr_name. An example of
- such a dataset would be 1x1pt_boulderCO_c090722. The default value is UNSET.
- This is an advanced flag and should only be used by expert users.
+ Resolution name for user-created resolutions. This is especially used
+ for single point and regional resolutions created via subset_data from
+ the global datasets. This should be set when you use CLM_USRDAT as the grid
+ to create_newcase. The default value is UNSET.
+ For NEON cases, this can be set to either NEON or NEON.PRISM, the latter of which would
+ use PRISM precipitation instead of the default NEON precipitation. NEON cases then also
+ use the variable NEONSITE to specify the exact site.
+
+
+
+ char
+ UNSET
+ run_component_ctsm
+ env_run.xml
+ Directory name for user-created surface, landuse, and datm datasets.
+ This is used as an argument in user_mods namelists (e.g. user_nl_clm,
+ user_nl_datm_streams) generated with the subset_data script. Users
+ should modify this variable (in shell_commands or elsewhere) to set the
+ location of user-created data. The default value is UNSET.charon,offoff
- run_component_clm
+ run_component_ctsmenv_run.xmlFlag to the CLM build-namelist command to force CLM to do a
cold start (finidat will be set to blanks).
A value of on forces the model to spin up from a cold-start
(arbitrary initial conditions). Setting this value in the xml file will take
- precedence over any settings for finidat in the $CASEROOT/user_clm_clm file.
+ precedence over any settings for finidat in the $CASEROOT/user_nl_ctsm file.
@@ -249,15 +280,61 @@
- $COMP_ROOT_DIR_LND/cime_config/usermods_dirs/cmip6_deck
- $COMP_ROOT_DIR_LND/cime_config/usermods_dirs/cmip6_waccm_deck
+ $COMP_ROOT_DIR_LND/cime_config/usermods_dirs/cmip6_deck
+ $COMP_ROOT_DIR_LND/cime_config/usermods_dirs/fates_sp
+ $COMP_ROOT_DIR_LND/cime_config/usermods_dirs/cmip6_nociso_deck
+ $COMP_ROOT_DIR_LND/cime_config/usermods_dirs/cmip6_waccm_deck
+ $COMP_ROOT_DIR_LND/cime_config/usermods_dirs/cmip6_waccm_nociso_deck
- run_component_clm
+ run_component_ctsmenv_case.xmlUser mods to apply to specific compset matches.
-
+
+ char
+
+
+ ABBY,BLAN,CPER,DEJU,GRSM,HEAL,KONA,LENO,NIWO,ONAQ,PUUM,SERC,SRER,TALL,TREE,WOOD,
+ BARR,BONA,DCFS,DELA,GUAN,JERC,KONZ,MLBS,NOGP,ORNL,RMNP,SJER,STEI,TEAK,UKFS,WREF,
+ BART,CLBJ,DSNY,HARV,JORN,LAJA,MOAB,OAES,OSBS,SCBI,SOAP,STER,TOOL,UNDE,YELL,
+ NEON_PRECIP.ABBY,NEON_PRECIP.BLAN,NEON_PRECIP.CPER,NEON_PRECIP.DEJU,NEON_PRECIP.GRSM,
+ NEON_PRECIP.HEAL,NEON_PRECIP.KONA,NEON_PRECIP.LENO,NEON_PRECIP.NIWO,NEON_PRECIP.ONAQ,
+ NEON_PRECIP.PUUM,NEON_PRECIP.SERC,NEON_PRECIP.SRER,NEON_PRECIP.TALL,NEON_PRECIP.TREE,
+ NEON_PRECIP.WOOD,NEON_PRECIP.BARR,NEON_PRECIP.BONA,NEON_PRECIP.DCFS,NEON_PRECIP.DELA,
+ NEON_PRECIP.GUAN,NEON_PRECIP.JERC,NEON_PRECIP.KONZ,NEON_PRECIP.MLBS,NEON_PRECIP.NOGP,
+ NEON_PRECIP.ORNL,NEON_PRECIP.RMNP,NEON_PRECIP.SJER,NEON_PRECIP.STEI,NEON_PRECIP.TEAK,
+ NEON_PRECIP.UKFS,NEON_PRECIP.WREF,NEON_PRECIP.BART,NEON_PRECIP.CLBJ,NEON_PRECIP.DSNY,
+ NEON_PRECIP.HARV,NEON_PRECIP.JORN,NEON_PRECIP.LAJA,NEON_PRECIP.MOAB,NEON_PRECIP.OAES,
+ NEON_PRECIP.OSBS,NEON_PRECIP.SCBI,NEON_PRECIP.SOAP,NEON_PRECIP.STER,NEON_PRECIP.TOOL,
+ NEON_PRECIP.UNDE,NEON_PRECIP.YELL,
+ PRISM_PRECIP.ABBY,PRISM_PRECIP.BLAN,PRISM_PRECIP.CPER,PRISM_PRECIP.GRSM,
+ PRISM_PRECIP.KONA,PRISM_PRECIP.LENO,PRISM_PRECIP.NIWO,PRISM_PRECIP.ONAQ,
+ PRISM_PRECIP.SERC,PRISM_PRECIP.SRER,PRISM_PRECIP.TALL,PRISM_PRECIP.TREE,
+ PRISM_PRECIP.WOOD,PRISM_PRECIP.DCFS,PRISM_PRECIP.DELA,PRISM_PRECIP.JERC,
+ PRISM_PRECIP.KONZ,PRISM_PRECIP.MLBS,PRISM_PRECIP.NOGP,PRISM_PRECIP.ORNL,
+ PRISM_PRECIP.RMNP,PRISM_PRECIP.SJER,PRISM_PRECIP.STEI,PRISM_PRECIP.TEAK,
+ PRISM_PRECIP.UKFS,PRISM_PRECIP.WREF,PRISM_PRECIP.BART,PRISM_PRECIP.CLBJ,
+ PRISM_PRECIP.DSNY,PRISM_PRECIP.HARV,PRISM_PRECIP.JORN,PRISM_PRECIP.MOAB,
+ PRISM_PRECIP.OAES,PRISM_PRECIP.OSBS,PRISM_PRECIP.SCBI,PRISM_PRECIP.SOAP,
+ PRISM_PRECIP.STER,PRISM_PRECIP.UNDE,PRISM_PRECIP.YELL,
+
+
+ run_component_ctsm
+ env_run.xml
+ Name of site for NEON tower data
+
+
+
+ char
+ v1,v2,v3,latest
+ latest
+ run_component_ctsm
+ env_run.xml
+ Version id of Neon data
+
+
+
=========================================
CLM naming conventions
=========================================
diff --git a/cime_config/config_compsets.xml b/cime_config/config_compsets.xml
index a1954b5dde..aaa5c68394 100644
--- a/cime_config/config_compsets.xml
+++ b/cime_config/config_compsets.xml
@@ -12,13 +12,13 @@
The notation for the compset longname is
TIME_ATM[%phys]_LND[%phys]_ICE[%phys]_OCN[%phys]_ROF[%phys]_GLC[%phys]_WAV[%phys][_BGC%phys]
Where for the CAM specific compsets below the following is supported
- TIME = Time period (e.g. 2000, HIST, RCP8...)
+ TIME = Time period (e.g. 2000, HIST, SSP585...)
ATM = [CAM40, CAM50, CAM55]
- LND = [CLM45, CLM50, SLND]
+ LND = [CLM45, CLM50, CLM51, SLND]
ICE = [CICE, DICE, SICE]
OCN = [DOCN, ,AQUAP, SOCN]
ROF = [RTM, SROF]
- GLC = [CISM1, CISM2]
+ GLC = [CISM2, SGLC]
WAV = [SWAV]
BGC = optional BGC scenario
@@ -37,249 +37,400 @@
- I1PtClm50SpGs
- 2000_DATM%1PT_CLM50%SP_SICE_SOCN_MOSART_SGLC_SWAV
+ I1PtClm51Bgc
+ 2000_DATM%1PT_CLM51%BGC_SICE_SOCN_SROF_SGLC_SWAV
- I1PtClm45SpGs
- 2000_DATM%1PT_CLM45%SP_SICE_SOCN_RTM_SGLC_SWAV
+ I1PtClm51Fates
+ 2000_DATM%1PT_CLM51%FATES_SICE_SOCN_SROF_SGLC_SWAV
+
+
+
+ IHist1PtClm51Bgc
+ HIST_DATM%1PT_CLM51%BGC_SICE_SOCN_SROF_SGLC_SWAV
+
+
+
+ IHist1PtClm51Fates
+ HIST_DATM%1PT_CLM51%FATES_SICE_SOCN_SROF_SGLC_SWAV
+
+
+
+ I1PtClm51SpRs
+ 2000_DATM%1PT_CLM51%SP_SICE_SOCN_SROF_SGLC_SWAV
+
+
+
+ I1PtClm50SpRs
+ 2000_DATM%1PT_CLM50%SP_SICE_SOCN_SROF_SGLC_SWAV
+
+
+
+ I1PtClm45SpRs
+ 2000_DATM%1PT_CLM45%SP_SICE_SOCN_SROF_SGLC_SWAVI2000Clm50Sp
- 2000_DATM%GSWP3v1_CLM50%SP_SICE_SOCN_MOSART_CISM2%NOEVOLVE_SWAV
+ 2000_DATM%GSWP3v1_CLM50%SP_SICE_SOCN_MOSART_SGLC_SWAV
- I2000Clm50SpRsGs
+ I2000Clm50SpRs2000_DATM%GSWP3v1_CLM50%SP_SICE_SOCN_SROF_SGLC_SWAV
+
+ I2000Clm51Sp
+ 2000_DATM%GSWP3v1_CLM51%SP_SICE_SOCN_MOSART_SGLC_SWAV
+
+
+
+
+ I2000Clm51SpRs
+ 2000_DATM%GSWP3v1_CLM51%SP_SICE_SOCN_SROF_SGLC_SWAV
+
+
- I2000Clm50SpRtmGs
+ I2000Clm50SpRtm2000_DATM%GSWP3v1_CLM50%SP_SICE_SOCN_RTM_SGLC_SWAV
+
+ I2000Clm50SpMizGs
+ 2000_DATM%GSWP3v1_CLM50%SP_SICE_SOCN_MIZUROUTE_SGLC_SWAV
+
+
+
+ I2010Clm50Sp
+ 2010_DATM%GSWP3v1_CLM50%SP_SICE_SOCN_MOSART_SGLC_SWAV
+
+
I2000Clm50BgcCru
- 2000_DATM%CRUv7_CLM50%BGC_SICE_SOCN_MOSART_CISM2%NOEVOLVE_SWAV
+ 2000_DATM%CRUv7_CLM50%BGC_SICE_SOCN_MOSART_SGLC_SWAVI2000Clm50BgcCropRtm
- 2000_DATM%GSWP3v1_CLM50%BGC-CROP_SICE_SOCN_RTM_CISM2%NOEVOLVE_SWAV
+ 2000_DATM%GSWP3v1_CLM50%BGC-CROP_SICE_SOCN_RTM_SGLC_SWAVI2000Clm50BgcCrop
- 2000_DATM%GSWP3v1_CLM50%BGC-CROP_SICE_SOCN_MOSART_CISM2%NOEVOLVE_SWAV
+ 2000_DATM%GSWP3v1_CLM50%BGC-CROP_SICE_SOCN_MOSART_SGLC_SWAV
-
- I2000Clm50Cn
- 2000_DATM%GSWP3v1_CLM50%CN_SICE_SOCN_MOSART_CISM2%NOEVOLVE_SWAV
+ I2000Clm51BgcCrop
+ 2000_DATM%GSWP3v1_CLM51%BGC-CROP_SICE_SOCN_MOSART_SGLC_SWAV
+
+ I2000Clm51Bgc
+ 2000_DATM%GSWP3v1_CLM51%BGC_SICE_SOCN_MOSART_SGLC_SWAV
+
+
+
I1850Clm50Sp
- 1850_DATM%GSWP3v1_CLM50%SP_SICE_SOCN_MOSART_CISM2%NOEVOLVE_SWAV
+ 1850_DATM%GSWP3v1_CLM50%SP_SICE_SOCN_MOSART_SGLC_SWAVI1850Clm50SpCru
- 1850_DATM%CRUv7_CLM50%SP_SICE_SOCN_MOSART_CISM2%NOEVOLVE_SWAV
+ 1850_DATM%CRUv7_CLM50%SP_SICE_SOCN_MOSART_SGLC_SWAVI1850Clm50BgcCrop
- 1850_DATM%GSWP3v1_CLM50%BGC-CROP_SICE_SOCN_MOSART_CISM2%NOEVOLVE_SWAV
+ 1850_DATM%GSWP3v1_CLM50%BGC-CROP_SICE_SOCN_MOSART_SGLC_SWAV
-
- I1850Clm50BgcCropCmip6
- 1850_DATM%GSWP3v1_CLM50%BGC-CROP-CMIP6DECK_SICE_SOCN_MOSART_CISM2%NOEVOLVE_SWAV
+ I1850Clm51BgcCrop
+ 1850_DATM%GSWP3v1_CLM51%BGC-CROP_SICE_SOCN_MOSART_SGLC_SWAV
-
- I1850Clm50BgcCropCmip6waccm
- 1850_DATM%GSWP3v1_CLM50%BGC-CROP-CMIP6WACCMDECK_SICE_SOCN_MOSART_CISM2%NOEVOLVE_SWAV
+ I1850Clm51Sp
+ 1850_DATM%GSWP3v1_CLM51%SP_SICE_SOCN_MOSART_SGLC_SWAV
- I1850Clm50BgcCropCru
- 1850_DATM%CRUv7_CLM50%BGC-CROP_SICE_SOCN_MOSART_CISM2%NOEVOLVE_SWAV
-
-
+ I1850Clm51Bgc
+ 1850_DATM%GSWP3v1_CLM51%BGC_SICE_SOCN_MOSART_SGLC_SWAV
+
+
- I2000Clm50SpGs
- 2000_DATM%GSWP3v1_CLM50%SP_SICE_SOCN_MOSART_SGLC_SWAV
+ I1850Clm50BgcCropCmip6
+ 1850_DATM%GSWP3v1_CLM50%BGC-CROP-CMIP6DECK_SICE_SOCN_MOSART_SGLC_SWAV
-
+
- I2000Clm50BgcCropGs
- 2000_DATM%GSWP3v1_CLM50%BGC-CROP_SICE_SOCN_MOSART_SGLC_SWAV
+ I1850Clm50BgcCropCmip6waccm
+ 1850_DATM%GSWP3v1_CLM50%BGC-CROP-CMIP6WACCMDECK_SICE_SOCN_MOSART_SGLC_SWAV
-
- I2000Clm50BgcCropQianGs
- 2000_DATM%QIA_CLM50%BGC-CROP_SICE_SOCN_MOSART_SGLC_SWAV
+ I1850Clm50BgcCropCru
+ 1850_DATM%CRUv7_CLM50%BGC-CROP_SICE_SOCN_MOSART_SGLC_SWAV
+
+
+ atm forcing to speed up datm, SROF to speed up build and run -->
- I2000Clm50BgcCropQianRsGs
+ I2000Clm50BgcCropQianRs2000_DATM%QIA_CLM50%BGC-CROP_SICE_SOCN_SROF_SGLC_SWAV
- I2000Clm45BgcCropQianRsGs
+ I2000Clm45BgcCropQianRs2000_DATM%QIA_CLM45%BGC-CROP_SICE_SOCN_SROF_SGLC_SWAV
+
+ I2000Clm50FatesQian
+ 2000_DATM%QIA_CLM50%FATES_SICE_SOCN_MOSART_SGLC_SWAV
+
- I2000Clm50BgcCruGs
- 2000_DATM%CRUv7_CLM50%BGC_SICE_SOCN_MOSART_SGLC_SWAV
+ I2000Clm50BgcCruRs
+ 2000_DATM%CRUv7_CLM50%BGC_SICE_SOCN_SROF_SGLC_SWAVI2000Clm50SpRtmFl
- 2000_DATM%GSWP3v1_CLM50%SP_SICE_SOCN_RTM%FLOOD_CISM2%NOEVOLVE_SWAV
+ 2000_DATM%GSWP3v1_CLM50%SP_SICE_SOCN_RTM%FLOOD_SGLC_SWAV
+
+ I2000Clm51Fates
+ 2000_DATM%GSWP3v1_CLM51%FATES_SICE_SOCN_MOSART_SGLC_SWAV
+ I2000Clm50Fates
- 2000_DATM%GSWP3v1_CLM50%FATES_SICE_SOCN_MOSART_CISM2%NOEVOLVE_SWAV
+ 2000_DATM%GSWP3v1_CLM50%FATES_SICE_SOCN_MOSART_SGLC_SWAV
+
+
+ I2000Clm50FatesCruRsGs
+ 2000_DATM%CRUv7_CLM50%FATES_SICE_SOCN_SROF_SGLC_SWAV
+
+
+ I2000Clm51FatesSpCruRsGs
+ 2000_DATM%CRUv7_CLM51%FATES-SP_SICE_SOCN_SROF_SGLC_SWAV
+
+
+ I2000Clm51FatesSpRsGs
+ 2000_DATM%GSWP3v1_CLM51%FATES-SP_SICE_SOCN_SROF_SGLC_SWAV
- I2000Clm50FatesCruGs
+ I2000Clm50FatesCru2000_DATM%CRUv7_CLM50%FATES_SICE_SOCN_MOSART_SGLC_SWAV
-
- I2000Clm50FatesGs
- 2000_DATM%GSWP3v1_CLM50%FATES_SICE_SOCN_MOSART_SGLC_SWAV
+ I2000Clm50FatesRs
+ 2000_DATM%GSWP3v1_CLM50%FATES_SICE_SOCN_SROF_SGLC_SWAV
+
+
+ I2000Clm51FatesRs
+ 2000_DATM%GSWP3v1_CLM51%FATES_SICE_SOCN_SROF_SGLC_SWAVI1850Clm50Bgc
- 1850_DATM%GSWP3v1_CLM50%BGC_SICE_SOCN_MOSART_CISM2%NOEVOLVE_SWAV
+ 1850_DATM%GSWP3v1_CLM50%BGC_SICE_SOCN_MOSART_SGLC_SWAV
+
+
+
+ I1850Clm50BgcNoAnthro
+ 1850_DATM%GSWP3v1_CLM50%BGC-NOANTHRO_SICE_SOCN_MOSART_SGLC_SWAV
+
+
+
+ I1850Clm50SpNoAnthro
+ 1850_DATM%GSWP3v1_CLM50%SP-NOANTHRO_SICE_SOCN_MOSART_SGLC_SWAVIHistClm50BgcCrop
- HIST_DATM%GSWP3v1_CLM50%BGC-CROP_SICE_SOCN_MOSART_CISM2%NOEVOLVE_SWAV
+ HIST_DATM%GSWP3v1_CLM50%BGC-CROP_SICE_SOCN_MOSART_SGLC_SWAV
+
+ I1850Clm51SpNoAnthro
+ 1850_DATM%GSWP3v1_CLM51%SP-NOANTHRO_SICE_SOCN_MOSART_SGLC_SWAV
+
+
+
+ IHistClm51Sp
+ HIST_DATM%GSWP3v1_CLM51%SP_SICE_SOCN_MOSART_SGLC_SWAV
+
+
+
+ IHistClm51Bgc
+ HIST_DATM%GSWP3v1_CLM51%BGC_SICE_SOCN_MOSART_SGLC_SWAV
+
+
+
+ IHistClm51BgcCrop
+ HIST_DATM%GSWP3v1_CLM51%BGC-CROP_SICE_SOCN_MOSART_SGLC_SWAV
+
+
IHistClm50Sp
- HIST_DATM%GSWP3v1_CLM50%SP_SICE_SOCN_MOSART_CISM2%NOEVOLVE_SWAV
+ HIST_DATM%GSWP3v1_CLM50%SP_SICE_SOCN_MOSART_SGLC_SWAV
+
+
+
+
+
+ IHistClm50SpCru
+ HIST_DATM%CRUv7_CLM50%SP_SICE_SOCN_MOSART_SGLC_SWAVIHistClm50Bgc
- HIST_DATM%GSWP3v1_CLM50%BGC_SICE_SOCN_MOSART_CISM2%NOEVOLVE_SWAV
+ HIST_DATM%GSWP3v1_CLM50%BGC_SICE_SOCN_MOSART_SGLC_SWAV
-
+
- IHistClm50BgcQianGs
+ IHistClm50BgcQianHIST_DATM%QIA_CLM50%BGC_SICE_SOCN_MOSART_SGLC_SWAV
-
- IHistClm50BgcCropGs
- HIST_DATM%GSWP3v1_CLM50%BGC-CROP_SICE_SOCN_MOSART_SGLC_SWAV
+ IHistClm50BgcQianRs
+ HIST_DATM%QIA_CLM50%BGC_SICE_SOCN_SROF_SGLC_SWAV
+
+
+
+
+ ISSP585Clm50BgcCrop
+ SSP585_DATM%GSWP3v1_CLM50%BGC-CROP_SICE_SOCN_MOSART_SGLC_SWAV
+
+
+
+ ISSP126Clm50BgcCrop
+ SSP126_DATM%GSWP3v1_CLM50%BGC-CROP_SICE_SOCN_MOSART_SGLC_SWAV
+
+
+
+ ISSP119Clm50BgcCrop
+ SSP119_DATM%GSWP3v1_CLM50%BGC-CROP_SICE_SOCN_MOSART_SGLC_SWAV
+
+
+
+ ISSP245Clm50BgcCrop
+ SSP245_DATM%GSWP3v1_CLM50%BGC-CROP_SICE_SOCN_MOSART_SGLC_SWAV
+
+
+
+ ISSP370Clm50BgcCrop
+ SSP370_DATM%GSWP3v1_CLM50%BGC-CROP_SICE_SOCN_MOSART_SGLC_SWAV
+
+
+
+ ISSP434Clm50BgcCrop
+ SSP434_DATM%GSWP3v1_CLM50%BGC-CROP_SICE_SOCN_MOSART_SGLC_SWAV
+
+
+
+ ISSP460Clm50BgcCrop
+ SSP460_DATM%GSWP3v1_CLM50%BGC-CROP_SICE_SOCN_MOSART_SGLC_SWAV
-
- IHistClm50BgcCropQianGs
- HIST_DATM%QIA_CLM50%BGC-CROP_SICE_SOCN_MOSART_SGLC_SWAV
+ ISSP534Clm50BgcCrop
+ SSP534_DATM%GSWP3v1_CLM50%BGC-CROP_SICE_SOCN_MOSART_SGLC_SWAV
+
+
+
+
+
+ IHistClm50BgcCropQianRs
+ HIST_DATM%QIA_CLM50%BGC-CROP_SICE_SOCN_SROF_SGLC_SWAV
+
+
+
+
+ IHistClm50BgcCropRs
+ HIST_DATM%GSWP3v1_CLM50%BGC-CROP_SICE_SOCN_SROF_SGLC_SWAVI2000Clm50BgcDvCrop
- 2000_DATM%GSWP3v1_CLM50%BGCDV-CROP_SICE_SOCN_MOSART_CISM2%NOEVOLVE_SWAV
+ 2000_DATM%GSWP3v1_CLM50%BGCDV-CROP_SICE_SOCN_MOSART_SGLC_SWAV
- I2000Clm50BgcDvCropQianGs
- 2000_DATM%QIA_CLM50%BGCDV-CROP_SICE_SOCN_MOSART_SGLC_SWAV
+ I2000Clm50BgcDvCropQianRs
+ 2000_DATM%QIA_CLM50%BGCDV-CROP_SICE_SOCN_SROF_SGLC_SWAVI1850Clm50BgcSpinup
- 1850_DATM%CPLHIST_CLM50%BGC_SICE_SOCN_MOSART_CISM2%NOEVOLVE_SWAV
+ 1850_DATM%CPLHIST_CLM50%BGC_SICE_SOCN_MOSART_SGLC_SWAV
- I2000Ctsm50NwpSpGswpGs
+ I2000Ctsm50NwpSpGswp2000_DATM%GSWP3v1_CLM50%NWP-SP_SICE_SOCN_MOSART_SGLC_SWAV
- I2000Ctsm50NwpBgcCropGswpGs
+ I2000Ctsm50NwpBgcCropGswp2000_DATM%GSWP3v1_CLM50%NWP-BGC-CROP_SICE_SOCN_MOSART_SGLC_SWAV
- I2000Ctsm50NwpSpNldasGs
+ I2000Ctsm50NwpSpNldas2000_DATM%NLDAS2_CLM50%NWP-SP_SICE_SOCN_MOSART_SGLC_SWAV
- I2000Ctsm50NwpSpNldasRsGs
+ I2000Ctsm50NwpSpNldasRs2000_DATM%NLDAS2_CLM50%NWP-SP_SICE_SOCN_SROF_SGLC_SWAV
@@ -287,11 +438,11 @@
I1850Clm45BgcCrop
- 1850_DATM%GSWP3v1_CLM45%BGC-CROP_SICE_SOCN_RTM_CISM2%NOEVOLVE_SWAV
+ 1850_DATM%GSWP3v1_CLM45%BGC-CROP_SICE_SOCN_RTM_SGLC_SWAV
- I1850Clm45BgcCruGs
+ I1850Clm45BgcCru1850_DATM%CRUv7_CLM45%BGC_SICE_SOCN_RTM_SGLC_SWAV
@@ -300,75 +451,62 @@
IHistClm45BgcCrop
- HIST_DATM%GSWP3v1_CLM45%BGC-CROP_SICE_SOCN_RTM_CISM2%NOEVOLVE_SWAV
+ HIST_DATM%GSWP3v1_CLM45%BGC-CROP_SICE_SOCN_RTM_SGLC_SWAV
- IHistClm45BgcCropQianGs
- HIST_DATM%QIA_CLM45%BGC-CROP_SICE_SOCN_RTM_SGLC_SWAV
+ IHistClm45BgcCropQianRs
+ HIST_DATM%QIA_CLM45%BGC-CROP_SICE_SOCN_SROF_SGLC_SWAVI2000Clm45Sp
- 2000_DATM%GSWP3v1_CLM45%SP_SICE_SOCN_RTM_CISM2%NOEVOLVE_SWAV
+ 2000_DATM%GSWP3v1_CLM45%SP_SICE_SOCN_RTM_SGLC_SWAVI2000Clm45BgcCrop
- 2000_DATM%GSWP3v1_CLM45%BGC-CROP_SICE_SOCN_RTM_CISM2%NOEVOLVE_SWAV
+ 2000_DATM%GSWP3v1_CLM45%BGC-CROP_SICE_SOCN_RTM_SGLC_SWAVI2000Clm45Fates
- 2000_DATM%GSWP3v1_CLM45%FATES_SICE_SOCN_RTM_CISM2%NOEVOLVE_SWAV
-
-
-
-
- I2000Clm45FatesGs2000_DATM%GSWP3v1_CLM45%FATES_SICE_SOCN_RTM_SGLC_SWAV
+
- I1850Clm45Cn
- 1850_DATM%GSWP3v1_CLM45%CN_SICE_SOCN_RTM_CISM2%NOEVOLVE_SWAV
+ I2000Clm45FatesRs
+ 2000_DATM%GSWP3v1_CLM45%FATES_SICE_SOCN_SROF_SGLC_SWAVI1850Clm45Bgc
- 1850_DATM%GSWP3v1_CLM45%BGC_SICE_SOCN_RTM_CISM2%NOEVOLVE_SWAV
-
-
-
- I1850Clm45BgcGs1850_DATM%GSWP3v1_CLM45%BGC_SICE_SOCN_RTM_SGLC_SWAV
-
- I1850Clm45BgcCru
- 1850_DATM%CRUv7_CLM45%BGC_SICE_SOCN_RTM_CISM2%NOEVOLVE_SWAV
-
-
IHistClm45Bgc
- HIST_DATM%GSWP3v1_CLM45%BGC_SICE_SOCN_RTM_CISM2%NOEVOLVE_SWAV
+ HIST_DATM%GSWP3v1_CLM45%BGC_SICE_SOCN_RTM_SGLC_SWAV
+
+
- IHistClm45BgcGs
- HIST_DATM%GSWP3v1_CLM45%BGC_SICE_SOCN_RTM_SGLC_SWAV
+ IHistClm45BgcCru
+ HIST_DATM%CRUv7_CLM45%BGC_SICE_SOCN_RTM_SGLC_SWAV
- IHistClm45BgcCruGs
- HIST_DATM%CRUv7_CLM45%BGC_SICE_SOCN_RTM_SGLC_SWAV
+ IHistClm45Sp
+ HIST_DATM%GSWP3v1_CLM45%SP_SICE_SOCN_RTM_SGLC_SWAV
@@ -376,33 +514,61 @@
I2000Clm50Vic
- 2000_DATM%GSWP3v1_CLM50%SP-VIC_SICE_SOCN_RTM_CISM2%NOEVOLVE_SWAV
+ 2000_DATM%GSWP3v1_CLM50%SP-VIC_SICE_SOCN_RTM_SGLC_SWAVI2000Clm45VicCru
- 2000_DATM%CRUv7_CLM45%SP-VIC_SICE_SOCN_RTM_CISM2%NOEVOLVE_SWAV
+ 2000_DATM%CRUv7_CLM45%SP-VIC_SICE_SOCN_RTM_SGLC_SWAVI1850Clm50SpG
- 1850_DATM%GSWP3v1_CLM50%SP_SICE_SOCN_MOSART_CISM2%EVOLVE_SWAV
+ 1850_DATM%GSWP3v1_CLM50%SP_SICE_SOCN_MOSART_CISM2%GRIS-EVOLVE_SWAV
+
+
+
+ I1850Clm50SpGa
+ 1850_DATM%GSWP3v1_CLM50%SP_SICE_SOCN_MOSART_CISM2%AIS-EVOLVE_SWAV
+
+
+
+ I1850Clm50SpGag
+ 1850_DATM%GSWP3v1_CLM50%SP_SICE_SOCN_MOSART_CISM2%AIS-EVOLVE%GRIS-EVOLVE_SWAV
+
+
+
+
+ I1850Clm50SpRsGag
+ 1850_DATM%GSWP3v1_CLM50%SP_SICE_SOCN_SROF_CISM2%AIS-EVOLVE%GRIS-EVOLVE_SWAVIHistClm50SpG
- HIST_DATM%GSWP3v1_CLM50%SP_SICE_SOCN_MOSART_CISM2%EVOLVE_SWAV
+ HIST_DATM%GSWP3v1_CLM50%SP_SICE_SOCN_MOSART_CISM2%GRIS-EVOLVE_SWAVI1850Clm50BgcCropG
- 1850_DATM%GSWP3v1_CLM50%BGC-CROP_SICE_SOCN_MOSART_CISM2%EVOLVE_SWAV
+ 1850_DATM%GSWP3v1_CLM50%BGC-CROP_SICE_SOCN_MOSART_CISM2%GRIS-EVOLVE_SWAVIHistClm50BgcCropG
- HIST_DATM%GSWP3v1_CLM50%BGC-CROP_SICE_SOCN_MOSART_CISM2%EVOLVE_SWAV
+ HIST_DATM%GSWP3v1_CLM50%BGC-CROP_SICE_SOCN_MOSART_CISM2%GRIS-EVOLVE_SWAV
+
+
+
+
+ I2000Ctsm50NwpSpAsRs
+ 2000_SATM_CLM50%NWP-SP_SICE_SOCN_SROF_SGLC_SWAV
@@ -413,6 +579,7 @@
1850-01-012000-01-012010-01-01
+ 2015-01-011980-01-151997-12-311993-12-01
diff --git a/cime_config/config_pes.xml b/cime_config/config_pes.xml
index 9467994e62..aad134be86 100644
--- a/cime_config/config_pes.xml
+++ b/cime_config/config_pes.xml
@@ -224,6 +224,80 @@
+
+
+
+ Much lower core count f19 layout, mainly for testing
+
+ -1
+ -4
+ -4
+ -4
+ -4
+ -4
+ -4
+ -4
+
+
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+
+
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+ none
+
+ -1
+ -11
+ -11
+ -11
+ -11
+ -11
+ -11
+ -11
+
+
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+
+
+ 0
+ -1
+ -1
+ -1
+ -1
+ -1
+ -1
+ -1
+
+
+
+
@@ -298,6 +372,80 @@
+
+
+
+ Much lower core count f09 layout, mainly for testing
+
+ -1
+ -4
+ -4
+ -4
+ -4
+ -4
+ -4
+ -4
+
+
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+
+
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+ none
+
+ -1
+ -11
+ -11
+ -11
+ -11
+ -11
+ -11
+ -11
+
+
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+
+
+ 0
+ -1
+ -1
+ -1
+ -1
+ -1
+ -1
+ -1
+
+
+
+
@@ -409,6 +557,228 @@
+
+
+
+ none
+
+ -12
+ -12
+ -12
+ -12
+ -12
+ -12
+ -12
+ -12
+
+
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+
+
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+ none
+
+ -1
+ -70
+ -70
+ -70
+ -70
+ -70
+ -70
+ -70
+
+
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+
+
+ 0
+ -1
+ -1
+ -1
+ -1
+ -1
+ -1
+ -1
+
+
+
+
+
+
+
+ none
+
+ -12
+ -12
+ -12
+ -12
+ -12
+ -12
+ -12
+ -12
+
+
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+
+
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+ none
+
+ -1
+ -70
+ -70
+ -70
+ -70
+ -70
+ -70
+ -70
+
+
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+
+
+ 0
+ -1
+ -1
+ -1
+ -1
+ -1
+ -1
+ -1
+
+
+
+
+
+
+
+ none
+
+ -12
+ -12
+ -12
+ -12
+ -12
+ -12
+ -12
+ -12
+
+
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+
+
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+ none
+
+ -1
+ -70
+ -70
+ -70
+ -70
+ -70
+ -70
+ -70
+
+
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+
+
+ 0
+ -1
+ -1
+ -1
+ -1
+ -1
+ -1
+ -1
+
+
+
+
@@ -483,6 +853,228 @@
+
+
+
+ none
+
+ -12
+ -12
+ -12
+ -12
+ -12
+ -12
+ -12
+ -12
+
+
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+
+
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+ none
+
+ -1
+ -48
+ -48
+ -48
+ -48
+ -48
+ -48
+ -48
+
+
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+
+
+ 0
+ -1
+ -1
+ -1
+ -1
+ -1
+ -1
+ -1
+
+
+
+
+
+
+
+ none
+
+ -24
+ -24
+ -24
+ -24
+ -24
+ -24
+ -24
+ -24
+
+
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+
+
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+ none
+
+ -1
+ -48
+ -48
+ -48
+ -48
+ -48
+ -48
+ -48
+
+
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+
+
+ 0
+ -1
+ -1
+ -1
+ -1
+ -1
+ -1
+ -1
+
+
+
+
+
+
+
+ none
+
+ -48
+ -48
+ -48
+ -48
+ -48
+ -48
+ -48
+ -48
+
+
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+
+
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+ none
+
+ -1
+ -96
+ -96
+ -96
+ -96
+ -96
+ -96
+ -96
+
+
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+
+
+ 0
+ -1
+ -1
+ -1
+ -1
+ -1
+ -1
+ -1
+
+
+
+
@@ -745,20 +1337,42 @@
-
-
-
-
-
-
- 1
-
-
- 1
-
-
-
-
-
+
+
+
+ Much lower core count nldas2 layout, mainly for testing
+
+ -1
+ -4
+ -4
+ -4
+ -4
+ -4
+ -4
+ -4
+
+
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+
+
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+
+
diff --git a/cime_config/config_tests.xml b/cime_config/config_tests.xml
index 8a40ea9183..536f79aeec 100644
--- a/cime_config/config_tests.xml
+++ b/cime_config/config_tests.xml
@@ -1,19 +1,7 @@
@@ -27,6 +15,36 @@ SSP smoke CLM spinup test (only valid for CLM compsets with CLM45)
FALSE
+
+ Run the CTSM with an fsurdat generated by the fsurdat_modify tool
+ 1
+ FALSE
+ FALSE
+ never
+ $STOP_OPTION
+ $STOP_N
+
+
+
+ CTSM Land model test to ensure that we can allocate and use a second grain pool
+ 1
+ FALSE
+ FALSE
+ never
+ $STOP_OPTION
+ $STOP_N
+
+
+
+ CTSM Land model test to ensure that we can allocate and use a reproductive structure pool
+ 1
+ FALSE
+ FALSE
+ never
+ $STOP_OPTION
+ $STOP_N
+
+
CLM initial condition interpolation test (requires configuration with non-blank finidat)1
@@ -47,6 +65,16 @@ SSP smoke CLM spinup test (only valid for CLM compsets with CLM45)
$STOP_N
+
+ CTSM test: Smoke test of building and running CTSM via LILAC. Grid and compset (and most case settings) are ignored.
+
+ 1
+ ndays
+ 11
+ FALSE
+ FALSE
+
+
CLM test: Verify that adding virtual glacier columns doesn't change answers1
@@ -85,6 +113,24 @@ SSP smoke CLM spinup test (only valid for CLM compsets with CLM45)
$STOP_N
+
+ Generate prescribed maturity requirements, then test with them
+ 1
+ FALSE
+ FALSE
+ never
+ $STOP_OPTION
+ $STOP_N
+
+
+
+
smoke CLM spinup test1
diff --git a/cime_config/testdefs/ExpectedTestFails.xml b/cime_config/testdefs/ExpectedTestFails.xml
index d12defc385..174ebf9c58 100644
--- a/cime_config/testdefs/ExpectedTestFails.xml
+++ b/cime_config/testdefs/ExpectedTestFails.xml
@@ -29,84 +29,87 @@
-
-
-
+
+ FAIL
- #158
+ #1887
-
-
+
+ FAIL
- #550
+ #1733
-
-
-
-
+
+ FAIL
- NGEET/fates#315
+ #1733
-
-
+
+ FAIL
- NGEET/fates#315
+ #1733
-
+
+
+ FAIL
- NGEET/fates#315
+ #667
-
-
+
+ FAIL
- NGEET/fates#315
+ FATES#897
-
+ FAIL
- NGEET/fates#315
+ FATES#897
-
-
+
+ FAIL
- NGEET/fates#315
+ FATES#701
-
+ FAIL
- NGEET/fates#315
+ FATES#701
-
-
- FAIL
- NGEET/fates#315
+
+
+ PEND
+ #1045
-
-
+
+ FAIL
- NGEET/fates#315
+ FATES#983
+ This job should time out on izumi, seems to be hanging on history output.
-
+
+
+
+
diff --git a/cime_config/testdefs/testlist_clm.xml b/cime_config/testdefs/testlist_clm.xml
index 36b083427a..6cef2f35f1 100644
--- a/cime_config/testdefs/testlist_clm.xml
+++ b/cime_config/testdefs/testlist_clm.xml
@@ -1,6 +1,6 @@
-
+
@@ -8,24 +8,43 @@
-
+
+
-
+
-
+
-
+
+
+
+
+
+
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
@@ -34,7 +53,25 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -50,7 +87,7 @@
-
+
@@ -59,18 +96,56 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
+
@@ -84,7 +159,7 @@
-
+
@@ -92,23 +167,43 @@
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
+
-
+
@@ -116,7 +211,7 @@
-
+
@@ -124,15 +219,15 @@
-
+
-
+
-
+
@@ -141,7 +236,7 @@
-
+
@@ -149,7 +244,24 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -157,15 +269,15 @@
-
+
-
+
-
+
@@ -174,7 +286,7 @@
-
+
@@ -183,23 +295,34 @@
-
+
-
+
+
-
+
-
+
+
+
+
+
+
+
+
+
+
+
-
+
@@ -207,73 +330,78 @@
-
+
-
+
-
+
-
+
+
-
+
-
+
+
-
+
-
+
+
-
+
+
-
+
-
+
-
+
-
+
+
-
-
+
-
+
+
-
+
@@ -284,13 +412,13 @@
-
+
-
+
@@ -298,33 +426,43 @@
-
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
+
-
+
-
-
+
-
+
-
+
@@ -332,7 +470,25 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -340,15 +496,15 @@
-
+
-
+
-
+
@@ -359,7 +515,7 @@
-
+
@@ -367,7 +523,34 @@
-
+
+
+