From 88638a87f929f2e2708a6a54a6eb312e96c06517 Mon Sep 17 00:00:00 2001 From: adrifoster Date: Mon, 9 Jan 2023 14:51:39 -0700 Subject: [PATCH 01/40] add fates-specific helper script --- .../neon_surf_wrapper_fates.py | 110 ++++++++++++++++++ 1 file changed, 110 insertions(+) create mode 100755 tools/site_and_regional/neon_surf_wrapper_fates.py diff --git a/tools/site_and_regional/neon_surf_wrapper_fates.py b/tools/site_and_regional/neon_surf_wrapper_fates.py new file mode 100755 index 0000000000..fcda0e17b4 --- /dev/null +++ b/tools/site_and_regional/neon_surf_wrapper_fates.py @@ -0,0 +1,110 @@ +#! /usr/bin/env python3 +""" +|------------------------------------------------------------------| +|--------------------- Instructions -----------------------------| +|------------------------------------------------------------------| +This script is a simple wrapper for neon sites that performs the +following: + 1) For neon sites, subset surface dataset from global dataset + (i.e. ./subset_data.py ) + 2) Download neon and update the created surface dataset + based on the downloaded neon data. + (i.e. modify_singlept_site_neon.py) + +Instructions for running using conda python environments: + +../../py_env_create +conda activate ctsm_py + +""" +# TODO +# Automatic downloading of missing files if they are missing +#-[ ] Download neon sites and dom pft file +#-[ ] Make sure verbose works for printing out commands running + +# Import libraries +from __future__ import print_function + +import os +import sys +import tqdm +import logging +import argparse +import subprocess + +import pandas as pd +#import tqdm as tqdm + + + +def get_parser(): + """ + Get parser object for this script. + """ + parser = argparse.ArgumentParser(description=__doc__, + formatter_class=argparse.RawDescriptionHelpFormatter) + + parser.print_usage = parser.print_help + + parser.add_argument('-v','--verbose', + help='Verbose mode will print more information. ', + action="store_true", + dest="verbose", + default=False) + + + return parser + + +def execute(command): + """ + Function for running a command on shell. + Args: + command (str): + command that we want to run. + Raises: + Error with the return code from shell. + """ + print ('\n',' >> ',*command,'\n') + + try: + subprocess.check_call(command, stdout=open(os.devnull, "w"), stderr=subprocess.STDOUT) + + except subprocess.CalledProcessError as e: + #raise RuntimeError("command '{}' return with error (code {}): {}".format(e.cmd, e.returncode, e.output)) + #print (e.ouput) + print (e) + + + + + + +def main(): + + args = get_parser().parse_args() + + if args.verbose: + logging.basicConfig(level=logging.DEBUG) + + + neon_sites = pd.read_csv('neon_sites_dompft.csv') + + + for i, row in tqdm.tqdm(neon_sites.iterrows()): + lat = row['Lat'] + lon = row['Lon'] + site = row['Site'] + pft = row['pft'] + clmsite = "1x1_NEON_16PFT_"+site + print ("Now processing site :", site) + command = ['./subset_data','point','--lat',str(lat),'--lon',str(lon),'--site',clmsite, + '--create-surface','--uniform-snowpack','--cap-saturation','--verbose','--overwrite'] + execute(command) + + #command = ['./modify_singlept_site_neon.py','--neon_site',site, '--surf_dir', + # 'subset_data_single_point'] + #execute(command) + +if __name__ == "__main__": + main() From f56dabfde76fada39d895d621a3c75967dee0cd1 Mon Sep 17 00:00:00 2001 From: adrifoster Date: Mon, 9 Jan 2023 14:56:28 -0700 Subject: [PATCH 02/40] updating so we can create FATES surface datasets --- .../modify_singlept_site_neon.py | 18 +++++++++--------- .../neon_surf_wrapper_fates.py | 6 +++--- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/tools/site_and_regional/modify_singlept_site_neon.py b/tools/site_and_regional/modify_singlept_site_neon.py index 2798f463ec..96f0b7d1ef 100755 --- a/tools/site_and_regional/modify_singlept_site_neon.py +++ b/tools/site_and_regional/modify_singlept_site_neon.py @@ -6,12 +6,12 @@ This script is for modifying surface dataset at neon sites using data available from the neon server. -After creating a single point surface data file from a global -surface data file using subset_data.py, use this script to +After creating a single point surface data file from a global +surface data file using subset_data.py, use this script to overwrite some fields with site-specific data for neon sites. This script will do the following: -- Download neon data for the specified site if it does not exist +- Download neon data for the specified site if it does not exist in the specified directory : (i.e. ../../../neon_surffiles). - Modify surface dataset with downloaded data. @@ -129,7 +129,7 @@ def get_parser(): parser.add_argument( "--surf_dir", help=""" - Directory of single point surface dataset. + Directory of single point surface dataset. [default: %(default)s] """, action="store", @@ -142,7 +142,7 @@ def get_parser(): "--out_dir", help=""" Directory to write updated single point surface dataset. - [default: %(default)s] + [default: %(default)s] """, action="store", dest="out_dir", @@ -154,7 +154,7 @@ def get_parser(): "--inputdata-dir", help=""" Directory to write updated single point surface dataset. - [default: %(default)s] + [default: %(default)s] """, action="store", dest="inputdatadir", @@ -166,8 +166,8 @@ def get_parser(): "-d", "--debug", help=""" - Debug mode will print more information. - [default: %(default)s] + Debug mode will print more information. + [default: %(default)s] """, action="store_true", dest="debug", @@ -260,7 +260,7 @@ def find_surffile(surf_dir, site_name): surf_file (str): name of the surface dataset file """ - sf_name = "surfdata_1x1_NEON_"+site_name+"*hist_78pfts_CMIP6_simyr2000_*.nc" + sf_name = "surfdata_1x1_NEON_16PFT_"+site_name+"*hist_78pfts_CMIP6_simyr2000_*.nc" print (os.path.join(surf_dir , sf_name)) surf_file = sorted(glob.glob(os.path.join(surf_dir , sf_name))) diff --git a/tools/site_and_regional/neon_surf_wrapper_fates.py b/tools/site_and_regional/neon_surf_wrapper_fates.py index fcda0e17b4..60003b857e 100755 --- a/tools/site_and_regional/neon_surf_wrapper_fates.py +++ b/tools/site_and_regional/neon_surf_wrapper_fates.py @@ -102,9 +102,9 @@ def main(): '--create-surface','--uniform-snowpack','--cap-saturation','--verbose','--overwrite'] execute(command) - #command = ['./modify_singlept_site_neon.py','--neon_site',site, '--surf_dir', - # 'subset_data_single_point'] - #execute(command) + command = ['./modify_singlept_site_neon.py','--neon_site',site, '--surf_dir', + 'subset_data_single_point'] + execute(command) if __name__ == "__main__": main() From a175a1b4d7b45fafb334c27ead217a8263e56dab Mon Sep 17 00:00:00 2001 From: adrifoster Date: Tue, 10 Jan 2023 07:47:00 -0700 Subject: [PATCH 03/40] fixing some file names --- .../modify_singlept_site_neon.py | 15 ++++++++------- tools/site_and_regional/subset_data | 6 +----- 2 files changed, 9 insertions(+), 12 deletions(-) mode change 100755 => 100644 tools/site_and_regional/subset_data diff --git a/tools/site_and_regional/modify_singlept_site_neon.py b/tools/site_and_regional/modify_singlept_site_neon.py index 96f0b7d1ef..b9a33e73e1 100755 --- a/tools/site_and_regional/modify_singlept_site_neon.py +++ b/tools/site_and_regional/modify_singlept_site_neon.py @@ -12,7 +12,7 @@ This script will do the following: - Download neon data for the specified site if it does not exist - in the specified directory : (i.e. ../../../neon_surffiles). + in the specified directory : (i.e. ../../../neon_surf_files). - Modify surface dataset with downloaded data. ------------------------------------------------------------------- @@ -181,7 +181,7 @@ def get_neon(neon_dir, site_name): """ Function for finding neon data files and download from neon server if the - file does not exits. + file does not exist. Args: neon_dir (str): local directory for downloading neon data. @@ -202,7 +202,7 @@ def get_neon(neon_dir, site_name): neon_file = os.path.join(neon_dir, site_name + "_surfaceData.csv") - # -- Download the file if it does not exits + # -- Download the file if it does not exist if os.path.isfile(neon_file): print("neon file for", site_name, "already exists! ") print("Skipping download from neon for", site_name, "...") @@ -260,7 +260,7 @@ def find_surffile(surf_dir, site_name): surf_file (str): name of the surface dataset file """ - sf_name = "surfdata_1x1_NEON_16PFT_"+site_name+"*hist_78pfts_CMIP6_simyr2000_*.nc" + sf_name = "surfdata_1x1_NEON_16PFT_"+site_name+"*hist_16pfts_Irrig_CMIP6_simyr2000_*.nc" print (os.path.join(surf_dir , sf_name)) surf_file = sorted(glob.glob(os.path.join(surf_dir , sf_name))) @@ -293,7 +293,7 @@ def find_soil_structure(args, surf_file): This function finds this file for the surface dataset, read it, and find soil layers. - Args: + args: surf_file (str): single point surface data filename Raises: @@ -349,6 +349,7 @@ def update_metadata(nc, surf_file, neon_file, zb_flag): nc (xr Dataset): netcdf file including updated neon surface data surf_file (str): single point surface data filename neon_file (str): filename of neon downloaded surface dataset + zb_flag (bool): update bedrock Returns: nc (xr Dataset): netcdf file including updated neon surface data @@ -380,7 +381,7 @@ def update_time_tag(fname_in): fname_in (str) : file name with the old time tag Raises: - error if the file does not end with with + error if the file does not end with [._]cYYMMDD.nc or [._]YYMMDD.nc Returns: @@ -636,7 +637,7 @@ def main(): # -- inorganic = caco3/100.0869*12.0107 # -- organic = carbon_tot - inorganic # -- else: - # -- oranigc = estimated_oc * bulk_den /0.58 + # -- organic = estimated_oc * bulk_den /0.58 caco3 = df["caco3Conc"][bin_index[soil_lev]] inorganic = caco3 / 100.0869 * 12.0107 diff --git a/tools/site_and_regional/subset_data b/tools/site_and_regional/subset_data old mode 100755 new mode 100644 index 162dcf1d4e..ad8e60e053 --- a/tools/site_and_regional/subset_data +++ b/tools/site_and_regional/subset_data @@ -4,22 +4,18 @@ This is a just top-level skeleton script that calls subset_data.py. The original code (subset_data.py) is located under python/ctsm folder. - For full instructions on how to run the code and different options, please check python/ctsm/subset_data.py file. This script extracts domain files, surface dataset, and DATM files at either a single point or a region using the global dataset. - To run this script the following packages are required: - numpy - xarray ---------------------------------------------------------------- To see all available options for single-point/regional subsetting: ./subset_data --help - ---------------------------------------------------------------- Instructions for running using conda python environments: - ../../py_env_create conda activate ctsm_py """ @@ -36,4 +32,4 @@ sys.path.insert(1, _CTSM_PYTHON) from ctsm.subset_data import main if __name__ == "__main__": - main() + main() \ No newline at end of file From c3921176a13b3605b024bc32f06b267c4f1a0ba1 Mon Sep 17 00:00:00 2001 From: Adrianna Foster Date: Tue, 10 Jan 2023 07:52:01 -0700 Subject: [PATCH 04/40] make executable --- tools/site_and_regional/subset_data | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 tools/site_and_regional/subset_data diff --git a/tools/site_and_regional/subset_data b/tools/site_and_regional/subset_data old mode 100644 new mode 100755 From 1585d0a8c83c3ff4cff69c95b69f2718cf4d53dc Mon Sep 17 00:00:00 2001 From: Adrianna Foster Date: Tue, 10 Jan 2023 07:59:07 -0700 Subject: [PATCH 05/40] remove packages check --- tools/site_and_regional/modify_singlept_site_neon.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tools/site_and_regional/modify_singlept_site_neon.py b/tools/site_and_regional/modify_singlept_site_neon.py index b9a33e73e1..eabf5930f5 100755 --- a/tools/site_and_regional/modify_singlept_site_neon.py +++ b/tools/site_and_regional/modify_singlept_site_neon.py @@ -47,7 +47,7 @@ import numpy as np import pandas as pd import xarray as xr -from packaging import version +#from packaging import version from datetime import date from getpass import getuser @@ -521,9 +521,9 @@ def main(): logging.basicConfig(level=logging.DEBUG) # Check if pandas is a recent enough version - pdvers = pd.__version__ - if version.parse(pdvers) < version.parse("1.1.0"): - sys.exit("The pandas version in your python environment is too old, update to a newer version of pandas (>=1.1.0): version=%s", pdvers ) + #pdvers = pd.__version__ + #if version.parse(pdvers) < version.parse("1.1.0"): + # sys.exit("The pandas version in your python environment is too old, update to a newer version of pandas (>=1.1.0): version=%s", pdvers ) file_time = check_neon_time() From 1e930bb071131d39577e2551e049e38a53ba0774 Mon Sep 17 00:00:00 2001 From: Adrianna Foster Date: Tue, 10 Jan 2023 08:14:21 -0700 Subject: [PATCH 06/40] adding reference to new FATES surface files --- .../NEON/FATES/ABBY/include_user_mods | 1 + .../NEON/FATES/ABBY/shell_commands | 3 ++ .../NEON/FATES/BARR/include_user_mods | 1 + .../NEON/FATES/BARR/shell_commands | 11 ++++++ .../NEON/FATES/BART/include_user_mods | 1 + .../NEON/FATES/BART/shell_commands | 3 ++ .../NEON/FATES/BLAN/include_user_mods | 1 + .../NEON/FATES/BLAN/shell_commands | 3 ++ .../NEON/FATES/BONA/include_user_mods | 1 + .../NEON/FATES/BONA/shell_commands | 3 ++ .../NEON/FATES/CLBJ/include_user_mods | 1 + .../NEON/FATES/CLBJ/shell_commands | 3 ++ .../NEON/FATES/CPER/include_user_mods | 1 + .../NEON/FATES/CPER/shell_commands | 6 +++ .../NEON/FATES/DCFS/include_user_mods | 1 + .../NEON/FATES/DCFS/shell_commands | 3 ++ .../NEON/FATES/DEJU/include_user_mods | 1 + .../NEON/FATES/DEJU/shell_commands | 3 ++ .../NEON/FATES/DELA/include_user_mods | 1 + .../NEON/FATES/DELA/shell_commands | 3 ++ .../NEON/FATES/DSNY/include_user_mods | 1 + .../NEON/FATES/DSNY/shell_commands | 3 ++ .../NEON/FATES/GRSM/include_user_mods | 1 + .../NEON/FATES/GRSM/shell_commands | 3 ++ .../NEON/FATES/GUAN/include_user_mods | 1 + .../NEON/FATES/GUAN/shell_commands | 11 ++++++ .../NEON/FATES/HARV/include_user_mods | 1 + .../NEON/FATES/HARV/shell_commands | 3 ++ .../NEON/FATES/HEAL/include_user_mods | 1 + .../NEON/FATES/HEAL/shell_commands | 3 ++ .../NEON/FATES/JERC/include_user_mods | 1 + .../NEON/FATES/JERC/shell_commands | 3 ++ .../NEON/FATES/JORN/include_user_mods | 1 + .../NEON/FATES/JORN/shell_commands | 3 ++ .../NEON/FATES/KONA/include_user_mods | 1 + .../NEON/FATES/KONA/shell_commands | 7 ++++ .../NEON/FATES/KONZ/include_user_mods | 1 + .../NEON/FATES/KONZ/shell_commands | 3 ++ .../NEON/FATES/LAJA/include_user_mods | 1 + .../NEON/FATES/LAJA/shell_commands | 12 ++++++ .../NEON/FATES/LENO/include_user_mods | 1 + .../NEON/FATES/LENO/shell_commands | 12 ++++++ .../NEON/FATES/MLBS/include_user_mods | 1 + .../NEON/FATES/MLBS/shell_commands | 10 +++++ .../NEON/FATES/MOAB/include_user_mods | 1 + .../NEON/FATES/MOAB/shell_commands | 10 +++++ .../NEON/FATES/NIWO/include_user_mods | 1 + .../NEON/FATES/NIWO/shell_commands | 4 ++ .../NEON/FATES/NOGP/include_user_mods | 1 + .../NEON/FATES/NOGP/shell_commands | 3 ++ .../NEON/FATES/OAES/include_user_mods | 1 + .../NEON/FATES/OAES/shell_commands | 3 ++ .../NEON/FATES/ONAQ/include_user_mods | 1 + .../NEON/FATES/ONAQ/shell_commands | 10 +++++ .../NEON/FATES/ORNL/include_user_mods | 1 + .../NEON/FATES/ORNL/shell_commands | 3 ++ .../NEON/FATES/OSBS/include_user_mods | 1 + .../NEON/FATES/OSBS/shell_commands | 3 ++ .../NEON/FATES/PUUM/include_user_mods | 1 + .../NEON/FATES/PUUM/shell_commands | 3 ++ .../NEON/FATES/RMNP/include_user_mods | 1 + .../NEON/FATES/RMNP/shell_commands | 3 ++ .../NEON/FATES/SCBI/include_user_mods | 1 + .../NEON/FATES/SCBI/shell_commands | 3 ++ .../NEON/FATES/SERC/include_user_mods | 1 + .../NEON/FATES/SERC/shell_commands | 3 ++ .../NEON/FATES/SJER/include_user_mods | 1 + .../NEON/FATES/SJER/shell_commands | 11 ++++++ .../NEON/FATES/SOAP/include_user_mods | 1 + .../NEON/FATES/SOAP/shell_commands | 3 ++ .../NEON/FATES/SRER/include_user_mods | 1 + .../NEON/FATES/SRER/shell_commands | 3 ++ .../NEON/FATES/STEI/include_user_mods | 1 + .../NEON/FATES/STEI/shell_commands | 3 ++ .../NEON/FATES/STER/include_user_mods | 1 + .../NEON/FATES/STER/shell_commands | 7 ++++ .../NEON/FATES/TALL/include_user_mods | 1 + .../NEON/FATES/TALL/shell_commands | 3 ++ .../NEON/FATES/TEAK/include_user_mods | 1 + .../NEON/FATES/TEAK/shell_commands | 10 +++++ .../NEON/FATES/TOOL/include_user_mods | 1 + .../NEON/FATES/TOOL/shell_commands | 10 +++++ .../NEON/FATES/TREE/include_user_mods | 1 + .../NEON/FATES/TREE/shell_commands | 3 ++ .../NEON/FATES/UKFS/include_user_mods | 1 + .../NEON/FATES/UKFS/shell_commands | 3 ++ .../NEON/FATES/UNDE/include_user_mods | 1 + .../NEON/FATES/UNDE/shell_commands | 3 ++ .../NEON/FATES/WOOD/include_user_mods | 1 + .../NEON/FATES/WOOD/shell_commands | 3 ++ .../NEON/FATES/WREF/include_user_mods | 1 + .../NEON/FATES/WREF/shell_commands | 10 +++++ .../NEON/FATES/YELL/include_user_mods | 1 + .../NEON/FATES/YELL/shell_commands | 10 +++++ .../NEON/FATES/defaults/shell_commands | 26 +++++++++++++ .../NEON/FATES/defaults/user_nl_clm | 31 +++++++++++++++ .../NEON/FATES/defaults/user_nl_cpl | 20 ++++++++++ .../NEON/FATES/defaults/user_nl_datm_streams | 39 +++++++++++++++++++ 98 files changed, 407 insertions(+) create mode 100644 cime_config/usermods_dirs/NEON/FATES/ABBY/include_user_mods create mode 100644 cime_config/usermods_dirs/NEON/FATES/ABBY/shell_commands create mode 100644 cime_config/usermods_dirs/NEON/FATES/BARR/include_user_mods create mode 100644 cime_config/usermods_dirs/NEON/FATES/BARR/shell_commands create mode 100644 cime_config/usermods_dirs/NEON/FATES/BART/include_user_mods create mode 100644 cime_config/usermods_dirs/NEON/FATES/BART/shell_commands create mode 100644 cime_config/usermods_dirs/NEON/FATES/BLAN/include_user_mods create mode 100644 cime_config/usermods_dirs/NEON/FATES/BLAN/shell_commands create mode 100644 cime_config/usermods_dirs/NEON/FATES/BONA/include_user_mods create mode 100644 cime_config/usermods_dirs/NEON/FATES/BONA/shell_commands create mode 100644 cime_config/usermods_dirs/NEON/FATES/CLBJ/include_user_mods create mode 100644 cime_config/usermods_dirs/NEON/FATES/CLBJ/shell_commands create mode 100644 cime_config/usermods_dirs/NEON/FATES/CPER/include_user_mods create mode 100644 cime_config/usermods_dirs/NEON/FATES/CPER/shell_commands create mode 100644 cime_config/usermods_dirs/NEON/FATES/DCFS/include_user_mods create mode 100644 cime_config/usermods_dirs/NEON/FATES/DCFS/shell_commands create mode 100644 cime_config/usermods_dirs/NEON/FATES/DEJU/include_user_mods create mode 100644 cime_config/usermods_dirs/NEON/FATES/DEJU/shell_commands create mode 100644 cime_config/usermods_dirs/NEON/FATES/DELA/include_user_mods create mode 100644 cime_config/usermods_dirs/NEON/FATES/DELA/shell_commands create mode 100644 cime_config/usermods_dirs/NEON/FATES/DSNY/include_user_mods create mode 100644 cime_config/usermods_dirs/NEON/FATES/DSNY/shell_commands create mode 100644 cime_config/usermods_dirs/NEON/FATES/GRSM/include_user_mods create mode 100644 cime_config/usermods_dirs/NEON/FATES/GRSM/shell_commands create mode 100644 cime_config/usermods_dirs/NEON/FATES/GUAN/include_user_mods create mode 100644 cime_config/usermods_dirs/NEON/FATES/GUAN/shell_commands create mode 100644 cime_config/usermods_dirs/NEON/FATES/HARV/include_user_mods create mode 100644 cime_config/usermods_dirs/NEON/FATES/HARV/shell_commands create mode 100644 cime_config/usermods_dirs/NEON/FATES/HEAL/include_user_mods create mode 100644 cime_config/usermods_dirs/NEON/FATES/HEAL/shell_commands create mode 100644 cime_config/usermods_dirs/NEON/FATES/JERC/include_user_mods create mode 100644 cime_config/usermods_dirs/NEON/FATES/JERC/shell_commands create mode 100644 cime_config/usermods_dirs/NEON/FATES/JORN/include_user_mods create mode 100644 cime_config/usermods_dirs/NEON/FATES/JORN/shell_commands create mode 100644 cime_config/usermods_dirs/NEON/FATES/KONA/include_user_mods create mode 100644 cime_config/usermods_dirs/NEON/FATES/KONA/shell_commands create mode 100644 cime_config/usermods_dirs/NEON/FATES/KONZ/include_user_mods create mode 100644 cime_config/usermods_dirs/NEON/FATES/KONZ/shell_commands create mode 100644 cime_config/usermods_dirs/NEON/FATES/LAJA/include_user_mods create mode 100644 cime_config/usermods_dirs/NEON/FATES/LAJA/shell_commands create mode 100644 cime_config/usermods_dirs/NEON/FATES/LENO/include_user_mods create mode 100644 cime_config/usermods_dirs/NEON/FATES/LENO/shell_commands create mode 100644 cime_config/usermods_dirs/NEON/FATES/MLBS/include_user_mods create mode 100644 cime_config/usermods_dirs/NEON/FATES/MLBS/shell_commands create mode 100644 cime_config/usermods_dirs/NEON/FATES/MOAB/include_user_mods create mode 100644 cime_config/usermods_dirs/NEON/FATES/MOAB/shell_commands create mode 100644 cime_config/usermods_dirs/NEON/FATES/NIWO/include_user_mods create mode 100644 cime_config/usermods_dirs/NEON/FATES/NIWO/shell_commands create mode 100644 cime_config/usermods_dirs/NEON/FATES/NOGP/include_user_mods create mode 100644 cime_config/usermods_dirs/NEON/FATES/NOGP/shell_commands create mode 100644 cime_config/usermods_dirs/NEON/FATES/OAES/include_user_mods create mode 100644 cime_config/usermods_dirs/NEON/FATES/OAES/shell_commands create mode 100644 cime_config/usermods_dirs/NEON/FATES/ONAQ/include_user_mods create mode 100644 cime_config/usermods_dirs/NEON/FATES/ONAQ/shell_commands create mode 100644 cime_config/usermods_dirs/NEON/FATES/ORNL/include_user_mods create mode 100644 cime_config/usermods_dirs/NEON/FATES/ORNL/shell_commands create mode 100644 cime_config/usermods_dirs/NEON/FATES/OSBS/include_user_mods create mode 100644 cime_config/usermods_dirs/NEON/FATES/OSBS/shell_commands create mode 100644 cime_config/usermods_dirs/NEON/FATES/PUUM/include_user_mods create mode 100644 cime_config/usermods_dirs/NEON/FATES/PUUM/shell_commands create mode 100644 cime_config/usermods_dirs/NEON/FATES/RMNP/include_user_mods create mode 100644 cime_config/usermods_dirs/NEON/FATES/RMNP/shell_commands create mode 100644 cime_config/usermods_dirs/NEON/FATES/SCBI/include_user_mods create mode 100644 cime_config/usermods_dirs/NEON/FATES/SCBI/shell_commands create mode 100644 cime_config/usermods_dirs/NEON/FATES/SERC/include_user_mods create mode 100644 cime_config/usermods_dirs/NEON/FATES/SERC/shell_commands create mode 100644 cime_config/usermods_dirs/NEON/FATES/SJER/include_user_mods create mode 100644 cime_config/usermods_dirs/NEON/FATES/SJER/shell_commands create mode 100644 cime_config/usermods_dirs/NEON/FATES/SOAP/include_user_mods create mode 100644 cime_config/usermods_dirs/NEON/FATES/SOAP/shell_commands create mode 100644 cime_config/usermods_dirs/NEON/FATES/SRER/include_user_mods create mode 100644 cime_config/usermods_dirs/NEON/FATES/SRER/shell_commands create mode 100644 cime_config/usermods_dirs/NEON/FATES/STEI/include_user_mods create mode 100644 cime_config/usermods_dirs/NEON/FATES/STEI/shell_commands create mode 100644 cime_config/usermods_dirs/NEON/FATES/STER/include_user_mods create mode 100644 cime_config/usermods_dirs/NEON/FATES/STER/shell_commands create mode 100644 cime_config/usermods_dirs/NEON/FATES/TALL/include_user_mods create mode 100644 cime_config/usermods_dirs/NEON/FATES/TALL/shell_commands create mode 100644 cime_config/usermods_dirs/NEON/FATES/TEAK/include_user_mods create mode 100644 cime_config/usermods_dirs/NEON/FATES/TEAK/shell_commands create mode 100644 cime_config/usermods_dirs/NEON/FATES/TOOL/include_user_mods create mode 100644 cime_config/usermods_dirs/NEON/FATES/TOOL/shell_commands create mode 100644 cime_config/usermods_dirs/NEON/FATES/TREE/include_user_mods create mode 100644 cime_config/usermods_dirs/NEON/FATES/TREE/shell_commands create mode 100644 cime_config/usermods_dirs/NEON/FATES/UKFS/include_user_mods create mode 100644 cime_config/usermods_dirs/NEON/FATES/UKFS/shell_commands create mode 100644 cime_config/usermods_dirs/NEON/FATES/UNDE/include_user_mods create mode 100644 cime_config/usermods_dirs/NEON/FATES/UNDE/shell_commands create mode 100644 cime_config/usermods_dirs/NEON/FATES/WOOD/include_user_mods create mode 100644 cime_config/usermods_dirs/NEON/FATES/WOOD/shell_commands create mode 100644 cime_config/usermods_dirs/NEON/FATES/WREF/include_user_mods create mode 100644 cime_config/usermods_dirs/NEON/FATES/WREF/shell_commands create mode 100644 cime_config/usermods_dirs/NEON/FATES/YELL/include_user_mods create mode 100644 cime_config/usermods_dirs/NEON/FATES/YELL/shell_commands create mode 100644 cime_config/usermods_dirs/NEON/FATES/defaults/shell_commands create mode 100644 cime_config/usermods_dirs/NEON/FATES/defaults/user_nl_clm create mode 100644 cime_config/usermods_dirs/NEON/FATES/defaults/user_nl_cpl create mode 100644 cime_config/usermods_dirs/NEON/FATES/defaults/user_nl_datm_streams diff --git a/cime_config/usermods_dirs/NEON/FATES/ABBY/include_user_mods b/cime_config/usermods_dirs/NEON/FATES/ABBY/include_user_mods new file mode 100644 index 0000000000..b152996d95 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/ABBY/include_user_mods @@ -0,0 +1 @@ +../defaults diff --git a/cime_config/usermods_dirs/NEON/FATES/ABBY/shell_commands b/cime_config/usermods_dirs/NEON/FATES/ABBY/shell_commands new file mode 100644 index 0000000000..08f6e7cdef --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/ABBY/shell_commands @@ -0,0 +1,3 @@ +./xmlchange NEONSITE=ABBY +./xmlchange PTS_LON=237.67032799999998 +./xmlchange PTS_LAT=45.762378 diff --git a/cime_config/usermods_dirs/NEON/FATES/BARR/include_user_mods b/cime_config/usermods_dirs/NEON/FATES/BARR/include_user_mods new file mode 100644 index 0000000000..b152996d95 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/BARR/include_user_mods @@ -0,0 +1 @@ +../defaults diff --git a/cime_config/usermods_dirs/NEON/FATES/BARR/shell_commands b/cime_config/usermods_dirs/NEON/FATES/BARR/shell_commands new file mode 100644 index 0000000000..713331c0ee --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/BARR/shell_commands @@ -0,0 +1,11 @@ +#!/bin/bash + +./xmlchange NEONSITE=BARR +./xmlchange PTS_LON=203.349781 +./xmlchange PTS_LAT=71.281711 +./xmlchange DATM_YR_ALIGN=2019,DATM_YR_START=2019 +# Different default start date and number of months to run for transient case +if [[ $compset =~ ^HIST ]]; then + ./xmlchange RUN_STARTDATE=2019-01-01 + ./xmlchange STOP_N=39 +fi diff --git a/cime_config/usermods_dirs/NEON/FATES/BART/include_user_mods b/cime_config/usermods_dirs/NEON/FATES/BART/include_user_mods new file mode 100644 index 0000000000..b152996d95 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/BART/include_user_mods @@ -0,0 +1 @@ +../defaults diff --git a/cime_config/usermods_dirs/NEON/FATES/BART/shell_commands b/cime_config/usermods_dirs/NEON/FATES/BART/shell_commands new file mode 100644 index 0000000000..a4e86a1b8c --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/BART/shell_commands @@ -0,0 +1,3 @@ +./xmlchange NEONSITE=BART +./xmlchange PTS_LON=288.71166 +./xmlchange PTS_LAT=44.06516 diff --git a/cime_config/usermods_dirs/NEON/FATES/BLAN/include_user_mods b/cime_config/usermods_dirs/NEON/FATES/BLAN/include_user_mods new file mode 100644 index 0000000000..b152996d95 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/BLAN/include_user_mods @@ -0,0 +1 @@ +../defaults diff --git a/cime_config/usermods_dirs/NEON/FATES/BLAN/shell_commands b/cime_config/usermods_dirs/NEON/FATES/BLAN/shell_commands new file mode 100644 index 0000000000..cb093d806a --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/BLAN/shell_commands @@ -0,0 +1,3 @@ +./xmlchange NEONSITE=BLAN +./xmlchange PTS_LON=281.92885 +./xmlchange PTS_LAT=39.06044 diff --git a/cime_config/usermods_dirs/NEON/FATES/BONA/include_user_mods b/cime_config/usermods_dirs/NEON/FATES/BONA/include_user_mods new file mode 100644 index 0000000000..b152996d95 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/BONA/include_user_mods @@ -0,0 +1 @@ +../defaults diff --git a/cime_config/usermods_dirs/NEON/FATES/BONA/shell_commands b/cime_config/usermods_dirs/NEON/FATES/BONA/shell_commands new file mode 100644 index 0000000000..2a66d148b4 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/BONA/shell_commands @@ -0,0 +1,3 @@ +./xmlchange NEONSITE=BONA +./xmlchange PTS_LON=212.49806 +./xmlchange PTS_LAT=65.15333 diff --git a/cime_config/usermods_dirs/NEON/FATES/CLBJ/include_user_mods b/cime_config/usermods_dirs/NEON/FATES/CLBJ/include_user_mods new file mode 100644 index 0000000000..b152996d95 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/CLBJ/include_user_mods @@ -0,0 +1 @@ +../defaults diff --git a/cime_config/usermods_dirs/NEON/FATES/CLBJ/shell_commands b/cime_config/usermods_dirs/NEON/FATES/CLBJ/shell_commands new file mode 100644 index 0000000000..c1b9154027 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/CLBJ/shell_commands @@ -0,0 +1,3 @@ +./xmlchange NEONSITE=CLBJ +./xmlchange PTS_LON=262.43275 +./xmlchange PTS_LAT=33.40143 diff --git a/cime_config/usermods_dirs/NEON/FATES/CPER/include_user_mods b/cime_config/usermods_dirs/NEON/FATES/CPER/include_user_mods new file mode 100644 index 0000000000..b152996d95 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/CPER/include_user_mods @@ -0,0 +1 @@ +../defaults diff --git a/cime_config/usermods_dirs/NEON/FATES/CPER/shell_commands b/cime_config/usermods_dirs/NEON/FATES/CPER/shell_commands new file mode 100644 index 0000000000..b6ccbcdf57 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/CPER/shell_commands @@ -0,0 +1,6 @@ +./xmlchange NEONSITE=CPER +./xmlchange PTS_LON=255.25545 +./xmlchange PTS_LAT=40.81297 +if [[ $compset =~ ^HIST ]]; then + ./xmlchange STOP_N=50 +fi diff --git a/cime_config/usermods_dirs/NEON/FATES/DCFS/include_user_mods b/cime_config/usermods_dirs/NEON/FATES/DCFS/include_user_mods new file mode 100644 index 0000000000..b152996d95 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/DCFS/include_user_mods @@ -0,0 +1 @@ +../defaults diff --git a/cime_config/usermods_dirs/NEON/FATES/DCFS/shell_commands b/cime_config/usermods_dirs/NEON/FATES/DCFS/shell_commands new file mode 100644 index 0000000000..a6cbed64e1 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/DCFS/shell_commands @@ -0,0 +1,3 @@ +./xmlchange NEONSITE=DCFS +./xmlchange PTS_LON=260.88749 +./xmlchange PTS_LAT=47.15919 diff --git a/cime_config/usermods_dirs/NEON/FATES/DEJU/include_user_mods b/cime_config/usermods_dirs/NEON/FATES/DEJU/include_user_mods new file mode 100644 index 0000000000..b152996d95 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/DEJU/include_user_mods @@ -0,0 +1 @@ +../defaults diff --git a/cime_config/usermods_dirs/NEON/FATES/DEJU/shell_commands b/cime_config/usermods_dirs/NEON/FATES/DEJU/shell_commands new file mode 100644 index 0000000000..fce519d559 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/DEJU/shell_commands @@ -0,0 +1,3 @@ +./xmlchange NEONSITE=DEJU +./xmlchange PTS_LON=214.25235 +./xmlchange PTS_LAT=63.87983 diff --git a/cime_config/usermods_dirs/NEON/FATES/DELA/include_user_mods b/cime_config/usermods_dirs/NEON/FATES/DELA/include_user_mods new file mode 100644 index 0000000000..b152996d95 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/DELA/include_user_mods @@ -0,0 +1 @@ +../defaults diff --git a/cime_config/usermods_dirs/NEON/FATES/DELA/shell_commands b/cime_config/usermods_dirs/NEON/FATES/DELA/shell_commands new file mode 100644 index 0000000000..f3acbb8fd3 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/DELA/shell_commands @@ -0,0 +1,3 @@ +./xmlchange NEONSITE=DELA +./xmlchange PTS_LON=272.19659 +./xmlchange PTS_LAT=32.54092 diff --git a/cime_config/usermods_dirs/NEON/FATES/DSNY/include_user_mods b/cime_config/usermods_dirs/NEON/FATES/DSNY/include_user_mods new file mode 100644 index 0000000000..b152996d95 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/DSNY/include_user_mods @@ -0,0 +1 @@ +../defaults diff --git a/cime_config/usermods_dirs/NEON/FATES/DSNY/shell_commands b/cime_config/usermods_dirs/NEON/FATES/DSNY/shell_commands new file mode 100644 index 0000000000..8304c91d48 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/DSNY/shell_commands @@ -0,0 +1,3 @@ +./xmlchange NEONSITE=DSNY +./xmlchange PTS_LON=278.56606 +./xmlchange PTS_LAT=28.12919 diff --git a/cime_config/usermods_dirs/NEON/FATES/GRSM/include_user_mods b/cime_config/usermods_dirs/NEON/FATES/GRSM/include_user_mods new file mode 100644 index 0000000000..b152996d95 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/GRSM/include_user_mods @@ -0,0 +1 @@ +../defaults diff --git a/cime_config/usermods_dirs/NEON/FATES/GRSM/shell_commands b/cime_config/usermods_dirs/NEON/FATES/GRSM/shell_commands new file mode 100644 index 0000000000..e52a633408 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/GRSM/shell_commands @@ -0,0 +1,3 @@ +./xmlchange NEONSITE=GRSM +./xmlchange PTS_LON=276.49815 +./xmlchange PTS_LAT=35.68839 diff --git a/cime_config/usermods_dirs/NEON/FATES/GUAN/include_user_mods b/cime_config/usermods_dirs/NEON/FATES/GUAN/include_user_mods new file mode 100644 index 0000000000..b152996d95 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/GUAN/include_user_mods @@ -0,0 +1 @@ +../defaults diff --git a/cime_config/usermods_dirs/NEON/FATES/GUAN/shell_commands b/cime_config/usermods_dirs/NEON/FATES/GUAN/shell_commands new file mode 100644 index 0000000000..4214a35e3c --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/GUAN/shell_commands @@ -0,0 +1,11 @@ +#!/bin/bash + +./xmlchange NEONSITE=GUAN +./xmlchange PTS_LON=293.13112 +./xmlchange PTS_LAT=17.96882 +./xmlchange DATM_YR_ALIGN=2019,DATM_YR_START=2019 +# Different default start date and number of months to run for transient case +if [[ $compset =~ ^HIST ]]; then + ./xmlchange RUN_STARTDATE=2019-01-01 + ./xmlchange STOP_N=39 +fi diff --git a/cime_config/usermods_dirs/NEON/FATES/HARV/include_user_mods b/cime_config/usermods_dirs/NEON/FATES/HARV/include_user_mods new file mode 100644 index 0000000000..b152996d95 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/HARV/include_user_mods @@ -0,0 +1 @@ +../defaults diff --git a/cime_config/usermods_dirs/NEON/FATES/HARV/shell_commands b/cime_config/usermods_dirs/NEON/FATES/HARV/shell_commands new file mode 100644 index 0000000000..839ccf5d8f --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/HARV/shell_commands @@ -0,0 +1,3 @@ +./xmlchange NEONSITE=HARV +./xmlchange PTS_LON=287.82438 +./xmlchange PTS_LAT=42.53562 diff --git a/cime_config/usermods_dirs/NEON/FATES/HEAL/include_user_mods b/cime_config/usermods_dirs/NEON/FATES/HEAL/include_user_mods new file mode 100644 index 0000000000..b152996d95 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/HEAL/include_user_mods @@ -0,0 +1 @@ +../defaults diff --git a/cime_config/usermods_dirs/NEON/FATES/HEAL/shell_commands b/cime_config/usermods_dirs/NEON/FATES/HEAL/shell_commands new file mode 100644 index 0000000000..21892219e0 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/HEAL/shell_commands @@ -0,0 +1,3 @@ +./xmlchange NEONSITE=HEAL +./xmlchange PTS_LON=210.78461 +./xmlchange PTS_LAT=63.8798 diff --git a/cime_config/usermods_dirs/NEON/FATES/JERC/include_user_mods b/cime_config/usermods_dirs/NEON/FATES/JERC/include_user_mods new file mode 100644 index 0000000000..b152996d95 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/JERC/include_user_mods @@ -0,0 +1 @@ +../defaults diff --git a/cime_config/usermods_dirs/NEON/FATES/JERC/shell_commands b/cime_config/usermods_dirs/NEON/FATES/JERC/shell_commands new file mode 100644 index 0000000000..80f66d23a2 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/JERC/shell_commands @@ -0,0 +1,3 @@ +./xmlchange NEONSITE=JERC +./xmlchange PTS_LON=275.53353 +./xmlchange PTS_LAT=31.19608 diff --git a/cime_config/usermods_dirs/NEON/FATES/JORN/include_user_mods b/cime_config/usermods_dirs/NEON/FATES/JORN/include_user_mods new file mode 100644 index 0000000000..b152996d95 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/JORN/include_user_mods @@ -0,0 +1 @@ +../defaults diff --git a/cime_config/usermods_dirs/NEON/FATES/JORN/shell_commands b/cime_config/usermods_dirs/NEON/FATES/JORN/shell_commands new file mode 100644 index 0000000000..87fc3b8c1e --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/JORN/shell_commands @@ -0,0 +1,3 @@ +./xmlchange NEONSITE=JORN +./xmlchange PTS_LON=253.15623 +./xmlchange PTS_LAT=32.59052 diff --git a/cime_config/usermods_dirs/NEON/FATES/KONA/include_user_mods b/cime_config/usermods_dirs/NEON/FATES/KONA/include_user_mods new file mode 100644 index 0000000000..b152996d95 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/KONA/include_user_mods @@ -0,0 +1 @@ +../defaults diff --git a/cime_config/usermods_dirs/NEON/FATES/KONA/shell_commands b/cime_config/usermods_dirs/NEON/FATES/KONA/shell_commands new file mode 100644 index 0000000000..66f274dd36 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/KONA/shell_commands @@ -0,0 +1,7 @@ +./xmlchange NEONSITE=KONA +./xmlchange PTS_LON=263.38956 +./xmlchange PTS_LAT=39.10828 +# Setup to run with prognostic crops for this site +# If you want to explicitly run in SP mode or add other +# options you'll need to add that after this... +./xmlchange CLM_BLDNML_OPTS="--bgc bgc --crop" diff --git a/cime_config/usermods_dirs/NEON/FATES/KONZ/include_user_mods b/cime_config/usermods_dirs/NEON/FATES/KONZ/include_user_mods new file mode 100644 index 0000000000..b152996d95 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/KONZ/include_user_mods @@ -0,0 +1 @@ +../defaults diff --git a/cime_config/usermods_dirs/NEON/FATES/KONZ/shell_commands b/cime_config/usermods_dirs/NEON/FATES/KONZ/shell_commands new file mode 100644 index 0000000000..bda370c170 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/KONZ/shell_commands @@ -0,0 +1,3 @@ +./xmlchange NEONSITE=KONZ +./xmlchange PTS_LON=263.43773 +./xmlchange PTS_LAT=39.1007 diff --git a/cime_config/usermods_dirs/NEON/FATES/LAJA/include_user_mods b/cime_config/usermods_dirs/NEON/FATES/LAJA/include_user_mods new file mode 100644 index 0000000000..b152996d95 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/LAJA/include_user_mods @@ -0,0 +1 @@ +../defaults diff --git a/cime_config/usermods_dirs/NEON/FATES/LAJA/shell_commands b/cime_config/usermods_dirs/NEON/FATES/LAJA/shell_commands new file mode 100644 index 0000000000..a7bda447e6 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/LAJA/shell_commands @@ -0,0 +1,12 @@ +#!/bin/bash +./xmlchange NEONSITE=LAJA +./xmlchange PTS_LON=292.92392 +./xmlchange PTS_LAT=18.02184 +./xmlchange DATM_YR_ALIGN=2019,DATM_YR_START=2019 +# Different default start date and number of months to run for transient case +if [[ $compset =~ ^HIST ]]; then + ./xmlchange RUN_STARTDATE=2019-01-01 + ./xmlchange STOP_N=39 +fi + + diff --git a/cime_config/usermods_dirs/NEON/FATES/LENO/include_user_mods b/cime_config/usermods_dirs/NEON/FATES/LENO/include_user_mods new file mode 100644 index 0000000000..b152996d95 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/LENO/include_user_mods @@ -0,0 +1 @@ +../defaults diff --git a/cime_config/usermods_dirs/NEON/FATES/LENO/shell_commands b/cime_config/usermods_dirs/NEON/FATES/LENO/shell_commands new file mode 100644 index 0000000000..c5ae590186 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/LENO/shell_commands @@ -0,0 +1,12 @@ +#!/bin/bash + +./xmlchange NEONSITE=LENO +./xmlchange PTS_LON=271.83897 +./xmlchange PTS_LAT=31.8531 +./xmlchange DATM_YR_ALIGN=2021,DATM_YR_START=2021 +# Different default start date and number of months to run for transient case +if [[ $compset =~ ^HIST ]]; then + ./xmlchange RUN_STARTDATE=2021-01-01 + ./xmlchange STOP_N=15 +fi + diff --git a/cime_config/usermods_dirs/NEON/FATES/MLBS/include_user_mods b/cime_config/usermods_dirs/NEON/FATES/MLBS/include_user_mods new file mode 100644 index 0000000000..b152996d95 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/MLBS/include_user_mods @@ -0,0 +1 @@ +../defaults diff --git a/cime_config/usermods_dirs/NEON/FATES/MLBS/shell_commands b/cime_config/usermods_dirs/NEON/FATES/MLBS/shell_commands new file mode 100644 index 0000000000..d5de0f64eb --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/MLBS/shell_commands @@ -0,0 +1,10 @@ +#!/bin/bash +./xmlchange NEONSITE=MLBS +./xmlchange PTS_LON=279.47575 +./xmlchange PTS_LAT=37.37783 +./xmlchange DATM_YR_END=2019 +# Different default number of months to run for transient case +if [[ $compset =~ ^HIST ]]; then + ./xmlchange DATM_YR_END=2020 + ./xmlchange STOP_N=24 +fi diff --git a/cime_config/usermods_dirs/NEON/FATES/MOAB/include_user_mods b/cime_config/usermods_dirs/NEON/FATES/MOAB/include_user_mods new file mode 100644 index 0000000000..b152996d95 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/MOAB/include_user_mods @@ -0,0 +1 @@ +../defaults diff --git a/cime_config/usermods_dirs/NEON/FATES/MOAB/shell_commands b/cime_config/usermods_dirs/NEON/FATES/MOAB/shell_commands new file mode 100644 index 0000000000..96d0bcbe68 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/MOAB/shell_commands @@ -0,0 +1,10 @@ +#!/bin/bash +./xmlchange NEONSITE=MOAB +./xmlchange PTS_LON=250.61118 +./xmlchange PTS_LAT=38.25136 +./xmlchange DATM_YR_END=2020 +# Different default number of months to run for transient case +if [[ $compset =~ ^HIST ]]; then + ./xmlchange DATM_YR_END=2021 + ./xmlchange STOP_N=36 +fi diff --git a/cime_config/usermods_dirs/NEON/FATES/NIWO/include_user_mods b/cime_config/usermods_dirs/NEON/FATES/NIWO/include_user_mods new file mode 100644 index 0000000000..b152996d95 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/NIWO/include_user_mods @@ -0,0 +1 @@ +../defaults diff --git a/cime_config/usermods_dirs/NEON/FATES/NIWO/shell_commands b/cime_config/usermods_dirs/NEON/FATES/NIWO/shell_commands new file mode 100644 index 0000000000..a3e73ca343 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/NIWO/shell_commands @@ -0,0 +1,4 @@ +./xmlchange NEONSITE=NIWO +./xmlchange PTS_LON=254.41676 +./xmlchange PTS_LAT=40.05236 +./xmlchange DATM_YR_END=2018 diff --git a/cime_config/usermods_dirs/NEON/FATES/NOGP/include_user_mods b/cime_config/usermods_dirs/NEON/FATES/NOGP/include_user_mods new file mode 100644 index 0000000000..b152996d95 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/NOGP/include_user_mods @@ -0,0 +1 @@ +../defaults diff --git a/cime_config/usermods_dirs/NEON/FATES/NOGP/shell_commands b/cime_config/usermods_dirs/NEON/FATES/NOGP/shell_commands new file mode 100644 index 0000000000..ad3ef69cd2 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/NOGP/shell_commands @@ -0,0 +1,3 @@ +./xmlchange NEONSITE=NOGP +./xmlchange PTS_LON=259.08168 +./xmlchange PTS_LAT=46.76846 diff --git a/cime_config/usermods_dirs/NEON/FATES/OAES/include_user_mods b/cime_config/usermods_dirs/NEON/FATES/OAES/include_user_mods new file mode 100644 index 0000000000..b152996d95 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/OAES/include_user_mods @@ -0,0 +1 @@ +../defaults diff --git a/cime_config/usermods_dirs/NEON/FATES/OAES/shell_commands b/cime_config/usermods_dirs/NEON/FATES/OAES/shell_commands new file mode 100644 index 0000000000..2a5cfb87e4 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/OAES/shell_commands @@ -0,0 +1,3 @@ +./xmlchange NEONSITE=OAES +./xmlchange PTS_LON=260.93956000000003 +./xmlchange PTS_LAT=35.41062 diff --git a/cime_config/usermods_dirs/NEON/FATES/ONAQ/include_user_mods b/cime_config/usermods_dirs/NEON/FATES/ONAQ/include_user_mods new file mode 100644 index 0000000000..b152996d95 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/ONAQ/include_user_mods @@ -0,0 +1 @@ +../defaults diff --git a/cime_config/usermods_dirs/NEON/FATES/ONAQ/shell_commands b/cime_config/usermods_dirs/NEON/FATES/ONAQ/shell_commands new file mode 100644 index 0000000000..43dab69998 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/ONAQ/shell_commands @@ -0,0 +1,10 @@ +#!/bin/bash +./xmlchange NEONSITE=ONAQ +./xmlchange PTS_LON=276.49815 +./xmlchange PTS_LAT=35.68839 +./xmlchange DATM_YR_END=2019 +# Different default number of months to run for transient case +if [[ $compset =~ ^HIST ]]; then + ./xmlchange DATM_YR_END=2020 + ./xmlchange STOP_N=24 +fi diff --git a/cime_config/usermods_dirs/NEON/FATES/ORNL/include_user_mods b/cime_config/usermods_dirs/NEON/FATES/ORNL/include_user_mods new file mode 100644 index 0000000000..b152996d95 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/ORNL/include_user_mods @@ -0,0 +1 @@ +../defaults diff --git a/cime_config/usermods_dirs/NEON/FATES/ORNL/shell_commands b/cime_config/usermods_dirs/NEON/FATES/ORNL/shell_commands new file mode 100644 index 0000000000..264d451753 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/ORNL/shell_commands @@ -0,0 +1,3 @@ +./xmlchange NEONSITE=ORNL +./xmlchange PTS_LON=275.83419000000004 +./xmlchange PTS_LAT=35.57525 diff --git a/cime_config/usermods_dirs/NEON/FATES/OSBS/include_user_mods b/cime_config/usermods_dirs/NEON/FATES/OSBS/include_user_mods new file mode 100644 index 0000000000..b152996d95 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/OSBS/include_user_mods @@ -0,0 +1 @@ +../defaults diff --git a/cime_config/usermods_dirs/NEON/FATES/OSBS/shell_commands b/cime_config/usermods_dirs/NEON/FATES/OSBS/shell_commands new file mode 100644 index 0000000000..385021f98a --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/OSBS/shell_commands @@ -0,0 +1,3 @@ +./xmlchange NEONSITE=OSBS +./xmlchange PTS_LON=278.00655 +./xmlchange PTS_LAT=29.68819 diff --git a/cime_config/usermods_dirs/NEON/FATES/PUUM/include_user_mods b/cime_config/usermods_dirs/NEON/FATES/PUUM/include_user_mods new file mode 100644 index 0000000000..b152996d95 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/PUUM/include_user_mods @@ -0,0 +1 @@ +../defaults diff --git a/cime_config/usermods_dirs/NEON/FATES/PUUM/shell_commands b/cime_config/usermods_dirs/NEON/FATES/PUUM/shell_commands new file mode 100644 index 0000000000..07c4331769 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/PUUM/shell_commands @@ -0,0 +1,3 @@ +./xmlchange NEONSITE=PUUM +./xmlchange PTS_LON=204.68269 +./xmlchange PTS_LAT=19.55309 diff --git a/cime_config/usermods_dirs/NEON/FATES/RMNP/include_user_mods b/cime_config/usermods_dirs/NEON/FATES/RMNP/include_user_mods new file mode 100644 index 0000000000..b152996d95 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/RMNP/include_user_mods @@ -0,0 +1 @@ +../defaults diff --git a/cime_config/usermods_dirs/NEON/FATES/RMNP/shell_commands b/cime_config/usermods_dirs/NEON/FATES/RMNP/shell_commands new file mode 100644 index 0000000000..8dfbf0fa0d --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/RMNP/shell_commands @@ -0,0 +1,3 @@ +./xmlchange NEONSITE=RMNP +./xmlchange PTS_LON=254.45476 +./xmlchange PTS_LAT=40.27707 diff --git a/cime_config/usermods_dirs/NEON/FATES/SCBI/include_user_mods b/cime_config/usermods_dirs/NEON/FATES/SCBI/include_user_mods new file mode 100644 index 0000000000..b152996d95 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/SCBI/include_user_mods @@ -0,0 +1 @@ +../defaults diff --git a/cime_config/usermods_dirs/NEON/FATES/SCBI/shell_commands b/cime_config/usermods_dirs/NEON/FATES/SCBI/shell_commands new file mode 100644 index 0000000000..aa42b8022c --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/SCBI/shell_commands @@ -0,0 +1,3 @@ +./xmlchange NEONSITE=SCBI +./xmlchange PTS_LON=281.86235999999997 +./xmlchange PTS_LAT=38.89209 diff --git a/cime_config/usermods_dirs/NEON/FATES/SERC/include_user_mods b/cime_config/usermods_dirs/NEON/FATES/SERC/include_user_mods new file mode 100644 index 0000000000..b152996d95 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/SERC/include_user_mods @@ -0,0 +1 @@ +../defaults diff --git a/cime_config/usermods_dirs/NEON/FATES/SERC/shell_commands b/cime_config/usermods_dirs/NEON/FATES/SERC/shell_commands new file mode 100644 index 0000000000..1053e2dc17 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/SERC/shell_commands @@ -0,0 +1,3 @@ +./xmlchange NEONSITE=SERC +./xmlchange PTS_LON=283.44115999999997 +./xmlchange PTS_LAT=38.89124 diff --git a/cime_config/usermods_dirs/NEON/FATES/SJER/include_user_mods b/cime_config/usermods_dirs/NEON/FATES/SJER/include_user_mods new file mode 100644 index 0000000000..b152996d95 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/SJER/include_user_mods @@ -0,0 +1 @@ +../defaults diff --git a/cime_config/usermods_dirs/NEON/FATES/SJER/shell_commands b/cime_config/usermods_dirs/NEON/FATES/SJER/shell_commands new file mode 100644 index 0000000000..6e05d23792 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/SJER/shell_commands @@ -0,0 +1,11 @@ +#!/bin/bash +./xmlchange NEONSITE=SJER +./xmlchange PTS_LON=240.267 +./xmlchange PTS_LAT=37.107117 +./xmlchange DATM_YR_ALIGN=2019,DATM_YR_START=2019 +# Different default start date and number of months to run for transient case +if [[ $compset =~ ^HIST ]]; then + ./xmlchange RUN_STARTDATE=2019-01-01 + ./xmlchange STOP_N=39 +fi + diff --git a/cime_config/usermods_dirs/NEON/FATES/SOAP/include_user_mods b/cime_config/usermods_dirs/NEON/FATES/SOAP/include_user_mods new file mode 100644 index 0000000000..b152996d95 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/SOAP/include_user_mods @@ -0,0 +1 @@ +../defaults diff --git a/cime_config/usermods_dirs/NEON/FATES/SOAP/shell_commands b/cime_config/usermods_dirs/NEON/FATES/SOAP/shell_commands new file mode 100644 index 0000000000..c10274c047 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/SOAP/shell_commands @@ -0,0 +1,3 @@ +./xmlchange NEONSITE=SOAP +./xmlchange PTS_LON=240.7379 +./xmlchange PTS_LAT=37.03269 diff --git a/cime_config/usermods_dirs/NEON/FATES/SRER/include_user_mods b/cime_config/usermods_dirs/NEON/FATES/SRER/include_user_mods new file mode 100644 index 0000000000..b152996d95 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/SRER/include_user_mods @@ -0,0 +1 @@ +../defaults diff --git a/cime_config/usermods_dirs/NEON/FATES/SRER/shell_commands b/cime_config/usermods_dirs/NEON/FATES/SRER/shell_commands new file mode 100644 index 0000000000..be1bec52d3 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/SRER/shell_commands @@ -0,0 +1,3 @@ +./xmlchange NEONSITE=SRER +./xmlchange PTS_LON=249.16451 +./xmlchange PTS_LAT=31.91068 diff --git a/cime_config/usermods_dirs/NEON/FATES/STEI/include_user_mods b/cime_config/usermods_dirs/NEON/FATES/STEI/include_user_mods new file mode 100644 index 0000000000..b152996d95 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/STEI/include_user_mods @@ -0,0 +1 @@ +../defaults diff --git a/cime_config/usermods_dirs/NEON/FATES/STEI/shell_commands b/cime_config/usermods_dirs/NEON/FATES/STEI/shell_commands new file mode 100644 index 0000000000..c2aced2c2e --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/STEI/shell_commands @@ -0,0 +1,3 @@ +./xmlchange NEONSITE=STEI +./xmlchange PTS_LON=270.4112 +./xmlchange PTS_LAT=45.5076 diff --git a/cime_config/usermods_dirs/NEON/FATES/STER/include_user_mods b/cime_config/usermods_dirs/NEON/FATES/STER/include_user_mods new file mode 100644 index 0000000000..b152996d95 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/STER/include_user_mods @@ -0,0 +1 @@ +../defaults diff --git a/cime_config/usermods_dirs/NEON/FATES/STER/shell_commands b/cime_config/usermods_dirs/NEON/FATES/STER/shell_commands new file mode 100644 index 0000000000..38b173c309 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/STER/shell_commands @@ -0,0 +1,7 @@ +./xmlchange NEONSITE=STER +./xmlchange PTS_LON=256.96992 +./xmlchange PTS_LAT=40.45984 +# Setup to run with prognostic crops for this site +# If you want to explicitly run in SP mode or add other +# # options you'll need to add that after this... +./xmlchange CLM_BLDNML_OPTS="--bgc bgc --crop" diff --git a/cime_config/usermods_dirs/NEON/FATES/TALL/include_user_mods b/cime_config/usermods_dirs/NEON/FATES/TALL/include_user_mods new file mode 100644 index 0000000000..b152996d95 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/TALL/include_user_mods @@ -0,0 +1 @@ +../defaults diff --git a/cime_config/usermods_dirs/NEON/FATES/TALL/shell_commands b/cime_config/usermods_dirs/NEON/FATES/TALL/shell_commands new file mode 100644 index 0000000000..1a176ae23f --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/TALL/shell_commands @@ -0,0 +1,3 @@ +./xmlchange NEONSITE=TALL +./xmlchange PTS_LON=272.6059 +./xmlchange PTS_LAT=32.95106 diff --git a/cime_config/usermods_dirs/NEON/FATES/TEAK/include_user_mods b/cime_config/usermods_dirs/NEON/FATES/TEAK/include_user_mods new file mode 100644 index 0000000000..b152996d95 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/TEAK/include_user_mods @@ -0,0 +1 @@ +../defaults diff --git a/cime_config/usermods_dirs/NEON/FATES/TEAK/shell_commands b/cime_config/usermods_dirs/NEON/FATES/TEAK/shell_commands new file mode 100644 index 0000000000..9058eda022 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/TEAK/shell_commands @@ -0,0 +1,10 @@ +#!/bin/bash +./xmlchange NEONSITE=TEAK +./xmlchange PTS_LON=240.99424199999999 +./xmlchange PTS_LAT=37.006472 +./xmlchange DATM_YR_ALIGN=2019,DATM_YR_START=2019 +# Different default start date and number of months to run for transient case +if [[ $compset =~ ^HIST ]]; then + ./xmlchange RUN_STARTDATE=2019-01-01 + ./xmlchange STOP_N=39 +fi diff --git a/cime_config/usermods_dirs/NEON/FATES/TOOL/include_user_mods b/cime_config/usermods_dirs/NEON/FATES/TOOL/include_user_mods new file mode 100644 index 0000000000..b152996d95 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/TOOL/include_user_mods @@ -0,0 +1 @@ +../defaults diff --git a/cime_config/usermods_dirs/NEON/FATES/TOOL/shell_commands b/cime_config/usermods_dirs/NEON/FATES/TOOL/shell_commands new file mode 100644 index 0000000000..f1f2e1771a --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/TOOL/shell_commands @@ -0,0 +1,10 @@ +#!/bin/bash +./xmlchange NEONSITE=TOOL +./xmlchange PTS_LON=210.629872 +./xmlchange PTS_LAT=68.66045 +./xmlchange DATM_YR_ALIGN=2020,DATM_YR_START=2020 +# Different default start date and number of months to run for transient case +if [[ $compset =~ ^HIST ]]; then + ./xmlchange RUN_STARTDATE=2020-01-01 + ./xmlchange STOP_N=27 +fi diff --git a/cime_config/usermods_dirs/NEON/FATES/TREE/include_user_mods b/cime_config/usermods_dirs/NEON/FATES/TREE/include_user_mods new file mode 100644 index 0000000000..b152996d95 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/TREE/include_user_mods @@ -0,0 +1 @@ +../defaults diff --git a/cime_config/usermods_dirs/NEON/FATES/TREE/shell_commands b/cime_config/usermods_dirs/NEON/FATES/TREE/shell_commands new file mode 100644 index 0000000000..6d0a4aa1fa --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/TREE/shell_commands @@ -0,0 +1,3 @@ +./xmlchange NEONSITE=TREE +./xmlchange PTS_LON=270.41252 +./xmlchange PTS_LAT=45.49266 diff --git a/cime_config/usermods_dirs/NEON/FATES/UKFS/include_user_mods b/cime_config/usermods_dirs/NEON/FATES/UKFS/include_user_mods new file mode 100644 index 0000000000..b152996d95 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/UKFS/include_user_mods @@ -0,0 +1 @@ +../defaults diff --git a/cime_config/usermods_dirs/NEON/FATES/UKFS/shell_commands b/cime_config/usermods_dirs/NEON/FATES/UKFS/shell_commands new file mode 100644 index 0000000000..7c8d4f8829 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/UKFS/shell_commands @@ -0,0 +1,3 @@ +./xmlchange NEONSITE=UKFS +./xmlchange PTS_LON=264.79505 +./xmlchange PTS_LAT=39.04168 diff --git a/cime_config/usermods_dirs/NEON/FATES/UNDE/include_user_mods b/cime_config/usermods_dirs/NEON/FATES/UNDE/include_user_mods new file mode 100644 index 0000000000..b152996d95 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/UNDE/include_user_mods @@ -0,0 +1 @@ +../defaults diff --git a/cime_config/usermods_dirs/NEON/FATES/UNDE/shell_commands b/cime_config/usermods_dirs/NEON/FATES/UNDE/shell_commands new file mode 100644 index 0000000000..79688e0a8f --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/UNDE/shell_commands @@ -0,0 +1,3 @@ +./xmlchange NEONSITE=UNDE +./xmlchange PTS_LON=270.6779 +./xmlchange PTS_LAT=46.14103 diff --git a/cime_config/usermods_dirs/NEON/FATES/WOOD/include_user_mods b/cime_config/usermods_dirs/NEON/FATES/WOOD/include_user_mods new file mode 100644 index 0000000000..b152996d95 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/WOOD/include_user_mods @@ -0,0 +1 @@ +../defaults diff --git a/cime_config/usermods_dirs/NEON/FATES/WOOD/shell_commands b/cime_config/usermods_dirs/NEON/FATES/WOOD/shell_commands new file mode 100644 index 0000000000..48ff0ef999 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/WOOD/shell_commands @@ -0,0 +1,3 @@ +./xmlchange NEONSITE=WOOD +./xmlchange PTS_LON=260.76093000000003 +./xmlchange PTS_LAT=47.12833 diff --git a/cime_config/usermods_dirs/NEON/FATES/WREF/include_user_mods b/cime_config/usermods_dirs/NEON/FATES/WREF/include_user_mods new file mode 100644 index 0000000000..b152996d95 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/WREF/include_user_mods @@ -0,0 +1 @@ +../defaults diff --git a/cime_config/usermods_dirs/NEON/FATES/WREF/shell_commands b/cime_config/usermods_dirs/NEON/FATES/WREF/shell_commands new file mode 100644 index 0000000000..807055ae6e --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/WREF/shell_commands @@ -0,0 +1,10 @@ +#!/bin/bash +./xmlchange NEONSITE=WREF +./xmlchange PTS_LON=238.04162 +./xmlchange PTS_LAT=45.81637 +./xmlchange DATM_YR_ALIGN=2019,DATM_YR_START=2019 +# Different default start date and number of months to run for transient case +if [[ $compset =~ ^HIST ]]; then + ./xmlchange RUN_STARTDATE=2019-01-01 + ./xmlchange STOP_N=39 +fi diff --git a/cime_config/usermods_dirs/NEON/FATES/YELL/include_user_mods b/cime_config/usermods_dirs/NEON/FATES/YELL/include_user_mods new file mode 100644 index 0000000000..b152996d95 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/YELL/include_user_mods @@ -0,0 +1 @@ +../defaults diff --git a/cime_config/usermods_dirs/NEON/FATES/YELL/shell_commands b/cime_config/usermods_dirs/NEON/FATES/YELL/shell_commands new file mode 100644 index 0000000000..800d7d01ad --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/YELL/shell_commands @@ -0,0 +1,10 @@ +#!/bin/bash +./xmlchange NEONSITE=YELL +./xmlchange PTS_LON=249.45803999999998 +./xmlchange PTS_LAT=44.95597 +./xmlchange DATM_YR_ALIGN=2019,DATM_YR_START=2019 +# Different default start date and number of months to run for transient case +if [[ $compset =~ ^HIST ]]; then + ./xmlchange RUN_STARTDATE=2019-01-01 + ./xmlchange STOP_N=39 +fi diff --git a/cime_config/usermods_dirs/NEON/FATES/defaults/shell_commands b/cime_config/usermods_dirs/NEON/FATES/defaults/shell_commands new file mode 100644 index 0000000000..7095e1def7 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/defaults/shell_commands @@ -0,0 +1,26 @@ +#!/bin/bash +./xmlchange CLM_USRDAT_NAME=NEON +./xmlchange CCSM_CO2_PPMV=408.83 +# Set data forcing data to future scenario so will have data from 2018 to present-day +./xmlchange DATM_PRESAERO=SSP3-7.0 +./xmlchange DATM_PRESNDEP=SSP3-7.0 +./xmlchange DATM_PRESO3=SSP3-7.0 +# Explicitly set the MPI library to mpi-serial so won't have the build/run complexity of a full MPI library +./xmlchange MPILIB=mpi-serial +# Set years to run forcing data over +./xmlchange DATM_YR_ALIGN=2018,DATM_YR_END=2021,DATM_YR_START=2018 +compset=`./xmlquery COMPSET --value` +# For a transient case run the whole length and don't cycle +if [[ $compset =~ ^HIST ]]; then + ./xmlchange DATM_YR_END=2022 + ./xmlchange RUN_STARTDATE=2018-01-01 + # Number of months that can be run for the full transient case + ./xmlchange STOP_OPTION="nmonths" + ./xmlchange STOP_N=51 + ./xmlchange CLM_NML_USE_CASE="2018-PD_transient" +else + ./xmlchange CLM_NML_USE_CASE="2018_control" +fi + +# Explicitly set PIO Type to NETCDF since this is a single processor case (should already be set this way) +./xmlchange PIO_TYPENAME=netcdf diff --git a/cime_config/usermods_dirs/NEON/FATES/defaults/user_nl_clm b/cime_config/usermods_dirs/NEON/FATES/defaults/user_nl_clm new file mode 100644 index 0000000000..688e651382 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/defaults/user_nl_clm @@ -0,0 +1,31 @@ +!---------------------------------------------------------------------------------- +! Users should add all user specific namelist changes below in the form of +! namelist_var = new_namelist_value +! +! EXCEPTIONS: +! Set use_cndv by the compset you use and the CLM_BLDNML_OPTS -dynamic_vegetation setting +! Set use_vichydro by the compset you use and the CLM_BLDNML_OPTS -vichydro setting +! Set use_cn by the compset you use and CLM_BLDNML_OPTS -bgc setting +! Set use_crop by the compset you use and CLM_BLDNML_OPTS -crop setting +! Set spinup_state by the CLM_BLDNML_OPTS -bgc_spinup setting +! Set co2_ppmv with CCSM_CO2_PPMV option +! Set fatmlndfrc with LND_DOMAIN_PATH/LND_DOMAIN_FILE options +! Set finidat with RUN_REFCASE/RUN_REFDATE/RUN_REFTOD options for hybrid or branch cases +! (includes $inst_string for multi-ensemble cases) +! or with CLM_FORCE_COLDSTART to do a cold start +! or set it with an explicit filename here. +! Set maxpatch_glcmec with GLC_NEC option +! Set glc_do_dynglacier with GLC_TWO_WAY_COUPLING env variable +!---------------------------------------------------------------------------------- + +flanduse_timeseries = ' ' ! This isn't needed for a non transient case, but will be once we start using transient compsets +fsurdat = "$DIN_LOC_ROOT/lnd/clm2/surfdata_map/NEON/FATES/surfdata_1x1_NEON_${NEONSITE}_hist_16pfts_Irrig_CMIP6_simyr2000_c230110.nc" + +stream_fldfilename_lightng = '$DIN_LOC_ROOT/atm/datm7/NASA_LIS/clmforc.Li_2016_climo1995-2013.360x720.lnfm_Total_NEONarea_c210625.nc' +stream_meshfile_lightng = '$DIN_LOC_ROOT/atm/datm7/NASA_LIS/ESMF_MESH.Li_2016.360x720.NEONarea_cdf5_c221104.nc' + +! h1 output stream +hist_fincl2 = 'AR','ELAI','FCEV','FCTR','FGEV','FIRA','FSA','FSH','GPP','H2OSOI', + 'HR','SNOW_DEPTH','TBOT','TSOI','SOILC_vr','FV','NET_NMIN_vr' +hist_mfilt(2) = 48 +hist_nhtfrq(2) = 1 diff --git a/cime_config/usermods_dirs/NEON/FATES/defaults/user_nl_cpl b/cime_config/usermods_dirs/NEON/FATES/defaults/user_nl_cpl new file mode 100644 index 0000000000..e7f6c90a86 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/defaults/user_nl_cpl @@ -0,0 +1,20 @@ +!------------------------------------------------------------------------ +! Users should ONLY USE user_nl_cpl to change namelists variables +! for namelist variables in drv_in (except for the ones below) and +! any keyword/values in seq_maps.rc +! Users should add ALL user specific namelist and seq_maps.rc changes below +! using the following syntax +! namelist_var = new_namelist_value +! or +! mapname = new_map_name +! For example to change the default value of ocn2atm_fmapname to 'foo' use +! ocn2atm_fmapname = 'foo' +! +! Note that some namelist variables MAY NOT be changed in user_nl_cpl - +! they are defined in a $CASEROOT xml file and must be changed with +! xmlchange. +! +! For example, rather than set username to 'foo' in user_nl_cpl, call +! ./xmlchange USER=foo +!------------------------------------------------------------------------ +orb_iyear = 2018 diff --git a/cime_config/usermods_dirs/NEON/FATES/defaults/user_nl_datm_streams b/cime_config/usermods_dirs/NEON/FATES/defaults/user_nl_datm_streams new file mode 100644 index 0000000000..36f1e72b3a --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/defaults/user_nl_datm_streams @@ -0,0 +1,39 @@ +!------------------------------------------------------------------------ +! This file is used to modify datm.streams.xml generated in $RUNDIR +! Entries should have the form +! :<= new stream_value> +! The following are accepted values for an assume streamname of foo +! foo:meshfile = character string +! foo:datafiles = comma separated string of full pathnames (e.g. file1,file2,file3...) +! foo:datavars = comma separated string of field pairs (e.g. foo foobar,foo2 foobar2...) +! foo:taxmode = one of [cycle, extend, limit] +! foo:tintalgo = one of [lower,upper,nearest,linear,coszen] +! foo:readmode = single (only suported mode right now) +! foo:mapalgo = one of [bilinear,redist,nn,consf,consd,none] +! foo:dtlimit = real (1.5 is default) +! foo:year_first = integer +! foo:year_last = integer +! foo:year_align = integer +! foo:vectors = one of [none,u:v] +! foo:lev_dimname: = one of [null,name of level dimenion name] +! foo:offset = integer +! As an example: +! foo:year_first = 1950 +! would change the stream year_first stream_entry to 1950 for the foo stream block +!------------------------------------------------------------------------ +presaero.SSP3-7.0:datafiles = $DIN_LOC_ROOT/atm/cam/chem/trop_mozart_aero/aero/aerodep_clm_SSP370_b.e21.BWSSP370cmip6.f09_g17.CMIP6-SSP3-7.0-WACCM.001_2018-2030_monthly_0.9x1.25_c210826.nc +presaero.SSP3-7.0:year_first=2018 +presaero.SSP3-7.0:year_last=2022 +presaero.SSP3-7.0:year_align=2018 +presaero.SSP3-7.0:dtlimit=30 + +presndep.SSP3-7.0:datafiles = $DIN_LOC_ROOT/lnd/clm2/ndepdata/fndep_clm_f09_g17.CMIP6-SSP3-7.0-WACCM_2018-2030_monthly_c210826.nc +presndep.SSP3-7.0:year_first=2018 +presndep.SSP3-7.0:year_last=2022 +presndep.SSP3-7.0:year_align=2018 +presndep.SSP3-7.0:dtlimit=30 + +preso3.SSP3-7.0:year_first=2018 +preso3.SSP3-7.0:year_last=2022 +preso3.SSP3-7.0:year_align=2018 +preso3.SSP3-7.0:dtlimit=30 From ee011faf27a382f9c7f2a5c6f664ff2f2638b68b Mon Sep 17 00:00:00 2001 From: adrifoster Date: Tue, 10 Jan 2023 08:22:31 -0700 Subject: [PATCH 07/40] create fates-specific calls --- tools/site_and_regional/neon_surf_wrapper.py | 28 +++-- .../neon_surf_wrapper_fates.py | 110 ------------------ 2 files changed, 20 insertions(+), 118 deletions(-) delete mode 100755 tools/site_and_regional/neon_surf_wrapper_fates.py diff --git a/tools/site_and_regional/neon_surf_wrapper.py b/tools/site_and_regional/neon_surf_wrapper.py index e02ee2bd53..d8e11415ff 100755 --- a/tools/site_and_regional/neon_surf_wrapper.py +++ b/tools/site_and_regional/neon_surf_wrapper.py @@ -33,7 +33,7 @@ import subprocess import pandas as pd -#import tqdm as tqdm + @@ -52,6 +52,12 @@ def get_parser(): dest="verbose", default=False) + parser.add_argument('-f', '--fates', + help='Create and/or modify surface data file for FATES. ', + action="store_true", + dest="fates", + default=False) + return parser @@ -98,13 +104,19 @@ def main(): pft = row['pft'] clmsite = "1x1_NEON_"+site print ("Now processing site :", site) - command = ['./subset_data','point','--lat',str(lat),'--lon',str(lon),'--site',clmsite,'--dompft',str(pft),'--crop', - '--create-surface','--uniform-snowpack','--cap-saturation','--verbose','--overwrite'] - execute(command) - - command = ['./modify_singlept_site_neon.py','--neon_site',site, '--surf_dir', - 'subset_data_single_point'] - execute(command) + if args.fates: + + command1 = ['./subset_data','point','--lat',str(lat),'--lon',str(lon),'--site',clmsite, + '--create-surface','--uniform-snowpack','--cap-saturation','--verbose','--overwrite'] + command2 = ['./modify_singlept_site_neon.py', '--neon_site', site, '--surf_dir', + 'subset_data_single_point', '--fates'] + else: + command1 = ['./subset_data','point','--lat',str(lat),'--lon',str(lon),'--site',clmsite,'--dompft',str(pft),'--crop', + '--create-surface','--uniform-snowpack','--cap-saturation','--verbose','--overwrite'] + command2 = ['./modify_singlept_site_neon.py', '--neon_site', site, '--surf_dir', + 'subset_data_single_point'] + execute(command1) + execute(command2) if __name__ == "__main__": main() diff --git a/tools/site_and_regional/neon_surf_wrapper_fates.py b/tools/site_and_regional/neon_surf_wrapper_fates.py deleted file mode 100755 index 60003b857e..0000000000 --- a/tools/site_and_regional/neon_surf_wrapper_fates.py +++ /dev/null @@ -1,110 +0,0 @@ -#! /usr/bin/env python3 -""" -|------------------------------------------------------------------| -|--------------------- Instructions -----------------------------| -|------------------------------------------------------------------| -This script is a simple wrapper for neon sites that performs the -following: - 1) For neon sites, subset surface dataset from global dataset - (i.e. ./subset_data.py ) - 2) Download neon and update the created surface dataset - based on the downloaded neon data. - (i.e. modify_singlept_site_neon.py) - -Instructions for running using conda python environments: - -../../py_env_create -conda activate ctsm_py - -""" -# TODO -# Automatic downloading of missing files if they are missing -#-[ ] Download neon sites and dom pft file -#-[ ] Make sure verbose works for printing out commands running - -# Import libraries -from __future__ import print_function - -import os -import sys -import tqdm -import logging -import argparse -import subprocess - -import pandas as pd -#import tqdm as tqdm - - - -def get_parser(): - """ - Get parser object for this script. - """ - parser = argparse.ArgumentParser(description=__doc__, - formatter_class=argparse.RawDescriptionHelpFormatter) - - parser.print_usage = parser.print_help - - parser.add_argument('-v','--verbose', - help='Verbose mode will print more information. ', - action="store_true", - dest="verbose", - default=False) - - - return parser - - -def execute(command): - """ - Function for running a command on shell. - Args: - command (str): - command that we want to run. - Raises: - Error with the return code from shell. - """ - print ('\n',' >> ',*command,'\n') - - try: - subprocess.check_call(command, stdout=open(os.devnull, "w"), stderr=subprocess.STDOUT) - - except subprocess.CalledProcessError as e: - #raise RuntimeError("command '{}' return with error (code {}): {}".format(e.cmd, e.returncode, e.output)) - #print (e.ouput) - print (e) - - - - - - -def main(): - - args = get_parser().parse_args() - - if args.verbose: - logging.basicConfig(level=logging.DEBUG) - - - neon_sites = pd.read_csv('neon_sites_dompft.csv') - - - for i, row in tqdm.tqdm(neon_sites.iterrows()): - lat = row['Lat'] - lon = row['Lon'] - site = row['Site'] - pft = row['pft'] - clmsite = "1x1_NEON_16PFT_"+site - print ("Now processing site :", site) - command = ['./subset_data','point','--lat',str(lat),'--lon',str(lon),'--site',clmsite, - '--create-surface','--uniform-snowpack','--cap-saturation','--verbose','--overwrite'] - execute(command) - - command = ['./modify_singlept_site_neon.py','--neon_site',site, '--surf_dir', - 'subset_data_single_point'] - execute(command) - -if __name__ == "__main__": - main() From f1137fd74348359ff70c7952f550b1812d3e6217 Mon Sep 17 00:00:00 2001 From: adrifoster Date: Tue, 10 Jan 2023 08:27:18 -0700 Subject: [PATCH 08/40] create fates-specific calls --- .../modify_singlept_site_neon.py | 22 +++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/tools/site_and_regional/modify_singlept_site_neon.py b/tools/site_and_regional/modify_singlept_site_neon.py index eabf5930f5..49f10acc2f 100755 --- a/tools/site_and_regional/modify_singlept_site_neon.py +++ b/tools/site_and_regional/modify_singlept_site_neon.py @@ -174,6 +174,15 @@ def get_parser(): default=False, ) + parser.add_argument( + "-f", + "--fates", + help="Modify FATES-specific surface data files (i.e. 16-PFT version", + action="store_true", + dest="fates", + default=False, + ) + return parser @@ -241,7 +250,7 @@ def get_neon(neon_dir, site_name): return neon_file -def find_surffile(surf_dir, site_name): +def find_surffile(surf_dir, site_name, fates): """ Function for finding and choosing surface file for a neon site. @@ -252,6 +261,7 @@ def find_surffile(surf_dir, site_name): Args: surf_dir (str): directory of single point surface data site_name (str): 4 letter neon site name + fates (bool): if true, use 16-PFT version of surface data file Raises: Error if the surface data for the site is not created @@ -260,7 +270,11 @@ def find_surffile(surf_dir, site_name): surf_file (str): name of the surface dataset file """ - sf_name = "surfdata_1x1_NEON_16PFT_"+site_name+"*hist_16pfts_Irrig_CMIP6_simyr2000_*.nc" + if fates: + sf_name = "surfdata_1x1_NEON_16PFT_"+site_name+"*hist_16pfts_Irrig_CMIP6_simyr2000_*.nc" + else: + sf_name = "surfdata_1x1_NEON_" + site_name + "*hist_78pfts_CMIP6_simyr2000_*.nc" + print (os.path.join(surf_dir , sf_name)) surf_file = sorted(glob.glob(os.path.join(surf_dir , sf_name))) @@ -533,12 +547,12 @@ def main(): # -- Look for surface data surf_dir = args.surf_dir - surf_file = find_surffile(surf_dir, site_name) + surf_file = find_surffile(surf_dir, site_name, args.fates) # -- directory structure current_dir = os.getcwd() parent_dir = os.path.dirname(current_dir) - clone_dir = os.path.abspath(os.path.join(__file__, "../../..")) + clone_dir = os.path.abspath(os.path.join(__file__, "../../../..")) neon_dir = os.path.join(clone_dir, "neon_surffiles") print("Present Directory", current_dir) From 057abd1311e825176a86984371e04db510ff1d8f Mon Sep 17 00:00:00 2001 From: Adrianna Foster Date: Tue, 10 Jan 2023 09:35:29 -0700 Subject: [PATCH 09/40] update surface data name --- cime_config/usermods_dirs/NEON/FATES/defaults/user_nl_clm | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/cime_config/usermods_dirs/NEON/FATES/defaults/user_nl_clm b/cime_config/usermods_dirs/NEON/FATES/defaults/user_nl_clm index 688e651382..eac74ea00a 100644 --- a/cime_config/usermods_dirs/NEON/FATES/defaults/user_nl_clm +++ b/cime_config/usermods_dirs/NEON/FATES/defaults/user_nl_clm @@ -19,10 +19,7 @@ !---------------------------------------------------------------------------------- flanduse_timeseries = ' ' ! This isn't needed for a non transient case, but will be once we start using transient compsets -fsurdat = "$DIN_LOC_ROOT/lnd/clm2/surfdata_map/NEON/FATES/surfdata_1x1_NEON_${NEONSITE}_hist_16pfts_Irrig_CMIP6_simyr2000_c230110.nc" - -stream_fldfilename_lightng = '$DIN_LOC_ROOT/atm/datm7/NASA_LIS/clmforc.Li_2016_climo1995-2013.360x720.lnfm_Total_NEONarea_c210625.nc' -stream_meshfile_lightng = '$DIN_LOC_ROOT/atm/datm7/NASA_LIS/ESMF_MESH.Li_2016.360x720.NEONarea_cdf5_c221104.nc' +fsurdat = "$DIN_LOC_ROOT/lnd/clm2/surfdata_map/NEON/FATES/surfdata_1x1_NEON_16PFT_${NEONSITE}_hist_16pfts_Irrig_CMIP6_simyr2000_c230110.nc" ! h1 output stream hist_fincl2 = 'AR','ELAI','FCEV','FCTR','FGEV','FIRA','FSA','FSH','GPP','H2OSOI', From 187ef47ab2fc4971bed08ac0c4f94e16f22757a2 Mon Sep 17 00:00:00 2001 From: Adrianna Foster Date: Tue, 10 Jan 2023 10:26:54 -0700 Subject: [PATCH 10/40] change history names --- cime_config/usermods_dirs/NEON/FATES/defaults/user_nl_clm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cime_config/usermods_dirs/NEON/FATES/defaults/user_nl_clm b/cime_config/usermods_dirs/NEON/FATES/defaults/user_nl_clm index eac74ea00a..c842546ec7 100644 --- a/cime_config/usermods_dirs/NEON/FATES/defaults/user_nl_clm +++ b/cime_config/usermods_dirs/NEON/FATES/defaults/user_nl_clm @@ -22,7 +22,7 @@ flanduse_timeseries = ' ' ! This isn't needed for a non transient case, but wi fsurdat = "$DIN_LOC_ROOT/lnd/clm2/surfdata_map/NEON/FATES/surfdata_1x1_NEON_16PFT_${NEONSITE}_hist_16pfts_Irrig_CMIP6_simyr2000_c230110.nc" ! h1 output stream -hist_fincl2 = 'AR','ELAI','FCEV','FCTR','FGEV','FIRA','FSA','FSH','GPP','H2OSOI', - 'HR','SNOW_DEPTH','TBOT','TSOI','SOILC_vr','FV','NET_NMIN_vr' +hist_fincl2 = 'FATES_AUTORESP','FCEV','FCTR','FGEV','FIRA','FSA','FSH','FATES_GPP','FATES_GPP_PF','H2OSOI', + 'SNOW_DEPTH','TBOT','TSOI','SOILC_vr','FATES_NPP','FATES_NPP_PF','FATES_VEGC','FATES_VEGC_PF' hist_mfilt(2) = 48 hist_nhtfrq(2) = 1 From 815ed9cd6e26fba1f730d8db0ef38e0d96089154 Mon Sep 17 00:00:00 2001 From: will wieder Date: Tue, 10 Jan 2023 20:05:55 -0700 Subject: [PATCH 11/40] Update neon_sites_dompft.csv --- tools/site_and_regional/neon_sites_dompft.csv | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/site_and_regional/neon_sites_dompft.csv b/tools/site_and_regional/neon_sites_dompft.csv index e67d67375b..dce0a6283d 100644 --- a/tools/site_and_regional/neon_sites_dompft.csv +++ b/tools/site_and_regional/neon_sites_dompft.csv @@ -34,7 +34,7 @@ 33,NIWO,13, 40.05236, -105.58324,12,2018,2021 34,JORN,14, 32.59052, -106.84377,14,2018,2021 35,SRER,14, 31.91068, -110.83549,9,2018,2021 -36,ONAQ,15, 35.68839, -83.50185,9,2018,2019 +36,ONAQ,15, 40.17760, -112.45245,9,2018,2019 37,ABBY,16,45.762378,-122.329672,1,2018,2021 38,WREF,16, 45.81637, -121.95838,1,2019,2021 39,SJER,17,37.107117, -119.73300,13,2019,2021 From 490fd344337258e754ae9f77b2cd598cd27ac494 Mon Sep 17 00:00:00 2001 From: will wieder Date: Tue, 10 Jan 2023 21:31:54 -0700 Subject: [PATCH 12/40] Update usermods shell commands --- cime_config/usermods_dirs/NEON/ONAQ/shell_commands | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cime_config/usermods_dirs/NEON/ONAQ/shell_commands b/cime_config/usermods_dirs/NEON/ONAQ/shell_commands index 43dab69998..511813398b 100644 --- a/cime_config/usermods_dirs/NEON/ONAQ/shell_commands +++ b/cime_config/usermods_dirs/NEON/ONAQ/shell_commands @@ -1,7 +1,7 @@ #!/bin/bash ./xmlchange NEONSITE=ONAQ -./xmlchange PTS_LON=276.49815 -./xmlchange PTS_LAT=35.68839 +./xmlchange PTS_LON=247.54755 +./xmlchange PTS_LAT=40.17760 ./xmlchange DATM_YR_END=2019 # Different default number of months to run for transient case if [[ $compset =~ ^HIST ]]; then From a374044a1a7cf191e53aae876cc9274332d13606 Mon Sep 17 00:00:00 2001 From: will wieder Date: Wed, 11 Jan 2023 07:46:38 -0700 Subject: [PATCH 13/40] Update user_nl_clm only needed for ONAQ, but done for all sites for consistency --- cime_config/usermods_dirs/NEON/defaults/user_nl_clm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cime_config/usermods_dirs/NEON/defaults/user_nl_clm b/cime_config/usermods_dirs/NEON/defaults/user_nl_clm index 29e50431ce..ddf627b04e 100644 --- a/cime_config/usermods_dirs/NEON/defaults/user_nl_clm +++ b/cime_config/usermods_dirs/NEON/defaults/user_nl_clm @@ -19,7 +19,7 @@ !---------------------------------------------------------------------------------- flanduse_timeseries = ' ' ! This isn't needed for a non transient case, but will be once we start using transient compsets -fsurdat = "$DIN_LOC_ROOT/lnd/clm2/surfdata_map/NEON/surfdata_1x1_NEON_${NEONSITE}_hist_78pfts_CMIP6_simyr2000_c221111.nc" +fsurdat = "$DIN_LOC_ROOT/lnd/clm2/surfdata_map/NEON/surfdata_1x1_NEON_${NEONSITE}_hist_78pfts_CMIP6_simyr2000_c230111.nc" stream_fldfilename_lightng = '$DIN_LOC_ROOT/atm/datm7/NASA_LIS/clmforc.Li_2016_climo1995-2013.360x720.lnfm_Total_NEONarea_c210625.nc' stream_meshfile_lightng = '$DIN_LOC_ROOT/atm/datm7/NASA_LIS/ESMF_MESH.Li_2016.360x720.NEONarea_cdf5_c221104.nc' From 314191624b6d709a0a009b80b73483bc2ce1750b Mon Sep 17 00:00:00 2001 From: will wieder Date: Wed, 11 Jan 2023 09:50:18 -0700 Subject: [PATCH 14/40] Update neon_sites_dompft.csv additional lat-lon changes to BLAN, UNDE, ORNL --- tools/site_and_regional/neon_sites_dompft.csv | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/site_and_regional/neon_sites_dompft.csv b/tools/site_and_regional/neon_sites_dompft.csv index dce0a6283d..8fb9600f0f 100644 --- a/tools/site_and_regional/neon_sites_dompft.csv +++ b/tools/site_and_regional/neon_sites_dompft.csv @@ -1,7 +1,7 @@ ,Site,Domain,Lat,Lon,pft,start_year,end_year 1,BART, 1, 44.06516, -71.28834,7,2018,2021 2,HARV, 1, 42.53562, -72.17562,7,2018,2021 -3,BLAN, 2, 39.06044, -78.07115,7,2018,2021 +3,BLAN, 2, 39.033698, -78.041788,7,2018,2021 4,SCBI, 2, 38.89209, -78.13764,7,2018,2021 5,SERC, 2, 38.89124, -76.55884,7,2018,2021 6,DSNY, 3, 28.12919, -81.43394,14,2018,2021 @@ -11,13 +11,13 @@ 10,LAJA, 4, 18.02184, -67.07608,14,2019,2021 11,STEI, 5, 45.50760, -89.58880,7,2018,2021 12,TREE, 5, 45.49266, -89.58748,7,2018,2021 -13,UNDE, 5, 46.14103, -89.32210,7,2018,2021 +13,UNDE, 5, 46.23391, -89.537254,7,2018,2021 14,KONA, 6, 39.10828, -96.61044,19,2018,2021 15,KONZ, 6, 39.10070, -96.56227,14,2018,2021 16,UKFS, 6, 39.04168, -95.20495,7,2018,2021 17,GRSM, 7, 35.68839, -83.50185,7,2018,2021 18,MLBS, 7, 37.37783, -80.52425,7,2018,2019 -19,ORNL, 7, 35.57525, -84.16581,7,2018,2021 +19,ORNL, 7, 35.964128, -84.282588,7,2018,2021 20,DELA, 8, 32.54092, -87.80341,7,2018,2021 21,LENO, 8, 31.85310, -88.16103,7,2021,2021 22,TALL, 8, 32.95106, -87.39410,1,2018,2021 From c6bce1e4485634838c9c6085e9158850ff2f8bd0 Mon Sep 17 00:00:00 2001 From: will wieder Date: Wed, 11 Jan 2023 09:51:49 -0700 Subject: [PATCH 15/40] Update BLAN shell commands --- cime_config/usermods_dirs/NEON/BLAN/shell_commands | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cime_config/usermods_dirs/NEON/BLAN/shell_commands b/cime_config/usermods_dirs/NEON/BLAN/shell_commands index cb093d806a..0508481981 100644 --- a/cime_config/usermods_dirs/NEON/BLAN/shell_commands +++ b/cime_config/usermods_dirs/NEON/BLAN/shell_commands @@ -1,3 +1,3 @@ ./xmlchange NEONSITE=BLAN -./xmlchange PTS_LON=281.92885 -./xmlchange PTS_LAT=39.06044 +./xmlchange PTS_LON=281.958212 +./xmlchange PTS_LAT=39.033698 From 09cfaa659347186a5e5b49b9fcaf4c56c9fa094f Mon Sep 17 00:00:00 2001 From: will wieder Date: Wed, 11 Jan 2023 09:52:52 -0700 Subject: [PATCH 16/40] Update ORNL shell commands --- cime_config/usermods_dirs/NEON/ORNL/shell_commands | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cime_config/usermods_dirs/NEON/ORNL/shell_commands b/cime_config/usermods_dirs/NEON/ORNL/shell_commands index 264d451753..5708d3dec5 100644 --- a/cime_config/usermods_dirs/NEON/ORNL/shell_commands +++ b/cime_config/usermods_dirs/NEON/ORNL/shell_commands @@ -1,3 +1,3 @@ ./xmlchange NEONSITE=ORNL -./xmlchange PTS_LON=275.83419000000004 -./xmlchange PTS_LAT=35.57525 +./xmlchange PTS_LON=275.717412 +./xmlchange PTS_LAT=35.964128 From dc101f305c27395eea8993166199f24ad69a1d63 Mon Sep 17 00:00:00 2001 From: will wieder Date: Wed, 11 Jan 2023 09:53:40 -0700 Subject: [PATCH 17/40] Update UNDE shell commands --- cime_config/usermods_dirs/NEON/UNDE/shell_commands | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cime_config/usermods_dirs/NEON/UNDE/shell_commands b/cime_config/usermods_dirs/NEON/UNDE/shell_commands index 79688e0a8f..f810e4a76b 100644 --- a/cime_config/usermods_dirs/NEON/UNDE/shell_commands +++ b/cime_config/usermods_dirs/NEON/UNDE/shell_commands @@ -1,3 +1,3 @@ ./xmlchange NEONSITE=UNDE -./xmlchange PTS_LON=270.6779 -./xmlchange PTS_LAT=46.14103 +./xmlchange PTS_LON=270.462746 +./xmlchange PTS_LAT=46.23391 From de831f77e066263c59d5965c983d25562183b70b Mon Sep 17 00:00:00 2001 From: Adrianna Foster Date: Thu, 12 Jan 2023 14:59:37 -0700 Subject: [PATCH 18/40] adding new updates to FATES side --- cime_config/usermods_dirs/NEON/FATES/BLAN/shell_commands | 4 ++-- cime_config/usermods_dirs/NEON/FATES/ONAQ/shell_commands | 4 ++-- cime_config/usermods_dirs/NEON/FATES/ORNL/shell_commands | 4 ++-- cime_config/usermods_dirs/NEON/FATES/UNDE/shell_commands | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/cime_config/usermods_dirs/NEON/FATES/BLAN/shell_commands b/cime_config/usermods_dirs/NEON/FATES/BLAN/shell_commands index cb093d806a..0508481981 100644 --- a/cime_config/usermods_dirs/NEON/FATES/BLAN/shell_commands +++ b/cime_config/usermods_dirs/NEON/FATES/BLAN/shell_commands @@ -1,3 +1,3 @@ ./xmlchange NEONSITE=BLAN -./xmlchange PTS_LON=281.92885 -./xmlchange PTS_LAT=39.06044 +./xmlchange PTS_LON=281.958212 +./xmlchange PTS_LAT=39.033698 diff --git a/cime_config/usermods_dirs/NEON/FATES/ONAQ/shell_commands b/cime_config/usermods_dirs/NEON/FATES/ONAQ/shell_commands index 43dab69998..511813398b 100644 --- a/cime_config/usermods_dirs/NEON/FATES/ONAQ/shell_commands +++ b/cime_config/usermods_dirs/NEON/FATES/ONAQ/shell_commands @@ -1,7 +1,7 @@ #!/bin/bash ./xmlchange NEONSITE=ONAQ -./xmlchange PTS_LON=276.49815 -./xmlchange PTS_LAT=35.68839 +./xmlchange PTS_LON=247.54755 +./xmlchange PTS_LAT=40.17760 ./xmlchange DATM_YR_END=2019 # Different default number of months to run for transient case if [[ $compset =~ ^HIST ]]; then diff --git a/cime_config/usermods_dirs/NEON/FATES/ORNL/shell_commands b/cime_config/usermods_dirs/NEON/FATES/ORNL/shell_commands index 264d451753..5708d3dec5 100644 --- a/cime_config/usermods_dirs/NEON/FATES/ORNL/shell_commands +++ b/cime_config/usermods_dirs/NEON/FATES/ORNL/shell_commands @@ -1,3 +1,3 @@ ./xmlchange NEONSITE=ORNL -./xmlchange PTS_LON=275.83419000000004 -./xmlchange PTS_LAT=35.57525 +./xmlchange PTS_LON=275.717412 +./xmlchange PTS_LAT=35.964128 diff --git a/cime_config/usermods_dirs/NEON/FATES/UNDE/shell_commands b/cime_config/usermods_dirs/NEON/FATES/UNDE/shell_commands index 79688e0a8f..f810e4a76b 100644 --- a/cime_config/usermods_dirs/NEON/FATES/UNDE/shell_commands +++ b/cime_config/usermods_dirs/NEON/FATES/UNDE/shell_commands @@ -1,3 +1,3 @@ ./xmlchange NEONSITE=UNDE -./xmlchange PTS_LON=270.6779 -./xmlchange PTS_LAT=46.14103 +./xmlchange PTS_LON=270.462746 +./xmlchange PTS_LAT=46.23391 From 3fbeeaf6226eb0818ed785a5855a1642737599eb Mon Sep 17 00:00:00 2001 From: Adrianna Foster Date: Thu, 12 Jan 2023 15:17:00 -0700 Subject: [PATCH 19/40] add packaging to ctsm_py environment --- python/conda_env_ctsm_py.txt | 1 + python/conda_env_ctsm_py_cgd.txt | 1 + python/conda_env_ctsm_py_latest.txt | 1 + 3 files changed, 3 insertions(+) diff --git a/python/conda_env_ctsm_py.txt b/python/conda_env_ctsm_py.txt index d757ae1782..4768d0ed62 100644 --- a/python/conda_env_ctsm_py.txt +++ b/python/conda_env_ctsm_py.txt @@ -16,6 +16,7 @@ tqdm scipy netcdf4 requests +packaging numpy=1.18.5 xarray=0.16.2 pylint=2.8.3 diff --git a/python/conda_env_ctsm_py_cgd.txt b/python/conda_env_ctsm_py_cgd.txt index e7ee4af8ab..f3cc1b3201 100644 --- a/python/conda_env_ctsm_py_cgd.txt +++ b/python/conda_env_ctsm_py_cgd.txt @@ -18,6 +18,7 @@ tqdm scipy netcdf4 requests +packaging numpy=1.18.5 xarray=0.16.2 pylint=2.8.3 diff --git a/python/conda_env_ctsm_py_latest.txt b/python/conda_env_ctsm_py_latest.txt index 2dc2ed518d..052fbf4fef 100644 --- a/python/conda_env_ctsm_py_latest.txt +++ b/python/conda_env_ctsm_py_latest.txt @@ -5,6 +5,7 @@ tqdm>=4.64.1 scipy netcdf4 requests +packaging numpy>=1.23.0 xarray>=2022.3.0 pylint>=2.8.3,<2.9.0 # Once, you move off of 2.8.3, make lint shows 2 errors, at 2.11.1 there are 2 more errors beyond that From 88afa24c8a83a57574ea5245a869f1233b953c73 Mon Sep 17 00:00:00 2001 From: adrifoster Date: Thu, 12 Jan 2023 15:18:23 -0700 Subject: [PATCH 20/40] add back pandas version check --- tools/site_and_regional/modify_singlept_site_neon.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tools/site_and_regional/modify_singlept_site_neon.py b/tools/site_and_regional/modify_singlept_site_neon.py index 49f10acc2f..64e77eacd5 100755 --- a/tools/site_and_regional/modify_singlept_site_neon.py +++ b/tools/site_and_regional/modify_singlept_site_neon.py @@ -47,7 +47,7 @@ import numpy as np import pandas as pd import xarray as xr -#from packaging import version +from packaging import version from datetime import date from getpass import getuser @@ -535,9 +535,9 @@ def main(): logging.basicConfig(level=logging.DEBUG) # Check if pandas is a recent enough version - #pdvers = pd.__version__ - #if version.parse(pdvers) < version.parse("1.1.0"): - # sys.exit("The pandas version in your python environment is too old, update to a newer version of pandas (>=1.1.0): version=%s", pdvers ) + pdvers = pd.__version__ + if version.parse(pdvers) < version.parse("1.1.0"): + sys.exit("The pandas version in your python environment is too old, update to a newer version of pandas (>=1.1.0): version=%s", pdvers ) file_time = check_neon_time() From 3d2576944c1c1dd342d782d99c60c24643b48a03 Mon Sep 17 00:00:00 2001 From: Adrianna Foster Date: Fri, 20 Jan 2023 08:59:57 -0700 Subject: [PATCH 21/40] updates to surfwrapper --- tools/site_and_regional/neon_surf_wrapper.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/site_and_regional/neon_surf_wrapper.py b/tools/site_and_regional/neon_surf_wrapper.py index d8e11415ff..26827ae53c 100755 --- a/tools/site_and_regional/neon_surf_wrapper.py +++ b/tools/site_and_regional/neon_surf_wrapper.py @@ -109,7 +109,7 @@ def main(): command1 = ['./subset_data','point','--lat',str(lat),'--lon',str(lon),'--site',clmsite, '--create-surface','--uniform-snowpack','--cap-saturation','--verbose','--overwrite'] command2 = ['./modify_singlept_site_neon.py', '--neon_site', site, '--surf_dir', - 'subset_data_single_point', '--fates'] + 'subset_data_single_point', '--16pft'] else: command1 = ['./subset_data','point','--lat',str(lat),'--lon',str(lon),'--site',clmsite,'--dompft',str(pft),'--crop', '--create-surface','--uniform-snowpack','--cap-saturation','--verbose','--overwrite'] From ba597a56027382595fc50c0d33cae2be17fb3042 Mon Sep 17 00:00:00 2001 From: adrifoster Date: Fri, 20 Jan 2023 09:04:02 -0700 Subject: [PATCH 22/40] add back space in subset_data --- tools/site_and_regional/subset_data | 1 + 1 file changed, 1 insertion(+) diff --git a/tools/site_and_regional/subset_data b/tools/site_and_regional/subset_data index ad8e60e053..6477b3034d 100755 --- a/tools/site_and_regional/subset_data +++ b/tools/site_and_regional/subset_data @@ -4,6 +4,7 @@ This is a just top-level skeleton script that calls subset_data.py. The original code (subset_data.py) is located under python/ctsm folder. + For full instructions on how to run the code and different options, please check python/ctsm/subset_data.py file. This script extracts domain files, surface dataset, and DATM files From 3f4e88018dcd13824f71ba8dfdaac6ef96b52ef4 Mon Sep 17 00:00:00 2001 From: adrifoster Date: Fri, 20 Jan 2023 09:25:16 -0700 Subject: [PATCH 23/40] update flags --- .../modify_singlept_site_neon.py | 15 +++--- tools/site_and_regional/neon_surf_wrapper.py | 52 ++++++++++++++----- 2 files changed, 47 insertions(+), 20 deletions(-) diff --git a/tools/site_and_regional/modify_singlept_site_neon.py b/tools/site_and_regional/modify_singlept_site_neon.py index 64e77eacd5..9bb08f7e50 100755 --- a/tools/site_and_regional/modify_singlept_site_neon.py +++ b/tools/site_and_regional/modify_singlept_site_neon.py @@ -175,11 +175,10 @@ def get_parser(): ) parser.add_argument( - "-f", - "--fates", - help="Modify FATES-specific surface data files (i.e. 16-PFT version", + "--16pft", + help="Modify 16-pft surface data files (e.g. for a FATES run)", action="store_true", - dest="fates", + dest="pft_16", default=False, ) @@ -250,7 +249,7 @@ def get_neon(neon_dir, site_name): return neon_file -def find_surffile(surf_dir, site_name, fates): +def find_surffile(surf_dir, site_name, pft_16): """ Function for finding and choosing surface file for a neon site. @@ -261,7 +260,7 @@ def find_surffile(surf_dir, site_name, fates): Args: surf_dir (str): directory of single point surface data site_name (str): 4 letter neon site name - fates (bool): if true, use 16-PFT version of surface data file + pft_16 (bool): if true, use 16-PFT version of surface data file Raises: Error if the surface data for the site is not created @@ -270,8 +269,8 @@ def find_surffile(surf_dir, site_name, fates): surf_file (str): name of the surface dataset file """ - if fates: - sf_name = "surfdata_1x1_NEON_16PFT_"+site_name+"*hist_16pfts_Irrig_CMIP6_simyr2000_*.nc" + if pft_16: + sf_name = "surfdata_1x1_NEON_"+site_name+"*hist_16pfts_Irrig_CMIP6_simyr2000_*.nc" else: sf_name = "surfdata_1x1_NEON_" + site_name + "*hist_78pfts_CMIP6_simyr2000_*.nc" diff --git a/tools/site_and_regional/neon_surf_wrapper.py b/tools/site_and_regional/neon_surf_wrapper.py index 26827ae53c..4eb8da3536 100755 --- a/tools/site_and_regional/neon_surf_wrapper.py +++ b/tools/site_and_regional/neon_surf_wrapper.py @@ -52,10 +52,16 @@ def get_parser(): dest="verbose", default=False) - parser.add_argument('-f', '--fates', - help='Create and/or modify surface data file for FATES. ', + parser.add_argument('--16pft', + help='Create and/or modify 16-PFT surface datasets (e.g. for a FATES run) ', action="store_true", - dest="fates", + dest="pft_16", + default=False) + + parser.add_argument('-m', '--mixed', + help='Do not overwrite surface dataset to be just one dominant PFT at 100%', + action="store_true", + dest="mixed", default=False) @@ -104,19 +110,41 @@ def main(): pft = row['pft'] clmsite = "1x1_NEON_"+site print ("Now processing site :", site) - if args.fates: - command1 = ['./subset_data','point','--lat',str(lat),'--lon',str(lon),'--site',clmsite, - '--create-surface','--uniform-snowpack','--cap-saturation','--verbose','--overwrite'] - command2 = ['./modify_singlept_site_neon.py', '--neon_site', site, '--surf_dir', + if args.mixed and args.pft_16: + # don't set crop flag + # don't set a dominant pft + subset_command = ['./subset_data','point','--lat',str(lat),'--lon',str(lon), + '--site',clmsite, '--create-surface','--uniform-snowpack', + '--cap-saturation','--verbose','--overwrite'] + modify_command = ['./modify_singlept_site_neon.py', '--neon_site', site, '--surf_dir', 'subset_data_single_point', '--16pft'] + elif args.pft_16: + # don't set crop flag + # set dominant pft + subset_command = ['./subset_data','point','--lat',str(lat),'--lon',str(lon), + '--site',clmsite,'--dompft',str(pft),'--create-surface', + '--uniform-snowpack','--cap-saturation','--verbose','--overwrite'] + modify_command = ['./modify_singlept_site_neon.py', '--neon_site', site, '--surf_dir', + 'subset_data_single_point', '--16pft'] + elif args.mixed: + # set crop flag + # don't set dominant pft + subset_command = ['./subset_data','point','--lat',str(lat),'--lon',str(lon), + '--site',clmsite,'--crop','--create-surface', + '--uniform-snowpack','--cap-saturation','--verbose','--overwrite'] + modify_command = ['./modify_singlept_site_neon.py', '--neon_site', site, '--surf_dir', + 'subset_data_single_point'] else: - command1 = ['./subset_data','point','--lat',str(lat),'--lon',str(lon),'--site',clmsite,'--dompft',str(pft),'--crop', - '--create-surface','--uniform-snowpack','--cap-saturation','--verbose','--overwrite'] - command2 = ['./modify_singlept_site_neon.py', '--neon_site', site, '--surf_dir', + # set crop flag + # set dominant pft + subset_command = ['./subset_data', 'point', '--lat', str(lat), '--lon', str(lon), + '--site', clmsite,'--crop', '--dompft', str(pft), '--create-surface', + '--uniform-snowpack', '--cap-saturation', '--verbose', '--overwrite'] + modify_command = ['./modify_singlept_site_neon.py', '--neon_site', site, '--surf_dir', 'subset_data_single_point'] - execute(command1) - execute(command2) + execute(subset_command) + execute(modify_command) if __name__ == "__main__": main() From b26d33c55fa639a34f5ee864f12bb6b294473686 Mon Sep 17 00:00:00 2001 From: adrifoster Date: Fri, 20 Jan 2023 09:29:10 -0700 Subject: [PATCH 24/40] update notes --- tools/site_and_regional/neon_surf_wrapper.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tools/site_and_regional/neon_surf_wrapper.py b/tools/site_and_regional/neon_surf_wrapper.py index 4eb8da3536..3271c72f08 100755 --- a/tools/site_and_regional/neon_surf_wrapper.py +++ b/tools/site_and_regional/neon_surf_wrapper.py @@ -112,6 +112,7 @@ def main(): print ("Now processing site :", site) if args.mixed and args.pft_16: + # use surface dataset with 16 pfts, and don't overwrite with 100% 1 dominant PFT # don't set crop flag # don't set a dominant pft subset_command = ['./subset_data','point','--lat',str(lat),'--lon',str(lon), @@ -120,6 +121,7 @@ def main(): modify_command = ['./modify_singlept_site_neon.py', '--neon_site', site, '--surf_dir', 'subset_data_single_point', '--16pft'] elif args.pft_16: + # use surface dataset with 16 pfts, but overwrite to 100% 1 dominant PFT # don't set crop flag # set dominant pft subset_command = ['./subset_data','point','--lat',str(lat),'--lon',str(lon), @@ -128,6 +130,8 @@ def main(): modify_command = ['./modify_singlept_site_neon.py', '--neon_site', site, '--surf_dir', 'subset_data_single_point', '--16pft'] elif args.mixed: + # use surface dataset with 78 pfts, and don't overwrite with 100% 1 dominant PFT + # NOTE: FATES will currently not run with a 78-PFT surface dataset # set crop flag # don't set dominant pft subset_command = ['./subset_data','point','--lat',str(lat),'--lon',str(lon), @@ -136,6 +140,8 @@ def main(): modify_command = ['./modify_singlept_site_neon.py', '--neon_site', site, '--surf_dir', 'subset_data_single_point'] else: + # use surface dataset with 78 pfts, and overwrite to 100% 1 dominant PFT + # NOTE: FATES will currently not run with a 78-PFT surface dataset # set crop flag # set dominant pft subset_command = ['./subset_data', 'point', '--lat', str(lat), '--lon', str(lon), From ab5f0c94723c3624f5467a5795120d62299cfc72 Mon Sep 17 00:00:00 2001 From: adrifoster Date: Fri, 20 Jan 2023 09:35:18 -0700 Subject: [PATCH 25/40] update file name --- tools/site_and_regional/modify_singlept_site_neon.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/site_and_regional/modify_singlept_site_neon.py b/tools/site_and_regional/modify_singlept_site_neon.py index 9bb08f7e50..5dc56ae0b2 100755 --- a/tools/site_and_regional/modify_singlept_site_neon.py +++ b/tools/site_and_regional/modify_singlept_site_neon.py @@ -272,7 +272,7 @@ def find_surffile(surf_dir, site_name, pft_16): if pft_16: sf_name = "surfdata_1x1_NEON_"+site_name+"*hist_16pfts_Irrig_CMIP6_simyr2000_*.nc" else: - sf_name = "surfdata_1x1_NEON_" + site_name + "*hist_78pfts_CMIP6_simyr2000_*.nc" + sf_name = "surfdata_1x1_NEON_" +site_name+"*hist_78pfts_CMIP6_simyr2000_*.nc" print (os.path.join(surf_dir , sf_name)) surf_file = sorted(glob.glob(os.path.join(surf_dir , sf_name))) From d22eb008e2d457df918790c5a50dc10f1bda05a6 Mon Sep 17 00:00:00 2001 From: adrifoster Date: Fri, 20 Jan 2023 09:37:02 -0700 Subject: [PATCH 26/40] remove fates argument --- tools/site_and_regional/modify_singlept_site_neon.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/site_and_regional/modify_singlept_site_neon.py b/tools/site_and_regional/modify_singlept_site_neon.py index 5dc56ae0b2..e135760a48 100755 --- a/tools/site_and_regional/modify_singlept_site_neon.py +++ b/tools/site_and_regional/modify_singlept_site_neon.py @@ -546,7 +546,7 @@ def main(): # -- Look for surface data surf_dir = args.surf_dir - surf_file = find_surffile(surf_dir, site_name, args.fates) + surf_file = find_surffile(surf_dir, site_name, args.pft_16) # -- directory structure current_dir = os.getcwd() From 207091a32c9b794d6b80ca50bd873592db48678e Mon Sep 17 00:00:00 2001 From: adrifoster Date: Fri, 20 Jan 2023 10:52:28 -0700 Subject: [PATCH 27/40] add NEON test, add 1pt fates compset alias --- cime_config/config_compsets.xml | 10 ++++++++++ cime_config/testdefs/testlist_clm.xml | 10 ++++++++++ 2 files changed, 20 insertions(+) diff --git a/cime_config/config_compsets.xml b/cime_config/config_compsets.xml index 6a0ac8b3f6..61931c94ba 100644 --- a/cime_config/config_compsets.xml +++ b/cime_config/config_compsets.xml @@ -41,11 +41,21 @@ 2000_DATM%1PT_CLM51%BGC_SICE_SOCN_SROF_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 diff --git a/cime_config/testdefs/testlist_clm.xml b/cime_config/testdefs/testlist_clm.xml index ffc56de0c3..e08a578abb 100644 --- a/cime_config/testdefs/testlist_clm.xml +++ b/cime_config/testdefs/testlist_clm.xml @@ -1552,6 +1552,16 @@ + + + + + + + + + + From 02612b0eaff023c3c78b4d7e7c171a874dd213b3 Mon Sep 17 00:00:00 2001 From: adrifoster Date: Fri, 20 Jan 2023 12:20:21 -0700 Subject: [PATCH 28/40] exit if trying to run KONA or STER with FATES --- cime_config/testdefs/testlist_clm.xml | 2 +- cime_config/usermods_dirs/NEON/FATES/KONA/shell_commands | 7 +++---- cime_config/usermods_dirs/NEON/FATES/STER/shell_commands | 7 +++---- 3 files changed, 7 insertions(+), 9 deletions(-) diff --git a/cime_config/testdefs/testlist_clm.xml b/cime_config/testdefs/testlist_clm.xml index e08a578abb..05053fc5d1 100644 --- a/cime_config/testdefs/testlist_clm.xml +++ b/cime_config/testdefs/testlist_clm.xml @@ -1557,7 +1557,7 @@ - + diff --git a/cime_config/usermods_dirs/NEON/FATES/KONA/shell_commands b/cime_config/usermods_dirs/NEON/FATES/KONA/shell_commands index 66f274dd36..316509046c 100644 --- a/cime_config/usermods_dirs/NEON/FATES/KONA/shell_commands +++ b/cime_config/usermods_dirs/NEON/FATES/KONA/shell_commands @@ -1,7 +1,6 @@ ./xmlchange NEONSITE=KONA ./xmlchange PTS_LON=263.38956 ./xmlchange PTS_LAT=39.10828 -# Setup to run with prognostic crops for this site -# If you want to explicitly run in SP mode or add other -# options you'll need to add that after this... -./xmlchange CLM_BLDNML_OPTS="--bgc bgc --crop" +# We can't run crops with FATES yet +echo "Cannot run FATES at KONA because FATES does not yet have crops." +exit 1 diff --git a/cime_config/usermods_dirs/NEON/FATES/STER/shell_commands b/cime_config/usermods_dirs/NEON/FATES/STER/shell_commands index 38b173c309..685eeb2529 100644 --- a/cime_config/usermods_dirs/NEON/FATES/STER/shell_commands +++ b/cime_config/usermods_dirs/NEON/FATES/STER/shell_commands @@ -1,7 +1,6 @@ ./xmlchange NEONSITE=STER ./xmlchange PTS_LON=256.96992 ./xmlchange PTS_LAT=40.45984 -# Setup to run with prognostic crops for this site -# If you want to explicitly run in SP mode or add other -# # options you'll need to add that after this... -./xmlchange CLM_BLDNML_OPTS="--bgc bgc --crop" +# We can't run crops with FATES yet +echo "Cannot run FATES at STER because FATES does not yet have crops." +exit 1 From 79829404f5e615384d3c4cc151035c3bfcb799e7 Mon Sep 17 00:00:00 2001 From: adrifoster Date: Fri, 20 Jan 2023 12:44:16 -0700 Subject: [PATCH 29/40] update surface file name --- cime_config/usermods_dirs/NEON/FATES/defaults/user_nl_clm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cime_config/usermods_dirs/NEON/FATES/defaults/user_nl_clm b/cime_config/usermods_dirs/NEON/FATES/defaults/user_nl_clm index c842546ec7..2a6b4d76d5 100644 --- a/cime_config/usermods_dirs/NEON/FATES/defaults/user_nl_clm +++ b/cime_config/usermods_dirs/NEON/FATES/defaults/user_nl_clm @@ -19,7 +19,7 @@ !---------------------------------------------------------------------------------- flanduse_timeseries = ' ' ! This isn't needed for a non transient case, but will be once we start using transient compsets -fsurdat = "$DIN_LOC_ROOT/lnd/clm2/surfdata_map/NEON/FATES/surfdata_1x1_NEON_16PFT_${NEONSITE}_hist_16pfts_Irrig_CMIP6_simyr2000_c230110.nc" +fsurdat = "$DIN_LOC_ROOT/lnd/clm2/surfdata_map/NEON/16PFT_mixed/surfdata_1x1_NEON_${NEONSITE}_hist_16pfts_Irrig_CMIP6_simyr2000_c230120.nc" ! h1 output stream hist_fincl2 = 'FATES_AUTORESP','FCEV','FCTR','FGEV','FIRA','FSA','FSH','FATES_GPP','FATES_GPP_PF','H2OSOI', From 6198e3cd13b8d9199e6ff44e1d37a86e15dc7c55 Mon Sep 17 00:00:00 2001 From: Adrianna Foster Date: Mon, 23 Jan 2023 10:14:33 -0700 Subject: [PATCH 30/40] remove KONA and STER FATES usermods, add README --- .../usermods_dirs/NEON/FATES/KONA/include_user_mods | 1 - .../usermods_dirs/NEON/FATES/KONA/shell_commands | 6 ------ cime_config/usermods_dirs/NEON/FATES/README.md | 10 ++++++++++ .../usermods_dirs/NEON/FATES/STER/include_user_mods | 1 - .../usermods_dirs/NEON/FATES/STER/shell_commands | 6 ------ 5 files changed, 10 insertions(+), 14 deletions(-) delete mode 100644 cime_config/usermods_dirs/NEON/FATES/KONA/include_user_mods delete mode 100644 cime_config/usermods_dirs/NEON/FATES/KONA/shell_commands create mode 100644 cime_config/usermods_dirs/NEON/FATES/README.md delete mode 100644 cime_config/usermods_dirs/NEON/FATES/STER/include_user_mods delete mode 100644 cime_config/usermods_dirs/NEON/FATES/STER/shell_commands diff --git a/cime_config/usermods_dirs/NEON/FATES/KONA/include_user_mods b/cime_config/usermods_dirs/NEON/FATES/KONA/include_user_mods deleted file mode 100644 index b152996d95..0000000000 --- a/cime_config/usermods_dirs/NEON/FATES/KONA/include_user_mods +++ /dev/null @@ -1 +0,0 @@ -../defaults diff --git a/cime_config/usermods_dirs/NEON/FATES/KONA/shell_commands b/cime_config/usermods_dirs/NEON/FATES/KONA/shell_commands deleted file mode 100644 index 316509046c..0000000000 --- a/cime_config/usermods_dirs/NEON/FATES/KONA/shell_commands +++ /dev/null @@ -1,6 +0,0 @@ -./xmlchange NEONSITE=KONA -./xmlchange PTS_LON=263.38956 -./xmlchange PTS_LAT=39.10828 -# We can't run crops with FATES yet -echo "Cannot run FATES at KONA because FATES does not yet have crops." -exit 1 diff --git a/cime_config/usermods_dirs/NEON/FATES/README.md b/cime_config/usermods_dirs/NEON/FATES/README.md new file mode 100644 index 0000000000..dcfcfdf9af --- /dev/null +++ b/cime_config/usermods_dirs/NEON/FATES/README.md @@ -0,0 +1,10 @@ +# NEON user mods directories for FATES runs + +Use these user mods as you would any other user_mods, e.g.: + +`./create_newcase --case FATES_ABBY_test --res CLM_USRDAT --compset I1PtClm51Fates --run-unsupported --user-mods-dir /glade/work/$user/CTSM/cime_config/usermods_dirs/NEON/FATES/ABBY` + +## Note on crop sites KONA and STER + +Currently you cannot run FATES at these sites because FATES does not have crops as of yet. We will add these sites back once this capability is available. + diff --git a/cime_config/usermods_dirs/NEON/FATES/STER/include_user_mods b/cime_config/usermods_dirs/NEON/FATES/STER/include_user_mods deleted file mode 100644 index b152996d95..0000000000 --- a/cime_config/usermods_dirs/NEON/FATES/STER/include_user_mods +++ /dev/null @@ -1 +0,0 @@ -../defaults diff --git a/cime_config/usermods_dirs/NEON/FATES/STER/shell_commands b/cime_config/usermods_dirs/NEON/FATES/STER/shell_commands deleted file mode 100644 index 685eeb2529..0000000000 --- a/cime_config/usermods_dirs/NEON/FATES/STER/shell_commands +++ /dev/null @@ -1,6 +0,0 @@ -./xmlchange NEONSITE=STER -./xmlchange PTS_LON=256.96992 -./xmlchange PTS_LAT=40.45984 -# We can't run crops with FATES yet -echo "Cannot run FATES at STER because FATES does not yet have crops." -exit 1 From a1130ef8a82e1bfb6ae5df7a4e57871737ac1085 Mon Sep 17 00:00:00 2001 From: adrifoster Date: Thu, 26 Jan 2023 10:19:58 -0700 Subject: [PATCH 31/40] add new test to fates list --- cime_config/testdefs/testlist_clm.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/cime_config/testdefs/testlist_clm.xml b/cime_config/testdefs/testlist_clm.xml index 05053fc5d1..86ed45f09e 100644 --- a/cime_config/testdefs/testlist_clm.xml +++ b/cime_config/testdefs/testlist_clm.xml @@ -1555,6 +1555,7 @@ + From aad7de1bf1b6c98d8e52c1d88ac62389e6cbf74a Mon Sep 17 00:00:00 2001 From: adrifoster Date: Thu, 26 Jan 2023 14:16:41 -0700 Subject: [PATCH 32/40] add fire_emis and fates test and check --- bld/CLMBuildNamelist.pm | 4 ++++ bld/unit_testers/build-namelist_test.pl | 5 +++++ cime_config/testdefs/testlist_clm.xml | 2 +- 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/bld/CLMBuildNamelist.pm b/bld/CLMBuildNamelist.pm index f046172f7e..05631edc23 100755 --- a/bld/CLMBuildNamelist.pm +++ b/bld/CLMBuildNamelist.pm @@ -3683,6 +3683,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 { diff --git a/bld/unit_testers/build-namelist_test.pl b/bld/unit_testers/build-namelist_test.pl index f270cbfea4..c8b7538d91 100755 --- a/bld/unit_testers/build-namelist_test.pl +++ b/bld/unit_testers/build-namelist_test.pl @@ -1006,6 +1006,11 @@ sub cat_and_create_namelistinfile { GLC_TWO_WAY_COUPLING=>"FALSE", phys=>"clm4_5", }, + "useFIREEMISSwithFATES" =>{ options=>"-bgc fates -envxml_dir . -fire_emis", + namelst=>"", + GLC_TWO_WAY_COUPLING=>"FALSE", + phys=>"clm4_5", + }, "useDRYDEPwithFATES" =>{ options=>"--bgc fates --envxml_dir . --no-megan --drydep", namelst=>"", GLC_TWO_WAY_COUPLING=>"FALSE", diff --git a/cime_config/testdefs/testlist_clm.xml b/cime_config/testdefs/testlist_clm.xml index 86ed45f09e..4d074eae11 100644 --- a/cime_config/testdefs/testlist_clm.xml +++ b/cime_config/testdefs/testlist_clm.xml @@ -1552,7 +1552,7 @@ - + From 435691e7b35d3b095a7a05de29f24f9ca53c432b Mon Sep 17 00:00:00 2001 From: adrifoster Date: Thu, 26 Jan 2023 14:43:51 -0700 Subject: [PATCH 33/40] update test number --- bld/unit_testers/build-namelist_test.pl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bld/unit_testers/build-namelist_test.pl b/bld/unit_testers/build-namelist_test.pl index c8b7538d91..ffb01fe02c 100755 --- a/bld/unit_testers/build-namelist_test.pl +++ b/bld/unit_testers/build-namelist_test.pl @@ -163,7 +163,7 @@ sub cat_and_create_namelistinfile { # # Figure out number of tests that will run # -my $ntests = 1846; +my $ntests = 1847; if ( defined($opts{'compare'}) ) { $ntests += 1254; } From ef82a689741b80ae3738b776d6224e6925e6ac39 Mon Sep 17 00:00:00 2001 From: Adrianna Foster Date: Fri, 27 Jan 2023 15:36:05 -0700 Subject: [PATCH 34/40] add --no-megan to build-namelist test --- bld/unit_testers/build-namelist_test.pl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bld/unit_testers/build-namelist_test.pl b/bld/unit_testers/build-namelist_test.pl index ffb01fe02c..588c46c9e5 100755 --- a/bld/unit_testers/build-namelist_test.pl +++ b/bld/unit_testers/build-namelist_test.pl @@ -1006,7 +1006,7 @@ sub cat_and_create_namelistinfile { GLC_TWO_WAY_COUPLING=>"FALSE", phys=>"clm4_5", }, - "useFIREEMISSwithFATES" =>{ options=>"-bgc fates -envxml_dir . -fire_emis", + "useFIREEMISwithFATES" =>{ options=>"-bgc fates -envxml_dir . -fire_emis --no-megan", namelst=>"", GLC_TWO_WAY_COUPLING=>"FALSE", phys=>"clm4_5", From 72e252ac73f48be0efaaa2be40fad15134602e24 Mon Sep 17 00:00:00 2001 From: adrifoster Date: Fri, 27 Jan 2023 15:38:11 -0700 Subject: [PATCH 35/40] add test to expected fails --- cime_config/testdefs/ExpectedTestFails.xml | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/cime_config/testdefs/ExpectedTestFails.xml b/cime_config/testdefs/ExpectedTestFails.xml index 90c45ef919..3affa5be65 100644 --- a/cime_config/testdefs/ExpectedTestFails.xml +++ b/cime_config/testdefs/ExpectedTestFails.xml @@ -80,5 +80,13 @@ FATES#701 - + + + + FAIL + FATES#701 + + + + From 47d61a61ba7d264336a5d0a16dea355a5002ba7f Mon Sep 17 00:00:00 2001 From: adrifoster Date: Wed, 1 Feb 2023 08:18:47 -0700 Subject: [PATCH 36/40] add PRT2 test to expected fails --- cime_config/testdefs/ExpectedTestFails.xml | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/cime_config/testdefs/ExpectedTestFails.xml b/cime_config/testdefs/ExpectedTestFails.xml index 3affa5be65..6ddfea3437 100644 --- a/cime_config/testdefs/ExpectedTestFails.xml +++ b/cime_config/testdefs/ExpectedTestFails.xml @@ -88,5 +88,22 @@ + + + PEND + #1045 + + + + + + FAIL + FATES#983 + This job should time out on izumi, seems to be hanging on history output. + + + + + From 8f6c03e8e4a54b9f90faba791684489a3fb432ce Mon Sep 17 00:00:00 2001 From: adrifoster Date: Wed, 1 Feb 2023 11:51:18 -0700 Subject: [PATCH 37/40] add back space --- tools/site_and_regional/subset_data | 1 + 1 file changed, 1 insertion(+) diff --git a/tools/site_and_regional/subset_data b/tools/site_and_regional/subset_data index 6477b3034d..d19525c97d 100755 --- a/tools/site_and_regional/subset_data +++ b/tools/site_and_regional/subset_data @@ -9,6 +9,7 @@ For full instructions on how to run the code and different options, please check python/ctsm/subset_data.py file. This script extracts domain files, surface dataset, and DATM files at either a single point or a region using the global dataset. + To run this script the following packages are required: - numpy - xarray From 48a38b6a323d4e53cfe528c97c67ade1f716b3f0 Mon Sep 17 00:00:00 2001 From: adrifoster Date: Wed, 1 Feb 2023 13:56:02 -0700 Subject: [PATCH 38/40] update changelog --- doc/ChangeLog | 116 ++++++++++++++++++++++++++++++++++++++++++++++++++ doc/ChangeSum | 1 + 2 files changed, 117 insertions(+) diff --git a/doc/ChangeLog b/doc/ChangeLog index b1f5fdf975..5a90817673 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -1,4 +1,120 @@ =============================================================== +Tag name: ctsm5.1.dev117 +Originator(s): afoster (Adrianna Foster) +Date: Wed Feb 1 13:36:27 MST 2023 +One-line Summary: Updates to facilitate running FATES at NEON sites + +Purpose and description of changes +---------------------------------- + +Small updates to facilitate creation, modification, and +use of FATES-usable (i.e. 16-PFT) NEON surface data files and +user-mods for FATES NEON cases. + +Updated neon_surf_wrapper.py and modify_singlept_site_neon.py to include a +--16pft argument that will create and/or modify the 16-PFT versions of the +surface datasets, as well as a --mixed flag to the neon_surf_wrapper.py +which tells subset_data to not overwrite the surfae dataset to be just 100% +one PFT. + +Also corrects lat-lon being used for ONAQ NEON site and updates the surface +datasets for all NEON sites. + +Also adds a check to ensure that fire emission (-fire_emis) is not on if FATES +is being run. + + +Significant changes to scientifically-supported configurations +-------------------------------------------------------------- + +Does this tag change answers significantly for any of the following physics configurations? +(Details of any changes will be given in the "Answer changes" section below.) + +[ ] clm5_1 + +[ ] clm5_0 + +[ ] ctsm5_0-nwp + +[ ] clm4_5 + + +Bugs fixed or introduced +------------------------ + +CTSM issues fixed (include CTSM Issue #): +- Partially addresses ESCOMP/CTSM#1609(Get FATES working for NEON) + +Known bugs introduced in this tag (include issue #): +#1949 - Duplication problems in user_mods + +Known bugs found since the previous tag (include issue #): +#1948 - FATES and 78PFT surface datasets +FATES#983 - PRT2 test failing on izumi + + +Notes of particular relevance for users +--------------------------------------- + +Changes to the datasets (e.g., parameter, surface or initial files): +updated surface datasets for all NEON sites for big-leaf (78-PFT) and FATES (16-PFT) + + +Notes of particular relevance for developers: +--------------------------------------------- + +Caveats for developers (e.g., code that is duplicated that requires double maintenance): +Files changed in cime_config/usermods_dirs/NEON for big-leaf CLM must also +be changed in similar files in cime_config/usermods_dirs/NEON/FATES, as these are +currently duplicated. This duplication should be fixed at a later date. + +Changes to tests or testing: +Added a test in bld/unit_testers/build-namelist_test.pl to check that FATES and +fire emission cannot be on at the same time. + + +Testing summary: +---------------- + + build-namelist tests (if CLMBuildNamelist.pm has changed): + + cheyenne - PASS + + regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): + + cheyenne ---- OK + izumi ------- OK + + fates tests: (give name of baseline if different from CTSM tagname, normally fates baselines are fates--) + cheyenne ---- OK + izumi ------- OK + + +Answer changes +-------------- + +Changes answers relative to baseline: + +Only for NEON sites. + + + Summarize any changes to answers, i.e., + - what code configurations: All configurations at NEON sites + - what platforms/compilers: All platforms when running NEON sites + - nature of change: updated surface datasets + + +Other details +------------- +#1933 - Update neon_sites_dompft.csv +#1932 - NEON FATES capabilities + + +Pull Requests that document the changes (include PR ids): +(https://github.com/ESCOMP/ctsm/pull) + +=============================================================== +=============================================================== Tag name: ctsm5.1.dev116 Originator(s): erik (Erik Kluzek,UCAR/TSS,303-497-1326) Date: Thu Jan 26 02:17:27 MST 2023 diff --git a/doc/ChangeSum b/doc/ChangeSum index 3042b38a2a..21f9dd70b9 100644 --- a/doc/ChangeSum +++ b/doc/ChangeSum @@ -1,5 +1,6 @@ Tag Who Date Summary ============================================================================================================================ + ctsm5.1.dev117 afoster 02/01/2023 Updates to facilitate running FATES at NEON sites ctsm5.1.dev116 erik 01/26/2023 Small answer changes with bug fixes, zetamaxstable=2 for BHS, new single point fsurdat files ctsm5.1.dev115 rgknox 12/02/2022 API compatability with FATES V2 nutrient dynamics ctsm5.1.dev114 multiple 11/19/2022 Some NEON updates fixing AG sites, update MOSART, small fixes From eb29c80c1274d8307d79968b2a6a91df475c5820 Mon Sep 17 00:00:00 2001 From: adrifoster Date: Wed, 1 Feb 2023 13:56:54 -0700 Subject: [PATCH 39/40] update changelog date --- doc/ChangeLog | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/ChangeLog b/doc/ChangeLog index 5a90817673..1cc7768243 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -1,7 +1,7 @@ =============================================================== Tag name: ctsm5.1.dev117 Originator(s): afoster (Adrianna Foster) -Date: Wed Feb 1 13:36:27 MST 2023 +Date: Wed Feb 1 13:56:41 MST 2023 One-line Summary: Updates to facilitate running FATES at NEON sites Purpose and description of changes From 0e83df379ffd68600514cc51a1358e51f602f30c Mon Sep 17 00:00:00 2001 From: adrifoster Date: Thu, 2 Feb 2023 10:34:35 -0700 Subject: [PATCH 40/40] update changelog date --- doc/ChangeLog | 2 +- doc/ChangeSum | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/ChangeLog b/doc/ChangeLog index 1cc7768243..ec6ca43ce2 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -1,7 +1,7 @@ =============================================================== Tag name: ctsm5.1.dev117 Originator(s): afoster (Adrianna Foster) -Date: Wed Feb 1 13:56:41 MST 2023 +Date: Thu Feb 2 10:34:23 MST 2023 One-line Summary: Updates to facilitate running FATES at NEON sites Purpose and description of changes diff --git a/doc/ChangeSum b/doc/ChangeSum index 21f9dd70b9..ac424326b0 100644 --- a/doc/ChangeSum +++ b/doc/ChangeSum @@ -1,6 +1,6 @@ Tag Who Date Summary ============================================================================================================================ - ctsm5.1.dev117 afoster 02/01/2023 Updates to facilitate running FATES at NEON sites + ctsm5.1.dev117 afoster 02/02/2023 Updates to facilitate running FATES at NEON sites ctsm5.1.dev116 erik 01/26/2023 Small answer changes with bug fixes, zetamaxstable=2 for BHS, new single point fsurdat files ctsm5.1.dev115 rgknox 12/02/2022 API compatability with FATES V2 nutrient dynamics ctsm5.1.dev114 multiple 11/19/2022 Some NEON updates fixing AG sites, update MOSART, small fixes