diff --git a/config/ufs/config_inputdata.xml b/config/ufs/config_inputdata.xml
index 2d805f8590f..0783fa541d9 100644
--- a/config/ufs/config_inputdata.xml
+++ b/config/ufs/config_inputdata.xml
@@ -8,6 +8,7 @@
+
ftp site for ufs release
ftp
@@ -16,17 +17,30 @@
user@example.edu
/inputdata/
+
+
- NOMADS site for grib initial conditions (depricated)
+ NCEI Thredds server for historical 0.5 deg. GRIB2 initial conditions
wget
- https://nomads.ncdc.noaa.gov:
- data/gfs4/
+ https://www.ncei.noaa.gov
+ thredds/fileServer/model-gfs-004-files-old/
- NOMADS ftp site for grib initial conditions
- ftp
- ftp://nomads.ncdc.noaa.gov
- GFS/Grid4
+ NCEI Thredds server for 0.5 deg. GRIB2 initial conditions
+ wget
+ https://www.ncei.noaa.gov
+ thredds/fileServer/model-gfs-004-files/
+
+
+ NCEI Thredds server for historical 1.0 deg. GRIB2 initial conditions
+ wget
+ https://www.ncei.noaa.gov
+ thredds/fileServer/model-gfs-003-files-old/
+
+
+ NCEI Thredds server for 1.0 deg. GRIB2 initial conditions
+ wget
+ https://www.ncei.noaa.gov
+ thredds/fileServer/model-gfs-003-files/
-
diff --git a/config/ufs/machines/config_machines.xml b/config/ufs/machines/config_machines.xml
index 52f7d45f67b..74926272407 100644
--- a/config/ufs/machines/config_machines.xml
+++ b/config/ufs/machines/config_machines.xml
@@ -136,11 +136,11 @@ This allows using a different mpirun command to launch unit tests
/glade/p/ral/jntp/GMTB/tools/modulefiles/gnu-8.3.0/mpt-2.19
- NCEPlibs/1.0.0
+ NCEPlibs/1.1.0
/glade/p/ral/jntp/GMTB/tools/modulefiles/intel-19.0.5/mpt-2.19
- NCEPlibs/1.0.0
+ NCEPlibs/1.1.0
/glade/p/cesmdata/cseg/PROGS/modulefiles/esmfpkgs/intel/19.0.5
diff --git a/scripts/lib/CIME/build.py b/scripts/lib/CIME/build.py
index f95b5e1dc1e..5a5581a7a22 100644
--- a/scripts/lib/CIME/build.py
+++ b/scripts/lib/CIME/build.py
@@ -338,10 +338,13 @@ def _build_libraries(case, exeroot, sharedpath, caseroot, cimeroot, libroot, lid
os.makedirs(shared_item)
mpilib = case.get_value("MPILIB")
- if 'CPL' in case.get_values("COMP_CLASSES"):
- libs = ["gptl", "mct", "pio", "csm_share"]
- else:
+ cmeps_driver = os.environ.get("UFS_DRIVER")
+ if cmeps_driver:
+ logger.info("UFS_DRIVER is set to {}".format(cmeps_driver))
+ if cmeps_driver and 'nems' in cmeps_driver:
libs = []
+ else:
+ libs = ["gptl", "mct", "pio", "csm_share"]
if mpilib == "mpi-serial":
libs.insert(0, mpilib)
@@ -351,7 +354,7 @@ def _build_libraries(case, exeroot, sharedpath, caseroot, cimeroot, libroot, lid
# Build shared code of CDEPS nuopc data models
cdeps_build_script = None
- if comp_interface == "nuopc":
+ if comp_interface == "nuopc" and cmeps_driver and not 'nems' in cmeps_driver:
libs.append("CDEPS")
cdeps_build_script = os.path.join(cimeroot, "src", "components", "cdeps", "cime_config", "buildlib")
diff --git a/scripts/lib/CIME/case/case.py b/scripts/lib/CIME/case/case.py
index f5bbc5bc565..3083f497dfb 100644
--- a/scripts/lib/CIME/case/case.py
+++ b/scripts/lib/CIME/case/case.py
@@ -459,13 +459,11 @@ def _set_compset(self, compset_name, files, driver="mct"):
self.set_lookup_value("COMP_INTERFACE", driver)
if self._cime_model == 'ufs':
- config = {}
- # this is not sustainable, need to come up with something better
- if 'ufsatm' in compset_name or 'HAFS' in compset_name:
- config['component']='nems'
- else:
- config['component']='cpl'
- comp_root_dir_cpl = files.get_value("COMP_ROOT_DIR_CPL", attribute=config)
+ cmeps_driver = os.environ.get("UFS_DRIVER")
+ attribute = None
+ if cmeps_driver:
+ attribute = {"component":cmeps_driver}
+ comp_root_dir_cpl = files.get_value("COMP_ROOT_DIR_CPL", attribute=attribute)
if self._cime_model == 'cesm':
comp_root_dir_cpl = files.get_value("COMP_ROOT_DIR_CPL")
diff --git a/scripts/lib/CIME/test_scheduler.py b/scripts/lib/CIME/test_scheduler.py
index 7239934a75a..8452d90fb82 100644
--- a/scripts/lib/CIME/test_scheduler.py
+++ b/scripts/lib/CIME/test_scheduler.py
@@ -565,7 +565,12 @@ def _xml_phase(self, test):
# Determine list of component classes that this coupler/driver knows how
# to deal with. This list follows the same order as compset longnames follow.
files = Files(comp_interface=self._cime_driver)
- drv_config_file = files.get_value("CONFIG_CPL_FILE")
+ cmeps_driver = os.environ.get("UFS_DRIVER")
+ attribute = None
+ if cmeps_driver:
+ attribute = {"component":cmeps_driver}
+
+ drv_config_file = files.get_value("CONFIG_CPL_FILE", attribute=attribute)
if self._cime_driver == "nuopc" and not os.path.exists(drv_config_file):
drv_config_file = files.get_value("CONFIG_CPL_FILE", {"component":"cpl"})