From 21ff6458aac9372b26cc223f6a114953a137067e Mon Sep 17 00:00:00 2001 From: DavidHuber Date: Fri, 19 Jan 2024 21:11:34 +0000 Subject: [PATCH 01/58] Update modulefiles, submodules to spack-stack 1.6.0. #2195 --- modulefiles/module_gwci.hera.lua | 2 +- modulefiles/module_gwci.hercules.lua | 2 +- modulefiles/module_gwci.orion.lua | 2 +- modulefiles/module_gwsetup.hera.lua | 4 ++-- modulefiles/module_gwsetup.hercules.lua | 4 ++-- modulefiles/module_gwsetup.jet.lua | 4 ++-- modulefiles/module_gwsetup.orion.lua | 4 ++-- modulefiles/module_gwsetup.s4.lua | 4 ++-- sorc/gfs_utils.fd | 2 +- sorc/gsi_enkf.fd | 2 +- sorc/gsi_monitor.fd | 2 +- sorc/gsi_utils.fd | 2 +- sorc/ufs_model.fd | 2 +- sorc/ufs_utils.fd | 2 +- versions/build.spack.ver | 8 ++++---- versions/run.hercules.ver | 4 ---- versions/run.spack.ver | 10 +++++----- 17 files changed, 28 insertions(+), 32 deletions(-) diff --git a/modulefiles/module_gwci.hera.lua b/modulefiles/module_gwci.hera.lua index 1aecddf549..f2c32241ff 100644 --- a/modulefiles/module_gwci.hera.lua +++ b/modulefiles/module_gwci.hera.lua @@ -2,7 +2,7 @@ help([[ Load environment to run GFS workflow setup scripts on Hera ]]) -prepend_path("MODULEPATH", "/scratch1/NCEPDEV/nems/role.epic/spack-stack/spack-stack-1.5.1/envs/gsi-addon/install/modulefiles/Core") +prepend_path("MODULEPATH", "/scratch1/NCEPDEV/nems/role.epic/spack-stack/spack-stack-1.6.0/envs/gsi-addon/install/modulefiles/Core") load(pathJoin("stack-intel", os.getenv("2021.5.0"))) load(pathJoin("stack-intel-oneapi-mpi", os.getenv("2021.5.1"))) diff --git a/modulefiles/module_gwci.hercules.lua b/modulefiles/module_gwci.hercules.lua index 9c60aed467..7b2c2dd880 100644 --- a/modulefiles/module_gwci.hercules.lua +++ b/modulefiles/module_gwci.hercules.lua @@ -2,7 +2,7 @@ help([[ Load environment to run GFS workflow ci scripts on Hercules ]]) -prepend_path("MODULEPATH", "/work/noaa/epic/role-epic/spack-stack/hercules/spack-stack-1.5.1/envs/gsi-addon/install/modulefiles/Core") +prepend_path("MODULEPATH", "/work/noaa/epic/role-epic/spack-stack/hercules/spack-stack-1.6.0/envs/gsi-addon/install/modulefiles/Core") load(pathJoin("stack-intel", os.getenv("2021.9.0"))) load(pathJoin("stack-intel-oneapi-mpi", os.getenv("2021.9.0"))) diff --git a/modulefiles/module_gwci.orion.lua b/modulefiles/module_gwci.orion.lua index 18851ba7d4..48b6e94f97 100644 --- a/modulefiles/module_gwci.orion.lua +++ b/modulefiles/module_gwci.orion.lua @@ -2,7 +2,7 @@ help([[ Load environment to run GFS workflow ci scripts on Orion ]]) -prepend_path("MODULEPATH", "/work/noaa/epic/role-epic/spack-stack/orion/spack-stack-1.5.1/envs/gsi-addon/install/modulefiles/Core") +prepend_path("MODULEPATH", "/work/noaa/epic/role-epic/spack-stack/orion/spack-stack-1.6.0/envs/gsi-addon/install/modulefiles/Core") load(pathJoin("stack-intel", os.getenv("2022.0.2"))) load(pathJoin("stack-intel-oneapi-mpi", os.getenv("2021.5.1"))) diff --git a/modulefiles/module_gwsetup.hera.lua b/modulefiles/module_gwsetup.hera.lua index c86cac7b02..db30c7ac48 100644 --- a/modulefiles/module_gwsetup.hera.lua +++ b/modulefiles/module_gwsetup.hera.lua @@ -4,10 +4,10 @@ Load environment to run GFS workflow setup scripts on Hera load(pathJoin("rocoto")) -prepend_path("MODULEPATH", "/scratch1/NCEPDEV/nems/role.epic/spack-stack/spack-stack-1.5.1/envs/gsi-addon/install/modulefiles/Core") +prepend_path("MODULEPATH", "/scratch1/NCEPDEV/nems/role.epic/spack-stack/spack-stack-1.6.0/envs/gsi-addon/install/modulefiles/Core") local stack_intel_ver=os.getenv("stack_intel_ver") or "2021.5.0" -local python_ver=os.getenv("python_ver") or "3.10.8" +local python_ver=os.getenv("python_ver") or "3.11.6" load(pathJoin("stack-intel", stack_intel_ver)) load(pathJoin("python", python_ver)) diff --git a/modulefiles/module_gwsetup.hercules.lua b/modulefiles/module_gwsetup.hercules.lua index 673928605c..c80b97bd45 100644 --- a/modulefiles/module_gwsetup.hercules.lua +++ b/modulefiles/module_gwsetup.hercules.lua @@ -5,10 +5,10 @@ Load environment to run GFS workflow ci scripts on Hercules load(pathJoin("contrib","0.1")) load(pathJoin("rocoto","1.3.5")) -prepend_path("MODULEPATH", "/work/noaa/epic/role-epic/spack-stack/hercules/spack-stack-1.5.1/envs/gsi-addon/install/modulefiles/Core") +prepend_path("MODULEPATH", "/work/noaa/epic/role-epic/spack-stack/hercules/spack-stack-1.6.0/envs/gsi-addon/install/modulefiles/Core") local stack_intel_ver=os.getenv("stack_intel_ver") or "2021.9.0" -local python_ver=os.getenv("python_ver") or "3.10.8" +local python_ver=os.getenv("python_ver") or "3.11.6" load(pathJoin("stack-intel", stack_intel_ver)) load(pathJoin("python", python_ver)) diff --git a/modulefiles/module_gwsetup.jet.lua b/modulefiles/module_gwsetup.jet.lua index d08389c711..e958066579 100644 --- a/modulefiles/module_gwsetup.jet.lua +++ b/modulefiles/module_gwsetup.jet.lua @@ -4,10 +4,10 @@ Load environment to run GFS workflow setup scripts on Jet load(pathJoin("rocoto", "1.3.3")) -prepend_path("MODULEPATH", "/mnt/lfs4/HFIP/hfv3gfs/role.epic/spack-stack/spack-stack-1.5.1/envs/gsi-addon/install/modulefiles/Core") +prepend_path("MODULEPATH", "/mnt/lfs4/HFIP/hfv3gfs/role.epic/spack-stack/spack-stack-1.6.0/envs/gsi-addon/install/modulefiles/Core") local stack_intel_ver=os.getenv("stack_intel_ver") or "2021.5.0" -local python_ver=os.getenv("python_ver") or "3.10.8" +local python_ver=os.getenv("python_ver") or "3.11.6" load(pathJoin("stack-intel", stack_intel_ver)) load(pathJoin("python", python_ver)) diff --git a/modulefiles/module_gwsetup.orion.lua b/modulefiles/module_gwsetup.orion.lua index 93a59c8e50..efa3130a33 100644 --- a/modulefiles/module_gwsetup.orion.lua +++ b/modulefiles/module_gwsetup.orion.lua @@ -7,10 +7,10 @@ load(pathJoin("contrib","0.1")) load(pathJoin("rocoto","1.3.3")) load(pathJoin("git","2.28.0")) -prepend_path("MODULEPATH", "/work/noaa/epic/role-epic/spack-stack/orion/spack-stack-1.5.1/envs/gsi-addon/install/modulefiles/Core") +prepend_path("MODULEPATH", "/work/noaa/epic/role-epic/spack-stack/orion/spack-stack-1.6.0/envs/gsi-addon/install/modulefiles/Core") local stack_intel_ver=os.getenv("stack_intel_ver") or "2022.0.2" -local python_ver=os.getenv("python_ver") or "3.10.8" +local python_ver=os.getenv("python_ver") or "3.11.6" load(pathJoin("stack-intel", stack_intel_ver)) load(pathJoin("python", python_ver)) diff --git a/modulefiles/module_gwsetup.s4.lua b/modulefiles/module_gwsetup.s4.lua index 291c654bb3..197926f38b 100644 --- a/modulefiles/module_gwsetup.s4.lua +++ b/modulefiles/module_gwsetup.s4.lua @@ -5,10 +5,10 @@ Load environment to run GFS workflow setup scripts on S4 load(pathJoin("rocoto","1.3.5")) load(pathJoin("git","2.30.0")) -prepend_path("MODULEPATH", "/data/prod/jedi/spack-stack/spack-stack-1.5.1/envs/gsi-addon/install/modulefiles/Core") +prepend_path("MODULEPATH", "/data/prod/jedi/spack-stack/spack-stack-1.6.0/envs/gsi-addon/install/modulefiles/Core") local stack_intel_ver=os.getenv("stack_intel_ver") or "2021.5.0" -local python_ver=os.getenv("python_ver") or "3.10.8" +local python_ver=os.getenv("python_ver") or "3.11.6" load(pathJoin("stack-intel", stack_intel_ver)) load(pathJoin("python", python_ver)) diff --git a/sorc/gfs_utils.fd b/sorc/gfs_utils.fd index 7d3b08e87c..df7678e6c9 160000 --- a/sorc/gfs_utils.fd +++ b/sorc/gfs_utils.fd @@ -1 +1 @@ -Subproject commit 7d3b08e87c07cfa54079442d245ac7e9ab1cd9f4 +Subproject commit df7678e6c93658618dda6113e291e772b4dd53ef diff --git a/sorc/gsi_enkf.fd b/sorc/gsi_enkf.fd index c94bc72ff4..7f3969a475 160000 --- a/sorc/gsi_enkf.fd +++ b/sorc/gsi_enkf.fd @@ -1 +1 @@ -Subproject commit c94bc72ff410b48c325abbfe92c9fcb601d89aed +Subproject commit 7f3969a475e782c7a0fa6ed91369e97b51ae4dcb diff --git a/sorc/gsi_monitor.fd b/sorc/gsi_monitor.fd index ae256c0d69..1adce02c9c 160000 --- a/sorc/gsi_monitor.fd +++ b/sorc/gsi_monitor.fd @@ -1 +1 @@ -Subproject commit ae256c0d69df3232ee9dd3e81b176bf2c3cda312 +Subproject commit 1adce02c9c128cf9d1b22bde80aaef9dc6bb02a3 diff --git a/sorc/gsi_utils.fd b/sorc/gsi_utils.fd index 90481d9618..81d106d5f1 160000 --- a/sorc/gsi_utils.fd +++ b/sorc/gsi_utils.fd @@ -1 +1 @@ -Subproject commit 90481d961854e4412ecac49991721e6e63d4b82e +Subproject commit 81d106d5f17358c8ee6ff547e05107d1ff225bd3 diff --git a/sorc/ufs_model.fd b/sorc/ufs_model.fd index a837cfcb0c..60afb2c1a6 160000 --- a/sorc/ufs_model.fd +++ b/sorc/ufs_model.fd @@ -1 +1 @@ -Subproject commit a837cfcb0c79803e13a1375a362d3d0b14b62320 +Subproject commit 60afb2c1a67d7621f21b98d0a9795d26fc395afc diff --git a/sorc/ufs_utils.fd b/sorc/ufs_utils.fd index ce385cedfa..a92833ab65 160000 --- a/sorc/ufs_utils.fd +++ b/sorc/ufs_utils.fd @@ -1 +1 @@ -Subproject commit ce385cedfa9abd46b0905e8d6486b0339a9e4267 +Subproject commit a92833ab65b09f476e44ca101c9b183562e97fe9 diff --git a/versions/build.spack.ver b/versions/build.spack.ver index fb5b244bf5..b5286658d9 100644 --- a/versions/build.spack.ver +++ b/versions/build.spack.ver @@ -1,4 +1,4 @@ -export spack_stack_ver=1.5.1 +export spack_stack_ver=1.6.0 export spack_env=gsi-addon export cmake_ver=3.23.1 @@ -11,7 +11,7 @@ export fms_ver=2023.02.01 export hdf5_ver=1.14.0 export netcdf_c_ver=4.9.2 -export netcdf_fortran_ver=4.6.0 +export netcdf_fortran_ver=4.6.1 export bacio_ver=2.4.1 export nemsio_ver=2.5.4 @@ -19,10 +19,10 @@ export sigio_ver=2.3.2 export w3emc_ver=2.10.0 export bufr_ver=11.7.0 export g2_ver=3.4.5 -export sp_ver=2.3.3 +export sp_ver=2.5.0 export ip_ver=4.3.0 export gsi_ncdiag_ver=1.1.2 export g2tmpl_ver=1.10.2 -export crtm_ver=2.4.0 +export crtm_ver=2.4.0.1 export wgrib2_ver=2.0.8 export grib_util_ver=1.3.0 diff --git a/versions/run.hercules.ver b/versions/run.hercules.ver index 43f1b2181d..f692854931 100644 --- a/versions/run.hercules.ver +++ b/versions/run.hercules.ver @@ -6,7 +6,3 @@ export ncl_ver=6.6.2 export perl_ver=5.36.0 source "${HOMEgfs:-}/versions/run.spack.ver" - -# wgrib2 and cdo are different on Hercules from all the other systems -export wgrib2_ver=3.1.1 -export cdo_ver=2.2.0 diff --git a/versions/run.spack.ver b/versions/run.spack.ver index c1c13f58df..fba8678fca 100644 --- a/versions/run.spack.ver +++ b/versions/run.spack.ver @@ -1,23 +1,23 @@ -export spack_stack_ver=1.5.1 +export spack_stack_ver=1.6.0 export spack_env=gsi-addon export python_ver=3.10.8 export jasper_ver=2.0.32 export libpng_ver=1.6.37 -export cdo_ver=2.0.5 +export cdo_ver=2.2.0 export nco_ver=5.0.6 export hdf5_ver=1.14.0 export netcdf_c_ver=4.9.2 -export netcdf_fortran_ver=4.6.0 +export netcdf_fortran_ver=4.6.1 export bufr_ver=11.7.0 export gsi_ncdiag_ver=1.1.2 export g2tmpl_ver=1.10.2 -export crtm_ver=2.4.0 +export crtm_ver=2.4.0.1 export wgrib2_ver=2.0.8 export grib_util_ver=1.3.0 -export prod_util_ver=1.2.2 +export prod_util_ver=2.1.1 export py_netcdf4_ver=1.5.8 export py_pyyaml_ver=5.4.1 export py_jinja2_ver=3.1.2 From 9a09d3082208ad206cf6e7103a53bfb7c4946f4a Mon Sep 17 00:00:00 2001 From: DavidHuber Date: Fri, 19 Jan 2024 21:23:50 +0000 Subject: [PATCH 02/58] Corrected gsi-addon-dev spelling. --- modulefiles/module_gwci.hera.lua | 2 +- modulefiles/module_gwci.hercules.lua | 2 +- modulefiles/module_gwci.orion.lua | 2 +- modulefiles/module_gwsetup.hera.lua | 2 +- modulefiles/module_gwsetup.hercules.lua | 2 +- modulefiles/module_gwsetup.jet.lua | 2 +- modulefiles/module_gwsetup.orion.lua | 2 +- modulefiles/module_gwsetup.s4.lua | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/modulefiles/module_gwci.hera.lua b/modulefiles/module_gwci.hera.lua index f2c32241ff..bcd759b524 100644 --- a/modulefiles/module_gwci.hera.lua +++ b/modulefiles/module_gwci.hera.lua @@ -2,7 +2,7 @@ help([[ Load environment to run GFS workflow setup scripts on Hera ]]) -prepend_path("MODULEPATH", "/scratch1/NCEPDEV/nems/role.epic/spack-stack/spack-stack-1.6.0/envs/gsi-addon/install/modulefiles/Core") +prepend_path("MODULEPATH", "/scratch1/NCEPDEV/nems/role.epic/spack-stack/spack-stack-1.6.0/envs/gsi-addon-dev/install/modulefiles/Core") load(pathJoin("stack-intel", os.getenv("2021.5.0"))) load(pathJoin("stack-intel-oneapi-mpi", os.getenv("2021.5.1"))) diff --git a/modulefiles/module_gwci.hercules.lua b/modulefiles/module_gwci.hercules.lua index 7b2c2dd880..0a70a960ec 100644 --- a/modulefiles/module_gwci.hercules.lua +++ b/modulefiles/module_gwci.hercules.lua @@ -2,7 +2,7 @@ help([[ Load environment to run GFS workflow ci scripts on Hercules ]]) -prepend_path("MODULEPATH", "/work/noaa/epic/role-epic/spack-stack/hercules/spack-stack-1.6.0/envs/gsi-addon/install/modulefiles/Core") +prepend_path("MODULEPATH", "/work/noaa/epic/role-epic/spack-stack/hercules/spack-stack-1.6.0/envs/gsi-addon-dev/install/modulefiles/Core") load(pathJoin("stack-intel", os.getenv("2021.9.0"))) load(pathJoin("stack-intel-oneapi-mpi", os.getenv("2021.9.0"))) diff --git a/modulefiles/module_gwci.orion.lua b/modulefiles/module_gwci.orion.lua index 48b6e94f97..9803214712 100644 --- a/modulefiles/module_gwci.orion.lua +++ b/modulefiles/module_gwci.orion.lua @@ -2,7 +2,7 @@ help([[ Load environment to run GFS workflow ci scripts on Orion ]]) -prepend_path("MODULEPATH", "/work/noaa/epic/role-epic/spack-stack/orion/spack-stack-1.6.0/envs/gsi-addon/install/modulefiles/Core") +prepend_path("MODULEPATH", "/work/noaa/epic/role-epic/spack-stack/orion/spack-stack-1.6.0/envs/gsi-addon-dev/install/modulefiles/Core") load(pathJoin("stack-intel", os.getenv("2022.0.2"))) load(pathJoin("stack-intel-oneapi-mpi", os.getenv("2021.5.1"))) diff --git a/modulefiles/module_gwsetup.hera.lua b/modulefiles/module_gwsetup.hera.lua index db30c7ac48..0d166d2728 100644 --- a/modulefiles/module_gwsetup.hera.lua +++ b/modulefiles/module_gwsetup.hera.lua @@ -4,7 +4,7 @@ Load environment to run GFS workflow setup scripts on Hera load(pathJoin("rocoto")) -prepend_path("MODULEPATH", "/scratch1/NCEPDEV/nems/role.epic/spack-stack/spack-stack-1.6.0/envs/gsi-addon/install/modulefiles/Core") +prepend_path("MODULEPATH", "/scratch1/NCEPDEV/nems/role.epic/spack-stack/spack-stack-1.6.0/envs/gsi-addon-dev/install/modulefiles/Core") local stack_intel_ver=os.getenv("stack_intel_ver") or "2021.5.0" local python_ver=os.getenv("python_ver") or "3.11.6" diff --git a/modulefiles/module_gwsetup.hercules.lua b/modulefiles/module_gwsetup.hercules.lua index c80b97bd45..32111aed18 100644 --- a/modulefiles/module_gwsetup.hercules.lua +++ b/modulefiles/module_gwsetup.hercules.lua @@ -5,7 +5,7 @@ Load environment to run GFS workflow ci scripts on Hercules load(pathJoin("contrib","0.1")) load(pathJoin("rocoto","1.3.5")) -prepend_path("MODULEPATH", "/work/noaa/epic/role-epic/spack-stack/hercules/spack-stack-1.6.0/envs/gsi-addon/install/modulefiles/Core") +prepend_path("MODULEPATH", "/work/noaa/epic/role-epic/spack-stack/hercules/spack-stack-1.6.0/envs/gsi-addon-dev/install/modulefiles/Core") local stack_intel_ver=os.getenv("stack_intel_ver") or "2021.9.0" local python_ver=os.getenv("python_ver") or "3.11.6" diff --git a/modulefiles/module_gwsetup.jet.lua b/modulefiles/module_gwsetup.jet.lua index e958066579..8dcab67d2b 100644 --- a/modulefiles/module_gwsetup.jet.lua +++ b/modulefiles/module_gwsetup.jet.lua @@ -4,7 +4,7 @@ Load environment to run GFS workflow setup scripts on Jet load(pathJoin("rocoto", "1.3.3")) -prepend_path("MODULEPATH", "/mnt/lfs4/HFIP/hfv3gfs/role.epic/spack-stack/spack-stack-1.6.0/envs/gsi-addon/install/modulefiles/Core") +prepend_path("MODULEPATH", "/mnt/lfs4/HFIP/hfv3gfs/role.epic/spack-stack/spack-stack-1.6.0/envs/gsi-addon-dev/install/modulefiles/Core") local stack_intel_ver=os.getenv("stack_intel_ver") or "2021.5.0" local python_ver=os.getenv("python_ver") or "3.11.6" diff --git a/modulefiles/module_gwsetup.orion.lua b/modulefiles/module_gwsetup.orion.lua index efa3130a33..bd2845c846 100644 --- a/modulefiles/module_gwsetup.orion.lua +++ b/modulefiles/module_gwsetup.orion.lua @@ -7,7 +7,7 @@ load(pathJoin("contrib","0.1")) load(pathJoin("rocoto","1.3.3")) load(pathJoin("git","2.28.0")) -prepend_path("MODULEPATH", "/work/noaa/epic/role-epic/spack-stack/orion/spack-stack-1.6.0/envs/gsi-addon/install/modulefiles/Core") +prepend_path("MODULEPATH", "/work/noaa/epic/role-epic/spack-stack/orion/spack-stack-1.6.0/envs/gsi-addon-dev/install/modulefiles/Core") local stack_intel_ver=os.getenv("stack_intel_ver") or "2022.0.2" local python_ver=os.getenv("python_ver") or "3.11.6" diff --git a/modulefiles/module_gwsetup.s4.lua b/modulefiles/module_gwsetup.s4.lua index 197926f38b..602a7f53ec 100644 --- a/modulefiles/module_gwsetup.s4.lua +++ b/modulefiles/module_gwsetup.s4.lua @@ -5,7 +5,7 @@ Load environment to run GFS workflow setup scripts on S4 load(pathJoin("rocoto","1.3.5")) load(pathJoin("git","2.30.0")) -prepend_path("MODULEPATH", "/data/prod/jedi/spack-stack/spack-stack-1.6.0/envs/gsi-addon/install/modulefiles/Core") +prepend_path("MODULEPATH", "/data/prod/jedi/spack-stack/spack-stack-1.6.0/envs/gsi-addon-dev/install/modulefiles/Core") local stack_intel_ver=os.getenv("stack_intel_ver") or "2021.5.0" local python_ver=os.getenv("python_ver") or "3.11.6" From 4365f63e54e2ddb9b88e768a6e88a92504b5d482 Mon Sep 17 00:00:00 2001 From: DavidHuber Date: Mon, 22 Jan 2024 18:37:25 +0000 Subject: [PATCH 03/58] Corrected the SS env. name in the version files. #2195 --- versions/build.spack.ver | 2 +- versions/run.spack.ver | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/versions/build.spack.ver b/versions/build.spack.ver index b5286658d9..39b6cdadd6 100644 --- a/versions/build.spack.ver +++ b/versions/build.spack.ver @@ -1,5 +1,5 @@ export spack_stack_ver=1.6.0 -export spack_env=gsi-addon +export spack_env=gsi-addon-dev export cmake_ver=3.23.1 diff --git a/versions/run.spack.ver b/versions/run.spack.ver index fba8678fca..5b1af1a338 100644 --- a/versions/run.spack.ver +++ b/versions/run.spack.ver @@ -1,6 +1,6 @@ export spack_stack_ver=1.6.0 -export spack_env=gsi-addon -export python_ver=3.10.8 +export spack_env=gsi-addon-dev +export python_ver=3.11.6 export jasper_ver=2.0.32 export libpng_ver=1.6.37 @@ -19,7 +19,7 @@ export wgrib2_ver=2.0.8 export grib_util_ver=1.3.0 export prod_util_ver=2.1.1 export py_netcdf4_ver=1.5.8 -export py_pyyaml_ver=5.4.1 +export py_pyyaml_ver=6.0 export py_jinja2_ver=3.1.2 export obsproc_run_ver=1.1.2 From ccc6e2d445d4c2e2f44fb907c7bc972b1e69f6ff Mon Sep 17 00:00:00 2001 From: DavidHuber Date: Mon, 22 Jan 2024 18:56:18 +0000 Subject: [PATCH 04/58] Reenable verif-global. #2195 --- sorc/verif-global.fd | 2 +- versions/run.hera.ver | 4 ---- versions/run.spack.ver | 3 +++ 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/sorc/verif-global.fd b/sorc/verif-global.fd index c267780a12..1e7baf7982 160000 --- a/sorc/verif-global.fd +++ b/sorc/verif-global.fd @@ -1 +1 @@ -Subproject commit c267780a1255fa7db052c745cf9c78b7dc6a2695 +Subproject commit 1e7baf7982c81067c36768444d5f73e294862911 diff --git a/versions/run.hera.ver b/versions/run.hera.ver index 43443ba715..9ac8ae2ec3 100644 --- a/versions/run.hera.ver +++ b/versions/run.hera.ver @@ -6,8 +6,4 @@ export ncl_ver=6.6.2 export R_ver=3.5.0 export gempak_ver=7.4.2 -#For metplus jobs, not currently working with spack-stack -#export met_ver=9.1.3 -#export metplus_ver=3.1.1 - source "${HOMEgfs:-}/versions/run.spack.ver" diff --git a/versions/run.spack.ver b/versions/run.spack.ver index 5b1af1a338..d5bd3aa84e 100644 --- a/versions/run.spack.ver +++ b/versions/run.spack.ver @@ -22,6 +22,9 @@ export py_netcdf4_ver=1.5.8 export py_pyyaml_ver=6.0 export py_jinja2_ver=3.1.2 +export met_ver=9.1.3 +export metplus_ver=3.1.1 + export obsproc_run_ver=1.1.2 export prepobs_run_ver=1.0.1 From e304bbeb364067e411fb50801796d000b44d9147 Mon Sep 17 00:00:00 2001 From: DavidHuber Date: Mon, 22 Jan 2024 18:59:34 +0000 Subject: [PATCH 05/58] Better optimize build jobs (more ufs jobs). --- sorc/build_all.sh | 8 ++++---- sorc/build_upp.sh | 5 +++-- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/sorc/build_all.sh b/sorc/build_all.sh index c337374428..7cc6b61b7f 100755 --- a/sorc/build_all.sh +++ b/sorc/build_all.sh @@ -115,16 +115,16 @@ build_jobs["ufs"]=8 big_jobs=$((big_jobs+1)) build_opts["ufs"]="${_verbose_opt} ${_build_ufs_opt}" -build_jobs["upp"]=6 # The UPP is hardcoded to use 6 cores +build_jobs["upp"]=2 build_opts["upp"]="" -build_jobs["ufs_utils"]=3 +build_jobs["ufs_utils"]=2 build_opts["ufs_utils"]="${_verbose_opt}" build_jobs["gfs_utils"]=1 build_opts["gfs_utils"]="${_verbose_opt}" -build_jobs["ww3prepost"]=3 +build_jobs["ww3prepost"]=2 build_opts["ww3prepost"]="${_verbose_opt} ${_build_ufs_opt}" # Optional DA builds @@ -142,7 +142,7 @@ if [[ "${_build_gsi}" == "YES" ]]; then build_opts["gsi_enkf"]="${_verbose_opt}" fi if [[ "${_build_gsi}" == "YES" || "${_build_ufsda}" == "YES" ]] ; then - build_jobs["gsi_utils"]=2 + build_jobs["gsi_utils"]=1 build_opts["gsi_utils"]="${_verbose_opt}" if [[ "${MACHINE_ID}" == "hercules" ]]; then echo "NOTE: The GSI Monitor is not supported on Hercules. Disabling build." diff --git a/sorc/build_upp.sh b/sorc/build_upp.sh index a55e96ebc8..393d369dbf 100755 --- a/sorc/build_upp.sh +++ b/sorc/build_upp.sh @@ -6,10 +6,11 @@ cd "${script_dir}" || exit 1 OPTIND=1 _opts="" -while getopts ":dv" option; do +while getopts ":dvj:" option; do case "${option}" in d) _opts+="-d ";; v) _opts+="-v ";; + j) export BUILD_JOBS="${OPTARG}"; echo success ;; :) echo "[${BASH_SOURCE[0]}]: ${option} requires an argument" ;; @@ -27,4 +28,4 @@ fi cd ufs_model.fd/FV3/upp/tests # shellcheck disable=SC2086 -./compile_upp.sh ${_opts} +BUILD_JOBS=${BUILD_JOBS:-8} ./compile_upp.sh ${_opts} From f663d4786f226f8164d348d403e8d105cc3d801b Mon Sep 17 00:00:00 2001 From: David Huber Date: Mon, 22 Jan 2024 14:41:59 -0600 Subject: [PATCH 06/58] Fix gsi-addon paths for hercules, orion, and S4. --- sorc/gfs_utils.fd | 2 +- sorc/gsi_enkf.fd | 2 +- sorc/gsi_monitor.fd | 2 +- sorc/gsi_utils.fd | 2 +- versions/build.hera.ver | 1 + versions/build.hercules.ver | 1 + versions/build.jet.ver | 1 + versions/build.orion.ver | 1 + versions/build.s4.ver | 1 + versions/build.spack.ver | 1 - versions/run.hera.ver | 1 + versions/run.hercules.ver | 1 + versions/run.jet.ver | 1 + versions/run.orion.ver | 1 + versions/run.s4.ver | 1 + versions/run.spack.ver | 1 - 16 files changed, 14 insertions(+), 6 deletions(-) diff --git a/sorc/gfs_utils.fd b/sorc/gfs_utils.fd index df7678e6c9..eb8769c92c 160000 --- a/sorc/gfs_utils.fd +++ b/sorc/gfs_utils.fd @@ -1 +1 @@ -Subproject commit df7678e6c93658618dda6113e291e772b4dd53ef +Subproject commit eb8769c92c1bf27ac0aa32ea48bd192ecefbdd63 diff --git a/sorc/gsi_enkf.fd b/sorc/gsi_enkf.fd index 7f3969a475..339bf16c63 160000 --- a/sorc/gsi_enkf.fd +++ b/sorc/gsi_enkf.fd @@ -1 +1 @@ -Subproject commit 7f3969a475e782c7a0fa6ed91369e97b51ae4dcb +Subproject commit 339bf16c6344500b44deccc338273ad233d5212b diff --git a/sorc/gsi_monitor.fd b/sorc/gsi_monitor.fd index 1adce02c9c..05ac88562a 160000 --- a/sorc/gsi_monitor.fd +++ b/sorc/gsi_monitor.fd @@ -1 +1 @@ -Subproject commit 1adce02c9c128cf9d1b22bde80aaef9dc6bb02a3 +Subproject commit 05ac88562a1a3acbfcf11870263498bc06fc5169 diff --git a/sorc/gsi_utils.fd b/sorc/gsi_utils.fd index 81d106d5f1..5a506f14bf 160000 --- a/sorc/gsi_utils.fd +++ b/sorc/gsi_utils.fd @@ -1 +1 @@ -Subproject commit 81d106d5f17358c8ee6ff547e05107d1ff225bd3 +Subproject commit 5a506f14bfd19c37a31a50dac1891e45b3ddc7ec diff --git a/versions/build.hera.ver b/versions/build.hera.ver index ff85b1a801..66ec8e4c6c 100644 --- a/versions/build.hera.ver +++ b/versions/build.hera.ver @@ -1,3 +1,4 @@ export stack_intel_ver=2021.5.0 export stack_impi_ver=2021.5.1 +export spack_env=gsi-addon-dev source "${HOMEgfs:-}/versions/build.spack.ver" diff --git a/versions/build.hercules.ver b/versions/build.hercules.ver index 5513466631..40c6aeb054 100644 --- a/versions/build.hercules.ver +++ b/versions/build.hercules.ver @@ -1,3 +1,4 @@ export stack_intel_ver=2021.9.0 export stack_impi_ver=2021.9.0 +export spack_env=gsi-addon-env source "${HOMEgfs:-}/versions/build.spack.ver" diff --git a/versions/build.jet.ver b/versions/build.jet.ver index ff85b1a801..66ec8e4c6c 100644 --- a/versions/build.jet.ver +++ b/versions/build.jet.ver @@ -1,3 +1,4 @@ export stack_intel_ver=2021.5.0 export stack_impi_ver=2021.5.1 +export spack_env=gsi-addon-dev source "${HOMEgfs:-}/versions/build.spack.ver" diff --git a/versions/build.orion.ver b/versions/build.orion.ver index ff85b1a801..33f271e93b 100644 --- a/versions/build.orion.ver +++ b/versions/build.orion.ver @@ -1,3 +1,4 @@ export stack_intel_ver=2021.5.0 export stack_impi_ver=2021.5.1 +export spack_env=gsi-addon-env source "${HOMEgfs:-}/versions/build.spack.ver" diff --git a/versions/build.s4.ver b/versions/build.s4.ver index a0aae51d87..a75cb612f8 100644 --- a/versions/build.s4.ver +++ b/versions/build.s4.ver @@ -1,3 +1,4 @@ export stack_intel_ver=2021.5.0 export stack_impi_ver=2021.5.0 +export spack_env=gsi-addon-env source "${HOMEgfs:-}/versions/build.spack.ver" diff --git a/versions/build.spack.ver b/versions/build.spack.ver index 39b6cdadd6..808f85dd16 100644 --- a/versions/build.spack.ver +++ b/versions/build.spack.ver @@ -1,5 +1,4 @@ export spack_stack_ver=1.6.0 -export spack_env=gsi-addon-dev export cmake_ver=3.23.1 diff --git a/versions/run.hera.ver b/versions/run.hera.ver index 9ac8ae2ec3..0895659307 100644 --- a/versions/run.hera.ver +++ b/versions/run.hera.ver @@ -1,5 +1,6 @@ export stack_intel_ver=2021.5.0 export stack_impi_ver=2021.5.1 +export spack_env=gsi-addon-dev export hpss_ver=hpss export ncl_ver=6.6.2 diff --git a/versions/run.hercules.ver b/versions/run.hercules.ver index f692854931..e9d2c40ec2 100644 --- a/versions/run.hercules.ver +++ b/versions/run.hercules.ver @@ -1,6 +1,7 @@ export stack_intel_ver=2021.9.0 export stack_impi_ver=2021.9.0 export intel_mkl_ver=2023.1.0 +export spack_env=gsi-addon-env export ncl_ver=6.6.2 export perl_ver=5.36.0 diff --git a/versions/run.jet.ver b/versions/run.jet.ver index 18a82cab4f..5192188364 100644 --- a/versions/run.jet.ver +++ b/versions/run.jet.ver @@ -1,5 +1,6 @@ export stack_intel_ver=2021.5.0 export stack_impi_ver=2021.5.1 +export spack_env=gsi-addon-dev export hpss_ver= export ncl_ver=6.6.2 diff --git a/versions/run.orion.ver b/versions/run.orion.ver index 7671bc028d..835ac99d34 100644 --- a/versions/run.orion.ver +++ b/versions/run.orion.ver @@ -1,5 +1,6 @@ export stack_intel_ver=2022.0.2 export stack_impi_ver=2021.5.1 +export spack_env=gsi-addon-env export ncl_ver=6.6.2 export gempak_ver=7.5.1 diff --git a/versions/run.s4.ver b/versions/run.s4.ver index 56817ef439..27a53db299 100644 --- a/versions/run.s4.ver +++ b/versions/run.s4.ver @@ -1,5 +1,6 @@ export stack_intel_ver=2021.5.0 export stack_impi_ver=2021.5.0 +export spack_env=gsi-addon-env export ncl_ver=6.4.0-precompiled diff --git a/versions/run.spack.ver b/versions/run.spack.ver index d5bd3aa84e..d861d1f515 100644 --- a/versions/run.spack.ver +++ b/versions/run.spack.ver @@ -1,5 +1,4 @@ export spack_stack_ver=1.6.0 -export spack_env=gsi-addon-dev export python_ver=3.11.6 export jasper_ver=2.0.32 From e400068a2951e5fa3b130369861b4a60ece01491 Mon Sep 17 00:00:00 2001 From: David Huber Date: Mon, 22 Jan 2024 15:01:07 -0600 Subject: [PATCH 07/58] More gsi-addon path fixes. --- modulefiles/module_gwci.hercules.lua | 2 +- modulefiles/module_gwci.orion.lua | 2 +- modulefiles/module_gwsetup.hercules.lua | 2 +- modulefiles/module_gwsetup.orion.lua | 2 +- modulefiles/module_gwsetup.s4.lua | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/modulefiles/module_gwci.hercules.lua b/modulefiles/module_gwci.hercules.lua index 0a70a960ec..179bbef114 100644 --- a/modulefiles/module_gwci.hercules.lua +++ b/modulefiles/module_gwci.hercules.lua @@ -2,7 +2,7 @@ help([[ Load environment to run GFS workflow ci scripts on Hercules ]]) -prepend_path("MODULEPATH", "/work/noaa/epic/role-epic/spack-stack/hercules/spack-stack-1.6.0/envs/gsi-addon-dev/install/modulefiles/Core") +prepend_path("MODULEPATH", "/work/noaa/epic/role-epic/spack-stack/hercules/spack-stack-1.6.0/envs/gsi-addon-env/install/modulefiles/Core") load(pathJoin("stack-intel", os.getenv("2021.9.0"))) load(pathJoin("stack-intel-oneapi-mpi", os.getenv("2021.9.0"))) diff --git a/modulefiles/module_gwci.orion.lua b/modulefiles/module_gwci.orion.lua index 9803214712..565197fbe4 100644 --- a/modulefiles/module_gwci.orion.lua +++ b/modulefiles/module_gwci.orion.lua @@ -2,7 +2,7 @@ help([[ Load environment to run GFS workflow ci scripts on Orion ]]) -prepend_path("MODULEPATH", "/work/noaa/epic/role-epic/spack-stack/orion/spack-stack-1.6.0/envs/gsi-addon-dev/install/modulefiles/Core") +prepend_path("MODULEPATH", "/work/noaa/epic/role-epic/spack-stack/orion/spack-stack-1.6.0/envs/gsi-addon-env/install/modulefiles/Core") load(pathJoin("stack-intel", os.getenv("2022.0.2"))) load(pathJoin("stack-intel-oneapi-mpi", os.getenv("2021.5.1"))) diff --git a/modulefiles/module_gwsetup.hercules.lua b/modulefiles/module_gwsetup.hercules.lua index 32111aed18..795b295b30 100644 --- a/modulefiles/module_gwsetup.hercules.lua +++ b/modulefiles/module_gwsetup.hercules.lua @@ -5,7 +5,7 @@ Load environment to run GFS workflow ci scripts on Hercules load(pathJoin("contrib","0.1")) load(pathJoin("rocoto","1.3.5")) -prepend_path("MODULEPATH", "/work/noaa/epic/role-epic/spack-stack/hercules/spack-stack-1.6.0/envs/gsi-addon-dev/install/modulefiles/Core") +prepend_path("MODULEPATH", "/work/noaa/epic/role-epic/spack-stack/hercules/spack-stack-1.6.0/envs/gsi-addon-env/install/modulefiles/Core") local stack_intel_ver=os.getenv("stack_intel_ver") or "2021.9.0" local python_ver=os.getenv("python_ver") or "3.11.6" diff --git a/modulefiles/module_gwsetup.orion.lua b/modulefiles/module_gwsetup.orion.lua index bd2845c846..96ed50f7f0 100644 --- a/modulefiles/module_gwsetup.orion.lua +++ b/modulefiles/module_gwsetup.orion.lua @@ -7,7 +7,7 @@ load(pathJoin("contrib","0.1")) load(pathJoin("rocoto","1.3.3")) load(pathJoin("git","2.28.0")) -prepend_path("MODULEPATH", "/work/noaa/epic/role-epic/spack-stack/orion/spack-stack-1.6.0/envs/gsi-addon-dev/install/modulefiles/Core") +prepend_path("MODULEPATH", "/work/noaa/epic/role-epic/spack-stack/orion/spack-stack-1.6.0/envs/gsi-addon-env/install/modulefiles/Core") local stack_intel_ver=os.getenv("stack_intel_ver") or "2022.0.2" local python_ver=os.getenv("python_ver") or "3.11.6" diff --git a/modulefiles/module_gwsetup.s4.lua b/modulefiles/module_gwsetup.s4.lua index 602a7f53ec..77a647006f 100644 --- a/modulefiles/module_gwsetup.s4.lua +++ b/modulefiles/module_gwsetup.s4.lua @@ -5,7 +5,7 @@ Load environment to run GFS workflow setup scripts on S4 load(pathJoin("rocoto","1.3.5")) load(pathJoin("git","2.30.0")) -prepend_path("MODULEPATH", "/data/prod/jedi/spack-stack/spack-stack-1.6.0/envs/gsi-addon-dev/install/modulefiles/Core") +prepend_path("MODULEPATH", "/data/prod/jedi/spack-stack/spack-stack-1.6.0/envs/gsi-addon-env/install/modulefiles/Core") local stack_intel_ver=os.getenv("stack_intel_ver") or "2021.5.0" local python_ver=os.getenv("python_ver") or "3.11.6" From f775755df5f1579edfafbce9a7b47034907d023f Mon Sep 17 00:00:00 2001 From: DavidHuber Date: Wed, 24 Jan 2024 16:59:10 +0000 Subject: [PATCH 08/58] Assign fcsthrs for awips_g2 job. --- jobs/rocoto/awips_g2.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/jobs/rocoto/awips_g2.sh b/jobs/rocoto/awips_g2.sh index 121c96d63f..ed5a10c164 100755 --- a/jobs/rocoto/awips_g2.sh +++ b/jobs/rocoto/awips_g2.sh @@ -44,6 +44,7 @@ for fhr3 in ${fhrlst}; do fhmax=240 if (( fhr >= fhmin && fhr <= fhmax )); then if ((fhr % 6 == 0)); then + export fcsthrs="${fhr3}" "${AWIPSG2SH}" fi fi From 4c463548b0c38f36c13c01716fa0b1e91544e440 Mon Sep 17 00:00:00 2001 From: DavidHuber Date: Wed, 24 Jan 2024 17:05:12 +0000 Subject: [PATCH 09/58] Reenable verif-global support --- modulefiles/module_base.hera.lua | 4 ++++ modulefiles/module_base.hercules.lua | 4 ++++ modulefiles/module_base.jet.lua | 4 ++++ modulefiles/module_base.orion.lua | 4 ++++ modulefiles/module_base.s4.lua | 4 ++++ modulefiles/module_base.wcoss2.lua | 2 ++ parm/config/gfs/config.metp | 1 + sorc/verif-global.fd | 2 +- versions/run.spack.ver | 2 ++ versions/run.wcoss2.ver | 2 ++ 10 files changed, 28 insertions(+), 1 deletion(-) diff --git a/modulefiles/module_base.hera.lua b/modulefiles/module_base.hera.lua index 311fb0a1cf..976cabc54e 100644 --- a/modulefiles/module_base.hera.lua +++ b/modulefiles/module_base.hera.lua @@ -33,6 +33,10 @@ load(pathJoin("wgrib2", (os.getenv("wgrib2_ver") or "None"))) load(pathJoin("py-netcdf4", (os.getenv("py_netcdf4_ver") or "None"))) load(pathJoin("py-pyyaml", (os.getenv("py_pyyaml_ver") or "None"))) load(pathJoin("py-jinja2", (os.getenv("py_jinja2_ver") or "None"))) +load(pathJoin("py-pandas", (os.getenv("py_pandas_ver") or "None"))) +load(pathJoin("py-python-dateutil", (os.getenv("py_python_dateutil_ver") or "None"))) +load(pathJoin("met", (os.getenv("met_ver") or "None"))) +load(pathJoin("metplus", (os.getenv("metplus_ver") or "None"))) -- MET/METplus are not available for use with spack-stack, yet --load(pathJoin("met", (os.getenv("met_ver") or "None"))) diff --git a/modulefiles/module_base.hercules.lua b/modulefiles/module_base.hercules.lua index d9c8f5ed0b..1d65ac02c5 100644 --- a/modulefiles/module_base.hercules.lua +++ b/modulefiles/module_base.hercules.lua @@ -35,6 +35,10 @@ load(pathJoin("wgrib2", (os.getenv("wgrib2_ver") or "None"))) load(pathJoin("py-netcdf4", (os.getenv("py_netcdf4_ver") or "None"))) load(pathJoin("py-pyyaml", (os.getenv("py_pyyaml_ver") or "None"))) load(pathJoin("py-jinja2", (os.getenv("py_jinja2_ver") or "None"))) +load(pathJoin("py-pandas", (os.getenv("py_pandas_ver") or "None"))) +load(pathJoin("py-python-dateutil", (os.getenv("py_python_dateutil_ver") or "None"))) +load(pathJoin("met", (os.getenv("met_ver") or "None"))) +load(pathJoin("metplus", (os.getenv("metplus_ver") or "None"))) setenv("WGRIB2","wgrib2") setenv("UTILROOT",(os.getenv("prod_util_ROOT") or "None")) diff --git a/modulefiles/module_base.jet.lua b/modulefiles/module_base.jet.lua index 64d35da57a..3cd25a0656 100644 --- a/modulefiles/module_base.jet.lua +++ b/modulefiles/module_base.jet.lua @@ -33,6 +33,10 @@ load(pathJoin("wgrib2", (os.getenv("wgrib2_ver") or "None"))) load(pathJoin("py-netcdf4", (os.getenv("py_netcdf4_ver") or "None"))) load(pathJoin("py-pyyaml", (os.getenv("py_pyyaml_ver") or "None"))) load(pathJoin("py-jinja2", (os.getenv("py_jinja2_ver") or "None"))) +load(pathJoin("py-pandas", (os.getenv("py_pandas_ver") or "None"))) +load(pathJoin("py-python-dateutil", (os.getenv("py_python_dateutil_ver") or "None"))) +load(pathJoin("met", (os.getenv("met_ver") or "None"))) +load(pathJoin("metplus", (os.getenv("metplus_ver") or "None"))) setenv("WGRIB2","wgrib2") setenv("UTILROOT",(os.getenv("prod_util_ROOT") or "None")) diff --git a/modulefiles/module_base.orion.lua b/modulefiles/module_base.orion.lua index 65486855d0..8c020fc6e2 100644 --- a/modulefiles/module_base.orion.lua +++ b/modulefiles/module_base.orion.lua @@ -31,6 +31,10 @@ load(pathJoin("wgrib2", (os.getenv("wgrib2_ver") or "None"))) load(pathJoin("py-netcdf4", (os.getenv("py_netcdf4_ver") or "None"))) load(pathJoin("py-pyyaml", (os.getenv("py_pyyaml_ver") or "None"))) load(pathJoin("py-jinja2", (os.getenv("py_jinja2_ver") or "None"))) +load(pathJoin("py-pandas", (os.getenv("py_pandas_ver") or "None"))) +load(pathJoin("py-python-dateutil", (os.getenv("py_python_dateutil_ver") or "None"))) +load(pathJoin("met", (os.getenv("met_ver") or "None"))) +load(pathJoin("metplus", (os.getenv("metplus_ver") or "None"))) -- MET/METplus are not yet supported with spack-stack --load(pathJoin("met", (os.getenv("met_ver") or "None"))) diff --git a/modulefiles/module_base.s4.lua b/modulefiles/module_base.s4.lua index d99a93c3f4..28d8886114 100644 --- a/modulefiles/module_base.s4.lua +++ b/modulefiles/module_base.s4.lua @@ -30,6 +30,10 @@ load(pathJoin("wgrib2", (os.getenv("wgrib2_ver") or "None"))) load(pathJoin("py-netcdf4", (os.getenv("py_netcdf4_ver") or "None"))) load(pathJoin("py-pyyaml", (os.getenv("py_pyyaml_ver") or "None"))) load(pathJoin("py-jinja2", (os.getenv("py_jinja2_ver") or "None"))) +load(pathJoin("py-pandas", (os.getenv("py_pandas_ver") or "None"))) +load(pathJoin("py-python-dateutil", (os.getenv("py_python_dateutil_ver") or "None"))) +load(pathJoin("met", (os.getenv("met_ver") or "None"))) +load(pathJoin("metplus", (os.getenv("metplus_ver") or "None"))) setenv("WGRIB2","wgrib2") setenv("UTILROOT",(os.getenv("prod_util_ROOT") or "None")) diff --git a/modulefiles/module_base.wcoss2.lua b/modulefiles/module_base.wcoss2.lua index ee4ee6a5fb..8db2e9a50a 100644 --- a/modulefiles/module_base.wcoss2.lua +++ b/modulefiles/module_base.wcoss2.lua @@ -30,6 +30,8 @@ load(pathJoin("g2tmpl", (os.getenv("g2tmpl_ver") or "None"))) load(pathJoin("ncdiag", (os.getenv("ncdiag_ver") or "None"))) load(pathJoin("crtm", (os.getenv("crtm_ver") or "None"))) load(pathJoin("wgrib2", (os.getenv("wgrib2_ver") or "None"))) +load(pathJoin("met", (os.getenv("met_ver") or "None"))) +load(pathJoin("metplus", (os.getenv("metplus_ver") or "None"))) --prepend_path("MODULEPATH", pathJoin("/lfs/h2/emc/global/save/emc.global/git/prepobs/v" .. (os.getenv("prepobs_run_ver") or "None"), "modulefiles")) prepend_path("MODULEPATH", pathJoin("/lfs/h2/emc/global/save/emc.global/git/prepobs/feature-GFSv17_com_reorg_log_update/modulefiles")) diff --git a/parm/config/gfs/config.metp b/parm/config/gfs/config.metp index c90903f6a5..8260d1c472 100644 --- a/parm/config/gfs/config.metp +++ b/parm/config/gfs/config.metp @@ -23,6 +23,7 @@ export VERIF_GLOBALSH=${HOMEverif_global}/ush/run_verif_global_in_global_workflo export model=${PSLOT} export model_file_format="pgbf{lead?fmt=%2H}.${CDUMP}.{init?fmt=%Y%m%d%H}.grib2" export model_hpss_dir=${ATARDIR}/.. +export model_dir=${ARCDIR}/.. export get_data_from_hpss="NO" export hpss_walltime="10" ## OUTPUT SETTINGS diff --git a/sorc/verif-global.fd b/sorc/verif-global.fd index 1e7baf7982..3dad0a6a72 160000 --- a/sorc/verif-global.fd +++ b/sorc/verif-global.fd @@ -1 +1 @@ -Subproject commit 1e7baf7982c81067c36768444d5f73e294862911 +Subproject commit 3dad0a6a72e08f7636b7828ec95df9115ad55157 diff --git a/versions/run.spack.ver b/versions/run.spack.ver index d5bd3aa84e..86d250023a 100644 --- a/versions/run.spack.ver +++ b/versions/run.spack.ver @@ -21,6 +21,8 @@ export prod_util_ver=2.1.1 export py_netcdf4_ver=1.5.8 export py_pyyaml_ver=6.0 export py_jinja2_ver=3.1.2 +export py_pandas_ver=1.5.3 +export py_python_dateutil_ver=2.8.2 export met_ver=9.1.3 export metplus_ver=3.1.1 diff --git a/versions/run.wcoss2.ver b/versions/run.wcoss2.ver index a188cdea74..0aaad3ec3d 100644 --- a/versions/run.wcoss2.ver +++ b/versions/run.wcoss2.ver @@ -39,6 +39,8 @@ export g2tmpl_ver=1.10.2 export ncdiag_ver=1.0.0 export crtm_ver=2.4.0 export wgrib2_ver=2.0.8 +export met_ver=9.1.3 +export metplus_ver=3.1.1 # Development-only below From a9eaec23d5103ea766342ff81d77df8e0f6d9a58 Mon Sep 17 00:00:00 2001 From: DavidHuber Date: Wed, 24 Jan 2024 18:52:27 +0000 Subject: [PATCH 10/58] Update gdasapp to include ss/1.6.0 support. --- sorc/gdas.cd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sorc/gdas.cd b/sorc/gdas.cd index 6044d09962..543a18139a 160000 --- a/sorc/gdas.cd +++ b/sorc/gdas.cd @@ -1 +1 @@ -Subproject commit 6044d099626f568a1a671ea86398e2aedfaf72f4 +Subproject commit 543a18139a9f035030e470bc6a028f367c0a110d From afa09e356503f1befc162df9a79dc9ce7414dc22 Mon Sep 17 00:00:00 2001 From: DavidHuber Date: Wed, 24 Jan 2024 18:59:40 +0000 Subject: [PATCH 11/58] New (cleaner history) gdas hash. --- sorc/gdas.cd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sorc/gdas.cd b/sorc/gdas.cd index 543a18139a..43feb08fb6 160000 --- a/sorc/gdas.cd +++ b/sorc/gdas.cd @@ -1 +1 @@ -Subproject commit 543a18139a9f035030e470bc6a028f367c0a110d +Subproject commit 43feb08fb6ec3b206ace65169abb0ca002c1ba71 From 56b9680803f109720f6439276a0e5783a9c49352 Mon Sep 17 00:00:00 2001 From: DavidHuber Date: Wed, 24 Jan 2024 19:47:34 +0000 Subject: [PATCH 12/58] Update hashes (revert WCOSS2 modules). --- sorc/gfs_utils.fd | 2 +- sorc/gsi_enkf.fd | 2 +- sorc/gsi_monitor.fd | 2 +- sorc/gsi_utils.fd | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/sorc/gfs_utils.fd b/sorc/gfs_utils.fd index eb8769c92c..df7678e6c9 160000 --- a/sorc/gfs_utils.fd +++ b/sorc/gfs_utils.fd @@ -1 +1 @@ -Subproject commit eb8769c92c1bf27ac0aa32ea48bd192ecefbdd63 +Subproject commit df7678e6c93658618dda6113e291e772b4dd53ef diff --git a/sorc/gsi_enkf.fd b/sorc/gsi_enkf.fd index 339bf16c63..7f3969a475 160000 --- a/sorc/gsi_enkf.fd +++ b/sorc/gsi_enkf.fd @@ -1 +1 @@ -Subproject commit 339bf16c6344500b44deccc338273ad233d5212b +Subproject commit 7f3969a475e782c7a0fa6ed91369e97b51ae4dcb diff --git a/sorc/gsi_monitor.fd b/sorc/gsi_monitor.fd index 05ac88562a..1adce02c9c 160000 --- a/sorc/gsi_monitor.fd +++ b/sorc/gsi_monitor.fd @@ -1 +1 @@ -Subproject commit 05ac88562a1a3acbfcf11870263498bc06fc5169 +Subproject commit 1adce02c9c128cf9d1b22bde80aaef9dc6bb02a3 diff --git a/sorc/gsi_utils.fd b/sorc/gsi_utils.fd index 5a506f14bf..81d106d5f1 160000 --- a/sorc/gsi_utils.fd +++ b/sorc/gsi_utils.fd @@ -1 +1 @@ -Subproject commit 5a506f14bfd19c37a31a50dac1891e45b3ddc7ec +Subproject commit 81d106d5f17358c8ee6ff547e05107d1ff225bd3 From 6c058039e209c67ea477d37d2d6f76b7a2fa68ac Mon Sep 17 00:00:00 2001 From: David Huber Date: Thu, 25 Jan 2024 07:48:42 -0600 Subject: [PATCH 13/58] Fix wgrib2/gfs_utils on Hercules. --- sorc/gfs_utils.fd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sorc/gfs_utils.fd b/sorc/gfs_utils.fd index eb8769c92c..1bdc3de6f3 160000 --- a/sorc/gfs_utils.fd +++ b/sorc/gfs_utils.fd @@ -1 +1 @@ -Subproject commit eb8769c92c1bf27ac0aa32ea48bd192ecefbdd63 +Subproject commit 1bdc3de6f37825ad5872f52d3675795cb8fe3811 From 04e0772d9d3e77ac5a24ce4570d48cb41424a08b Mon Sep 17 00:00:00 2001 From: David Huber Date: Fri, 26 Jan 2024 07:16:25 -0600 Subject: [PATCH 14/58] Update ufs_utils hash for spack-stack/1.6.0 support. --- sorc/ufs_utils.fd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sorc/ufs_utils.fd b/sorc/ufs_utils.fd index a92833ab65..547459c1e3 160000 --- a/sorc/ufs_utils.fd +++ b/sorc/ufs_utils.fd @@ -1 +1 @@ -Subproject commit a92833ab65b09f476e44ca101c9b183562e97fe9 +Subproject commit 547459c1e323ca45854d7ac1e1cb11e73f8de408 From 6ffd94fd95f54ceb940f0c9201774ad73fbb055b Mon Sep 17 00:00:00 2001 From: DavidHuber Date: Fri, 26 Jan 2024 16:01:23 +0000 Subject: [PATCH 15/58] Update GDAS hash to include SS/1.6.0 support. --- sorc/gdas.cd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sorc/gdas.cd b/sorc/gdas.cd index 43feb08fb6..9ba6bb9916 160000 --- a/sorc/gdas.cd +++ b/sorc/gdas.cd @@ -1 +1 @@ -Subproject commit 43feb08fb6ec3b206ace65169abb0ca002c1ba71 +Subproject commit 9ba6bb9916abf93de899d88a540904572bdbd7a7 From 2238dd6ac0094ba2ff5e1027e964ef29ad33352c Mon Sep 17 00:00:00 2001 From: DavidHuber Date: Mon, 29 Jan 2024 13:21:30 +0000 Subject: [PATCH 16/58] Update Orion, Hercules, S4 modulefiles. --- sorc/gsi_enkf.fd | 2 +- sorc/gsi_monitor.fd | 2 +- sorc/gsi_utils.fd | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/sorc/gsi_enkf.fd b/sorc/gsi_enkf.fd index 7f3969a475..339bf16c63 160000 --- a/sorc/gsi_enkf.fd +++ b/sorc/gsi_enkf.fd @@ -1 +1 @@ -Subproject commit 7f3969a475e782c7a0fa6ed91369e97b51ae4dcb +Subproject commit 339bf16c6344500b44deccc338273ad233d5212b diff --git a/sorc/gsi_monitor.fd b/sorc/gsi_monitor.fd index 1adce02c9c..05ac88562a 160000 --- a/sorc/gsi_monitor.fd +++ b/sorc/gsi_monitor.fd @@ -1 +1 @@ -Subproject commit 1adce02c9c128cf9d1b22bde80aaef9dc6bb02a3 +Subproject commit 05ac88562a1a3acbfcf11870263498bc06fc5169 diff --git a/sorc/gsi_utils.fd b/sorc/gsi_utils.fd index 81d106d5f1..5a506f14bf 160000 --- a/sorc/gsi_utils.fd +++ b/sorc/gsi_utils.fd @@ -1 +1 @@ -Subproject commit 81d106d5f17358c8ee6ff547e05107d1ff225bd3 +Subproject commit 5a506f14bfd19c37a31a50dac1891e45b3ddc7ec From 81557beca9eecd878e7b25b3822e30a4276f4a16 Mon Sep 17 00:00:00 2001 From: David Huber Date: Mon, 29 Jan 2024 12:13:31 -0600 Subject: [PATCH 17/58] Update monitor hash to noaa-emc with SS/1.6.0 support. --- sorc/gsi_monitor.fd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sorc/gsi_monitor.fd b/sorc/gsi_monitor.fd index 05ac88562a..ae256c0d69 160000 --- a/sorc/gsi_monitor.fd +++ b/sorc/gsi_monitor.fd @@ -1 +1 @@ -Subproject commit 05ac88562a1a3acbfcf11870263498bc06fc5169 +Subproject commit ae256c0d69df3232ee9dd3e81b176bf2c3cda312 From 0400e1f3558be8e34c1298d32e14999c9dd46f8c Mon Sep 17 00:00:00 2001 From: David Huber Date: Tue, 30 Jan 2024 09:57:11 -0600 Subject: [PATCH 18/58] Fix gfs_utils Orion spack-stack env path. --- sorc/gfs_utils.fd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sorc/gfs_utils.fd b/sorc/gfs_utils.fd index df7678e6c9..1bdc3de6f3 160000 --- a/sorc/gfs_utils.fd +++ b/sorc/gfs_utils.fd @@ -1 +1 @@ -Subproject commit df7678e6c93658618dda6113e291e772b4dd53ef +Subproject commit 1bdc3de6f37825ad5872f52d3675795cb8fe3811 From dae884a7c48b4a30c1844685c3d0ef50c9b78344 Mon Sep 17 00:00:00 2001 From: henrywinterbottom-wxdev Date: Wed, 7 Feb 2024 08:29:49 -0700 Subject: [PATCH 19/58] Removed jlogfile and postmsg references within gempak scripts. --- gempak/ush/gempak_gdas_f000_gif.sh | 7 ------- gempak/ush/gempak_gfs_f00_gif.sh | 6 ------ gempak/ush/gempak_gfs_f12_gif.sh | 6 ------ gempak/ush/gempak_gfs_f24_gif.sh | 11 ----------- gempak/ush/gempak_gfs_f36_gif.sh | 11 ----------- gempak/ush/gempak_gfs_f48_gif.sh | 11 ----------- 6 files changed, 52 deletions(-) diff --git a/gempak/ush/gempak_gdas_f000_gif.sh b/gempak/ush/gempak_gdas_f000_gif.sh index cdf7659155..5d399f9124 100755 --- a/gempak/ush/gempak_gdas_f000_gif.sh +++ b/gempak/ush/gempak_gdas_f000_gif.sh @@ -13,9 +13,6 @@ # ######################################################################### - msg=" Make GEMPAK GIFS utility" - postmsg "$jlogfile" "$msg" - set -x MAPAREA="normal" @@ -488,8 +485,4 @@ if [ $SENDCOM = YES ]; then fi - - msg=" GEMPAK_GIF ${fhr} hour completed normally" - postmsg "$jlogfile" "$msg" - exit diff --git a/gempak/ush/gempak_gfs_f00_gif.sh b/gempak/ush/gempak_gfs_f00_gif.sh index 2a7cca5c9f..9eaac7c62e 100755 --- a/gempak/ush/gempak_gfs_f00_gif.sh +++ b/gempak/ush/gempak_gfs_f00_gif.sh @@ -15,9 +15,6 @@ # ######################################################################### - msg=" Make GEMPAK GIFS utility" - postmsg "$jlogfile" "$msg" - set -x MAPAREA="normal" @@ -596,7 +593,4 @@ if [ $SENDCOM = YES ]; then ${USHgfs}/make_tif.sh fi - msg=" GEMPAK_GIF ${fhr} hour completed normally" - postmsg "$jlogfile" "$msg" - exit diff --git a/gempak/ush/gempak_gfs_f12_gif.sh b/gempak/ush/gempak_gfs_f12_gif.sh index 611252a2e2..7005e96844 100755 --- a/gempak/ush/gempak_gfs_f12_gif.sh +++ b/gempak/ush/gempak_gfs_f12_gif.sh @@ -15,9 +15,6 @@ # ######################################################################### - msg=" Make GEMPAK GIFS utility" - postmsg "$jlogfile" "$msg" - set -x MAPAREA="normal" @@ -207,7 +204,4 @@ if [ $SENDCOM = YES ]; then fi - msg=" GEMPAK_GIF ${fhr} hour completed normally" - postmsg "$jlogfile" "$msg" - exit diff --git a/gempak/ush/gempak_gfs_f24_gif.sh b/gempak/ush/gempak_gfs_f24_gif.sh index 53670a29bd..d5dc2f6868 100755 --- a/gempak/ush/gempak_gfs_f24_gif.sh +++ b/gempak/ush/gempak_gfs_f24_gif.sh @@ -16,13 +16,6 @@ # ######################################################################### - - - msg=" Make GEMPAK GIFS utility" - postmsg "$jlogfile" "$msg" - - - set -x @@ -224,8 +217,4 @@ if [ $SENDCOM = YES ]; then fi - - msg=" GEMPAK_GIF ${fhr} hour completed normally" - postmsg "$jlogfile" "$msg" - exit diff --git a/gempak/ush/gempak_gfs_f36_gif.sh b/gempak/ush/gempak_gfs_f36_gif.sh index e1999090c0..d219fbfc59 100755 --- a/gempak/ush/gempak_gfs_f36_gif.sh +++ b/gempak/ush/gempak_gfs_f36_gif.sh @@ -16,12 +16,6 @@ # ######################################################################### - - - msg=" Make GEMPAK GIFS utility" - postmsg "$jlogfile" "$msg" - - set -x @@ -223,9 +217,4 @@ if [ $SENDCOM = YES ]; then fi - - - msg=" GEMPAK_GIF ${fhr} hour completed normally" - postmsg "$jlogfile" "$msg" - exit diff --git a/gempak/ush/gempak_gfs_f48_gif.sh b/gempak/ush/gempak_gfs_f48_gif.sh index 1e0ba532fd..95c4d6b932 100755 --- a/gempak/ush/gempak_gfs_f48_gif.sh +++ b/gempak/ush/gempak_gfs_f48_gif.sh @@ -16,12 +16,6 @@ # ######################################################################### - - - msg=" Make GEMPAK GIFS utility" - postmsg "$jlogfile" "$msg" - - set -x @@ -223,9 +217,4 @@ if [ $SENDCOM = YES ]; then fi - - - msg=" GEMPAK_GIF ${fhr} hour completed normally" - postmsg "$jlogfile" "$msg" - exit From 5894ca2bf11e8ab7910c69781a9fbe51352a7e8c Mon Sep 17 00:00:00 2001 From: henrywinterbottom-wxdev Date: Wed, 7 Feb 2024 08:32:16 -0700 Subject: [PATCH 20/58] Removed dummy variable passed to perl scripts. --- scripts/exglobal_atmos_vminmon.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/scripts/exglobal_atmos_vminmon.sh b/scripts/exglobal_atmos_vminmon.sh index a4453dcf1a..aac63f3fb3 100755 --- a/scripts/exglobal_atmos_vminmon.sh +++ b/scripts/exglobal_atmos_vminmon.sh @@ -44,15 +44,15 @@ if [[ -s ${gsistat} ]]; then #------------------------------------------------------------------ # Run the child sccripts. #------------------------------------------------------------------ - "${USHgfs}/minmon_xtrct_costs.pl" "${MINMON_SUFFIX}" "${PDY}" "${cyc}" "${gsistat}" dummy + "${USHgfs}/minmon_xtrct_costs.pl" "${MINMON_SUFFIX}" "${PDY}" "${cyc}" "${gsistat}" rc_costs=$? echo "rc_costs = ${rc_costs}" - "${USHgfs}/minmon_xtrct_gnorms.pl" "${MINMON_SUFFIX}" "${PDY}" "${cyc}" "${gsistat}" dummy + "${USHgfs}/minmon_xtrct_gnorms.pl" "${MINMON_SUFFIX}" "${PDY}" "${cyc}" "${gsistat}" rc_gnorms=$? echo "rc_gnorms = ${rc_gnorms}" - "${USHgfs}/minmon_xtrct_reduct.pl" "${MINMON_SUFFIX}" "${PDY}" "${cyc}" "${gsistat}" dummy + "${USHgfs}/minmon_xtrct_reduct.pl" "${MINMON_SUFFIX}" "${PDY}" "${cyc}" "${gsistat}" rc_reduct=$? echo "rc_reduct = ${rc_reduct}" From 4745d4a06148cc6c702c647e12ede4875e3a5862 Mon Sep 17 00:00:00 2001 From: henrywinterbottom-wxdev Date: Wed, 7 Feb 2024 08:45:49 -0700 Subject: [PATCH 21/58] Removed jlogfile references. --- ush/minmon_xtrct_costs.pl | 5 ++--- ush/minmon_xtrct_gnorms.pl | 3 +-- ush/minmon_xtrct_reduct.pl | 6 ++---- ush/radmon_verf_time.sh | 2 -- ush/syndat_getjtbul.sh | 4 ---- 5 files changed, 5 insertions(+), 15 deletions(-) diff --git a/ush/minmon_xtrct_costs.pl b/ush/minmon_xtrct_costs.pl index 502032da80..c56ac3bdad 100755 --- a/ush/minmon_xtrct_costs.pl +++ b/ush/minmon_xtrct_costs.pl @@ -22,8 +22,8 @@ # #--------------------------- -if ($#ARGV != 4 ) { - print "usage: minmon_xtrct_costs.pl SUFFIX PDY cyc infile jlogfile\n"; +if ($#ARGV != 3 ) { + print "usage: minmon_xtrct_costs.pl SUFFIX PDY cyc infile\n"; exit; } my $suffix = $ARGV[0]; @@ -31,7 +31,6 @@ my $pdy = $ARGV[1]; my $cyc = $ARGV[2]; my $infile = $ARGV[3]; -my $jlogfile = $ARGV[4]; my $use_costterms = 0; my $no_data = 0.00; diff --git a/ush/minmon_xtrct_gnorms.pl b/ush/minmon_xtrct_gnorms.pl index 0125c58ac8..997ee60ff3 100755 --- a/ush/minmon_xtrct_gnorms.pl +++ b/ush/minmon_xtrct_gnorms.pl @@ -186,7 +186,7 @@ sub updateGnormData { #--------------------------------------------------------------------------- if ($#ARGV != 4 ) { - print "usage: minmon_xtrct_gnorms.pl SUFFIX pdy cyc infile jlogfile\n"; + print "usage: minmon_xtrct_gnorms.pl SUFFIX pdy cyc infile \n"; exit; } @@ -195,7 +195,6 @@ sub updateGnormData { my $pdy = $ARGV[1]; my $cyc = $ARGV[2]; my $infile = $ARGV[3]; -my $jlogfile = $ARGV[4]; my $scr = "minmon_xtrct_gnorms.pl"; diff --git a/ush/minmon_xtrct_reduct.pl b/ush/minmon_xtrct_reduct.pl index 1b8186b6ad..cc5da86af8 100755 --- a/ush/minmon_xtrct_reduct.pl +++ b/ush/minmon_xtrct_reduct.pl @@ -9,20 +9,18 @@ # reduction.ieee_d files ready for GrADS use. #--------------------------------------------------------------------------- -if ($#ARGV != 4 ) { - print "usage: minmon_xtrct_reduct.pl SUFFIX pdy cyc infile jlogfile\n"; +if ($#ARGV != 3 ) { + print "usage: minmon_xtrct_reduct.pl SUFFIX pdy cyc infile\n"; print " suffix is data source identifier\n"; print " pdy is YYYYMMDD of the cycle to be processed\n"; print " cyc is HH of the cycle to be processed\n"; print " infile is the data file containing the reduction stats\n"; - print " jlogfile is the job log file\n"; exit; } my $suffix = $ARGV[0]; my $pdy = $ARGV[1]; my $cyc = $ARGV[2]; my $infile = $ARGV[3]; -my $jlogfile = $ARGV[4]; my $scr = "minmon_xtrct_reduct.pl"; print "$scr has started\n"; diff --git a/ush/radmon_verf_time.sh b/ush/radmon_verf_time.sh index 7f98407ec5..0df8029166 100755 --- a/ush/radmon_verf_time.sh +++ b/ush/radmon_verf_time.sh @@ -75,8 +75,6 @@ source "${HOMEgfs}/ush/preamble.sh" #################################################################### # File names -#pgmout=${pgmout:-${jlogfile}} -#touch $pgmout radmon_err_rpt=${radmon_err_rpt:-${USHgfs}/radmon_err_rpt.sh} base_file=${base_file:-${PARMmonitor}/gdas_radmon_base.tar} diff --git a/ush/syndat_getjtbul.sh b/ush/syndat_getjtbul.sh index c17067ff72..c1689c68be 100755 --- a/ush/syndat_getjtbul.sh +++ b/ush/syndat_getjtbul.sh @@ -22,10 +22,6 @@ # TANK_TROPCY - path to home directory containing tropical cyclone record # data base -# Imported variables that can be passed in: -# jlogfile - path to job log file (skipped over by this script if not -# passed in) - source "$HOMEgfs/ush/preamble.sh" EXECSYND=${EXECSYND:-${HOMESYND}/exec} From 4b01d8eeca26c3b3d843a4b1e7b1618f281de68f Mon Sep 17 00:00:00 2001 From: David Huber Date: Fri, 9 Feb 2024 10:44:30 -0600 Subject: [PATCH 22/58] Revert Hercules modules to SS/1.5.1. --- modulefiles/module_base.hercules.lua | 5 ++-- modulefiles/module_gwci.hercules.lua | 2 +- modulefiles/module_gwsetup.hercules.lua | 4 +-- parm/config/gfs/config.base.emc.dyn | 7 ++++- sorc/gsi_enkf.fd | 2 +- versions/build.hercules.ver | 31 ++++++++++++++++++++-- versions/run.hercules.ver | 34 +++++++++++++++++++++++-- 7 files changed, 74 insertions(+), 11 deletions(-) diff --git a/modulefiles/module_base.hercules.lua b/modulefiles/module_base.hercules.lua index 1d65ac02c5..5b9a602544 100644 --- a/modulefiles/module_base.hercules.lua +++ b/modulefiles/module_base.hercules.lua @@ -37,8 +37,9 @@ load(pathJoin("py-pyyaml", (os.getenv("py_pyyaml_ver") or "None"))) load(pathJoin("py-jinja2", (os.getenv("py_jinja2_ver") or "None"))) load(pathJoin("py-pandas", (os.getenv("py_pandas_ver") or "None"))) load(pathJoin("py-python-dateutil", (os.getenv("py_python_dateutil_ver") or "None"))) -load(pathJoin("met", (os.getenv("met_ver") or "None"))) -load(pathJoin("metplus", (os.getenv("metplus_ver") or "None"))) +-- MET/METplus is not yet enabled on Hercules +--load(pathJoin("met", (os.getenv("met_ver") or "None"))) +--load(pathJoin("metplus", (os.getenv("metplus_ver") or "None"))) setenv("WGRIB2","wgrib2") setenv("UTILROOT",(os.getenv("prod_util_ROOT") or "None")) diff --git a/modulefiles/module_gwci.hercules.lua b/modulefiles/module_gwci.hercules.lua index 179bbef114..9c60aed467 100644 --- a/modulefiles/module_gwci.hercules.lua +++ b/modulefiles/module_gwci.hercules.lua @@ -2,7 +2,7 @@ help([[ Load environment to run GFS workflow ci scripts on Hercules ]]) -prepend_path("MODULEPATH", "/work/noaa/epic/role-epic/spack-stack/hercules/spack-stack-1.6.0/envs/gsi-addon-env/install/modulefiles/Core") +prepend_path("MODULEPATH", "/work/noaa/epic/role-epic/spack-stack/hercules/spack-stack-1.5.1/envs/gsi-addon/install/modulefiles/Core") load(pathJoin("stack-intel", os.getenv("2021.9.0"))) load(pathJoin("stack-intel-oneapi-mpi", os.getenv("2021.9.0"))) diff --git a/modulefiles/module_gwsetup.hercules.lua b/modulefiles/module_gwsetup.hercules.lua index 795b295b30..673928605c 100644 --- a/modulefiles/module_gwsetup.hercules.lua +++ b/modulefiles/module_gwsetup.hercules.lua @@ -5,10 +5,10 @@ Load environment to run GFS workflow ci scripts on Hercules load(pathJoin("contrib","0.1")) load(pathJoin("rocoto","1.3.5")) -prepend_path("MODULEPATH", "/work/noaa/epic/role-epic/spack-stack/hercules/spack-stack-1.6.0/envs/gsi-addon-env/install/modulefiles/Core") +prepend_path("MODULEPATH", "/work/noaa/epic/role-epic/spack-stack/hercules/spack-stack-1.5.1/envs/gsi-addon/install/modulefiles/Core") local stack_intel_ver=os.getenv("stack_intel_ver") or "2021.9.0" -local python_ver=os.getenv("python_ver") or "3.11.6" +local python_ver=os.getenv("python_ver") or "3.10.8" load(pathJoin("stack-intel", stack_intel_ver)) load(pathJoin("python", python_ver)) diff --git a/parm/config/gfs/config.base.emc.dyn b/parm/config/gfs/config.base.emc.dyn index 3ac98c3963..2ce4d937c3 100644 --- a/parm/config/gfs/config.base.emc.dyn +++ b/parm/config/gfs/config.base.emc.dyn @@ -382,7 +382,12 @@ export netcdf_diag=".true." export binary_diag=".false." # Verification options -export DO_METP="NO" # Run METPLUS jobs - set METPLUS settings in config.metp; not supported with spack-stack +# MET/METplus is not yet supported on Hercules +if [[ "${machine}" == "HERCULES" ]]; then + export DO_METP="NO" +else + export DO_METP="YES" # Run METPLUS jobs - set METPLUS settings in config.metp; not supported with spack-stack +fi export DO_FIT2OBS="YES" # Run fit to observations package # Archiving options diff --git a/sorc/gsi_enkf.fd b/sorc/gsi_enkf.fd index 339bf16c63..6dd0413158 160000 --- a/sorc/gsi_enkf.fd +++ b/sorc/gsi_enkf.fd @@ -1 +1 @@ -Subproject commit 339bf16c6344500b44deccc338273ad233d5212b +Subproject commit 6dd0413158d68da5b1d8d5053ba63513bf75334b diff --git a/versions/build.hercules.ver b/versions/build.hercules.ver index 40c6aeb054..38c91670a8 100644 --- a/versions/build.hercules.ver +++ b/versions/build.hercules.ver @@ -1,4 +1,31 @@ export stack_intel_ver=2021.9.0 export stack_impi_ver=2021.9.0 -export spack_env=gsi-addon-env -source "${HOMEgfs:-}/versions/build.spack.ver" +export spack_env=gsi-addon +#source "${HOMEgfs:-}/versions/build.spack.ver" +export spack_stack_ver=1.5.1 + +export cmake_ver=3.23.1 + +export jasper_ver=2.0.32 +export libpng_ver=1.6.37 +export zlib_ver=1.2.13 +export esmf_ver=8.5.0 +export fms_ver=2023.02.01 + +export hdf5_ver=1.14.0 +export netcdf_c_ver=4.9.2 +export netcdf_fortran_ver=4.6.0 + +export bacio_ver=2.4.1 +export nemsio_ver=2.5.4 +export sigio_ver=2.3.2 +export w3emc_ver=2.10.0 +export bufr_ver=11.7.0 +export g2_ver=3.4.5 +export sp_ver=2.3.3 +export ip_ver=4.3.0 +export gsi_ncdiag_ver=1.1.2 +export g2tmpl_ver=1.10.2 +export crtm_ver=2.4.0 +export wgrib2_ver=2.0.8 +export grib_util_ver=1.3.0 diff --git a/versions/run.hercules.ver b/versions/run.hercules.ver index e9d2c40ec2..f53d0c7280 100644 --- a/versions/run.hercules.ver +++ b/versions/run.hercules.ver @@ -1,9 +1,39 @@ export stack_intel_ver=2021.9.0 export stack_impi_ver=2021.9.0 export intel_mkl_ver=2023.1.0 -export spack_env=gsi-addon-env +export spack_env=gsi-addon export ncl_ver=6.6.2 export perl_ver=5.36.0 -source "${HOMEgfs:-}/versions/run.spack.ver" +#source "${HOMEgfs:-}/versions/run.spack.ver" +export spack_stack_ver=1.5.1 +export python_ver=3.10.8 + +export jasper_ver=2.0.32 +export libpng_ver=1.6.37 +export cdo_ver=2.2.0 +export nco_ver=5.0.6 + +export hdf5_ver=1.14.0 +export netcdf_c_ver=4.9.2 +export netcdf_fortran_ver=4.6.0 + +export bufr_ver=11.7.0 +export gsi_ncdiag_ver=1.1.2 +export g2tmpl_ver=1.10.2 +export crtm_ver=2.4.0 +export wgrib2_ver=3.1.1 +export grib_util_ver=1.3.0 +export prod_util_ver=1.2.2 +export py_netcdf4_ver=1.5.8 +export py_pyyaml_ver=5.4.1 +export py_jinja2_ver=3.1.2 +export py_pandas_ver=1.5.3 +export py_python_dateutil_ver=2.8.2 + +export obsproc_run_ver=1.1.2 +export prepobs_run_ver=1.0.1 + +export ens_tracker_ver=feature-GFSv17_com_reorg +export fit2obs_ver=1.0.0 From b972f66fc924790c48f38d395e7141fa78ef9d90 Mon Sep 17 00:00:00 2001 From: David Huber Date: Fri, 9 Feb 2024 10:47:00 -0600 Subject: [PATCH 23/58] Fix SS versions for CI modules. --- modulefiles/module_gwci.hera.lua | 2 +- modulefiles/module_gwci.orion.lua | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/modulefiles/module_gwci.hera.lua b/modulefiles/module_gwci.hera.lua index bcd759b524..3d4c413a44 100644 --- a/modulefiles/module_gwci.hera.lua +++ b/modulefiles/module_gwci.hera.lua @@ -8,7 +8,7 @@ load(pathJoin("stack-intel", os.getenv("2021.5.0"))) load(pathJoin("stack-intel-oneapi-mpi", os.getenv("2021.5.1"))) load(pathJoin("netcdf-c", os.getenv("4.9.2"))) -load(pathJoin("netcdf-fortran", os.getenv("4.6.0"))) +load(pathJoin("netcdf-fortran", os.getenv("4.6.1"))) load(pathJoin("nccmp","1.9.0.1")) load(pathJoin("wgrib2", "2.0.8")) diff --git a/modulefiles/module_gwci.orion.lua b/modulefiles/module_gwci.orion.lua index 565197fbe4..cef7acf308 100644 --- a/modulefiles/module_gwci.orion.lua +++ b/modulefiles/module_gwci.orion.lua @@ -8,7 +8,7 @@ load(pathJoin("stack-intel", os.getenv("2022.0.2"))) load(pathJoin("stack-intel-oneapi-mpi", os.getenv("2021.5.1"))) load(pathJoin("netcdf-c", os.getenv("4.9.2"))) -load(pathJoin("netcdf-fortran", os.getenv("4.6.0"))) +load(pathJoin("netcdf-fortran", os.getenv("4.6.1"))) load(pathJoin("nccmp","1.9.0.1")) load(pathJoin("wgrib2", "2.0.8")) From 40f2cf6cd70ac94e01babc96982f37ae1b0c7e79 Mon Sep 17 00:00:00 2001 From: henrywinterbottom-wxdev Date: Tue, 13 Feb 2024 10:18:53 -0700 Subject: [PATCH 24/58] Implemented ush/detect_machine.sh for host determination and removed redundant checks for expected file paths. --- ush/load_fv3gfs_modules.sh | 31 +++++++++++++------------------ ush/load_ufsda_modules.sh | 33 ++++++++++++++++----------------- 2 files changed, 29 insertions(+), 35 deletions(-) diff --git a/ush/load_fv3gfs_modules.sh b/ush/load_fv3gfs_modules.sh index 48885c62e4..8e400f38cf 100755 --- a/ush/load_fv3gfs_modules.sh +++ b/ush/load_fv3gfs_modules.sh @@ -10,6 +10,7 @@ fi ulimit_s=$( ulimit -S -s ) # Find module command and purge: +source "${HOMEgfs}/ush/detect_machine.sh" source "${HOMEgfs}/ush/module-setup.sh" # Source versions file for runtime @@ -18,35 +19,29 @@ source "${HOMEgfs}/versions/run.ver" # Load our modules: module use "${HOMEgfs}/modulefiles" -if [[ -d /lfs/f1 ]]; then +if [[ "${MACHINE_ID}" == "wcoss2" || "${MACHINE_ID}" == "acorn" ]]; then # We are on WCOSS2 (Cactus or Dogwood) module load module_base.wcoss2 -elif [[ -d /mnt/lfs1 ]] ; then +elif [[ "${MACHINE_ID}" == "jet" ]] ; then # We are on NOAA Jet module load module_base.jet -elif [[ -d /scratch1 ]] ; then +elif [[ "${MACHINE_ID}" == "hera" ]] ; then # We are on NOAA Hera module load module_base.hera -elif [[ -d /work ]] ; then - # We are on MSU Orion or Hercules - if [[ -d /apps/other ]] ; then - # Hercules - module load module_base.hercules - else - # Orion - module load module_base.orion - fi -elif [[ -d /glade ]] ; then - # We are on NCAR Yellowstone - module load module_base.cheyenne -elif [[ -d /lustre && -d /ncrc ]] ; then +elif [[ "${MACHINE_ID}" == "orion" ]] ; then + # We are on MSU Orion + module load module_base.orion +elif [[ "${MACHINE_ID}" == "hercules" ]] ; then + # We are on MSU Hercules + module load module_base.hercules +elif [[ "${MACHINE_ID}" == "gaea" ]] ; then # We are on GAEA. module load module_base.gaea -elif [[ -d /data/prod ]] ; then +elif [[ "${MACHINE_ID}" == "s4" ]] ; then # We are on SSEC S4 module load module_base.s4 else - echo WARNING: UNKNOWN PLATFORM + echo WARNING: UNKNOWN PLATFORM # TODO: Should an exception be raised here? fi module list diff --git a/ush/load_ufsda_modules.sh b/ush/load_ufsda_modules.sh index f15ae5666c..c7526ce307 100755 --- a/ush/load_ufsda_modules.sh +++ b/ush/load_ufsda_modules.sh @@ -27,43 +27,42 @@ fi ulimit_s=$( ulimit -S -s ) # Find module command and purge: +source "${HOMEgfs}/ush/detect_machine.sh" source "${HOMEgfs}/ush/module-setup.sh" # Load our modules: module use "${HOMEgfs}/sorc/gdas.cd/modulefiles" -if [[ -d /lfs/f1 ]]; then +if [[ "${MACHINE_ID}" == "wcoss2" || "${MACHINE_ID}" == "acorn" ]]; then # We are on WCOSS2 (Cactus or Dogwood) echo WARNING: UFSDA NOT SUPPORTED ON THIS PLATFORM -elif [[ -d /lfs3 ]] ; then +elif [[ "${MACHINE_ID}" == "jet" ]] ; then # We are on NOAA Jet echo WARNING: UFSDA NOT SUPPORTED ON THIS PLATFORM -elif [[ -d /scratch1 ]] ; then +elif [[ "${MACHINE_ID}" == "hera" ]] ; then # We are on NOAA Hera module load "${MODS}/hera" # set NETCDF variable based on ncdump location NETCDF=$( which ncdump ) export NETCDF -elif [[ -d /work ]] ; then - # We are on MSU Orion or Hercules - if [[ -d /apps/other ]] ; then - # Hercules - module load "${MODS}/hercules" - else - # Orion - module load "${MODS}/orion" - fi +elif [[ "${MACHINE_ID}" == "orion" ]] ; then + # We are on MSU Orion + module load "${MODS}/orion" # set NETCDF variable based on ncdump location ncdump=$( which ncdump ) NETCDF=$( echo "${ncdump}" | cut -d " " -f 3 ) export NETCDF -elif [[ -d /glade ]] ; then - # We are on NCAR Yellowstone - echo WARNING: UFSDA NOT SUPPORTED ON THIS PLATFORM -elif [[ -d /lustre && -d /ncrc ]] ; then +elif [[ "${MACHINE_ID}" == "hercules" ]] ; then + # We are on MSU Hercules + module load "${MODS}/hercules" + # set NETCDF variable based on ncdump location + ncdump=$( which ncdump ) + NETCDF=$( echo "${ncdump}" | cut -d " " -f 3 ) + export NETCDF +elif [[ "${MACHINE_ID}" == "gaea" ]] ; then # We are on GAEA. echo WARNING: UFSDA NOT SUPPORTED ON THIS PLATFORM -elif [[ -d /data/prod ]] ; then +elif [[ "${MACHINE_ID}" == "s4" ]] ; then # We are on SSEC S4 echo WARNING: UFSDA NOT SUPPORTED ON THIS PLATFORM else From e4bc674cf3b2df10e0b0dfd50a8ecb0f4f7825d8 Mon Sep 17 00:00:00 2001 From: henrywinterbottom-wxdev Date: Wed, 14 Feb 2024 08:03:45 -0700 Subject: [PATCH 25/58] Corrected based on reviewer review. --- ush/minmon_xtrct_gnorms.pl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ush/minmon_xtrct_gnorms.pl b/ush/minmon_xtrct_gnorms.pl index 997ee60ff3..ac83c08cd3 100755 --- a/ush/minmon_xtrct_gnorms.pl +++ b/ush/minmon_xtrct_gnorms.pl @@ -185,7 +185,7 @@ sub updateGnormData { # #--------------------------------------------------------------------------- -if ($#ARGV != 4 ) { +if ($#ARGV != 3 ) { print "usage: minmon_xtrct_gnorms.pl SUFFIX pdy cyc infile \n"; exit; } From 73bc76bfd47f2cff54df55e15d9ed8969683367d Mon Sep 17 00:00:00 2001 From: henrywinterbottom-wxdev Date: Wed, 14 Feb 2024 09:27:37 -0700 Subject: [PATCH 26/58] Updates based on user request. --- ush/radmon_verf_angle.sh | 1 - ush/radmon_verf_bcoef.sh | 1 - ush/radmon_verf_bcor.sh | 1 - 3 files changed, 3 deletions(-) diff --git a/ush/radmon_verf_angle.sh b/ush/radmon_verf_angle.sh index f68d7c88cc..1066627787 100755 --- a/ush/radmon_verf_angle.sh +++ b/ush/radmon_verf_angle.sh @@ -83,7 +83,6 @@ which prep_step which startmsg # File names -export pgmout=${pgmout:-${jlogfile}} touch "${pgmout}" # Other variables diff --git a/ush/radmon_verf_bcoef.sh b/ush/radmon_verf_bcoef.sh index ab1058711e..b6fd82dff2 100755 --- a/ush/radmon_verf_bcoef.sh +++ b/ush/radmon_verf_bcoef.sh @@ -69,7 +69,6 @@ fi echo " RADMON_NETCDF, netcdf_boolean = ${RADMON_NETCDF}, ${netcdf_boolean}" # File names -pgmout=${pgmout:-${jlogfile}} touch "${pgmout}" # Other variables diff --git a/ush/radmon_verf_bcor.sh b/ush/radmon_verf_bcor.sh index f1f97c247e..7aec48e2b3 100755 --- a/ush/radmon_verf_bcor.sh +++ b/ush/radmon_verf_bcor.sh @@ -65,7 +65,6 @@ source "${HOMEgfs}/ush/preamble.sh" #################################################################### # File names -pgmout=${pgmout:-${jlogfile}} touch "${pgmout}" # Other variables From 8f5900265a31e894060bbe9c89b262f4df0b1760 Mon Sep 17 00:00:00 2001 From: DavidHuber Date: Wed, 14 Feb 2024 18:30:23 +0000 Subject: [PATCH 27/58] Update GSI hashes. --- sorc/gsi_enkf.fd | 2 +- sorc/gsi_monitor.fd | 2 +- sorc/gsi_utils.fd | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/sorc/gsi_enkf.fd b/sorc/gsi_enkf.fd index 6dd0413158..74ac594211 160000 --- a/sorc/gsi_enkf.fd +++ b/sorc/gsi_enkf.fd @@ -1 +1 @@ -Subproject commit 6dd0413158d68da5b1d8d5053ba63513bf75334b +Subproject commit 74ac5942118d2a83ca84d3a629ec3aaffdb36fc5 diff --git a/sorc/gsi_monitor.fd b/sorc/gsi_monitor.fd index ae256c0d69..fb39e83880 160000 --- a/sorc/gsi_monitor.fd +++ b/sorc/gsi_monitor.fd @@ -1 +1 @@ -Subproject commit ae256c0d69df3232ee9dd3e81b176bf2c3cda312 +Subproject commit fb39e83880d44d433bed9af856bc5178bf63d64c diff --git a/sorc/gsi_utils.fd b/sorc/gsi_utils.fd index 5a506f14bf..4c99fb56ab 160000 --- a/sorc/gsi_utils.fd +++ b/sorc/gsi_utils.fd @@ -1 +1 @@ -Subproject commit 5a506f14bfd19c37a31a50dac1891e45b3ddc7ec +Subproject commit 4c99fb56abc6900be86a7deb30582f9dd145fc18 From 2b160f8470bed16c513ca4a5665e2b6d4448c50e Mon Sep 17 00:00:00 2001 From: DavidHuber Date: Wed, 14 Feb 2024 18:31:28 +0000 Subject: [PATCH 28/58] Reenable METplus jobs on Hercules. --- parm/config/gfs/config.base.emc.dyn | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/parm/config/gfs/config.base.emc.dyn b/parm/config/gfs/config.base.emc.dyn index d3e28eb477..250ce03a48 100644 --- a/parm/config/gfs/config.base.emc.dyn +++ b/parm/config/gfs/config.base.emc.dyn @@ -377,11 +377,7 @@ export binary_diag=".false." # Verification options # MET/METplus is not yet supported on Hercules -if [[ "${machine}" == "HERCULES" ]]; then - export DO_METP="NO" -else - export DO_METP="YES" # Run METPLUS jobs - set METPLUS settings in config.metp; not supported with spack-stack -fi +export DO_METP="YES" # Run METPLUS jobs - set METPLUS settings in config.metp; not supported with spack-stack export DO_FIT2OBS="YES" # Run fit to observations package export DO_VRFY_OCEANDA="NO" # Run SOCA Ocean DA verification tasks From 4568653a67aa37c902379db628fb10f69fe7190f Mon Sep 17 00:00:00 2001 From: David Huber Date: Wed, 14 Feb 2024 14:22:13 -0600 Subject: [PATCH 29/58] Reupgrade Hercules to SS/1.6.0 --- modulefiles/module_base.hercules.lua | 5 ++-- modulefiles/module_gwci.hercules.lua | 2 +- modulefiles/module_gwsetup.hercules.lua | 4 +-- versions/build.hercules.ver | 29 +-------------------- versions/run.hercules.ver | 34 ++----------------------- 5 files changed, 8 insertions(+), 66 deletions(-) diff --git a/modulefiles/module_base.hercules.lua b/modulefiles/module_base.hercules.lua index 5b9a602544..1d65ac02c5 100644 --- a/modulefiles/module_base.hercules.lua +++ b/modulefiles/module_base.hercules.lua @@ -37,9 +37,8 @@ load(pathJoin("py-pyyaml", (os.getenv("py_pyyaml_ver") or "None"))) load(pathJoin("py-jinja2", (os.getenv("py_jinja2_ver") or "None"))) load(pathJoin("py-pandas", (os.getenv("py_pandas_ver") or "None"))) load(pathJoin("py-python-dateutil", (os.getenv("py_python_dateutil_ver") or "None"))) --- MET/METplus is not yet enabled on Hercules ---load(pathJoin("met", (os.getenv("met_ver") or "None"))) ---load(pathJoin("metplus", (os.getenv("metplus_ver") or "None"))) +load(pathJoin("met", (os.getenv("met_ver") or "None"))) +load(pathJoin("metplus", (os.getenv("metplus_ver") or "None"))) setenv("WGRIB2","wgrib2") setenv("UTILROOT",(os.getenv("prod_util_ROOT") or "None")) diff --git a/modulefiles/module_gwci.hercules.lua b/modulefiles/module_gwci.hercules.lua index 9c60aed467..179bbef114 100644 --- a/modulefiles/module_gwci.hercules.lua +++ b/modulefiles/module_gwci.hercules.lua @@ -2,7 +2,7 @@ help([[ Load environment to run GFS workflow ci scripts on Hercules ]]) -prepend_path("MODULEPATH", "/work/noaa/epic/role-epic/spack-stack/hercules/spack-stack-1.5.1/envs/gsi-addon/install/modulefiles/Core") +prepend_path("MODULEPATH", "/work/noaa/epic/role-epic/spack-stack/hercules/spack-stack-1.6.0/envs/gsi-addon-env/install/modulefiles/Core") load(pathJoin("stack-intel", os.getenv("2021.9.0"))) load(pathJoin("stack-intel-oneapi-mpi", os.getenv("2021.9.0"))) diff --git a/modulefiles/module_gwsetup.hercules.lua b/modulefiles/module_gwsetup.hercules.lua index 673928605c..795b295b30 100644 --- a/modulefiles/module_gwsetup.hercules.lua +++ b/modulefiles/module_gwsetup.hercules.lua @@ -5,10 +5,10 @@ Load environment to run GFS workflow ci scripts on Hercules load(pathJoin("contrib","0.1")) load(pathJoin("rocoto","1.3.5")) -prepend_path("MODULEPATH", "/work/noaa/epic/role-epic/spack-stack/hercules/spack-stack-1.5.1/envs/gsi-addon/install/modulefiles/Core") +prepend_path("MODULEPATH", "/work/noaa/epic/role-epic/spack-stack/hercules/spack-stack-1.6.0/envs/gsi-addon-env/install/modulefiles/Core") local stack_intel_ver=os.getenv("stack_intel_ver") or "2021.9.0" -local python_ver=os.getenv("python_ver") or "3.10.8" +local python_ver=os.getenv("python_ver") or "3.11.6" load(pathJoin("stack-intel", stack_intel_ver)) load(pathJoin("python", python_ver)) diff --git a/versions/build.hercules.ver b/versions/build.hercules.ver index 38c91670a8..da6c390209 100644 --- a/versions/build.hercules.ver +++ b/versions/build.hercules.ver @@ -1,31 +1,4 @@ export stack_intel_ver=2021.9.0 export stack_impi_ver=2021.9.0 export spack_env=gsi-addon -#source "${HOMEgfs:-}/versions/build.spack.ver" -export spack_stack_ver=1.5.1 - -export cmake_ver=3.23.1 - -export jasper_ver=2.0.32 -export libpng_ver=1.6.37 -export zlib_ver=1.2.13 -export esmf_ver=8.5.0 -export fms_ver=2023.02.01 - -export hdf5_ver=1.14.0 -export netcdf_c_ver=4.9.2 -export netcdf_fortran_ver=4.6.0 - -export bacio_ver=2.4.1 -export nemsio_ver=2.5.4 -export sigio_ver=2.3.2 -export w3emc_ver=2.10.0 -export bufr_ver=11.7.0 -export g2_ver=3.4.5 -export sp_ver=2.3.3 -export ip_ver=4.3.0 -export gsi_ncdiag_ver=1.1.2 -export g2tmpl_ver=1.10.2 -export crtm_ver=2.4.0 -export wgrib2_ver=2.0.8 -export grib_util_ver=1.3.0 +source "${HOMEgfs:-}/versions/build.spack.ver" diff --git a/versions/run.hercules.ver b/versions/run.hercules.ver index f53d0c7280..e9d2c40ec2 100644 --- a/versions/run.hercules.ver +++ b/versions/run.hercules.ver @@ -1,39 +1,9 @@ export stack_intel_ver=2021.9.0 export stack_impi_ver=2021.9.0 export intel_mkl_ver=2023.1.0 -export spack_env=gsi-addon +export spack_env=gsi-addon-env export ncl_ver=6.6.2 export perl_ver=5.36.0 -#source "${HOMEgfs:-}/versions/run.spack.ver" -export spack_stack_ver=1.5.1 -export python_ver=3.10.8 - -export jasper_ver=2.0.32 -export libpng_ver=1.6.37 -export cdo_ver=2.2.0 -export nco_ver=5.0.6 - -export hdf5_ver=1.14.0 -export netcdf_c_ver=4.9.2 -export netcdf_fortran_ver=4.6.0 - -export bufr_ver=11.7.0 -export gsi_ncdiag_ver=1.1.2 -export g2tmpl_ver=1.10.2 -export crtm_ver=2.4.0 -export wgrib2_ver=3.1.1 -export grib_util_ver=1.3.0 -export prod_util_ver=1.2.2 -export py_netcdf4_ver=1.5.8 -export py_pyyaml_ver=5.4.1 -export py_jinja2_ver=3.1.2 -export py_pandas_ver=1.5.3 -export py_python_dateutil_ver=2.8.2 - -export obsproc_run_ver=1.1.2 -export prepobs_run_ver=1.0.1 - -export ens_tracker_ver=feature-GFSv17_com_reorg -export fit2obs_ver=1.0.0 +source "${HOMEgfs:-}/versions/run.spack.ver" From 49392dd47ff84b6586052aeae6879d7d8050b746 Mon Sep 17 00:00:00 2001 From: DavidHuber Date: Wed, 14 Feb 2024 20:29:41 +0000 Subject: [PATCH 30/58] Updated GSI-Utils hash to head of develop. --- sorc/gsi_utils.fd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sorc/gsi_utils.fd b/sorc/gsi_utils.fd index 4c99fb56ab..55abe58825 160000 --- a/sorc/gsi_utils.fd +++ b/sorc/gsi_utils.fd @@ -1 +1 @@ -Subproject commit 4c99fb56abc6900be86a7deb30582f9dd145fc18 +Subproject commit 55abe588252ec6f39047d54a14727cf59f7f6688 From 3080a34253e8e24105bf2be72b6a872b1c072935 Mon Sep 17 00:00:00 2001 From: DavidHuber Date: Wed, 14 Feb 2024 20:52:34 +0000 Subject: [PATCH 31/58] Fixed xarray version for SS/1.6.0. --- versions/run.spack.ver | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/versions/run.spack.ver b/versions/run.spack.ver index ef2dff0b80..c00b7483cd 100644 --- a/versions/run.spack.ver +++ b/versions/run.spack.ver @@ -25,7 +25,7 @@ export py_python_dateutil_ver=2.8.2 export met_ver=9.1.3 export metplus_ver=3.1.1 -export py_xarray_ver=2022.3.0 +export py_xarray_ver=2023.7.0 export obsproc_run_ver=1.1.2 export prepobs_run_ver=1.0.1 From 0ce8c0dbc13227884fef1c637e93616a28c68d34 Mon Sep 17 00:00:00 2001 From: DavidHuber Date: Thu, 15 Feb 2024 14:55:48 +0000 Subject: [PATCH 32/58] Fix git version in Hera's gwsetup module. --- modulefiles/module_gwsetup.hera.lua | 2 +- parm/config/gfs/config.base.emc.dyn | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/modulefiles/module_gwsetup.hera.lua b/modulefiles/module_gwsetup.hera.lua index 6531bbe09e..3e8bf2d7f8 100644 --- a/modulefiles/module_gwsetup.hera.lua +++ b/modulefiles/module_gwsetup.hera.lua @@ -14,7 +14,7 @@ load(pathJoin("python", python_ver)) load("py-jinja2") load("py-pyyaml") load("py-numpy") -local git_ver=os.getenv("git_ver") or "2.40.0" +local git_ver=os.getenv("git_ver") or "2.18.0" load(pathJoin("git", git_ver)) whatis("Description: GFS run setup environment") diff --git a/parm/config/gfs/config.base.emc.dyn b/parm/config/gfs/config.base.emc.dyn index 79b6a6455d..dc04d1635a 100644 --- a/parm/config/gfs/config.base.emc.dyn +++ b/parm/config/gfs/config.base.emc.dyn @@ -376,7 +376,6 @@ export netcdf_diag=".true." export binary_diag=".false." # Verification options -# MET/METplus is not yet supported on Hercules export DO_METP="YES" # Run METPLUS jobs - set METPLUS settings in config.metp; not supported with spack-stack export DO_FIT2OBS="YES" # Run fit to observations package export DO_VRFY_OCEANDA="NO" # Run SOCA Ocean DA verification tasks From ef0723503c72f295de93521c7102c43e75c47417 Mon Sep 17 00:00:00 2001 From: DavidHuber Date: Thu, 15 Feb 2024 16:29:32 +0000 Subject: [PATCH 33/58] Revert UFS hash. --- sorc/ufs_model.fd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sorc/ufs_model.fd b/sorc/ufs_model.fd index 60afb2c1a6..a837cfcb0c 160000 --- a/sorc/ufs_model.fd +++ b/sorc/ufs_model.fd @@ -1 +1 @@ -Subproject commit 60afb2c1a67d7621f21b98d0a9795d26fc395afc +Subproject commit a837cfcb0c79803e13a1375a362d3d0b14b62320 From 777d97d3a1c9f5ec5e8af3ca40a41224ec7099a1 Mon Sep 17 00:00:00 2001 From: David Huber Date: Thu, 15 Feb 2024 12:34:59 -0600 Subject: [PATCH 34/58] Fixed Orion cdo version. --- versions/run.orion.ver | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/versions/run.orion.ver b/versions/run.orion.ver index 835ac99d34..cad33178de 100644 --- a/versions/run.orion.ver +++ b/versions/run.orion.ver @@ -5,8 +5,7 @@ export spack_env=gsi-addon-env export ncl_ver=6.6.2 export gempak_ver=7.5.1 -#For metplus jobs, not currently working with spack-stack -#export met_ver=9.1.3 -#export metplus_ver=3.1.1 - source "${HOMEgfs:-}/versions/run.spack.ver" + +#cdo is older on Orion +export cdo_ver=2.0.5 From 2415b7b4f3e6c376aca27707510001141cc9dd92 Mon Sep 17 00:00:00 2001 From: David Huber Date: Thu, 15 Feb 2024 19:21:17 +0000 Subject: [PATCH 35/58] Load default rocoto on Jet. --- modulefiles/module_gwsetup.jet.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modulefiles/module_gwsetup.jet.lua b/modulefiles/module_gwsetup.jet.lua index 8dcab67d2b..72c40469e4 100644 --- a/modulefiles/module_gwsetup.jet.lua +++ b/modulefiles/module_gwsetup.jet.lua @@ -2,7 +2,7 @@ help([[ Load environment to run GFS workflow setup scripts on Jet ]]) -load(pathJoin("rocoto", "1.3.3")) +load(pathJoin("rocoto")) prepend_path("MODULEPATH", "/mnt/lfs4/HFIP/hfv3gfs/role.epic/spack-stack/spack-stack-1.6.0/envs/gsi-addon-dev/install/modulefiles/Core") From ed25bbd0b26a893d32ce4a10b368dec2bb722424 Mon Sep 17 00:00:00 2001 From: henrywinterbottom-wxdev Date: Fri, 16 Feb 2024 09:33:59 -0700 Subject: [PATCH 36/58] Linter corrections. --- ush/load_ufsda_modules.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ush/load_ufsda_modules.sh b/ush/load_ufsda_modules.sh index c7526ce307..5c30f8ed4b 100755 --- a/ush/load_ufsda_modules.sh +++ b/ush/load_ufsda_modules.sh @@ -43,20 +43,20 @@ elif [[ "${MACHINE_ID}" == "hera" ]] ; then # We are on NOAA Hera module load "${MODS}/hera" # set NETCDF variable based on ncdump location - NETCDF=$( which ncdump ) + NETCDF=$( command -v ncdump) export NETCDF elif [[ "${MACHINE_ID}" == "orion" ]] ; then # We are on MSU Orion module load "${MODS}/orion" # set NETCDF variable based on ncdump location - ncdump=$( which ncdump ) + ncdump=$( command -v ncdump) NETCDF=$( echo "${ncdump}" | cut -d " " -f 3 ) export NETCDF elif [[ "${MACHINE_ID}" == "hercules" ]] ; then # We are on MSU Hercules module load "${MODS}/hercules" # set NETCDF variable based on ncdump location - ncdump=$( which ncdump ) + ncdump=$( command -v ncdump ) NETCDF=$( echo "${ncdump}" | cut -d " " -f 3 ) export NETCDF elif [[ "${MACHINE_ID}" == "gaea" ]] ; then From 4624ce21c99ab303afa10c1dd8ddcce7b6f715ca Mon Sep 17 00:00:00 2001 From: henrywinterbottom-wxdev Date: Fri, 16 Feb 2024 10:52:11 -0700 Subject: [PATCH 37/58] Updates requested by reviewer; testing -- DO NOT REVIEW. --- ush/load_fv3gfs_modules.sh | 59 ++++++++++++++++----------- ush/load_ufsda_modules.sh | 82 ++++++++++++++++++++++---------------- 2 files changed, 83 insertions(+), 58 deletions(-) diff --git a/ush/load_fv3gfs_modules.sh b/ush/load_fv3gfs_modules.sh index 8e400f38cf..b09f1bf166 100755 --- a/ush/load_fv3gfs_modules.sh +++ b/ush/load_fv3gfs_modules.sh @@ -19,30 +19,41 @@ source "${HOMEgfs}/versions/run.ver" # Load our modules: module use "${HOMEgfs}/modulefiles" -if [[ "${MACHINE_ID}" == "wcoss2" || "${MACHINE_ID}" == "acorn" ]]; then - # We are on WCOSS2 (Cactus or Dogwood) - module load module_base.wcoss2 -elif [[ "${MACHINE_ID}" == "jet" ]] ; then - # We are on NOAA Jet - module load module_base.jet -elif [[ "${MACHINE_ID}" == "hera" ]] ; then - # We are on NOAA Hera - module load module_base.hera -elif [[ "${MACHINE_ID}" == "orion" ]] ; then - # We are on MSU Orion - module load module_base.orion -elif [[ "${MACHINE_ID}" == "hercules" ]] ; then - # We are on MSU Hercules - module load module_base.hercules -elif [[ "${MACHINE_ID}" == "gaea" ]] ; then - # We are on GAEA. - module load module_base.gaea -elif [[ "${MACHINE_ID}" == "s4" ]] ; then - # We are on SSEC S4 - module load module_base.s4 -else - echo WARNING: UNKNOWN PLATFORM # TODO: Should an exception be raised here? -fi +# TODO: Testing. + +#if [[ "${MACHINE_ID}" == "wcoss2" || "${MACHINE_ID}" == "acorn" ]]; then +# # We are on WCOSS2 (Cactus or Dogwood) +# module load module_base.wcoss2 +#elif [[ "${MACHINE_ID}" == "jet" ]] ; then +# # We are on NOAA Jet +# module load module_base.jet +#elif [[ "${MACHINE_ID}" == "hera" ]] ; then +# # We are on NOAA Hera +# module load module_base.hera +#elif [[ "${MACHINE_ID}" == "orion" ]] ; then +# # We are on MSU Orion +# module load module_base.orion +#elif [[ "${MACHINE_ID}" == "hercules" ]] ; then +# # We are on MSU Hercules +# module load module_base.hercules +#elif [[ "${MACHINE_ID}" == "gaea" ]] ; then +# # We are on GAEA. +# module load module_base.gaea +#elif [[ "${MACHINE_ID}" == "s4" ]] ; then +# # We are on SSEC S4 +# module load module_base.s4 +#else +# echo WARNING: UNKNOWN PLATFORM # TODO: Should an exception be raised here? +#fi + +case "${MACHINE_ID}" in + "wcoss2" | "hera" | "orion" | "hercules" | "gaea" | "jet" | "s4") + module load "module_base.${MACHINE_ID}" + ;; + *) + echo "WARNING: UNKNOWN PLATFORM" + ;; +esac module list diff --git a/ush/load_ufsda_modules.sh b/ush/load_ufsda_modules.sh index 5c30f8ed4b..d8333083f4 100755 --- a/ush/load_ufsda_modules.sh +++ b/ush/load_ufsda_modules.sh @@ -33,41 +33,55 @@ source "${HOMEgfs}/ush/module-setup.sh" # Load our modules: module use "${HOMEgfs}/sorc/gdas.cd/modulefiles" -if [[ "${MACHINE_ID}" == "wcoss2" || "${MACHINE_ID}" == "acorn" ]]; then - # We are on WCOSS2 (Cactus or Dogwood) - echo WARNING: UFSDA NOT SUPPORTED ON THIS PLATFORM -elif [[ "${MACHINE_ID}" == "jet" ]] ; then - # We are on NOAA Jet - echo WARNING: UFSDA NOT SUPPORTED ON THIS PLATFORM -elif [[ "${MACHINE_ID}" == "hera" ]] ; then - # We are on NOAA Hera - module load "${MODS}/hera" - # set NETCDF variable based on ncdump location - NETCDF=$( command -v ncdump) - export NETCDF -elif [[ "${MACHINE_ID}" == "orion" ]] ; then - # We are on MSU Orion - module load "${MODS}/orion" - # set NETCDF variable based on ncdump location - ncdump=$( command -v ncdump) - NETCDF=$( echo "${ncdump}" | cut -d " " -f 3 ) - export NETCDF -elif [[ "${MACHINE_ID}" == "hercules" ]] ; then - # We are on MSU Hercules - module load "${MODS}/hercules" - # set NETCDF variable based on ncdump location - ncdump=$( command -v ncdump ) - NETCDF=$( echo "${ncdump}" | cut -d " " -f 3 ) - export NETCDF -elif [[ "${MACHINE_ID}" == "gaea" ]] ; then +#if [[ "${MACHINE_ID}" == "wcoss2" || "${MACHINE_ID}" == "acorn" ]]; then +# # We are on WCOSS2 (Cactus or Dogwood) +# echo WARNING: UFSDA NOT SUPPORTED ON THIS PLATFORM +#elif [[ "${MACHINE_ID}" == "jet" ]] ; then +# # We are on NOAA Jet +# echo WARNING: UFSDA NOT SUPPORTED ON THIS PLATFORM +#elif [[ "${MACHINE_ID}" == "hera" ]] ; then +# # We are on NOAA Hera +# module load "${MODS}/hera" +# # set NETCDF variable based on ncdump location +# NETCDF=$( command -v ncdump) +# export NETCDF +#elif [[ "${MACHINE_ID}" == "orion" ]] ; then +# # We are on MSU Orion +# module load "${MODS}/orion" +# # set NETCDF variable based on ncdump location +# ncdump=$( command -v ncdump) +# NETCDF=$( echo "${ncdump}" | cut -d " " -f 3 ) +# export NETCDF +#elif [[ "${MACHINE_ID}" == "hercules" ]] ; then +# # We are on MSU Hercules +# module load "${MODS}/hercules" +# # set NETCDF variable based on ncdump location +# ncdump=$( command -v ncdump ) +# NETCDF=$( echo "${ncdump}" | cut -d " " -f 3 ) +# export NETCDF +#elif [[ "${MACHINE_ID}" == "gaea" ]] ; then # We are on GAEA. - echo WARNING: UFSDA NOT SUPPORTED ON THIS PLATFORM -elif [[ "${MACHINE_ID}" == "s4" ]] ; then - # We are on SSEC S4 - echo WARNING: UFSDA NOT SUPPORTED ON THIS PLATFORM -else - echo WARNING: UNKNOWN PLATFORM -fi +# echo WARNING: UFSDA NOT SUPPORTED ON THIS PLATFORM +#elif [[ "${MACHINE_ID}" == "s4" ]] ; then +# # We are on SSEC S4 +# echo WARNING: UFSDA NOT SUPPORTED ON THIS PLATFORM +#else +# echo WARNING: UNKNOWN PLATFORM +#fi + +case "${MACHINE_ID}" in + ("hera" | "orion" | "hercules") + module load "${MODS}/${MACHINE_ID}" + NETCDF=$( command -v ncdump ) + export NETCDF + ;; + ("wcoss2" | "acorn" | "jet" | "gaea" | "s4") + echo WARNING: UFSDA NOT SUPPORTED ON THIS PLATFORM + ;; + *) + echo "WARNING: UNKNOWN PLATFORM" + ;; +esac module list pip list From 8e4f94d13d32849b2862a9d59aa070f4103c61ae Mon Sep 17 00:00:00 2001 From: henrywinterbottom-wxdev Date: Fri, 16 Feb 2024 11:04:41 -0700 Subject: [PATCH 38/58] Updates requested by reviewer Rahul Mahajan. --- ush/load_fv3gfs_modules.sh | 27 --------------------------- ush/load_ufsda_modules.sh | 36 ------------------------------------ 2 files changed, 63 deletions(-) diff --git a/ush/load_fv3gfs_modules.sh b/ush/load_fv3gfs_modules.sh index b09f1bf166..ae0e381db4 100755 --- a/ush/load_fv3gfs_modules.sh +++ b/ush/load_fv3gfs_modules.sh @@ -19,33 +19,6 @@ source "${HOMEgfs}/versions/run.ver" # Load our modules: module use "${HOMEgfs}/modulefiles" -# TODO: Testing. - -#if [[ "${MACHINE_ID}" == "wcoss2" || "${MACHINE_ID}" == "acorn" ]]; then -# # We are on WCOSS2 (Cactus or Dogwood) -# module load module_base.wcoss2 -#elif [[ "${MACHINE_ID}" == "jet" ]] ; then -# # We are on NOAA Jet -# module load module_base.jet -#elif [[ "${MACHINE_ID}" == "hera" ]] ; then -# # We are on NOAA Hera -# module load module_base.hera -#elif [[ "${MACHINE_ID}" == "orion" ]] ; then -# # We are on MSU Orion -# module load module_base.orion -#elif [[ "${MACHINE_ID}" == "hercules" ]] ; then -# # We are on MSU Hercules -# module load module_base.hercules -#elif [[ "${MACHINE_ID}" == "gaea" ]] ; then -# # We are on GAEA. -# module load module_base.gaea -#elif [[ "${MACHINE_ID}" == "s4" ]] ; then -# # We are on SSEC S4 -# module load module_base.s4 -#else -# echo WARNING: UNKNOWN PLATFORM # TODO: Should an exception be raised here? -#fi - case "${MACHINE_ID}" in "wcoss2" | "hera" | "orion" | "hercules" | "gaea" | "jet" | "s4") module load "module_base.${MACHINE_ID}" diff --git a/ush/load_ufsda_modules.sh b/ush/load_ufsda_modules.sh index d8333083f4..68547cc05b 100755 --- a/ush/load_ufsda_modules.sh +++ b/ush/load_ufsda_modules.sh @@ -33,42 +33,6 @@ source "${HOMEgfs}/ush/module-setup.sh" # Load our modules: module use "${HOMEgfs}/sorc/gdas.cd/modulefiles" -#if [[ "${MACHINE_ID}" == "wcoss2" || "${MACHINE_ID}" == "acorn" ]]; then -# # We are on WCOSS2 (Cactus or Dogwood) -# echo WARNING: UFSDA NOT SUPPORTED ON THIS PLATFORM -#elif [[ "${MACHINE_ID}" == "jet" ]] ; then -# # We are on NOAA Jet -# echo WARNING: UFSDA NOT SUPPORTED ON THIS PLATFORM -#elif [[ "${MACHINE_ID}" == "hera" ]] ; then -# # We are on NOAA Hera -# module load "${MODS}/hera" -# # set NETCDF variable based on ncdump location -# NETCDF=$( command -v ncdump) -# export NETCDF -#elif [[ "${MACHINE_ID}" == "orion" ]] ; then -# # We are on MSU Orion -# module load "${MODS}/orion" -# # set NETCDF variable based on ncdump location -# ncdump=$( command -v ncdump) -# NETCDF=$( echo "${ncdump}" | cut -d " " -f 3 ) -# export NETCDF -#elif [[ "${MACHINE_ID}" == "hercules" ]] ; then -# # We are on MSU Hercules -# module load "${MODS}/hercules" -# # set NETCDF variable based on ncdump location -# ncdump=$( command -v ncdump ) -# NETCDF=$( echo "${ncdump}" | cut -d " " -f 3 ) -# export NETCDF -#elif [[ "${MACHINE_ID}" == "gaea" ]] ; then - # We are on GAEA. -# echo WARNING: UFSDA NOT SUPPORTED ON THIS PLATFORM -#elif [[ "${MACHINE_ID}" == "s4" ]] ; then -# # We are on SSEC S4 -# echo WARNING: UFSDA NOT SUPPORTED ON THIS PLATFORM -#else -# echo WARNING: UNKNOWN PLATFORM -#fi - case "${MACHINE_ID}" in ("hera" | "orion" | "hercules") module load "${MODS}/${MACHINE_ID}" From 4529e8cf3736ffbacf615a27e99f4d1beec391aa Mon Sep 17 00:00:00 2001 From: henrywinterbottom-wxdev Date: Fri, 16 Feb 2024 11:12:01 -0700 Subject: [PATCH 39/58] Bug fix. --- ush/load_ufsda_modules.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ush/load_ufsda_modules.sh b/ush/load_ufsda_modules.sh index 68547cc05b..e8e72b8fbe 100755 --- a/ush/load_ufsda_modules.sh +++ b/ush/load_ufsda_modules.sh @@ -36,7 +36,8 @@ module use "${HOMEgfs}/sorc/gdas.cd/modulefiles" case "${MACHINE_ID}" in ("hera" | "orion" | "hercules") module load "${MODS}/${MACHINE_ID}" - NETCDF=$( command -v ncdump ) + ncdump=$( command -v ncdump ) + NETCDF=$( echo "${ncdump}" | cut -d " " -f 3 ) export NETCDF ;; ("wcoss2" | "acorn" | "jet" | "gaea" | "s4") From 48b34d0f388a398bb91f7c3b1e5f8338f4beb7b9 Mon Sep 17 00:00:00 2001 From: David Huber Date: Fri, 16 Feb 2024 20:56:55 +0000 Subject: [PATCH 40/58] Added verif-global support back to WCOSS2. --- modulefiles/module_base.wcoss2.lua | 3 +++ sorc/verif-global.fd | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/modulefiles/module_base.wcoss2.lua b/modulefiles/module_base.wcoss2.lua index 8db2e9a50a..43b21ccc25 100644 --- a/modulefiles/module_base.wcoss2.lua +++ b/modulefiles/module_base.wcoss2.lua @@ -30,6 +30,9 @@ load(pathJoin("g2tmpl", (os.getenv("g2tmpl_ver") or "None"))) load(pathJoin("ncdiag", (os.getenv("ncdiag_ver") or "None"))) load(pathJoin("crtm", (os.getenv("crtm_ver") or "None"))) load(pathJoin("wgrib2", (os.getenv("wgrib2_ver") or "None"))) + +prepend_path("MODULEPATH", "/apps/ops/para/libs/modulefiles/compiler/intel/19.1.3.304") +setenv("HPC_OPT", "/apps/ops/para/libs") load(pathJoin("met", (os.getenv("met_ver") or "None"))) load(pathJoin("metplus", (os.getenv("metplus_ver") or "None"))) diff --git a/sorc/verif-global.fd b/sorc/verif-global.fd index 3dad0a6a72..3dcd1fdd90 160000 --- a/sorc/verif-global.fd +++ b/sorc/verif-global.fd @@ -1 +1 @@ -Subproject commit 3dad0a6a72e08f7636b7828ec95df9115ad55157 +Subproject commit 3dcd1fdd9056eb17717d484678c84e9490767936 From ae7eb194cbe2213e564807dd7bc03a28d493eff2 Mon Sep 17 00:00:00 2001 From: David Huber <69919478+DavidHuber-NOAA@users.noreply.github.com> Date: Fri, 16 Feb 2024 16:15:40 -0500 Subject: [PATCH 41/58] Fix whitespace in build_upp.sh. Co-authored-by: Rahul Mahajan --- sorc/build_upp.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sorc/build_upp.sh b/sorc/build_upp.sh index 393d369dbf..5c4bf45a9f 100755 --- a/sorc/build_upp.sh +++ b/sorc/build_upp.sh @@ -10,7 +10,7 @@ while getopts ":dvj:" option; do case "${option}" in d) _opts+="-d ";; v) _opts+="-v ";; - j) export BUILD_JOBS="${OPTARG}"; echo success ;; + j) export BUILD_JOBS="${OPTARG}"; echo success ;; :) echo "[${BASH_SOURCE[0]}]: ${option} requires an argument" ;; From d81f07fbf53666a37ab01bd463152e10252869ae Mon Sep 17 00:00:00 2001 From: David Huber Date: Tue, 20 Feb 2024 07:41:38 -0600 Subject: [PATCH 42/58] Clean up build_upp.sh. -Corrected whitespace (tabs instead of spaces) -Removed debug print statement -Alphebetized flags --- sorc/build_upp.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sorc/build_upp.sh b/sorc/build_upp.sh index 5c4bf45a9f..8a2e1f6fcd 100755 --- a/sorc/build_upp.sh +++ b/sorc/build_upp.sh @@ -6,11 +6,11 @@ cd "${script_dir}" || exit 1 OPTIND=1 _opts="" -while getopts ":dvj:" option; do +while getopts ":dj:v" option; do case "${option}" in d) _opts+="-d ";; + j) export BUILD_JOBS="${OPTARG}" ;; v) _opts+="-v ";; - j) export BUILD_JOBS="${OPTARG}"; echo success ;; :) echo "[${BASH_SOURCE[0]}]: ${option} requires an argument" ;; From a812f88af3fc043d57494840e81a7527723858e4 Mon Sep 17 00:00:00 2001 From: David Huber Date: Tue, 20 Feb 2024 07:45:45 -0600 Subject: [PATCH 43/58] Update verif-global to latest WCOSS2 support. --- sorc/verif-global.fd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sorc/verif-global.fd b/sorc/verif-global.fd index 3dcd1fdd90..bd1c8f62a1 160000 --- a/sorc/verif-global.fd +++ b/sorc/verif-global.fd @@ -1 +1 @@ -Subproject commit 3dcd1fdd9056eb17717d484678c84e9490767936 +Subproject commit bd1c8f62a1878051e34ff7c6f6a4dd290381f1ef From d7d28a6b65b84c8d821abd2c13d0c068bd5ad6d8 Mon Sep 17 00:00:00 2001 From: David Huber Date: Tue, 20 Feb 2024 07:53:15 -0600 Subject: [PATCH 44/58] Update comment about METplus support. --- parm/config/gfs/config.base.emc.dyn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/parm/config/gfs/config.base.emc.dyn b/parm/config/gfs/config.base.emc.dyn index fd5e9ef78b..d3dd06be86 100644 --- a/parm/config/gfs/config.base.emc.dyn +++ b/parm/config/gfs/config.base.emc.dyn @@ -377,7 +377,7 @@ export netcdf_diag=".true." export binary_diag=".false." # Verification options -export DO_METP="YES" # Run METPLUS jobs - set METPLUS settings in config.metp; not supported with spack-stack +export DO_METP="YES" # Run METPLUS jobs - set METPLUS settings in config.metp export DO_FIT2OBS="YES" # Run fit to observations package export DO_VRFY_OCEANDA="NO" # Run SOCA Ocean DA verification tasks From fdc638ca1616b347912caec77e5abc2d3e6f18af Mon Sep 17 00:00:00 2001 From: David Huber Date: Tue, 20 Feb 2024 08:35:15 -0600 Subject: [PATCH 45/58] Move SS module path to version files. --- modulefiles/module_base.hera.lua | 5 ++--- modulefiles/module_base.hercules.lua | 9 ++------- modulefiles/module_base.jet.lua | 5 ++--- modulefiles/module_base.orion.lua | 5 ++--- modulefiles/module_base.s4.lua | 5 ++--- versions/build.hera.ver | 1 + versions/build.hercules.ver | 1 + versions/build.jet.ver | 1 + versions/build.orion.ver | 3 ++- versions/build.s4.ver | 2 +- versions/run.hera.ver | 1 + versions/run.hercules.ver | 2 +- versions/run.jet.ver | 1 + versions/run.orion.ver | 1 + versions/run.s4.ver | 2 +- 15 files changed, 21 insertions(+), 23 deletions(-) diff --git a/modulefiles/module_base.hera.lua b/modulefiles/module_base.hera.lua index f88409a7a9..ee6854d610 100644 --- a/modulefiles/module_base.hera.lua +++ b/modulefiles/module_base.hera.lua @@ -2,9 +2,8 @@ help([[ Load environment to run GFS on Hera ]]) -spack_stack_ver=(os.getenv("spack_stack_ver") or "None") -spack_env=(os.getenv("spack_env") or "None") -prepend_path("MODULEPATH", "/scratch1/NCEPDEV/nems/role.epic/spack-stack/spack-stack-" .. spack_stack_ver .. "/envs/" .. spack_env .. "/install/modulefiles/Core") +local spack_mod_path=(os.getenv("spack_mod_path") or "None") +prepend_path("MODULEPATH", spack_mod_path) load(pathJoin("stack-intel", (os.getenv("stack_intel_ver") or "None"))) load(pathJoin("stack-intel-oneapi-mpi", (os.getenv("stack_impi_ver") or "None"))) diff --git a/modulefiles/module_base.hercules.lua b/modulefiles/module_base.hercules.lua index 409a1d6f5a..5534437392 100644 --- a/modulefiles/module_base.hercules.lua +++ b/modulefiles/module_base.hercules.lua @@ -2,9 +2,8 @@ help([[ Load environment to run GFS on Hercules ]]) -spack_stack_ver=(os.getenv("spack_stack_ver") or "None") -spack_env=(os.getenv("spack_env") or "None") -prepend_path("MODULEPATH", "/work/noaa/epic/role-epic/spack-stack/hercules/spack-stack-" .. spack_stack_ver .. "/envs/" .. spack_env .. "/install/modulefiles/Core") +local spack_mod_path=(os.getenv("spack_mod_path") or "None") +prepend_path("MODULEPATH", spack_mod_path) load(pathJoin("stack-intel", (os.getenv("stack_intel_ver") or "None"))) load(pathJoin("stack-intel-oneapi-mpi", (os.getenv("stack_impi_ver") or "None"))) @@ -12,10 +11,6 @@ load(pathJoin("intel-oneapi-mkl", (os.getenv("intel_mkl_ver") or "None"))) load(pathJoin("python", (os.getenv("python_ver") or "None"))) load(pathJoin("perl", (os.getenv("perl_ver") or "None"))) --- TODO load NCL once the SAs remove the 'depends_on' statements within it --- NCL is a static installation and does not depend on any libraries --- but as is will load, among others, the system netcdf-c/4.9.0 module ---load(pathJoin("ncl", (os.getenv("ncl_ver") or "None"))) load(pathJoin("jasper", (os.getenv("jasper_ver") or "None"))) load(pathJoin("libpng", (os.getenv("libpng_ver") or "None"))) load(pathJoin("cdo", (os.getenv("cdo_ver") or "None"))) diff --git a/modulefiles/module_base.jet.lua b/modulefiles/module_base.jet.lua index e6ff3136b6..55a1eb1c68 100644 --- a/modulefiles/module_base.jet.lua +++ b/modulefiles/module_base.jet.lua @@ -2,9 +2,8 @@ help([[ Load environment to run GFS on Jet ]]) -spack_stack_ver=(os.getenv("spack_stack_ver") or "None") -spack_env=(os.getenv("spack_env") or "None") -prepend_path("MODULEPATH", "/mnt/lfs4/HFIP/hfv3gfs/role.epic/spack-stack/spack-stack-" .. spack_stack_ver .. "/envs/" .. spack_env .. "/install/modulefiles/Core") +local spack_mod_path=(os.getenv("spack_mod_path") or "None") +prepend_path("MODULEPATH", spack_mod_path) load(pathJoin("stack-intel", (os.getenv("stack_intel_ver") or "None"))) load(pathJoin("stack-intel-oneapi-mpi", (os.getenv("stack_impi_ver") or "None"))) diff --git a/modulefiles/module_base.orion.lua b/modulefiles/module_base.orion.lua index bad652a6f9..49b2c64f21 100644 --- a/modulefiles/module_base.orion.lua +++ b/modulefiles/module_base.orion.lua @@ -2,9 +2,8 @@ help([[ Load environment to run GFS on Orion ]]) -spack_stack_ver=(os.getenv("spack_stack_ver") or "None") -spack_env=(os.getenv("spack_env") or "None") -prepend_path("MODULEPATH", "/work/noaa/epic/role-epic/spack-stack/orion/spack-stack-" .. spack_stack_ver .. "/envs/" .. spack_env .. "/install/modulefiles/Core") +local spack_mod_path=(os.getenv("spack_mod_path") or "None") +prepend_path("MODULEPATH", spack_mod_path) load(pathJoin("stack-intel", (os.getenv("stack_intel_ver") or "None"))) load(pathJoin("stack-intel-oneapi-mpi", (os.getenv("stack_impi_ver") or "None"))) diff --git a/modulefiles/module_base.s4.lua b/modulefiles/module_base.s4.lua index 21c4a50c4c..d8dccc89ba 100644 --- a/modulefiles/module_base.s4.lua +++ b/modulefiles/module_base.s4.lua @@ -2,9 +2,8 @@ help([[ Load environment to run GFS on S4 ]]) -spack_stack_ver=(os.getenv("spack_stack_ver") or "None") -spack_env=(os.getenv("spack_env") or "None") -prepend_path("MODULEPATH", "/data/prod/jedi/spack-stack/spack-stack-" .. spack_stack_ver .. "/envs/" .. spack_env .. "/install/modulefiles/Core") +local spack_mod_path=(os.getenv("spack_mod_path") or "None") +prepend_path("MODULEPATH", spack_mod_path) load(pathJoin("stack-intel", (os.getenv("stack_intel_ver") or "None"))) load(pathJoin("stack-intel-oneapi-mpi", (os.getenv("stack_impi_ver") or "None"))) diff --git a/versions/build.hera.ver b/versions/build.hera.ver index 66ec8e4c6c..9f94cf257d 100644 --- a/versions/build.hera.ver +++ b/versions/build.hera.ver @@ -1,3 +1,4 @@ +export spack_mod_path="/scratch1/NCEPDEV/nems/role.epic/spack-stack/spack-stack-1.6.0/envs/gsi-addon-dev/install/modulefiles/Core" export stack_intel_ver=2021.5.0 export stack_impi_ver=2021.5.1 export spack_env=gsi-addon-dev diff --git a/versions/build.hercules.ver b/versions/build.hercules.ver index da6c390209..2fba9e072d 100644 --- a/versions/build.hercules.ver +++ b/versions/build.hercules.ver @@ -1,3 +1,4 @@ +export spack_mod_path="/work/noaa/epic/role-epic/spack-stack/hercules/spack-stack-1.6.0/envs/gsi-addon-env/install/modulefiles/Core" export stack_intel_ver=2021.9.0 export stack_impi_ver=2021.9.0 export spack_env=gsi-addon diff --git a/versions/build.jet.ver b/versions/build.jet.ver index 66ec8e4c6c..4444b0d295 100644 --- a/versions/build.jet.ver +++ b/versions/build.jet.ver @@ -1,3 +1,4 @@ +export spack_mod_path="/lfs4/HFIP/hfv3gfs/role.epic/spack-stack/spack-stack-1.6.0/envs/gsi-addon-dev/install/modulefiles/Core" export stack_intel_ver=2021.5.0 export stack_impi_ver=2021.5.1 export spack_env=gsi-addon-dev diff --git a/versions/build.orion.ver b/versions/build.orion.ver index 33f271e93b..91ab50da36 100644 --- a/versions/build.orion.ver +++ b/versions/build.orion.ver @@ -1,4 +1,5 @@ -export stack_intel_ver=2021.5.0 +export spack_mod_path="/work/noaa/epic/role-epic/spack-stack/orion/spack-stack-1.6.0/envs/gsi-addon-env/install/modulefiles/Core" +export stack_intel_ver=2022.0.2 export stack_impi_ver=2021.5.1 export spack_env=gsi-addon-env source "${HOMEgfs:-}/versions/build.spack.ver" diff --git a/versions/build.s4.ver b/versions/build.s4.ver index a75cb612f8..4b72cc5a4a 100644 --- a/versions/build.s4.ver +++ b/versions/build.s4.ver @@ -1,4 +1,4 @@ +export spack_mod_path="/data/prod/jedi/spack-stack/spack-stack-1.6.0/envs/gsi-addon-env/install/modulefiles/Core" export stack_intel_ver=2021.5.0 export stack_impi_ver=2021.5.0 -export spack_env=gsi-addon-env source "${HOMEgfs:-}/versions/build.spack.ver" diff --git a/versions/run.hera.ver b/versions/run.hera.ver index 0895659307..60a3675299 100644 --- a/versions/run.hera.ver +++ b/versions/run.hera.ver @@ -1,3 +1,4 @@ +export spack_mod_path="/scratch1/NCEPDEV/nems/role.epic/spack-stack/spack-stack-1.6.0/envs/gsi-addon-dev/install/modulefiles/Core" export stack_intel_ver=2021.5.0 export stack_impi_ver=2021.5.1 export spack_env=gsi-addon-dev diff --git a/versions/run.hercules.ver b/versions/run.hercules.ver index e9d2c40ec2..34b75b2377 100644 --- a/versions/run.hercules.ver +++ b/versions/run.hercules.ver @@ -1,9 +1,9 @@ +export spack_mod_path="/work/noaa/epic/role-epic/spack-stack/hercules/spack-stack-1.6.0/envs/gsi-addon-env/install/modulefiles/Core" export stack_intel_ver=2021.9.0 export stack_impi_ver=2021.9.0 export intel_mkl_ver=2023.1.0 export spack_env=gsi-addon-env -export ncl_ver=6.6.2 export perl_ver=5.36.0 source "${HOMEgfs:-}/versions/run.spack.ver" diff --git a/versions/run.jet.ver b/versions/run.jet.ver index 5192188364..6379bd5e61 100644 --- a/versions/run.jet.ver +++ b/versions/run.jet.ver @@ -1,3 +1,4 @@ +export spack_mod_path="/lfs4/HFIP/hfv3gfs/role.epic/spack-stack/spack-stack-1.6.0/envs/gsi-addon-dev/install/modulefiles/Core" export stack_intel_ver=2021.5.0 export stack_impi_ver=2021.5.1 export spack_env=gsi-addon-dev diff --git a/versions/run.orion.ver b/versions/run.orion.ver index cad33178de..3de968e06d 100644 --- a/versions/run.orion.ver +++ b/versions/run.orion.ver @@ -1,3 +1,4 @@ +export spack_mod_path="/work/noaa/epic/role-epic/spack-stack/orion/spack-stack-1.6.0/envs/gsi-addon-env/install/modulefiles/Core" export stack_intel_ver=2022.0.2 export stack_impi_ver=2021.5.1 export spack_env=gsi-addon-env diff --git a/versions/run.s4.ver b/versions/run.s4.ver index 27a53db299..941d6e46e3 100644 --- a/versions/run.s4.ver +++ b/versions/run.s4.ver @@ -1,6 +1,6 @@ +export spack_mod_path="/data/prod/jedi/spack-stack/spack-stack-1.6.0/envs/gsi-addon-env/install/modulefiles/Core" export stack_intel_ver=2021.5.0 export stack_impi_ver=2021.5.0 -export spack_env=gsi-addon-env export ncl_ver=6.4.0-precompiled From 3330cd7310bde8090b68720c225656074676d6b2 Mon Sep 17 00:00:00 2001 From: David Huber Date: Tue, 20 Feb 2024 09:06:19 -0600 Subject: [PATCH 46/58] Removed MET/METplus 'not available' comments --- modulefiles/module_base.hera.lua | 4 ---- modulefiles/module_base.orion.lua | 4 ---- 2 files changed, 8 deletions(-) diff --git a/modulefiles/module_base.hera.lua b/modulefiles/module_base.hera.lua index ee6854d610..8703100e76 100644 --- a/modulefiles/module_base.hera.lua +++ b/modulefiles/module_base.hera.lua @@ -38,10 +38,6 @@ load(pathJoin("met", (os.getenv("met_ver") or "None"))) load(pathJoin("metplus", (os.getenv("metplus_ver") or "None"))) load(pathJoin("py-xarray", (os.getenv("py_xarray_ver") or "None"))) --- MET/METplus are not available for use with spack-stack, yet ---load(pathJoin("met", (os.getenv("met_ver") or "None"))) ---load(pathJoin("metplus", (os.getenv("metplus_ver") or "None"))) - setenv("WGRIB2","wgrib2") setenv("UTILROOT",(os.getenv("prod_util_ROOT") or "None")) diff --git a/modulefiles/module_base.orion.lua b/modulefiles/module_base.orion.lua index 49b2c64f21..4e2e24b82f 100644 --- a/modulefiles/module_base.orion.lua +++ b/modulefiles/module_base.orion.lua @@ -36,10 +36,6 @@ load(pathJoin("met", (os.getenv("met_ver") or "None"))) load(pathJoin("metplus", (os.getenv("metplus_ver") or "None"))) load(pathJoin("py-xarray", (os.getenv("py_xarray_ver") or "None"))) --- MET/METplus are not yet supported with spack-stack ---load(pathJoin("met", (os.getenv("met_ver") or "None"))) ---load(pathJoin("metplus", (os.getenv("metplus_ver") or "None"))) - setenv("WGRIB2","wgrib2") setenv("UTILROOT",(os.getenv("prod_util_ROOT") or "None")) From 0bf340bce2f865c582e5305f0c5984cd3affe74e Mon Sep 17 00:00:00 2001 From: David Huber Date: Tue, 20 Feb 2024 09:07:32 -0600 Subject: [PATCH 47/58] Construct SS paths from version variables. --- versions/build.hera.ver | 2 +- versions/build.hercules.ver | 5 +++-- versions/build.jet.ver | 2 +- versions/build.orion.ver | 2 +- versions/build.s4.ver | 3 ++- versions/run.hera.ver | 2 +- versions/run.hercules.ver | 2 +- versions/run.jet.ver | 2 +- versions/run.orion.ver | 2 +- versions/run.s4.ver | 3 ++- 10 files changed, 14 insertions(+), 11 deletions(-) diff --git a/versions/build.hera.ver b/versions/build.hera.ver index 9f94cf257d..263e967a97 100644 --- a/versions/build.hera.ver +++ b/versions/build.hera.ver @@ -1,5 +1,5 @@ -export spack_mod_path="/scratch1/NCEPDEV/nems/role.epic/spack-stack/spack-stack-1.6.0/envs/gsi-addon-dev/install/modulefiles/Core" export stack_intel_ver=2021.5.0 export stack_impi_ver=2021.5.1 export spack_env=gsi-addon-dev source "${HOMEgfs:-}/versions/build.spack.ver" +export spack_mod_path="/scratch1/NCEPDEV/nems/role.epic/spack-stack/spack-stack-${spack_stack_ver}/envs/${spack_env}/install/modulefiles/Core" diff --git a/versions/build.hercules.ver b/versions/build.hercules.ver index 2fba9e072d..cab0c92111 100644 --- a/versions/build.hercules.ver +++ b/versions/build.hercules.ver @@ -1,5 +1,6 @@ -export spack_mod_path="/work/noaa/epic/role-epic/spack-stack/hercules/spack-stack-1.6.0/envs/gsi-addon-env/install/modulefiles/Core" export stack_intel_ver=2021.9.0 export stack_impi_ver=2021.9.0 -export spack_env=gsi-addon +export intel_mkl_ver=2023.1.0 +export spack_env=gsi-addon-env source "${HOMEgfs:-}/versions/build.spack.ver" +export spack_mod_path="/work/noaa/epic/role-epic/spack-stack/hercules/spack-stack-${spack_stack_ver}/envs/${spack_env}/install/modulefiles/Core" diff --git a/versions/build.jet.ver b/versions/build.jet.ver index 4444b0d295..55c0ea0bd1 100644 --- a/versions/build.jet.ver +++ b/versions/build.jet.ver @@ -1,5 +1,5 @@ -export spack_mod_path="/lfs4/HFIP/hfv3gfs/role.epic/spack-stack/spack-stack-1.6.0/envs/gsi-addon-dev/install/modulefiles/Core" export stack_intel_ver=2021.5.0 export stack_impi_ver=2021.5.1 export spack_env=gsi-addon-dev source "${HOMEgfs:-}/versions/build.spack.ver" +export spack_mod_path="/lfs4/HFIP/hfv3gfs/role.epic/spack-stack/spack-stack-${spack_stack_ver}/envs/${spack_env}/install/modulefiles/Core" diff --git a/versions/build.orion.ver b/versions/build.orion.ver index 91ab50da36..df7856110d 100644 --- a/versions/build.orion.ver +++ b/versions/build.orion.ver @@ -1,5 +1,5 @@ -export spack_mod_path="/work/noaa/epic/role-epic/spack-stack/orion/spack-stack-1.6.0/envs/gsi-addon-env/install/modulefiles/Core" export stack_intel_ver=2022.0.2 export stack_impi_ver=2021.5.1 export spack_env=gsi-addon-env source "${HOMEgfs:-}/versions/build.spack.ver" +export spack_mod_path="/work/noaa/epic/role-epic/spack-stack/orion/spack-stack-${spack_stack_ver}/envs/${spack_env}/install/modulefiles/Core" diff --git a/versions/build.s4.ver b/versions/build.s4.ver index 4b72cc5a4a..e2731ccfb3 100644 --- a/versions/build.s4.ver +++ b/versions/build.s4.ver @@ -1,4 +1,5 @@ -export spack_mod_path="/data/prod/jedi/spack-stack/spack-stack-1.6.0/envs/gsi-addon-env/install/modulefiles/Core" export stack_intel_ver=2021.5.0 export stack_impi_ver=2021.5.0 +export spack_env=gsi-addon-env source "${HOMEgfs:-}/versions/build.spack.ver" +export spack_mod_path="/data/prod/jedi/spack-stack/spack-stack-${spack_stack_ver}/envs/${spack_env}/install/modulefiles/Core" diff --git a/versions/run.hera.ver b/versions/run.hera.ver index 60a3675299..4529d34821 100644 --- a/versions/run.hera.ver +++ b/versions/run.hera.ver @@ -1,4 +1,3 @@ -export spack_mod_path="/scratch1/NCEPDEV/nems/role.epic/spack-stack/spack-stack-1.6.0/envs/gsi-addon-dev/install/modulefiles/Core" export stack_intel_ver=2021.5.0 export stack_impi_ver=2021.5.1 export spack_env=gsi-addon-dev @@ -9,3 +8,4 @@ export R_ver=3.5.0 export gempak_ver=7.4.2 source "${HOMEgfs:-}/versions/run.spack.ver" +export spack_mod_path="/scratch1/NCEPDEV/nems/role.epic/spack-stack/spack-stack-${spack_stack_ver}/envs/${spack_env}/install/modulefiles/Core" diff --git a/versions/run.hercules.ver b/versions/run.hercules.ver index 34b75b2377..549bb47df0 100644 --- a/versions/run.hercules.ver +++ b/versions/run.hercules.ver @@ -1,4 +1,3 @@ -export spack_mod_path="/work/noaa/epic/role-epic/spack-stack/hercules/spack-stack-1.6.0/envs/gsi-addon-env/install/modulefiles/Core" export stack_intel_ver=2021.9.0 export stack_impi_ver=2021.9.0 export intel_mkl_ver=2023.1.0 @@ -7,3 +6,4 @@ export spack_env=gsi-addon-env export perl_ver=5.36.0 source "${HOMEgfs:-}/versions/run.spack.ver" +export spack_mod_path="/work/noaa/epic/role-epic/spack-stack/hercules/spack-stack-${spack_stack_ver}/envs/${spack_env}/install/modulefiles/Core" diff --git a/versions/run.jet.ver b/versions/run.jet.ver index 6379bd5e61..d5b98bf514 100644 --- a/versions/run.jet.ver +++ b/versions/run.jet.ver @@ -1,4 +1,3 @@ -export spack_mod_path="/lfs4/HFIP/hfv3gfs/role.epic/spack-stack/spack-stack-1.6.0/envs/gsi-addon-dev/install/modulefiles/Core" export stack_intel_ver=2021.5.0 export stack_impi_ver=2021.5.1 export spack_env=gsi-addon-dev @@ -9,3 +8,4 @@ export R_ver=4.0.2 export gempak_ver=7.4.2 source "${HOMEgfs:-}/versions/run.spack.ver" +export spack_mod_path="/lfs4/HFIP/hfv3gfs/role.epic/spack-stack/spack-stack-${spack_stack_ver}/envs/${spack_env}/install/modulefiles/Core" diff --git a/versions/run.orion.ver b/versions/run.orion.ver index 3de968e06d..2fdeae8888 100644 --- a/versions/run.orion.ver +++ b/versions/run.orion.ver @@ -1,4 +1,3 @@ -export spack_mod_path="/work/noaa/epic/role-epic/spack-stack/orion/spack-stack-1.6.0/envs/gsi-addon-env/install/modulefiles/Core" export stack_intel_ver=2022.0.2 export stack_impi_ver=2021.5.1 export spack_env=gsi-addon-env @@ -7,6 +6,7 @@ export ncl_ver=6.6.2 export gempak_ver=7.5.1 source "${HOMEgfs:-}/versions/run.spack.ver" +export spack_mod_path="/work/noaa/epic/role-epic/spack-stack/orion/spack-stack-${spack_stack_ver}/envs/${spack_env}/install/modulefiles/Core" #cdo is older on Orion export cdo_ver=2.0.5 diff --git a/versions/run.s4.ver b/versions/run.s4.ver index 941d6e46e3..6d0f4cbaca 100644 --- a/versions/run.s4.ver +++ b/versions/run.s4.ver @@ -1,7 +1,8 @@ -export spack_mod_path="/data/prod/jedi/spack-stack/spack-stack-1.6.0/envs/gsi-addon-env/install/modulefiles/Core" export stack_intel_ver=2021.5.0 export stack_impi_ver=2021.5.0 +export spack_env=gsi-addon-env export ncl_ver=6.4.0-precompiled source "${HOMEgfs:-}/versions/run.spack.ver" +export spack_mod_path="/data/prod/jedi/spack-stack/spack-stack-${spack_stack_ver}/envs/${spack_env}/install/modulefiles/Core" From f6d3015ab9f9fd23ce0081baa2edbc5d9f5f3e16 Mon Sep 17 00:00:00 2001 From: David Huber Date: Tue, 20 Feb 2024 09:53:08 -0600 Subject: [PATCH 48/58] Update GDASApp hash to include SS/1.6.0 support. --- sorc/gdas.cd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sorc/gdas.cd b/sorc/gdas.cd index b37680be78..9ba6bb9916 160000 --- a/sorc/gdas.cd +++ b/sorc/gdas.cd @@ -1 +1 @@ -Subproject commit b37680be78560343b940352b9b2c6727190a642c +Subproject commit 9ba6bb9916abf93de899d88a540904572bdbd7a7 From 516b2a270234bdab5714ef2705c83dd3835b134d Mon Sep 17 00:00:00 2001 From: DavidHuber Date: Thu, 22 Feb 2024 14:19:16 +0000 Subject: [PATCH 49/58] Updated GDAS to include rocoto/1.3.6 on Hera. --- sorc/gdas.cd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sorc/gdas.cd b/sorc/gdas.cd index 9ba6bb9916..0ebe826a41 160000 --- a/sorc/gdas.cd +++ b/sorc/gdas.cd @@ -1 +1 @@ -Subproject commit 9ba6bb9916abf93de899d88a540904572bdbd7a7 +Subproject commit 0ebe826a41cb7bf0ea277791060f5bc03892cd3e From 5c96eb2272fe6117f9e4a4c0c790db58e4870d46 Mon Sep 17 00:00:00 2001 From: David Huber Date: Thu, 22 Feb 2024 12:37:47 -0600 Subject: [PATCH 50/58] Update GDAS hash to allow modified snow DA analysis --- sorc/gdas.cd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sorc/gdas.cd b/sorc/gdas.cd index 0ebe826a41..8b4bca9e86 160000 --- a/sorc/gdas.cd +++ b/sorc/gdas.cd @@ -1 +1 @@ -Subproject commit 0ebe826a41cb7bf0ea277791060f5bc03892cd3e +Subproject commit 8b4bca9e8678c8bef41df9c5047f7494cd9daeac From 0459203e97211b041520b39e93a188951396ba33 Mon Sep 17 00:00:00 2001 From: David Huber Date: Thu, 22 Feb 2024 12:55:51 -0600 Subject: [PATCH 51/58] Update GDASApp hash to current develop --- sorc/gdas.cd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sorc/gdas.cd b/sorc/gdas.cd index 8b4bca9e86..984ecbea3c 160000 --- a/sorc/gdas.cd +++ b/sorc/gdas.cd @@ -1 +1 @@ -Subproject commit 8b4bca9e8678c8bef41df9c5047f7494cd9daeac +Subproject commit 984ecbea3cd971cfb98b4ce7d9299442a38e8dd1 From 79d305e8cbc339208ea6fe0475ddc56af94a285b Mon Sep 17 00:00:00 2001 From: David Huber Date: Thu, 22 Feb 2024 14:53:57 -0600 Subject: [PATCH 52/58] Disable snow DA tests --- ci/cases/pr/C96_atmsnowDA.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/ci/cases/pr/C96_atmsnowDA.yaml b/ci/cases/pr/C96_atmsnowDA.yaml index 35fcc10fb2..eaf42cd392 100644 --- a/ci/cases/pr/C96_atmsnowDA.yaml +++ b/ci/cases/pr/C96_atmsnowDA.yaml @@ -19,3 +19,4 @@ arguments: skip_ci_on_hosts: - orion - hercules + - hera From 950c38a093c6a4e2b67e18c76390280d8bfbaef7 Mon Sep 17 00:00:00 2001 From: TerrenceMcGuinness-NOAA Date: Fri, 23 Feb 2024 21:15:46 +0000 Subject: [PATCH 53/58] Fix several Jenkins issues (#2334) Jenkins Updates Resolving final kinks: - Removed all `git` shell commands and now exclusively use Software Control Manger (**scm**) plugin. - Add feature for skipping hosts per configuration specified in case yaml files. - Solved and tested false positive builds and experiments. - Tested archiving of task error log on case fail - First case fail quits pipeline and cancels all pending scheduled jobs - Duel build per yaml configuration arguments supported - All designated case files in PR directory pass on intended host (fully tested on Hera) Remaining updates: - Fist build fail short circuit when building sub-modules and archiving build error log. - Re-build/no-build built in logic for Replay and Rerunning previously failed experiments. --- Jenkinsfile | 51 ++++++++++++++++---------- ci/scripts/utils/get_host_case_list.py | 32 ++++++++++++++++ ci/scripts/utils/wxflow | 1 + 3 files changed, 64 insertions(+), 20 deletions(-) create mode 100755 ci/scripts/utils/get_host_case_list.py create mode 120000 ci/scripts/utils/wxflow diff --git a/Jenkinsfile b/Jenkinsfile index be62a20512..52175c2b50 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -1,8 +1,8 @@ def Machine = 'none' def machine = 'none' def HOME = 'none' -def localworkspace = 'none' -def commonworkspace = 'none' +def caseList = '' +def custom_workspace = [hera: '/scratch1/NCEPDEV/global/CI', orion: '/work2/noaa/stmp/CI/ORION', hercules: '/work2/noaa/stmp/CI/HERCULES'] pipeline { agent { label 'built-in' } @@ -20,7 +20,6 @@ pipeline { agent { label 'built-in' } steps { script { - localworkspace = env.WORKSPACE machine = 'none' for (label in pullRequest.labels) { echo "Label: ${label}" @@ -42,14 +41,16 @@ pipeline { agent { label "${machine}-emc" } steps { script { - properties([parameters([[$class: 'NodeParameterDefinition', allowedSlaves: ['built-in', 'Hera-EMC', 'Orion-EMC'], defaultSlaves: ['built-in'], name: '', nodeEligibility: [$class: 'AllNodeEligibility'], triggerIfResult: 'allCases']])]) - HOME = "${WORKSPACE}/TESTDIR" - commonworkspace = "${WORKSPACE}" - sh(script: "mkdir -p ${HOME}/RUNTESTS") - pullRequest.addLabel("CI-${Machine}-Building") - if (pullRequest.labels.any { value -> value.matches("CI-${Machine}-Ready") }) { - pullRequest.removeLabel("CI-${Machine}-Ready") + ws("${custom_workspace[machine]}/${env.CHANGE_ID}") { + properties([parameters([[$class: 'NodeParameterDefinition', allowedSlaves: ['built-in', 'Hera-EMC', 'Orion-EMC'], defaultSlaves: ['built-in'], name: '', nodeEligibility: [$class: 'AllNodeEligibility'], triggerIfResult: 'allCases']])]) + HOME = "${WORKSPACE}" + sh(script: "mkdir -p ${HOME}/RUNTESTS;rm -Rf ${HOME}/RUNTESTS/error.logs") + pullRequest.addLabel("CI-${Machine}-Building") + if (pullRequest.labels.any { value -> value.matches("CI-${Machine}-Ready") }) { + pullRequest.removeLabel("CI-${Machine}-Ready") + } } + pullRequest.comment("Building and running on ${Machine} in directory ${HOME}") } } } @@ -73,17 +74,15 @@ pipeline { def HOMEgfs = "${HOME}/${system}" // local HOMEgfs is used to build the system on per system basis under the common workspace HOME sh(script: "mkdir -p ${HOMEgfs}") ws(HOMEgfs) { - env.MACHINE_ID = machine // MACHINE_ID is used in the build scripts to determine the machine and is added to the shell environment if (fileExists("${HOMEgfs}/sorc/BUILT_semaphor")) { // if the system is already built, skip the build in the case of re-runs sh(script: "cat ${HOMEgfs}/sorc/BUILT_semaphor", returnStdout: true).trim() // TODO: and user configurable control to manage build semphore pullRequest.comment("Cloned PR already built (or build skipped) on ${machine} in directory ${HOMEgfs}
Still doing a checkout to get the latest changes") - sh(script: 'source workflow/gw_setup.sh; git pull --recurse-submodules') + checkout scm dir('sorc') { sh(script: './link_workflow.sh') } } else { checkout scm - sh(script: 'source workflow/gw_setup.sh;which git;git --version;git submodule update --init --recursive') def builds_file = readYaml file: 'ci/cases/yamls/build.yaml' def build_args_list = builds_file['builds'] def build_args = build_args_list[system].join(' ').trim().replaceAll('null', '') @@ -99,6 +98,9 @@ pipeline { } pullRequest.addLabel("CI-${Machine}-Running") } + if (system == 'gfs') { + caseList = sh(script: "${HOMEgfs}/ci/scripts/utils/get_host_case_list.py ${machine}", returnStdout: true).trim().split() + } } } } @@ -114,11 +116,15 @@ pipeline { axis { name 'Case' // TODO add dynamic list of cases from env vars (needs addtional plugins) - values 'C48_ATM', 'C48_S2SWA_gefs', 'C48_S2SW', 'C96_atm3DVar', 'C96C48_hybatmDA', 'C96_atmsnowDA' // 'C48mx500_3DVarAOWCDA' + values 'C48C48_ufs_hybatmDA', 'C48_ATM', 'C48_S2SW', 'C48_S2SWA_gefs', 'C48mx500_3DVarAOWCDA', 'C96C48_hybatmDA', 'C96_atm3DVar', 'C96_atmsnowDA' } } stages { - stage('Create Experiment') { + + stage('Create Experiments') { + when { + expression { return caseList.contains(Case) } + } steps { script { sh(script: "sed -n '/{.*}/!p' ${HOME}/gfs/ci/cases/pr/${Case}.yaml > ${HOME}/gfs/ci/cases/pr/${Case}.yaml.tmp") @@ -130,15 +136,20 @@ pipeline { } } } + stage('Run Experiments') { + when { + expression { return caseList.contains(Case) } + } steps { script { HOMEgfs = "${HOME}/gfs" // common HOMEgfs is used to launch the scripts that run the experiments ws(HOMEgfs) { pslot = sh(script: "${HOMEgfs}/ci/scripts/utils/ci_utils_wrapper.sh get_pslot ${HOME}/RUNTESTS ${Case}", returnStdout: true).trim() - // pullRequest.comment("**Running** experiment: ${Case} on ${Machine}
With the experiment in directory:
`${HOME}/RUNTESTS/${pslot}`") - err = sh(script: "${HOMEgfs}/ci/scripts/run-check_ci.sh ${HOME} ${pslot}") - if (err != 0) { + pullRequest.comment("**Running** experiment: ${Case} on ${Machine}
With the experiment in directory:
`${HOME}/RUNTESTS/${pslot}`") + try { + sh(script: "${HOMEgfs}/ci/scripts/run-check_ci.sh ${HOME} ${pslot}") + } catch (Exception e) { pullRequest.comment("**FAILURE** running experiment: ${Case} on ${Machine}") sh(script: "${HOMEgfs}/ci/scripts/utils/ci_utils_wrapper.sh cancel_all_batch_jobs ${HOME}/RUNTESTS") ws(HOME) { @@ -153,12 +164,12 @@ pipeline { } error("Failed to run experiments ${Case} on ${Machine}") } - // pullRequest.comment("**SUCCESS** running experiment: ${Case} on ${Machine}") } + pullRequest.comment("**SUCCESS** running experiment: ${Case} on ${Machine}") } - } } + } } } diff --git a/ci/scripts/utils/get_host_case_list.py b/ci/scripts/utils/get_host_case_list.py new file mode 100755 index 0000000000..eb10f29f05 --- /dev/null +++ b/ci/scripts/utils/get_host_case_list.py @@ -0,0 +1,32 @@ +#!/usr/bin/env python3 +import os +from os.path import basename, splitext +import sys +import glob +from wxflow import parse_j2yaml +from wxflow import AttrDict + +_here = os.path.dirname(__file__) +_top = os.path.abspath(os.path.join(os.path.abspath(_here), '../../..')) + +if __name__ == '__main__': + + if len(sys.argv) < 2: + print('Usage: get_host_case_list.py ') + sys.exit(1) + + host = sys.argv[1] + + case_list = [] + HOMEgfs = _top + data = AttrDict(HOMEgfs=_top) + data.update(os.environ) + + case_files = glob.glob(f'{HOMEgfs}/ci/cases/pr/*.yaml') + for case_yaml in case_files: + case_conf = parse_j2yaml(path=case_yaml, data=data) + if 'skip_ci_on_hosts' in case_conf: + if host.lower() in [machine.lower() for machine in case_conf.skip_ci_on_hosts]: + continue + case_list.append(splitext(basename(case_yaml))[0]) + print(' '.join(case_list)) diff --git a/ci/scripts/utils/wxflow b/ci/scripts/utils/wxflow new file mode 120000 index 0000000000..54d0558aba --- /dev/null +++ b/ci/scripts/utils/wxflow @@ -0,0 +1 @@ +../../../sorc/wxflow/src/wxflow \ No newline at end of file From c5c84660f10f0ef9ce939231b2f7fda498b39a29 Mon Sep 17 00:00:00 2001 From: Kate Friedman Date: Mon, 26 Feb 2024 10:18:50 -0500 Subject: [PATCH 54/58] Remove FIX* variables for fix subfolders (#2337) Remove `FIX*` variables for fix subfolders and replace them with the remaining `FIXgfs` variable and the subfolder name (e.g. `${FIXam}` -> `${FIXgfs}/am`). The UFS_UTILS and GDASApp repos were similarly updated. This PR includes a new UFS_UTILS hash. The updated GDASAPP hash was already committed within the spack-stack/1.6.0 PR #2239. Resolves #2184 --- gempak/ush/gdas_ecmwf_meta_ver.sh | 2 +- gempak/ush/gdas_meta_loop.sh | 2 +- gempak/ush/gdas_ukmet_meta_ver.sh | 2 +- gempak/ush/gempak_gdas_f000_gif.sh | 2 +- gempak/ush/gempak_gfs_f00_gif.sh | 2 +- gempak/ush/gempak_gfs_f12_gif.sh | 2 +- gempak/ush/gempak_gfs_f24_gif.sh | 2 +- gempak/ush/gempak_gfs_f36_gif.sh | 2 +- gempak/ush/gempak_gfs_f48_gif.sh | 2 +- gempak/ush/gfs_meta_ak.sh | 2 +- gempak/ush/gfs_meta_bwx.sh | 2 +- gempak/ush/gfs_meta_comp.sh | 2 +- gempak/ush/gfs_meta_crb.sh | 2 +- gempak/ush/gfs_meta_hi.sh | 2 +- gempak/ush/gfs_meta_hur.sh | 2 +- gempak/ush/gfs_meta_mar_atl.sh | 2 +- gempak/ush/gfs_meta_mar_comp.sh | 2 +- gempak/ush/gfs_meta_mar_pac.sh | 2 +- gempak/ush/gfs_meta_mar_ql.sh | 2 +- gempak/ush/gfs_meta_mar_skewt.sh | 2 +- gempak/ush/gfs_meta_mar_ver.sh | 2 +- gempak/ush/gfs_meta_nhsh.sh | 2 +- gempak/ush/gfs_meta_opc_na_ver | 2 +- gempak/ush/gfs_meta_opc_np_ver | 2 +- gempak/ush/gfs_meta_precip.sh | 2 +- gempak/ush/gfs_meta_qpf.sh | 2 +- gempak/ush/gfs_meta_sa.sh | 2 +- gempak/ush/gfs_meta_sa2.sh | 2 +- gempak/ush/gfs_meta_trop.sh | 2 +- gempak/ush/gfs_meta_us.sh | 2 +- gempak/ush/gfs_meta_usext.sh | 6 +- gempak/ush/gfs_meta_ver.sh | 2 +- jobs/JGDAS_ATMOS_GEMPAK | 1 - jobs/JGDAS_ATMOS_GEMPAK_META_NCDC | 3 +- jobs/JGFS_ATMOS_AWIPS_20KM_1P0DEG | 1 - jobs/JGFS_ATMOS_AWIPS_G2 | 1 - jobs/JGFS_ATMOS_FBWIND | 1 - jobs/JGFS_ATMOS_GEMPAK | 1 - jobs/JGFS_ATMOS_GEMPAK_META | 3 +- jobs/JGFS_ATMOS_GEMPAK_NCDC_UPAPGIF | 2 - jobs/JGFS_ATMOS_GEMPAK_PGRB2_SPEC | 1 - jobs/JGFS_ATMOS_PGRB2_SPEC_NPOESS | 1 - jobs/JGFS_ATMOS_POSTSND | 1 - jobs/JGLOBAL_ATMOS_ANALYSIS | 2 +- jobs/JGLOBAL_ATMOS_POST_MANAGER | 1 - jobs/JGLOBAL_WAVE_INIT | 1 - jobs/JGLOBAL_WAVE_POST_BNDPNT | 1 - jobs/JGLOBAL_WAVE_POST_BNDPNTBLL | 1 - jobs/JGLOBAL_WAVE_POST_PNT | 1 - jobs/JGLOBAL_WAVE_POST_SBS | 1 - jobs/JGLOBAL_WAVE_PREP | 1 - parm/config/gefs/config.base.emc.dyn | 10 -- parm/config/gefs/config.wave | 1 - parm/config/gfs/config.aeroanl | 3 +- parm/config/gfs/config.anal | 46 ++++---- parm/config/gfs/config.base.emc.dyn | 12 --- parm/config/gfs/config.prep | 7 +- parm/config/gfs/config.wave | 1 - parm/gdas/aero_jedi_fix.yaml | 6 +- parm/ufs/fix/gfs/atmos.fixed_files.yaml | 136 ++++++++++++------------ parm/ufs/fix/gfs/land.fixed_files.yaml | 98 ++++++++--------- parm/ufs/fix/gfs/ocean.fixed_files.yaml | 12 +-- scripts/exgdas_atmos_chgres_forenkf.sh | 5 +- scripts/exgdas_atmos_nawips.sh | 8 +- scripts/exgdas_atmos_verfrad.sh | 6 +- scripts/exgdas_enkf_ecen.sh | 4 +- scripts/exgdas_enkf_post.sh | 2 +- scripts/exgdas_enkf_sfc.sh | 10 +- scripts/exgdas_enkf_update.sh | 16 +-- scripts/exgfs_atmos_gempak_meta.sh | 4 +- scripts/exgfs_atmos_goes_nawips.sh | 10 +- scripts/exgfs_atmos_nawips.sh | 8 +- scripts/exgfs_wave_init.sh | 10 +- scripts/exgfs_wave_nawips.sh | 1 - scripts/exgfs_wave_prdgen_bulls.sh | 1 - scripts/exgfs_wave_prdgen_gridded.sh | 1 - scripts/exgfs_wave_prep.sh | 2 +- scripts/exglobal_atmos_analysis.sh | 34 +++--- scripts/exglobal_atmos_analysis_calc.sh | 1 - scripts/exglobal_atmos_sfcanl.sh | 10 +- scripts/exglobal_forecast.sh | 24 ++--- sorc/ufs_utils.fd | 2 +- ush/calcanl_gfs.py | 2 +- ush/forecast_postdet.sh | 108 +++++++++---------- ush/fv3gfs_remap.sh | 6 +- ush/gaussian_sfcanl.sh | 26 ++--- ush/gfs_sndp.sh | 2 +- ush/gfs_truncate_enkf.sh | 15 ++- ush/python/pygfs/task/land_analysis.py | 2 +- ush/syndat_qctropcy.sh | 12 +-- ush/tropcy_relocate.sh | 7 +- ush/tropcy_relocate_extrkr.sh | 4 +- ush/wave_grid_interp_sbs.sh | 10 +- ush/wave_prnc_cur.sh | 2 +- ush/wave_prnc_ice.sh | 2 +- 95 files changed, 354 insertions(+), 428 deletions(-) diff --git a/gempak/ush/gdas_ecmwf_meta_ver.sh b/gempak/ush/gdas_ecmwf_meta_ver.sh index e4fffd9c8a..5d519c7cc5 100755 --- a/gempak/ush/gdas_ecmwf_meta_ver.sh +++ b/gempak/ush/gdas_ecmwf_meta_ver.sh @@ -30,7 +30,7 @@ PDY2=$(echo ${PDY} | cut -c3-) # # Copy in datatype table to define gdfile type # -cp $FIXgempak/datatype.tbl datatype.tbl +cp ${HOMEgfs}/gempak/fix/datatype.tbl datatype.tbl export err=$? if [[ $err -ne 0 ]] ; then echo " File datatype.tbl does not exist." diff --git a/gempak/ush/gdas_meta_loop.sh b/gempak/ush/gdas_meta_loop.sh index cd0d9b781b..927958a0ad 100755 --- a/gempak/ush/gdas_meta_loop.sh +++ b/gempak/ush/gdas_meta_loop.sh @@ -33,7 +33,7 @@ export pgm=gdplot2_nc;. prep_step; startmsg # # Copy in datatype table to define gdfile type # -cp $FIXgempak/datatype.tbl datatype.tbl +cp ${HOMEgfs}/gempak/fix/datatype.tbl datatype.tbl export err=$? if [[ $err -ne 0 ]] ; then echo " File datatype.tbl does not exist." diff --git a/gempak/ush/gdas_ukmet_meta_ver.sh b/gempak/ush/gdas_ukmet_meta_ver.sh index 845fa1cc6b..c7267ed09c 100755 --- a/gempak/ush/gdas_ukmet_meta_ver.sh +++ b/gempak/ush/gdas_ukmet_meta_ver.sh @@ -29,7 +29,7 @@ PDY2=$(echo ${PDY} | cut -c3-) # # Copy in datatype table to define gdfile type # -cp $FIXgempak/datatype.tbl datatype.tbl +cp ${HOMEgfs}/gempak/fix/datatype.tbl datatype.tbl # # DEFINE 1 CYCLE AGO diff --git a/gempak/ush/gempak_gdas_f000_gif.sh b/gempak/ush/gempak_gdas_f000_gif.sh index 5d399f9124..3e25d4090f 100755 --- a/gempak/ush/gempak_gdas_f000_gif.sh +++ b/gempak/ush/gempak_gdas_f000_gif.sh @@ -22,7 +22,7 @@ pixels="1728;1472" - cp $FIXgempak/coltbl.spc coltbl.xwp + cp ${HOMEgfs}/gempak/fix/coltbl.spc coltbl.xwp ################################################################# # NORTHERN HEMISPHERE ANALYSIS CHARTS # diff --git a/gempak/ush/gempak_gfs_f00_gif.sh b/gempak/ush/gempak_gfs_f00_gif.sh index 9eaac7c62e..ad16958be2 100755 --- a/gempak/ush/gempak_gfs_f00_gif.sh +++ b/gempak/ush/gempak_gfs_f00_gif.sh @@ -23,7 +23,7 @@ pixels="1728;1472" - cp $FIXgempak/coltbl.spc coltbl.xwp + cp ${HOMEgfs}/gempak/fix/coltbl.spc coltbl.xwp ################################################################# # ANALYSIS CHARTS # diff --git a/gempak/ush/gempak_gfs_f12_gif.sh b/gempak/ush/gempak_gfs_f12_gif.sh index 7005e96844..0150affac7 100755 --- a/gempak/ush/gempak_gfs_f12_gif.sh +++ b/gempak/ush/gempak_gfs_f12_gif.sh @@ -23,7 +23,7 @@ pixels="1728;1472" - cp $FIXgempak/coltbl.spc coltbl.xwp + cp ${HOMEgfs}/gempak/fix/coltbl.spc coltbl.xwp ########################################################## # 12HR FORECAST CHARTS # diff --git a/gempak/ush/gempak_gfs_f24_gif.sh b/gempak/ush/gempak_gfs_f24_gif.sh index d5dc2f6868..cad24de9f6 100755 --- a/gempak/ush/gempak_gfs_f24_gif.sh +++ b/gempak/ush/gempak_gfs_f24_gif.sh @@ -25,7 +25,7 @@ pixels="1728;1472" - cp $FIXgempak/coltbl.spc coltbl.xwp + cp ${HOMEgfs}/gempak/fix/coltbl.spc coltbl.xwp diff --git a/gempak/ush/gempak_gfs_f36_gif.sh b/gempak/ush/gempak_gfs_f36_gif.sh index d219fbfc59..60644e2fa3 100755 --- a/gempak/ush/gempak_gfs_f36_gif.sh +++ b/gempak/ush/gempak_gfs_f36_gif.sh @@ -25,7 +25,7 @@ pixels="1728;1472" - cp $FIXgempak/coltbl.spc coltbl.xwp + cp ${HOMEgfs}/gempak/fix/coltbl.spc coltbl.xwp diff --git a/gempak/ush/gempak_gfs_f48_gif.sh b/gempak/ush/gempak_gfs_f48_gif.sh index 95c4d6b932..b63f644ee6 100755 --- a/gempak/ush/gempak_gfs_f48_gif.sh +++ b/gempak/ush/gempak_gfs_f48_gif.sh @@ -25,7 +25,7 @@ pixels="1728;1472" - cp $FIXgempak/coltbl.spc coltbl.xwp + cp ${HOMEgfs}/gempak/fix/coltbl.spc coltbl.xwp diff --git a/gempak/ush/gfs_meta_ak.sh b/gempak/ush/gfs_meta_ak.sh index c258b7e83a..03db6fa088 100755 --- a/gempak/ush/gfs_meta_ak.sh +++ b/gempak/ush/gfs_meta_ak.sh @@ -24,7 +24,7 @@ set -xa rm -rf $DATA/ak mkdir -p -m 775 $DATA/ak cd $DATA/ak -cp $FIXgempak/datatype.tbl datatype.tbl +cp ${HOMEgfs}/gempak/fix/datatype.tbl datatype.tbl device="nc | gfs.meta.ak" PDY2=$(echo $PDY | cut -c3-) diff --git a/gempak/ush/gfs_meta_bwx.sh b/gempak/ush/gfs_meta_bwx.sh index f5b4e1d944..af7f43e3de 100755 --- a/gempak/ush/gfs_meta_bwx.sh +++ b/gempak/ush/gfs_meta_bwx.sh @@ -24,7 +24,7 @@ set -x export PS4='BWX:$SECONDS + ' mkdir -p -m 775 $DATA/BWX cd $DATA/BWX -cp $FIXgempak/datatype.tbl datatype.tbl +cp ${HOMEgfs}/gempak/fix/datatype.tbl datatype.tbl mdl=gfs MDL="GFS" diff --git a/gempak/ush/gfs_meta_comp.sh b/gempak/ush/gfs_meta_comp.sh index 9bd27c5736..e033d11bd8 100755 --- a/gempak/ush/gfs_meta_comp.sh +++ b/gempak/ush/gfs_meta_comp.sh @@ -29,7 +29,7 @@ export PS4='COMP:$SECONDS + ' rm -Rf $DATA/COMP $DATA/GEMPAK_META_COMP mkdir -p -m 775 $DATA/COMP $DATA/GEMPAK_META_COMP cd $DATA/COMP -cp $FIXgempak/datatype.tbl datatype.tbl +cp ${HOMEgfs}/gempak/fix/datatype.tbl datatype.tbl export COMPONENT=${COMPONENT:-atmos} diff --git a/gempak/ush/gfs_meta_crb.sh b/gempak/ush/gfs_meta_crb.sh index 82fa7795e8..181afab6c1 100755 --- a/gempak/ush/gfs_meta_crb.sh +++ b/gempak/ush/gfs_meta_crb.sh @@ -17,7 +17,7 @@ set -x export PS4='crb:$SECONDS + ' mkdir -p -m 775 $DATA/crb cd $DATA/crb -cp $FIXgempak/datatype.tbl datatype.tbl +cp ${HOMEgfs}/gempak/fix/datatype.tbl datatype.tbl # mdl=gfs MDL=GFS diff --git a/gempak/ush/gfs_meta_hi.sh b/gempak/ush/gfs_meta_hi.sh index 2b47474e12..6167855ae2 100755 --- a/gempak/ush/gfs_meta_hi.sh +++ b/gempak/ush/gfs_meta_hi.sh @@ -19,7 +19,7 @@ set -xa mkdir -p -m 775 $DATA/mrfhi cd $DATA/mrfhi -cp $FIXgempak/datatype.tbl datatype.tbl +cp ${HOMEgfs}/gempak/fix/datatype.tbl datatype.tbl device="nc | mrfhi.meta" diff --git a/gempak/ush/gfs_meta_hur.sh b/gempak/ush/gfs_meta_hur.sh index aed25d6d78..04224ee39b 100755 --- a/gempak/ush/gfs_meta_hur.sh +++ b/gempak/ush/gfs_meta_hur.sh @@ -25,7 +25,7 @@ set -x export PS4='hur:$SECONDS + ' mkdir -p -m 775 $DATA/hur cd $DATA/hur -cp $FIXgempak/datatype.tbl datatype.tbl +cp ${HOMEgfs}/gempak/fix/datatype.tbl datatype.tbl mdl=gfs MDL=GFS diff --git a/gempak/ush/gfs_meta_mar_atl.sh b/gempak/ush/gfs_meta_mar_atl.sh index c8db3e59d4..b76a25f247 100755 --- a/gempak/ush/gfs_meta_mar_atl.sh +++ b/gempak/ush/gfs_meta_mar_atl.sh @@ -12,7 +12,7 @@ set -x export PS4='MAR_ATL:$SECONDS + ' mkdir -p -m 775 $DATA/MAR_ATL cd $DATA/MAR_ATL -cp $FIXgempak/datatype.tbl datatype.tbl +cp ${HOMEgfs}/gempak/fix/datatype.tbl datatype.tbl mdl=gfs MDL="GFS" diff --git a/gempak/ush/gfs_meta_mar_comp.sh b/gempak/ush/gfs_meta_mar_comp.sh index a55fa3c642..0c179b6270 100755 --- a/gempak/ush/gfs_meta_mar_comp.sh +++ b/gempak/ush/gfs_meta_mar_comp.sh @@ -18,7 +18,7 @@ rm -Rf $DATA/GEMPAK_META_MAR mkdir -p -m 775 $DATA/GEMPAK_META_MAR $DATA/MAR_COMP cd $DATA/MAR_COMP -cp $FIXgempak/datatype.tbl datatype.tbl +cp ${HOMEgfs}/gempak/fix/datatype.tbl datatype.tbl export COMPONENT=${COMPONENT:-atmos} diff --git a/gempak/ush/gfs_meta_mar_pac.sh b/gempak/ush/gfs_meta_mar_pac.sh index b44f60a2f7..06165e837c 100755 --- a/gempak/ush/gfs_meta_mar_pac.sh +++ b/gempak/ush/gfs_meta_mar_pac.sh @@ -12,7 +12,7 @@ set -x export PS4='MAR_PAC:$SECONDS + ' mkdir -p -m 775 $DATA/MAR_PAC cd $DATA/MAR_PAC -cp $FIXgempak/datatype.tbl datatype.tbl +cp ${HOMEgfs}/gempak/fix/datatype.tbl datatype.tbl mdl=gfs MDL="GFS" diff --git a/gempak/ush/gfs_meta_mar_ql.sh b/gempak/ush/gfs_meta_mar_ql.sh index f1abf3d395..71ee9d2fee 100755 --- a/gempak/ush/gfs_meta_mar_ql.sh +++ b/gempak/ush/gfs_meta_mar_ql.sh @@ -12,7 +12,7 @@ set -x export PS4='MAR_QL_F${fend}:$SECONDS + ' mkdir -p -m 775 $DATA/MAR_QL cd $DATA/MAR_QL -cp $FIXgempak/datatype.tbl datatype.tbl +cp ${HOMEgfs}/gempak/fix/datatype.tbl datatype.tbl mdl=gfs MDL="GFS" diff --git a/gempak/ush/gfs_meta_mar_skewt.sh b/gempak/ush/gfs_meta_mar_skewt.sh index 040e09e932..a49439d6a0 100755 --- a/gempak/ush/gfs_meta_mar_skewt.sh +++ b/gempak/ush/gfs_meta_mar_skewt.sh @@ -12,7 +12,7 @@ set -x export PS4='MAR_SKEWT:$SECONDS + ' mkdir -p -m 775 $DATA/MAR_SKEWT cd $DATA/MAR_SKEWT -cp $FIXgempak/datatype.tbl datatype.tbl +cp ${HOMEgfs}/gempak/fix/datatype.tbl datatype.tbl mdl=gfs MDL="GFS" diff --git a/gempak/ush/gfs_meta_mar_ver.sh b/gempak/ush/gfs_meta_mar_ver.sh index 63ccba00ed..79f4fc7096 100755 --- a/gempak/ush/gfs_meta_mar_ver.sh +++ b/gempak/ush/gfs_meta_mar_ver.sh @@ -12,7 +12,7 @@ set -x export PS4='MAR_VER:$SECONDS + ' mkdir -p -m 775 $DATA/MAR_VER cd $DATA/MAR_VER -cp $FIXgempak/datatype.tbl datatype.tbl +cp ${HOMEgfs}/gempak/fix/datatype.tbl datatype.tbl mdl=gfs MDL="GFS" diff --git a/gempak/ush/gfs_meta_nhsh.sh b/gempak/ush/gfs_meta_nhsh.sh index 3e0146270e..6e6981c2df 100755 --- a/gempak/ush/gfs_meta_nhsh.sh +++ b/gempak/ush/gfs_meta_nhsh.sh @@ -19,7 +19,7 @@ set -xa mkdir -p -m 775 $DATA/mrfnhsh cd $DATA/mrfnhsh -cp $FIXgempak/datatype.tbl datatype.tbl +cp ${HOMEgfs}/gempak/fix/datatype.tbl datatype.tbl PDY2=$(echo $PDY | cut -c3-) diff --git a/gempak/ush/gfs_meta_opc_na_ver b/gempak/ush/gfs_meta_opc_na_ver index 8d5f394b3d..3c0798ebc6 100755 --- a/gempak/ush/gfs_meta_opc_na_ver +++ b/gempak/ush/gfs_meta_opc_na_ver @@ -12,7 +12,7 @@ set -x export PS4='OPC_NA_VER_F${fend}:$SECONDS + ' mkdir -p -m 775 $DATA/OPC_NA_VER_F${fend} cd $DATA/OPC_NA_VER_F${fend} -cp $FIXgempak/datatype.tbl datatype.tbl +cp ${HOMEgfs}/gempak/fix/datatype.tbl datatype.tbl export COMPONENT=${COMPONENT:-atmos} diff --git a/gempak/ush/gfs_meta_opc_np_ver b/gempak/ush/gfs_meta_opc_np_ver index 5cb9fba3c9..f9f3fc88ab 100755 --- a/gempak/ush/gfs_meta_opc_np_ver +++ b/gempak/ush/gfs_meta_opc_np_ver @@ -12,7 +12,7 @@ set -x export PS4='OPC_NP_VER_F${fend}:$SECONDS + ' mkdir -p -m 775 $DATA/OPC_NP_VER_F${fend} cd $DATA/OPC_NP_VER_F${fend} -cp $FIXgempak/datatype.tbl datatype.tbl +cp ${HOMEgfs}/gempak/fix/datatype.tbl datatype.tbl # export COMPONENT=${COMPONENT:-atmos} diff --git a/gempak/ush/gfs_meta_precip.sh b/gempak/ush/gfs_meta_precip.sh index cf3db9cbae..a21bcc7d98 100755 --- a/gempak/ush/gfs_meta_precip.sh +++ b/gempak/ush/gfs_meta_precip.sh @@ -11,7 +11,7 @@ set -x export PS4='qpf:$SECONDS + ' mkdir -p -m 775 $DATA/precip cd $DATA/precip -cp $FIXgempak/datatype.tbl datatype.tbl +cp ${HOMEgfs}/gempak/fix/datatype.tbl datatype.tbl # # Set model and metafile naming conventions diff --git a/gempak/ush/gfs_meta_qpf.sh b/gempak/ush/gfs_meta_qpf.sh index 49ca0d8bd4..85cd7b94f8 100755 --- a/gempak/ush/gfs_meta_qpf.sh +++ b/gempak/ush/gfs_meta_qpf.sh @@ -26,7 +26,7 @@ set -x export PS4='qpf:$SECONDS + ' mkdir -p -m 775 $DATA/qpf cd $DATA/qpf -cp $FIXgempak/datatype.tbl datatype.tbl +cp ${HOMEgfs}/gempak/fix/datatype.tbl datatype.tbl mdl=gfs MDL=GFS diff --git a/gempak/ush/gfs_meta_sa.sh b/gempak/ush/gfs_meta_sa.sh index 47984e641d..1bd2ff7b59 100755 --- a/gempak/ush/gfs_meta_sa.sh +++ b/gempak/ush/gfs_meta_sa.sh @@ -24,7 +24,7 @@ set -x export PS4='SA:$SECONDS + ' mkdir -p -m 775 $DATA/SA cd $DATA/SA -cp $FIXgempak/datatype.tbl datatype.tbl +cp ${HOMEgfs}/gempak/fix/datatype.tbl datatype.tbl mdl=gfs MDL=GFS diff --git a/gempak/ush/gfs_meta_sa2.sh b/gempak/ush/gfs_meta_sa2.sh index a566031030..de4b7775da 100755 --- a/gempak/ush/gfs_meta_sa2.sh +++ b/gempak/ush/gfs_meta_sa2.sh @@ -19,7 +19,7 @@ set -x echo " start with ukmet_gfs_meta_sa2.sh" export PS4='SA2:$SECONDS + ' -cp $FIXgempak/datatype.tbl datatype.tbl +cp ${HOMEgfs}/gempak/fix/datatype.tbl datatype.tbl export COMPONENT=${COMPONENT:-atmos} diff --git a/gempak/ush/gfs_meta_trop.sh b/gempak/ush/gfs_meta_trop.sh index d0cc0dbd14..a66cb22c74 100755 --- a/gempak/ush/gfs_meta_trop.sh +++ b/gempak/ush/gfs_meta_trop.sh @@ -29,7 +29,7 @@ set -x export PS4='TROP:$SECONDS + ' mkdir -p -m 775 $DATA/TROP cd $DATA/TROP -cp $FIXgempak/datatype.tbl datatype.tbl +cp ${HOMEgfs}/gempak/fix/datatype.tbl datatype.tbl mdl=gfs MDL=GFS diff --git a/gempak/ush/gfs_meta_us.sh b/gempak/ush/gfs_meta_us.sh index 7a818c338b..495cbc5839 100755 --- a/gempak/ush/gfs_meta_us.sh +++ b/gempak/ush/gfs_meta_us.sh @@ -22,7 +22,7 @@ set -xa rm -rf $DATA/us mkdir -p -m 775 $DATA/us cd $DATA/us -cp $FIXgempak/datatype.tbl datatype.tbl +cp ${HOMEgfs}/gempak/fix/datatype.tbl datatype.tbl device="nc | gfs.meta" PDY2=$(echo $PDY | cut -c3-) diff --git a/gempak/ush/gfs_meta_usext.sh b/gempak/ush/gfs_meta_usext.sh index dc522bb896..3db7c27be4 100755 --- a/gempak/ush/gfs_meta_usext.sh +++ b/gempak/ush/gfs_meta_usext.sh @@ -28,12 +28,12 @@ set -xa mkdir -p -m 775 $DATA/mrfus cd $DATA/mrfus -cp $FIXgempak/datatype.tbl datatype.tbl +cp ${HOMEgfs}/gempak/fix/datatype.tbl datatype.tbl device="nc | mrf.meta" -#XXW cp $FIXgempak/model/gfs/ak_sfstns.tbl alaska.tbl -cp $FIXgempak/ak_sfstns.tbl alaska.tbl +#XXW cp ${HOMEgfs}/gempak/fix/model/gfs/ak_sfstns.tbl alaska.tbl +cp ${HOMEgfs}/gempak/fix/ak_sfstns.tbl alaska.tbl month=$(echo $PDY | cut -c5,6) if [ $month -ge 5 -a $month -le 9 ] ; then diff --git a/gempak/ush/gfs_meta_ver.sh b/gempak/ush/gfs_meta_ver.sh index d63f6bc6df..89a413952e 100755 --- a/gempak/ush/gfs_meta_ver.sh +++ b/gempak/ush/gfs_meta_ver.sh @@ -26,7 +26,7 @@ set -x export PS4='VER:$SECONDS + ' mkdir -p -m 775 $DATA/VER cd $DATA/VER -cp $FIXgempak/datatype.tbl datatype.tbl +cp ${HOMEgfs}/gempak/fix/datatype.tbl datatype.tbl export COMPONENT=${COMPONENT:-atmos} diff --git a/jobs/JGDAS_ATMOS_GEMPAK b/jobs/JGDAS_ATMOS_GEMPAK index 1535e07ae3..55aca00cee 100755 --- a/jobs/JGDAS_ATMOS_GEMPAK +++ b/jobs/JGDAS_ATMOS_GEMPAK @@ -11,7 +11,6 @@ export EXECgfs=${EXECgfs:-${HOMEgfs}/exec} export PARMgfs=${PARMgfs:-${HOMEgfs}/parm} export PARMwmo=${PARMwmo:-${HOMEgfs}/parm/wmo} export PARMproduct=${PARMproduct:-${HOMEgfs}/parm/product} -export FIXgempak=${FIXgempak:-${HOMEgfs}/gempak/fix} export USHgempak=${USHgempak:-${HOMEgfs}/gempak/ush} export SRCgfs=${SRCgfs:-${HOMEgfs}/scripts} export UTILgfs=${UTILgfs:-${HOMEgfs}/util} diff --git a/jobs/JGDAS_ATMOS_GEMPAK_META_NCDC b/jobs/JGDAS_ATMOS_GEMPAK_META_NCDC index 6948d29df6..92b56f10b8 100755 --- a/jobs/JGDAS_ATMOS_GEMPAK_META_NCDC +++ b/jobs/JGDAS_ATMOS_GEMPAK_META_NCDC @@ -17,7 +17,6 @@ export EXECgfs=${EXECgfs:-${HOMEgfs}/exec} export PARMgfs=${PARMgfs:-${HOMEgfs}/parm} export PARMwmo=${PARMwmo:-${HOMEgfs}/parm/wmo} export PARMproduct=${PARMproduct:-${HOMEgfs}/parm/product} -export FIXgempak=${FIXgempak:-${HOMEgfs}/gempak/fix} export USHgempak=${USHgempak:-${HOMEgfs}/gempak/ush} export SRCgfs=${SRCgfs:-${HOMEgfs}/scripts} export UTILgfs=${UTILgfs:-${HOMEgfs}/util} @@ -26,7 +25,7 @@ export UTILgfs=${UTILgfs:-${HOMEgfs}/util} # Now set up GEMPAK/NTRANS environment # -cp ${FIXgempak}/datatype.tbl datatype.tbl +cp ${HOMEgfs}/gempak/fix/datatype.tbl datatype.tbl ################################### # Specify NET and RUN Name and model diff --git a/jobs/JGFS_ATMOS_AWIPS_20KM_1P0DEG b/jobs/JGFS_ATMOS_AWIPS_20KM_1P0DEG index 516c7a403b..d2277bb0da 100755 --- a/jobs/JGFS_ATMOS_AWIPS_20KM_1P0DEG +++ b/jobs/JGFS_ATMOS_AWIPS_20KM_1P0DEG @@ -14,7 +14,6 @@ export EXECgfs=${EXECgfs:-${HOMEgfs}/exec} export PARMgfs=${PARMgfs:-${HOMEgfs}/parm} export PARMwmo=${PARMwmo:-${HOMEgfs}/parm/wmo} export PARMproduct=${PARMproduct:-${HOMEgfs}/parm/product} -export FIXgfs=${FIXgfs:-${HOMEgfs}/fix} ################################### # Specify NET and RUN Name and model diff --git a/jobs/JGFS_ATMOS_AWIPS_G2 b/jobs/JGFS_ATMOS_AWIPS_G2 index 5bd7749997..3503a92b08 100755 --- a/jobs/JGFS_ATMOS_AWIPS_G2 +++ b/jobs/JGFS_ATMOS_AWIPS_G2 @@ -17,7 +17,6 @@ export EXECgfs=${EXECgfs:-${HOMEgfs}/exec} export PARMgfs=${PARMgfs:-${HOMEgfs}/parm} export PARMwmo=${PARMwmo:-${HOMEgfs}/parm/wmo} export PARMproduct=${PARMproduct:-${HOMEgfs}/parm/product} -export FIXgfs=${FIXgfs:-${HOMEgfs}/fix} export UTILgfs=${UTILgfs:-${HOMEgfs}/util} ################################### diff --git a/jobs/JGFS_ATMOS_FBWIND b/jobs/JGFS_ATMOS_FBWIND index e04b06c0d6..d640907c5c 100755 --- a/jobs/JGFS_ATMOS_FBWIND +++ b/jobs/JGFS_ATMOS_FBWIND @@ -16,7 +16,6 @@ export EXECgfs=${EXECgfs:-${HOMEgfs}/exec} export PARMgfs=${PARMgfs:-${HOMEgfs}/parm} export PARMwmo=${PARMwmo:-${HOMEgfs}/parm/wmo} export PARMproduct=${PARMproduct:-${HOMEgfs}/parm/product} -export FIXgfs=${FIXgfs:-${HOMEgfs}/fix} export UTILgfs=${UTILgfs:-${HOMEgfs}/util} ################################### diff --git a/jobs/JGFS_ATMOS_GEMPAK b/jobs/JGFS_ATMOS_GEMPAK index ddf10342d2..ff7479daf2 100755 --- a/jobs/JGFS_ATMOS_GEMPAK +++ b/jobs/JGFS_ATMOS_GEMPAK @@ -10,7 +10,6 @@ source "${HOMEgfs}/ush/jjob_header.sh" -e "gempak" -c "base gempak" export EXECgfs=${EXECgfs:-${HOMEgfs}/exec} export PARMgfs=${PARMgfs:-${HOMEgfs}/parm} export EXPDIR=${EXPDIR:-${HOMEgfs}/parm/config} -export FIXgempak=${FIXgempak:-${HOMEgfs}/gempak/fix} export USHgempak=${USHgempak:-${HOMEgfs}/gempak/ush} export SRCgfs=${SRCgfs:-${HOMEgfs}/scripts} diff --git a/jobs/JGFS_ATMOS_GEMPAK_META b/jobs/JGFS_ATMOS_GEMPAK_META index 8e1c05763f..f3573419c5 100755 --- a/jobs/JGFS_ATMOS_GEMPAK_META +++ b/jobs/JGFS_ATMOS_GEMPAK_META @@ -24,11 +24,10 @@ export MP_DEBUG_NOTIMEOUT=yes export EXECgfs=${EXECgfs:-${HOMEgfs}/exec} export PARMgfs=${PARMgfs:-${HOMEgfs}/parm} export EXPDIR=${EXPDIR:-${HOMEgfs}/parm/config} -export FIXgempak=${FIXgempak:-${HOMEgfs}/gempak/fix} export USHgempak=${USHgempak:-${HOMEgfs}/gempak/ush} export SRCgfs=${SRCgfs:-${HOMEgfs}/scripts} -cp ${FIXgempak}/datatype.tbl datatype.tbl +cp ${HOMEgfs}/gempak/fix/datatype.tbl datatype.tbl ############################################# #set the fcst hrs for all the cycles diff --git a/jobs/JGFS_ATMOS_GEMPAK_NCDC_UPAPGIF b/jobs/JGFS_ATMOS_GEMPAK_NCDC_UPAPGIF index 58b24c5e49..aa0acf445e 100755 --- a/jobs/JGFS_ATMOS_GEMPAK_NCDC_UPAPGIF +++ b/jobs/JGFS_ATMOS_GEMPAK_NCDC_UPAPGIF @@ -15,7 +15,6 @@ source "${HOMEgfs}/ush/jjob_header.sh" -e "gempak_gif" -c "base" export EXECgfs=${EXECgfs:-${HOMEgfs}/exec} export PARMgfs=${PARMgfs:-${HOMEgfs}/parm} export EXPDIR=${EXPDIR:-${HOMEgfs}/parm/config} -export FIXgfs=${FIXgfs:-${HOMEgfs}/gempak/fix} export USHgempak=${USHgempak:-${HOMEgfs}/gempak/ush} export SRCgfs=${SRCgfs:-${HOMEgfs}/scripts} export UTILgfs=${UTILgfs:-${HOMEgfs}/util} @@ -24,7 +23,6 @@ export UTILgfs=${UTILgfs:-${HOMEgfs}/util} # Set up the GEMPAK directory ####################################### export HOMEgempak=${HOMEgempak:-${HOMEgfs}/gempak} -export FIXgempak=${FIXgempak:-${HOMEgempak}/fix} export USHgempak=${USHgempak:-${HOMEgempak}/ush} export MP_PULSE=0 diff --git a/jobs/JGFS_ATMOS_GEMPAK_PGRB2_SPEC b/jobs/JGFS_ATMOS_GEMPAK_PGRB2_SPEC index 47415a39ff..8b17f96a22 100755 --- a/jobs/JGFS_ATMOS_GEMPAK_PGRB2_SPEC +++ b/jobs/JGFS_ATMOS_GEMPAK_PGRB2_SPEC @@ -13,7 +13,6 @@ source "${HOMEgfs}/ush/jjob_header.sh" -e "gempak_spec" -c "base" export EXECgfs="${EXECgfs:-${HOMEgfs}/exec}" export PARMgfs="${PARMgfs:-${HOMEgfs}/parm}" export EXPDIR="${EXPDIR:-${HOMEgfs}/parm/config}" -export FIXgempak="${FIXgempak:-${HOMEgfs}/gempak/fix}" export USHgempak="${USHgempak:-${HOMEgfs}/gempak/ush}" export SRCgfs="${SRCgfs:-${HOMEgfs}/scripts}" diff --git a/jobs/JGFS_ATMOS_PGRB2_SPEC_NPOESS b/jobs/JGFS_ATMOS_PGRB2_SPEC_NPOESS index a98835ada2..ecebdffa3e 100755 --- a/jobs/JGFS_ATMOS_PGRB2_SPEC_NPOESS +++ b/jobs/JGFS_ATMOS_PGRB2_SPEC_NPOESS @@ -19,7 +19,6 @@ export PARMgfs=${PARMgfs:-${HOMEgfs}/parm} export EXPDIR=${EXPDIR:-${HOMEgfs}/parm/config} export PARMwmo=${PARMwmo:-${HOMEgfs}/parm/wmo} export PARMproduct=${PARMproduct:-${HOMEgfs}/parm/product} -export FIXgfs=${FIXgfs:-${HOMEgfs}/fix} ################################### # Specify NET and RUN Name and model diff --git a/jobs/JGFS_ATMOS_POSTSND b/jobs/JGFS_ATMOS_POSTSND index 721dd27628..4e99ef7a46 100755 --- a/jobs/JGFS_ATMOS_POSTSND +++ b/jobs/JGFS_ATMOS_POSTSND @@ -24,7 +24,6 @@ export DBNROOT=${DBNROOT:-${UTILROOT}/fakedbn} export HOMEbufrsnd=${HOMEbufrsnd:-${HOMEgfs}} export EXECbufrsnd=${EXECbufrsnd:-${HOMEbufrsnd}/exec} -export FIXbufrsnd=${FIXbufrsnd:-${HOMEbufrsnd}/fix/product} export PARMbufrsnd=${PARMbufrsnd:-${HOMEbufrsnd}/parm/product} export USHbufrsnd=${USHbufrsnd:-${HOMEbufrsnd}/ush} export SCRbufrsnd=${SCRbufrsnd:-${HOMEbufrsnd}/scripts} diff --git a/jobs/JGLOBAL_ATMOS_ANALYSIS b/jobs/JGLOBAL_ATMOS_ANALYSIS index 9e5850bfc3..3d7a4278a2 100755 --- a/jobs/JGLOBAL_ATMOS_ANALYSIS +++ b/jobs/JGLOBAL_ATMOS_ANALYSIS @@ -79,7 +79,7 @@ export PREPQCPF="${COM_OBS}/${OPREFIX}prepbufr.acft_profiles" # Copy fix file for obsproc # TODO: Why is this necessary? if [[ ${RUN} = "gfs" ]]; then mkdir -p ${ROTDIR}/fix - cp ${FIXgsi}/prepobs_errtable.global ${ROTDIR}/fix/ + cp ${FIXgfs}/gsi/prepobs_errtable.global ${ROTDIR}/fix/ fi diff --git a/jobs/JGLOBAL_ATMOS_POST_MANAGER b/jobs/JGLOBAL_ATMOS_POST_MANAGER index 7c726bc2ad..797d26953b 100755 --- a/jobs/JGLOBAL_ATMOS_POST_MANAGER +++ b/jobs/JGLOBAL_ATMOS_POST_MANAGER @@ -17,7 +17,6 @@ export RUN=${RUN:-gfs} #################################### export HOMEgfs=${HOMEgfs:-${PACKAGEROOT}/gfs.${gfs_ver}} export EXECgfs=${HOMEgfs:-${HOMEgfs}/exec} -export FIXgfs=${HOMEgfs:-${HOMEgfs}/fix} export PARMgfs=${HOMEgfs:-${HOMEgfs}/parm} export USHgfs=${HOMEgfs:-${HOMEgfs}/ush} diff --git a/jobs/JGLOBAL_WAVE_INIT b/jobs/JGLOBAL_WAVE_INIT index 7ad742f25a..7825c33496 100755 --- a/jobs/JGLOBAL_WAVE_INIT +++ b/jobs/JGLOBAL_WAVE_INIT @@ -10,7 +10,6 @@ export errchk=${errchk:-err_chk} export MP_PULSE=0 # Path to HOME Directory -export FIXwave=${FIXwave:-${HOMEgfs}/fix/wave} export PARMwave=${PARMwave:-${HOMEgfs}/parm/wave} export USHwave=${USHwave:-${HOMEgfs}/ush} export EXECwave=${EXECwave:-${HOMEgfs}/exec} diff --git a/jobs/JGLOBAL_WAVE_POST_BNDPNT b/jobs/JGLOBAL_WAVE_POST_BNDPNT index 9d404077fd..69200fba0b 100755 --- a/jobs/JGLOBAL_WAVE_POST_BNDPNT +++ b/jobs/JGLOBAL_WAVE_POST_BNDPNT @@ -9,7 +9,6 @@ export errchk=${errchk:-err_chk} export MP_PULSE=0 # Path to HOME Directory -export FIXwave=${FIXwave:-${HOMEgfs}/fix/wave} export PARMwave=${PARMwave:-${HOMEgfs}/parm/wave} export USHwave=${USHwave:-${HOMEgfs}/ush} export EXECwave=${EXECwave:-${HOMEgfs}/exec} diff --git a/jobs/JGLOBAL_WAVE_POST_BNDPNTBLL b/jobs/JGLOBAL_WAVE_POST_BNDPNTBLL index 3de49fcc3b..536cadd165 100755 --- a/jobs/JGLOBAL_WAVE_POST_BNDPNTBLL +++ b/jobs/JGLOBAL_WAVE_POST_BNDPNTBLL @@ -13,7 +13,6 @@ export CDATE=${PDY}${cyc} export MP_PULSE=0 # Path to HOME Directory -export FIXwave=${FIXwave:-${HOMEgfs}/fix/wave} export PARMwave=${PARMwave:-${HOMEgfs}/parm/wave} export USHwave=${USHwave:-${HOMEgfs}/ush} export EXECwave=${EXECwave:-${HOMEgfs}/exec} diff --git a/jobs/JGLOBAL_WAVE_POST_PNT b/jobs/JGLOBAL_WAVE_POST_PNT index 1b573435a3..9ff2f78f63 100755 --- a/jobs/JGLOBAL_WAVE_POST_PNT +++ b/jobs/JGLOBAL_WAVE_POST_PNT @@ -9,7 +9,6 @@ export errchk=${errchk:-err_chk} export MP_PULSE=0 # Path to HOME Directory -export FIXwave=${FIXwave:-${HOMEgfs}/fix/wave} export PARMwave=${PARMwave:-${HOMEgfs}/parm/wave} export USHwave=${USHwave:-${HOMEgfs}/ush} export EXECwave=${EXECwave:-${HOMEgfs}/exec} diff --git a/jobs/JGLOBAL_WAVE_POST_SBS b/jobs/JGLOBAL_WAVE_POST_SBS index 231b793de7..2a7e5657dc 100755 --- a/jobs/JGLOBAL_WAVE_POST_SBS +++ b/jobs/JGLOBAL_WAVE_POST_SBS @@ -9,7 +9,6 @@ export errchk=${errchk:-err_chk} export MP_PULSE=0 # Path to HOME Directory -export FIXwave=${FIXwave:-${HOMEgfs}/fix/wave} export PARMwave=${PARMwave:-${HOMEgfs}/parm/wave} export USHwave=${USHwave:-${HOMEgfs}/ush} export EXECwave=${EXECwave:-${HOMEgfs}/exec} diff --git a/jobs/JGLOBAL_WAVE_PREP b/jobs/JGLOBAL_WAVE_PREP index f246045f53..479f9b8641 100755 --- a/jobs/JGLOBAL_WAVE_PREP +++ b/jobs/JGLOBAL_WAVE_PREP @@ -17,7 +17,6 @@ export MP_PULSE=0 export CDO=${CDO_ROOT}/bin/cdo # Path to HOME Directory -export FIXwave=${FIXwave:-${HOMEgfs}/fix/wave} export PARMwave=${PARMwave:-${HOMEgfs}/parm/wave} export USHwave=${USHwave:-${HOMEgfs}/ush} export EXECwave=${EXECwave:-${HOMEgfs}/exec} diff --git a/parm/config/gefs/config.base.emc.dyn b/parm/config/gefs/config.base.emc.dyn index 0b19da2a36..2da96ad85b 100644 --- a/parm/config/gefs/config.base.emc.dyn +++ b/parm/config/gefs/config.base.emc.dyn @@ -30,16 +30,6 @@ export UTILgfs=${HOMEgfs}/util export EXECgfs=${HOMEgfs}/exec export SCRgfs=${HOMEgfs}/scripts -export FIXam="${FIXgfs}/am" -export FIXaer="${FIXgfs}/aer" -export FIXcpl="${FIXgfs}/cpl" -export FIXlut="${FIXgfs}/lut" -export FIXorog="${FIXgfs}/orog" -export FIXcice="${FIXgfs}/cice" -export FIXmom="${FIXgfs}/mom6" -export FIXreg2grb2="${FIXgfs}/reg2grb2" -export FIXugwd="${FIXgfs}/ugwd" - ######################################################################## # GLOBAL static environment parameters diff --git a/parm/config/gefs/config.wave b/parm/config/gefs/config.wave index e04331e533..9ea4a30199 100644 --- a/parm/config/gefs/config.wave +++ b/parm/config/gefs/config.wave @@ -11,7 +11,6 @@ echo "BEGIN: config.wave" export wave_sys_ver=v1.0.0 export EXECwave="${HOMEgfs}/exec" -export FIXwave="${HOMEgfs}/fix/wave" export PARMwave="${HOMEgfs}/parm/wave" export USHwave="${HOMEgfs}/ush" diff --git a/parm/config/gfs/config.aeroanl b/parm/config/gfs/config.aeroanl index 32ba43b7ba..8d8aa92c16 100644 --- a/parm/config/gfs/config.aeroanl +++ b/parm/config/gfs/config.aeroanl @@ -10,8 +10,7 @@ export OBS_YAML_DIR=${HOMEgfs}/sorc/gdas.cd/parm/aero/obs/config/ export OBS_LIST=${HOMEgfs}/sorc/gdas.cd/parm/aero/obs/lists/gdas_aero_prototype.yaml export STATICB_TYPE='identity' export BERROR_YAML=${HOMEgfs}/sorc/gdas.cd/parm/aero/berror/staticb_${STATICB_TYPE}.yaml -export FIXgdas=${HOMEgfs}/fix/gdas -export BERROR_DATA_DIR=${FIXgdas}/bump/aero/${CASE_ANL}/ +export BERROR_DATA_DIR=${FIXgfs}/gdas/bump/aero/${CASE_ANL}/ export BERROR_DATE="20160630.000000" export io_layout_x=@IO_LAYOUT_X@ diff --git a/parm/config/gfs/config.anal b/parm/config/gfs/config.anal index e3a17f9c6a..98d0e88cc2 100644 --- a/parm/config/gfs/config.anal +++ b/parm/config/gfs/config.anal @@ -45,51 +45,51 @@ export AMSR2BF=${AMSR2BF:-/dev/null} # Set default values for info files and observation error # NOTE: Remember to set PRVT in config.prep as OBERROR is set below -export CONVINFO=${FIXgsi}/global_convinfo.txt -export OZINFO=${FIXgsi}/global_ozinfo.txt -export SATINFO=${FIXgsi}/global_satinfo.txt -export OBERROR=${FIXgsi}/prepobs_errtable.global +export CONVINFO=${FIXgfs}/gsi/global_convinfo.txt +export OZINFO=${FIXgfs}/gsi/global_ozinfo.txt +export SATINFO=${FIXgfs}/gsi/global_satinfo.txt +export OBERROR=${FIXgfs}/gsi/prepobs_errtable.global # Use experimental dumps in EMC GFS v16 parallels if [[ ${RUN_ENVIR} == "emc" ]]; then # Set info files and prepobs.errtable.global for GFS v16 retrospective parallels if [[ "${PDY}${cyc}" -ge "2019021900" && "${PDY}${cyc}" -lt "2019110706" ]]; then - export CONVINFO=${FIXgsi}/gfsv16_historical/global_convinfo.txt.2019021900 - export OBERROR=${FIXgsi}/gfsv16_historical/prepobs_errtable.global.2019021900 + export CONVINFO=${FIXgfs}/gsi/gfsv16_historical/global_convinfo.txt.2019021900 + export OBERROR=${FIXgfs}/gsi/gfsv16_historical/prepobs_errtable.global.2019021900 fi # Place GOES-15 AMVs in monitor, assimilate GOES-17 AMVs, assimilate KOMPSAT-5 gps if [[ "${PDY}${cyc}" -ge "2019110706" && "${PDY}${cyc}" -lt "2020040718" ]]; then - export CONVINFO=${FIXgsi}/gfsv16_historical/global_convinfo.txt.2019110706 - export OBERROR=${FIXgsi}/gfsv16_historical/prepobs_errtable.global.2019110706 + export CONVINFO=${FIXgfs}/gsi/gfsv16_historical/global_convinfo.txt.2019110706 + export OBERROR=${FIXgfs}/gsi/gfsv16_historical/prepobs_errtable.global.2019110706 fi # Assimilate 135 (T) & 235 (uv) Canadian AMDAR observations if [[ "${PDY}${cyc}" -ge "2020040718" && "${PDY}${cyc}" -lt "2020052612" ]]; then - export CONVINFO=${FIXgsi}/gfsv16_historical/global_convinfo.txt.2020040718 - export OBERROR=${FIXgsi}/gfsv16_historical/prepobs_errtable.global.2020040718 + export CONVINFO=${FIXgfs}/gsi/gfsv16_historical/global_convinfo.txt.2020040718 + export OBERROR=${FIXgfs}/gsi/gfsv16_historical/prepobs_errtable.global.2020040718 fi # Assimilate COSMIC-2 if [[ "${PDY}${cyc}" -ge "2020052612" && "${PDY}${cyc}" -lt "2020082412" ]]; then - export CONVINFO=${FIXgsi}/gfsv16_historical/global_convinfo.txt.2020052612 - export OBERROR=${FIXgsi}/gfsv16_historical/prepobs_errtable.global.2020040718 + export CONVINFO=${FIXgfs}/gsi/gfsv16_historical/global_convinfo.txt.2020052612 + export OBERROR=${FIXgfs}/gsi/gfsv16_historical/prepobs_errtable.global.2020040718 fi # Assimilate HDOB if [[ "${PDY}${cyc}" -ge "2020082412" && "${PDY}${cyc}" -lt "2020091612" ]]; then - export CONVINFO=${FIXgsi}/gfsv16_historical/global_convinfo.txt.2020082412 + export CONVINFO=${FIXgfs}/gsi/gfsv16_historical/global_convinfo.txt.2020082412 fi # Assimilate Metop-C GNSSRO if [[ "${PDY}${cyc}" -ge "2020091612" && "${PDY}${cyc}" -lt "2021031712" ]]; then - export CONVINFO=${FIXgsi}/gfsv16_historical/global_convinfo.txt.2020091612 + export CONVINFO=${FIXgfs}/gsi/gfsv16_historical/global_convinfo.txt.2020091612 fi # Assimilate DO-2 GeoOptics if [[ "${PDY}${cyc}" -ge "2021031712" && "${PDY}${cyc}" -lt "2021091612" ]]; then - export CONVINFO=${FIXgsi}/gfsv16_historical/global_convinfo.txt.2021031712 + export CONVINFO=${FIXgfs}/gsi/gfsv16_historical/global_convinfo.txt.2021031712 fi # NOTE: @@ -98,38 +98,38 @@ if [[ ${RUN_ENVIR} == "emc" ]]; then # needed at this time. # Assimilate COSMIC-2 GPS # if [[ "${PDY}${cyc}" -ge "2021110312" && "${PDY}${cyc}" -lt "YYYYMMDDHH" ]]; then - # export CONVINFO=$FIXgsi/gfsv16_historical/global_convinfo.txt.2021110312 + # export CONVINFO=${FIXgfs}/gsi/gfsv16_historical/global_convinfo.txt.2021110312 # fi # Turn off assmilation of OMPS during period of bad data if [[ "${PDY}${cyc}" -ge "2020011600" && "${PDY}${cyc}" -lt "2020011806" ]]; then - export OZINFO=${FIXgsi}/gfsv16_historical/global_ozinfo.txt.2020011600 + export OZINFO=${FIXgfs}/gsi/gfsv16_historical/global_ozinfo.txt.2020011600 fi # Set satinfo for start of GFS v16 parallels if [[ "${PDY}${cyc}" -ge "2019021900" && "${PDY}${cyc}" -lt "2019110706" ]]; then - export SATINFO=${FIXgsi}/gfsv16_historical/global_satinfo.txt.2019021900 + export SATINFO=${FIXgfs}/gsi/gfsv16_historical/global_satinfo.txt.2019021900 fi # Turn on assimilation of Metop-C AMSUA and MHS if [[ "${PDY}${cyc}" -ge "2019110706" && "${PDY}${cyc}" -lt "2020022012" ]]; then - export SATINFO=${FIXgsi}/gfsv16_historical/global_satinfo.txt.2019110706 + export SATINFO=${FIXgfs}/gsi/gfsv16_historical/global_satinfo.txt.2019110706 fi # Turn off assimilation of Metop-A MHS if [[ "${PDY}${cyc}" -ge "2020022012" && "${PDY}${cyc}" -lt "2021052118" ]]; then - export SATINFO=${FIXgsi}/gfsv16_historical/global_satinfo.txt.2020022012 + export SATINFO=${FIXgfs}/gsi/gfsv16_historical/global_satinfo.txt.2020022012 fi # Turn off assimilation of S-NPP CrIS if [[ "${PDY}${cyc}" -ge "2021052118" && "${PDY}${cyc}" -lt "2021092206" ]]; then - export SATINFO=${FIXgsi}/gfsv16_historical/global_satinfo.txt.2021052118 + export SATINFO=${FIXgfs}/gsi/gfsv16_historical/global_satinfo.txt.2021052118 fi # Turn off assimilation of MetOp-A IASI if [[ "${PDY}${cyc}" -ge "2021092206" && "${PDY}${cyc}" -lt "2021102612" ]]; then - export SATINFO=${FIXgsi}/gfsv16_historical/global_satinfo.txt.2021092206 + export SATINFO=${FIXgfs}/gsi/gfsv16_historical/global_satinfo.txt.2021092206 fi # NOTE: @@ -139,7 +139,7 @@ if [[ ${RUN_ENVIR} == "emc" ]]; then # # Turn off assmilation of all Metop-A MHS # if [[ "${PDY}${cyc}" -ge "2021110312" && "${PDY}${cyc}" -lt "YYYYMMDDHH" ]]; then - # export SATINFO=$FIXgsi/gfsv16_historical/global_satinfo.txt.2021110312 + # export SATINFO=${FIXgfs}/gsi/gfsv16_historical/global_satinfo.txt.2021110312 # fi fi diff --git a/parm/config/gfs/config.base.emc.dyn b/parm/config/gfs/config.base.emc.dyn index 53a9d94baf..2c26f8d184 100644 --- a/parm/config/gfs/config.base.emc.dyn +++ b/parm/config/gfs/config.base.emc.dyn @@ -30,17 +30,6 @@ export UTILgfs="${HOMEgfs}/util" export EXECgfs="${HOMEgfs}/exec" export SCRgfs="${HOMEgfs}/scripts" -export FIXam="${FIXgfs}/am" -export FIXaer="${FIXgfs}/aer" -export FIXcpl="${FIXgfs}/cpl" -export FIXlut="${FIXgfs}/lut" -export FIXorog="${FIXgfs}/orog" -export FIXcice="${FIXgfs}/cice" -export FIXmom="${FIXgfs}/mom6" -export FIXreg2grb2="${FIXgfs}/reg2grb2" -export FIXugwd="${FIXgfs}/ugwd" -export FIXgdas="${FIXgfs}/gdas" - ######################################################################## # GLOBAL static environment parameters @@ -96,7 +85,6 @@ export MODE="@MODE@" # cycled/forecast-only # CLEAR #################################################### # Build paths relative to $HOMEgfs -export FIXgsi="${HOMEgfs}/fix/gsi" export HOMEpost="${HOMEgfs}" export HOMEobsproc="${BASE_GIT:-}/obsproc/v${obsproc_run_ver:-1.1.2}" diff --git a/parm/config/gfs/config.prep b/parm/config/gfs/config.prep index d5ac1925f7..9733eabc19 100644 --- a/parm/config/gfs/config.prep +++ b/parm/config/gfs/config.prep @@ -20,7 +20,6 @@ export COMINsyn=${COMINsyn:-$(compath.py ${envir}/com/gfs/${gfs_ver})/syndat} export HOMERELO=$HOMEgfs export EXECRELO=${HOMERELO}/exec -export FIXRELO=${HOMERELO}/fix/am export USHRELO=${HOMERELO}/ush # Adjust observation error for GFS v16 parallels @@ -28,18 +27,18 @@ export USHRELO=${HOMERELO}/ush # NOTE: Remember to set OBERROR in config.anal as PRVT is set below # # Set default prepobs_errtable.global -export PRVT=$FIXgsi/prepobs_errtable.global +export PRVT=${FIXgfs}/gsi/prepobs_errtable.global # Set prepobs.errtable.global for GFS v16 retrospective parallels if [[ $RUN_ENVIR == "emc" ]]; then if [[ "${PDY}${cyc}" -ge "2019021900" && "${PDY}${cyc}" -lt "2019110706" ]]; then - export PRVT=$FIXgsi/gfsv16_historical/prepobs_errtable.global.2019021900 + export PRVT=${FIXgfs}/gsi/gfsv16_historical/prepobs_errtable.global.2019021900 fi # Place GOES-15 AMVs in monitor, assimilate GOES-17 AMVs, assimilate KOMPSAT-5 gps if [[ "${PDY}${cyc}" -ge "2019110706" && "${PDY}${cyc}" -lt "2020040718" ]]; then - export PRVT=$FIXgsi/gfsv16_historical/prepobs_errtable.global.2019110706 + export PRVT=${FIXgfs}/gsi/gfsv16_historical/prepobs_errtable.global.2019110706 fi # NOTE: diff --git a/parm/config/gfs/config.wave b/parm/config/gfs/config.wave index 74f5b78937..d64516208d 100644 --- a/parm/config/gfs/config.wave +++ b/parm/config/gfs/config.wave @@ -11,7 +11,6 @@ echo "BEGIN: config.wave" export wave_sys_ver=v1.0.0 export EXECwave="${HOMEgfs}/exec" -export FIXwave="${HOMEgfs}/fix/wave" export PARMwave="${HOMEgfs}/parm/wave" export USHwave="${HOMEgfs}/ush" diff --git a/parm/gdas/aero_jedi_fix.yaml b/parm/gdas/aero_jedi_fix.yaml index 85a00c3c30..16cbeac6e7 100644 --- a/parm/gdas/aero_jedi_fix.yaml +++ b/parm/gdas/aero_jedi_fix.yaml @@ -1,11 +1,11 @@ mkdir: - !ENV ${DATA}/fv3jedi copy: -- - !ENV ${FIXgdas}/fv3jedi/fv3files/akbk$(npz).nc4 +- - !ENV ${FIXgfs}/gdas/fv3jedi/fv3files/akbk$(npz).nc4 - !ENV ${DATA}/fv3jedi/akbk.nc4 -- - !ENV ${FIXgdas}/fv3jedi/fv3files/fmsmpp.nml +- - !ENV ${FIXgfs}/gdas/fv3jedi/fv3files/fmsmpp.nml - !ENV ${DATA}/fv3jedi/fmsmpp.nml -- - !ENV ${FIXgdas}/fv3jedi/fv3files/field_table_gfdl +- - !ENV ${FIXgfs}/gdas/fv3jedi/fv3files/field_table_gfdl - !ENV ${DATA}/fv3jedi/field_table - - !ENV $(HOMEgfs)/sorc/gdas.cd/parm/io/fv3jedi_fieldmetadata_restart.yaml - !ENV ${DATA}/fv3jedi/fv3jedi_fieldmetadata_restart.yaml diff --git a/parm/ufs/fix/gfs/atmos.fixed_files.yaml b/parm/ufs/fix/gfs/atmos.fixed_files.yaml index 7d901fe17b..8db691b49c 100644 --- a/parm/ufs/fix/gfs/atmos.fixed_files.yaml +++ b/parm/ufs/fix/gfs/atmos.fixed_files.yaml @@ -1,85 +1,85 @@ copy: # Atmosphere mosaic file linked as the grid_spec file (atm only) - - [$(FIXorog)/$(CASE)/$(CASE)_mosaic.nc, $(DATA)/INPUT/grid_spec.nc] + - [$(FIXgfs)/orog/$(CASE)/$(CASE)_mosaic.nc, $(DATA)/INPUT/grid_spec.nc] # Atmosphere grid tile files - - [$(FIXorog)/$(CASE)/$(CASE)_grid.tile1.nc, $(DATA)/INPUT/] - - [$(FIXorog)/$(CASE)/$(CASE)_grid.tile2.nc, $(DATA)/INPUT/] - - [$(FIXorog)/$(CASE)/$(CASE)_grid.tile3.nc, $(DATA)/INPUT/] - - [$(FIXorog)/$(CASE)/$(CASE)_grid.tile4.nc, $(DATA)/INPUT/] - - [$(FIXorog)/$(CASE)/$(CASE)_grid.tile5.nc, $(DATA)/INPUT/] - - [$(FIXorog)/$(CASE)/$(CASE)_grid.tile6.nc, $(DATA)/INPUT/] + - [$(FIXgfs)/orog/$(CASE)/$(CASE)_grid.tile1.nc, $(DATA)/INPUT/] + - [$(FIXgfs)/orog/$(CASE)/$(CASE)_grid.tile2.nc, $(DATA)/INPUT/] + - [$(FIXgfs)/orog/$(CASE)/$(CASE)_grid.tile3.nc, $(DATA)/INPUT/] + - [$(FIXgfs)/orog/$(CASE)/$(CASE)_grid.tile4.nc, $(DATA)/INPUT/] + - [$(FIXgfs)/orog/$(CASE)/$(CASE)_grid.tile5.nc, $(DATA)/INPUT/] + - [$(FIXgfs)/orog/$(CASE)/$(CASE)_grid.tile6.nc, $(DATA)/INPUT/] - # oro_data_ls and oro_data_ss files from FIXugwd - - [$(FIXugwd)/$(CASE)/$(CASE)_oro_data_ls.tile1.nc, $(DATA)/INPUT/oro_data_ls.tile1.nc] - - [$(FIXugwd)/$(CASE)/$(CASE)_oro_data_ls.tile2.nc, $(DATA)/INPUT/oro_data_ls.tile2.nc] - - [$(FIXugwd)/$(CASE)/$(CASE)_oro_data_ls.tile3.nc, $(DATA)/INPUT/oro_data_ls.tile3.nc] - - [$(FIXugwd)/$(CASE)/$(CASE)_oro_data_ls.tile4.nc, $(DATA)/INPUT/oro_data_ls.tile4.nc] - - [$(FIXugwd)/$(CASE)/$(CASE)_oro_data_ls.tile5.nc, $(DATA)/INPUT/oro_data_ls.tile5.nc] - - [$(FIXugwd)/$(CASE)/$(CASE)_oro_data_ls.tile6.nc, $(DATA)/INPUT/oro_data_ls.tile6.nc] - - [$(FIXugwd)/$(CASE)/$(CASE)_oro_data_ss.tile1.nc, $(DATA)/INPUT/oro_data_ss.tile1.nc] - - [$(FIXugwd)/$(CASE)/$(CASE)_oro_data_ss.tile2.nc, $(DATA)/INPUT/oro_data_ss.tile2.nc] - - [$(FIXugwd)/$(CASE)/$(CASE)_oro_data_ss.tile3.nc, $(DATA)/INPUT/oro_data_ss.tile3.nc] - - [$(FIXugwd)/$(CASE)/$(CASE)_oro_data_ss.tile4.nc, $(DATA)/INPUT/oro_data_ss.tile4.nc] - - [$(FIXugwd)/$(CASE)/$(CASE)_oro_data_ss.tile5.nc, $(DATA)/INPUT/oro_data_ss.tile5.nc] - - [$(FIXugwd)/$(CASE)/$(CASE)_oro_data_ss.tile6.nc, $(DATA)/INPUT/oro_data_ss.tile6.nc] + # oro_data_ls and oro_data_ss files from FIXgfs/ugwd + - [$(FIXgfs)/ugwd/$(CASE)/$(CASE)_oro_data_ls.tile1.nc, $(DATA)/INPUT/oro_data_ls.tile1.nc] + - [$(FIXgfs)/ugwd/$(CASE)/$(CASE)_oro_data_ls.tile2.nc, $(DATA)/INPUT/oro_data_ls.tile2.nc] + - [$(FIXgfs)/ugwd/$(CASE)/$(CASE)_oro_data_ls.tile3.nc, $(DATA)/INPUT/oro_data_ls.tile3.nc] + - [$(FIXgfs)/ugwd/$(CASE)/$(CASE)_oro_data_ls.tile4.nc, $(DATA)/INPUT/oro_data_ls.tile4.nc] + - [$(FIXgfs)/ugwd/$(CASE)/$(CASE)_oro_data_ls.tile5.nc, $(DATA)/INPUT/oro_data_ls.tile5.nc] + - [$(FIXgfs)/ugwd/$(CASE)/$(CASE)_oro_data_ls.tile6.nc, $(DATA)/INPUT/oro_data_ls.tile6.nc] + - [$(FIXgfs)/ugwd/$(CASE)/$(CASE)_oro_data_ss.tile1.nc, $(DATA)/INPUT/oro_data_ss.tile1.nc] + - [$(FIXgfs)/ugwd/$(CASE)/$(CASE)_oro_data_ss.tile2.nc, $(DATA)/INPUT/oro_data_ss.tile2.nc] + - [$(FIXgfs)/ugwd/$(CASE)/$(CASE)_oro_data_ss.tile3.nc, $(DATA)/INPUT/oro_data_ss.tile3.nc] + - [$(FIXgfs)/ugwd/$(CASE)/$(CASE)_oro_data_ss.tile4.nc, $(DATA)/INPUT/oro_data_ss.tile4.nc] + - [$(FIXgfs)/ugwd/$(CASE)/$(CASE)_oro_data_ss.tile5.nc, $(DATA)/INPUT/oro_data_ss.tile5.nc] + - [$(FIXgfs)/ugwd/$(CASE)/$(CASE)_oro_data_ss.tile6.nc, $(DATA)/INPUT/oro_data_ss.tile6.nc] # GWD?? - - [$(FIXugwd)/ugwp_limb_tau.nc, $(DATA)/ugwp_limb_tau.nc] + - [$(FIXgfs)/ugwd/ugwp_limb_tau.nc, $(DATA)/ugwp_limb_tau.nc] # CO2 climatology - - [$(FIXam)/co2monthlycyc.txt, $(DATA)/co2monthlycyc.txt] - - [$(FIXam)/global_co2historicaldata_glob.txt, $(DATA)/co2historicaldata_glob.txt] - - [$(FIXam)/fix_co2_proj/global_co2historicaldata_2009.txt, $(DATA)/co2historicaldata_2009.txt] - - [$(FIXam)/fix_co2_proj/global_co2historicaldata_2010.txt, $(DATA)/co2historicaldata_2010.txt] - - [$(FIXam)/fix_co2_proj/global_co2historicaldata_2011.txt, $(DATA)/co2historicaldata_2011.txt] - - [$(FIXam)/fix_co2_proj/global_co2historicaldata_2012.txt, $(DATA)/co2historicaldata_2012.txt] - - [$(FIXam)/fix_co2_proj/global_co2historicaldata_2013.txt, $(DATA)/co2historicaldata_2013.txt] - - [$(FIXam)/fix_co2_proj/global_co2historicaldata_2014.txt, $(DATA)/co2historicaldata_2014.txt] - - [$(FIXam)/fix_co2_proj/global_co2historicaldata_2015.txt, $(DATA)/co2historicaldata_2015.txt] - - [$(FIXam)/fix_co2_proj/global_co2historicaldata_2016.txt, $(DATA)/co2historicaldata_2016.txt] - - [$(FIXam)/fix_co2_proj/global_co2historicaldata_2017.txt, $(DATA)/co2historicaldata_2017.txt] - - [$(FIXam)/fix_co2_proj/global_co2historicaldata_2018.txt, $(DATA)/co2historicaldata_2018.txt] - - [$(FIXam)/fix_co2_proj/global_co2historicaldata_2019.txt, $(DATA)/co2historicaldata_2019.txt] - - [$(FIXam)/fix_co2_proj/global_co2historicaldata_2020.txt, $(DATA)/co2historicaldata_2020.txt] - - [$(FIXam)/fix_co2_proj/global_co2historicaldata_2021.txt, $(DATA)/co2historicaldata_2021.txt] - - [$(FIXam)/fix_co2_proj/global_co2historicaldata_2022.txt, $(DATA)/co2historicaldata_2022.txt] - - [$(FIXam)/fix_co2_proj/global_co2historicaldata_2023.txt, $(DATA)/co2historicaldata_2023.txt] + - [$(FIXgfs)/am/co2monthlycyc.txt, $(DATA)/co2monthlycyc.txt] + - [$(FIXgfs)/am/global_co2historicaldata_glob.txt, $(DATA)/co2historicaldata_glob.txt] + - [$(FIXgfs)/am/fix_co2_proj/global_co2historicaldata_2009.txt, $(DATA)/co2historicaldata_2009.txt] + - [$(FIXgfs)/am/fix_co2_proj/global_co2historicaldata_2010.txt, $(DATA)/co2historicaldata_2010.txt] + - [$(FIXgfs)/am/fix_co2_proj/global_co2historicaldata_2011.txt, $(DATA)/co2historicaldata_2011.txt] + - [$(FIXgfs)/am/fix_co2_proj/global_co2historicaldata_2012.txt, $(DATA)/co2historicaldata_2012.txt] + - [$(FIXgfs)/am/fix_co2_proj/global_co2historicaldata_2013.txt, $(DATA)/co2historicaldata_2013.txt] + - [$(FIXgfs)/am/fix_co2_proj/global_co2historicaldata_2014.txt, $(DATA)/co2historicaldata_2014.txt] + - [$(FIXgfs)/am/fix_co2_proj/global_co2historicaldata_2015.txt, $(DATA)/co2historicaldata_2015.txt] + - [$(FIXgfs)/am/fix_co2_proj/global_co2historicaldata_2016.txt, $(DATA)/co2historicaldata_2016.txt] + - [$(FIXgfs)/am/fix_co2_proj/global_co2historicaldata_2017.txt, $(DATA)/co2historicaldata_2017.txt] + - [$(FIXgfs)/am/fix_co2_proj/global_co2historicaldata_2018.txt, $(DATA)/co2historicaldata_2018.txt] + - [$(FIXgfs)/am/fix_co2_proj/global_co2historicaldata_2019.txt, $(DATA)/co2historicaldata_2019.txt] + - [$(FIXgfs)/am/fix_co2_proj/global_co2historicaldata_2020.txt, $(DATA)/co2historicaldata_2020.txt] + - [$(FIXgfs)/am/fix_co2_proj/global_co2historicaldata_2021.txt, $(DATA)/co2historicaldata_2021.txt] + - [$(FIXgfs)/am/fix_co2_proj/global_co2historicaldata_2022.txt, $(DATA)/co2historicaldata_2022.txt] + - [$(FIXgfs)/am/fix_co2_proj/global_co2historicaldata_2023.txt, $(DATA)/co2historicaldata_2023.txt] - # FIXam files - - [$(FIXam)/global_climaeropac_global.txt, $(DATA)/aerosol.dat] - - [$(FIXam)/ozprdlos_2015_new_sbuvO3_tclm15_nuchem.f77, $(DATA)/global_o3prdlos.f77] - - [$(FIXam)/global_h2o_pltc.f77, $(DATA)/global_h2oprdlos.f77] - - [$(FIXam)/global_glacier.2x2.grb, $(DATA)/global_glacier.2x2.grb] - - [$(FIXam)/global_maxice.2x2.grb, $(DATA)/global_maxice.2x2.grb] - - [$(FIXam)/global_snoclim.1.875.grb, $(DATA)/global_snoclim.1.875.grb] - - [$(FIXam)/global_slmask.t1534.3072.1536.grb, $(DATA)/global_slmask.t1534.3072.1536.grb] - - [$(FIXam)/global_soilmgldas.statsgo.t1534.3072.1536.grb, $(DATA)/global_soilmgldas.statsgo.t1534.3072.1536.grb] - - [$(FIXam)/global_solarconstant_noaa_an.txt, $(DATA)/solarconstant_noaa_an.txt] - - [$(FIXam)/global_sfc_emissivity_idx.txt, $(DATA)/sfc_emissivity_idx.txt] - - [$(FIXam)/RTGSST.1982.2012.monthly.clim.grb, $(DATA)/RTGSST.1982.2012.monthly.clim.grb] - - [$(FIXam)/IMS-NIC.blended.ice.monthly.clim.grb, $(DATA)/IMS-NIC.blended.ice.monthly.clim.grb] + # FIXgfs/am files + - [$(FIXgfs)/am/global_climaeropac_global.txt, $(DATA)/aerosol.dat] + - [$(FIXgfs)/am/ozprdlos_2015_new_sbuvO3_tclm15_nuchem.f77, $(DATA)/global_o3prdlos.f77] + - [$(FIXgfs)/am/global_h2o_pltc.f77, $(DATA)/global_h2oprdlos.f77] + - [$(FIXgfs)/am/global_glacier.2x2.grb, $(DATA)/global_glacier.2x2.grb] + - [$(FIXgfs)/am/global_maxice.2x2.grb, $(DATA)/global_maxice.2x2.grb] + - [$(FIXgfs)/am/global_snoclim.1.875.grb, $(DATA)/global_snoclim.1.875.grb] + - [$(FIXgfs)/am/global_slmask.t1534.3072.1536.grb, $(DATA)/global_slmask.t1534.3072.1536.grb] + - [$(FIXgfs)/am/global_soilmgldas.statsgo.t1534.3072.1536.grb, $(DATA)/global_soilmgldas.statsgo.t1534.3072.1536.grb] + - [$(FIXgfs)/am/global_solarconstant_noaa_an.txt, $(DATA)/solarconstant_noaa_an.txt] + - [$(FIXgfs)/am/global_sfc_emissivity_idx.txt, $(DATA)/sfc_emissivity_idx.txt] + - [$(FIXgfs)/am/RTGSST.1982.2012.monthly.clim.grb, $(DATA)/RTGSST.1982.2012.monthly.clim.grb] + - [$(FIXgfs)/am/IMS-NIC.blended.ice.monthly.clim.grb, $(DATA)/IMS-NIC.blended.ice.monthly.clim.grb] # MERRA2 Aerosol Climatology - - [$(FIXaer)/merra2.aerclim.2003-2014.m01.nc, $(DATA)/aeroclim.m01.nc] - - [$(FIXaer)/merra2.aerclim.2003-2014.m02.nc, $(DATA)/aeroclim.m02.nc] - - [$(FIXaer)/merra2.aerclim.2003-2014.m03.nc, $(DATA)/aeroclim.m03.nc] - - [$(FIXaer)/merra2.aerclim.2003-2014.m04.nc, $(DATA)/aeroclim.m04.nc] - - [$(FIXaer)/merra2.aerclim.2003-2014.m05.nc, $(DATA)/aeroclim.m05.nc] - - [$(FIXaer)/merra2.aerclim.2003-2014.m06.nc, $(DATA)/aeroclim.m06.nc] - - [$(FIXaer)/merra2.aerclim.2003-2014.m07.nc, $(DATA)/aeroclim.m07.nc] - - [$(FIXaer)/merra2.aerclim.2003-2014.m08.nc, $(DATA)/aeroclim.m08.nc] - - [$(FIXaer)/merra2.aerclim.2003-2014.m09.nc, $(DATA)/aeroclim.m09.nc] - - [$(FIXaer)/merra2.aerclim.2003-2014.m10.nc, $(DATA)/aeroclim.m10.nc] - - [$(FIXaer)/merra2.aerclim.2003-2014.m11.nc, $(DATA)/aeroclim.m11.nc] - - [$(FIXaer)/merra2.aerclim.2003-2014.m12.nc, $(DATA)/aeroclim.m12.nc] + - [$(FIXgfs)/aer/merra2.aerclim.2003-2014.m01.nc, $(DATA)/aeroclim.m01.nc] + - [$(FIXgfs)/aer/merra2.aerclim.2003-2014.m02.nc, $(DATA)/aeroclim.m02.nc] + - [$(FIXgfs)/aer/merra2.aerclim.2003-2014.m03.nc, $(DATA)/aeroclim.m03.nc] + - [$(FIXgfs)/aer/merra2.aerclim.2003-2014.m04.nc, $(DATA)/aeroclim.m04.nc] + - [$(FIXgfs)/aer/merra2.aerclim.2003-2014.m05.nc, $(DATA)/aeroclim.m05.nc] + - [$(FIXgfs)/aer/merra2.aerclim.2003-2014.m06.nc, $(DATA)/aeroclim.m06.nc] + - [$(FIXgfs)/aer/merra2.aerclim.2003-2014.m07.nc, $(DATA)/aeroclim.m07.nc] + - [$(FIXgfs)/aer/merra2.aerclim.2003-2014.m08.nc, $(DATA)/aeroclim.m08.nc] + - [$(FIXgfs)/aer/merra2.aerclim.2003-2014.m09.nc, $(DATA)/aeroclim.m09.nc] + - [$(FIXgfs)/aer/merra2.aerclim.2003-2014.m10.nc, $(DATA)/aeroclim.m10.nc] + - [$(FIXgfs)/aer/merra2.aerclim.2003-2014.m11.nc, $(DATA)/aeroclim.m11.nc] + - [$(FIXgfs)/aer/merra2.aerclim.2003-2014.m12.nc, $(DATA)/aeroclim.m12.nc] # Optical depth - - [$(FIXlut)/optics_BC.v1_3.dat, $(DATA)/optics_BC.dat] - - [$(FIXlut)/optics_DU.v15_3.dat, $(DATA)/optics_DU.dat] - - [$(FIXlut)/optics_OC.v1_3.dat, $(DATA)/optics_OC.dat] - - [$(FIXlut)/optics_SS.v3_3.dat, $(DATA)/optics_SS.dat] - - [$(FIXlut)/optics_SU.v1_3.dat, $(DATA)/optics_SU.dat] + - [$(FIXgfs)/lut/optics_BC.v1_3.dat, $(DATA)/optics_BC.dat] + - [$(FIXgfs)/lut/optics_DU.v15_3.dat, $(DATA)/optics_DU.dat] + - [$(FIXgfs)/lut/optics_OC.v1_3.dat, $(DATA)/optics_OC.dat] + - [$(FIXgfs)/lut/optics_SS.v3_3.dat, $(DATA)/optics_SS.dat] + - [$(FIXgfs)/lut/optics_SU.v1_3.dat, $(DATA)/optics_SU.dat] # fd_ufs.yaml file - [$(HOMEgfs)/sorc/ufs_model.fd/tests/parm/fd_ufs.yaml, $(DATA)/] diff --git a/parm/ufs/fix/gfs/land.fixed_files.yaml b/parm/ufs/fix/gfs/land.fixed_files.yaml index bb2d060963..8e4d221dbc 100644 --- a/parm/ufs/fix/gfs/land.fixed_files.yaml +++ b/parm/ufs/fix/gfs/land.fixed_files.yaml @@ -1,58 +1,58 @@ copy: - # Files from FIXorog/C??/sfc - - [$(FIXorog)/$(CASE)/sfc/$(CASE).mx$(OCNRES).facsf.tile1.nc, $(DATA)/] - - [$(FIXorog)/$(CASE)/sfc/$(CASE).mx$(OCNRES).facsf.tile2.nc, $(DATA)/] - - [$(FIXorog)/$(CASE)/sfc/$(CASE).mx$(OCNRES).facsf.tile3.nc, $(DATA)/] - - [$(FIXorog)/$(CASE)/sfc/$(CASE).mx$(OCNRES).facsf.tile4.nc, $(DATA)/] - - [$(FIXorog)/$(CASE)/sfc/$(CASE).mx$(OCNRES).facsf.tile5.nc, $(DATA)/] - - [$(FIXorog)/$(CASE)/sfc/$(CASE).mx$(OCNRES).facsf.tile6.nc, $(DATA)/] + # Files from FIXgfs/orog/C??/sfc + - [$(FIXgfs)/orog/$(CASE)/sfc/$(CASE).mx$(OCNRES).facsf.tile1.nc, $(DATA)/] + - [$(FIXgfs)/orog/$(CASE)/sfc/$(CASE).mx$(OCNRES).facsf.tile2.nc, $(DATA)/] + - [$(FIXgfs)/orog/$(CASE)/sfc/$(CASE).mx$(OCNRES).facsf.tile3.nc, $(DATA)/] + - [$(FIXgfs)/orog/$(CASE)/sfc/$(CASE).mx$(OCNRES).facsf.tile4.nc, $(DATA)/] + - [$(FIXgfs)/orog/$(CASE)/sfc/$(CASE).mx$(OCNRES).facsf.tile5.nc, $(DATA)/] + - [$(FIXgfs)/orog/$(CASE)/sfc/$(CASE).mx$(OCNRES).facsf.tile6.nc, $(DATA)/] - - [$(FIXorog)/$(CASE)/sfc/$(CASE).mx$(OCNRES).maximum_snow_albedo.tile1.nc, $(DATA)/] - - [$(FIXorog)/$(CASE)/sfc/$(CASE).mx$(OCNRES).maximum_snow_albedo.tile2.nc, $(DATA)/] - - [$(FIXorog)/$(CASE)/sfc/$(CASE).mx$(OCNRES).maximum_snow_albedo.tile3.nc, $(DATA)/] - - [$(FIXorog)/$(CASE)/sfc/$(CASE).mx$(OCNRES).maximum_snow_albedo.tile4.nc, $(DATA)/] - - [$(FIXorog)/$(CASE)/sfc/$(CASE).mx$(OCNRES).maximum_snow_albedo.tile5.nc, $(DATA)/] - - [$(FIXorog)/$(CASE)/sfc/$(CASE).mx$(OCNRES).maximum_snow_albedo.tile6.nc, $(DATA)/] + - [$(FIXgfs)/orog/$(CASE)/sfc/$(CASE).mx$(OCNRES).maximum_snow_albedo.tile1.nc, $(DATA)/] + - [$(FIXgfs)/orog/$(CASE)/sfc/$(CASE).mx$(OCNRES).maximum_snow_albedo.tile2.nc, $(DATA)/] + - [$(FIXgfs)/orog/$(CASE)/sfc/$(CASE).mx$(OCNRES).maximum_snow_albedo.tile3.nc, $(DATA)/] + - [$(FIXgfs)/orog/$(CASE)/sfc/$(CASE).mx$(OCNRES).maximum_snow_albedo.tile4.nc, $(DATA)/] + - [$(FIXgfs)/orog/$(CASE)/sfc/$(CASE).mx$(OCNRES).maximum_snow_albedo.tile5.nc, $(DATA)/] + - [$(FIXgfs)/orog/$(CASE)/sfc/$(CASE).mx$(OCNRES).maximum_snow_albedo.tile6.nc, $(DATA)/] - - [$(FIXorog)/$(CASE)/sfc/$(CASE).mx$(OCNRES).slope_type.tile1.nc, $(DATA)/] - - [$(FIXorog)/$(CASE)/sfc/$(CASE).mx$(OCNRES).slope_type.tile2.nc, $(DATA)/] - - [$(FIXorog)/$(CASE)/sfc/$(CASE).mx$(OCNRES).slope_type.tile3.nc, $(DATA)/] - - [$(FIXorog)/$(CASE)/sfc/$(CASE).mx$(OCNRES).slope_type.tile4.nc, $(DATA)/] - - [$(FIXorog)/$(CASE)/sfc/$(CASE).mx$(OCNRES).slope_type.tile5.nc, $(DATA)/] - - [$(FIXorog)/$(CASE)/sfc/$(CASE).mx$(OCNRES).slope_type.tile6.nc, $(DATA)/] + - [$(FIXgfs)/orog/$(CASE)/sfc/$(CASE).mx$(OCNRES).slope_type.tile1.nc, $(DATA)/] + - [$(FIXgfs)/orog/$(CASE)/sfc/$(CASE).mx$(OCNRES).slope_type.tile2.nc, $(DATA)/] + - [$(FIXgfs)/orog/$(CASE)/sfc/$(CASE).mx$(OCNRES).slope_type.tile3.nc, $(DATA)/] + - [$(FIXgfs)/orog/$(CASE)/sfc/$(CASE).mx$(OCNRES).slope_type.tile4.nc, $(DATA)/] + - [$(FIXgfs)/orog/$(CASE)/sfc/$(CASE).mx$(OCNRES).slope_type.tile5.nc, $(DATA)/] + - [$(FIXgfs)/orog/$(CASE)/sfc/$(CASE).mx$(OCNRES).slope_type.tile6.nc, $(DATA)/] - - [$(FIXorog)/$(CASE)/sfc/$(CASE).mx$(OCNRES).snowfree_albedo.tile1.nc, $(DATA)/] - - [$(FIXorog)/$(CASE)/sfc/$(CASE).mx$(OCNRES).snowfree_albedo.tile2.nc, $(DATA)/] - - [$(FIXorog)/$(CASE)/sfc/$(CASE).mx$(OCNRES).snowfree_albedo.tile3.nc, $(DATA)/] - - [$(FIXorog)/$(CASE)/sfc/$(CASE).mx$(OCNRES).snowfree_albedo.tile4.nc, $(DATA)/] - - [$(FIXorog)/$(CASE)/sfc/$(CASE).mx$(OCNRES).snowfree_albedo.tile5.nc, $(DATA)/] - - [$(FIXorog)/$(CASE)/sfc/$(CASE).mx$(OCNRES).snowfree_albedo.tile6.nc, $(DATA)/] + - [$(FIXgfs)/orog/$(CASE)/sfc/$(CASE).mx$(OCNRES).snowfree_albedo.tile1.nc, $(DATA)/] + - [$(FIXgfs)/orog/$(CASE)/sfc/$(CASE).mx$(OCNRES).snowfree_albedo.tile2.nc, $(DATA)/] + - [$(FIXgfs)/orog/$(CASE)/sfc/$(CASE).mx$(OCNRES).snowfree_albedo.tile3.nc, $(DATA)/] + - [$(FIXgfs)/orog/$(CASE)/sfc/$(CASE).mx$(OCNRES).snowfree_albedo.tile4.nc, $(DATA)/] + - [$(FIXgfs)/orog/$(CASE)/sfc/$(CASE).mx$(OCNRES).snowfree_albedo.tile5.nc, $(DATA)/] + - [$(FIXgfs)/orog/$(CASE)/sfc/$(CASE).mx$(OCNRES).snowfree_albedo.tile6.nc, $(DATA)/] - - [$(FIXorog)/$(CASE)/sfc/$(CASE).mx$(OCNRES).soil_type.tile1.nc, $(DATA)/] - - [$(FIXorog)/$(CASE)/sfc/$(CASE).mx$(OCNRES).soil_type.tile2.nc, $(DATA)/] - - [$(FIXorog)/$(CASE)/sfc/$(CASE).mx$(OCNRES).soil_type.tile3.nc, $(DATA)/] - - [$(FIXorog)/$(CASE)/sfc/$(CASE).mx$(OCNRES).soil_type.tile4.nc, $(DATA)/] - - [$(FIXorog)/$(CASE)/sfc/$(CASE).mx$(OCNRES).soil_type.tile5.nc, $(DATA)/] - - [$(FIXorog)/$(CASE)/sfc/$(CASE).mx$(OCNRES).soil_type.tile6.nc, $(DATA)/] + - [$(FIXgfs)/orog/$(CASE)/sfc/$(CASE).mx$(OCNRES).soil_type.tile1.nc, $(DATA)/] + - [$(FIXgfs)/orog/$(CASE)/sfc/$(CASE).mx$(OCNRES).soil_type.tile2.nc, $(DATA)/] + - [$(FIXgfs)/orog/$(CASE)/sfc/$(CASE).mx$(OCNRES).soil_type.tile3.nc, $(DATA)/] + - [$(FIXgfs)/orog/$(CASE)/sfc/$(CASE).mx$(OCNRES).soil_type.tile4.nc, $(DATA)/] + - [$(FIXgfs)/orog/$(CASE)/sfc/$(CASE).mx$(OCNRES).soil_type.tile5.nc, $(DATA)/] + - [$(FIXgfs)/orog/$(CASE)/sfc/$(CASE).mx$(OCNRES).soil_type.tile6.nc, $(DATA)/] - - [$(FIXorog)/$(CASE)/sfc/$(CASE).mx$(OCNRES).substrate_temperature.tile1.nc, $(DATA)/] - - [$(FIXorog)/$(CASE)/sfc/$(CASE).mx$(OCNRES).substrate_temperature.tile2.nc, $(DATA)/] - - [$(FIXorog)/$(CASE)/sfc/$(CASE).mx$(OCNRES).substrate_temperature.tile3.nc, $(DATA)/] - - [$(FIXorog)/$(CASE)/sfc/$(CASE).mx$(OCNRES).substrate_temperature.tile4.nc, $(DATA)/] - - [$(FIXorog)/$(CASE)/sfc/$(CASE).mx$(OCNRES).substrate_temperature.tile5.nc, $(DATA)/] - - [$(FIXorog)/$(CASE)/sfc/$(CASE).mx$(OCNRES).substrate_temperature.tile6.nc, $(DATA)/] + - [$(FIXgfs)/orog/$(CASE)/sfc/$(CASE).mx$(OCNRES).substrate_temperature.tile1.nc, $(DATA)/] + - [$(FIXgfs)/orog/$(CASE)/sfc/$(CASE).mx$(OCNRES).substrate_temperature.tile2.nc, $(DATA)/] + - [$(FIXgfs)/orog/$(CASE)/sfc/$(CASE).mx$(OCNRES).substrate_temperature.tile3.nc, $(DATA)/] + - [$(FIXgfs)/orog/$(CASE)/sfc/$(CASE).mx$(OCNRES).substrate_temperature.tile4.nc, $(DATA)/] + - [$(FIXgfs)/orog/$(CASE)/sfc/$(CASE).mx$(OCNRES).substrate_temperature.tile5.nc, $(DATA)/] + - [$(FIXgfs)/orog/$(CASE)/sfc/$(CASE).mx$(OCNRES).substrate_temperature.tile6.nc, $(DATA)/] - - [$(FIXorog)/$(CASE)/sfc/$(CASE).mx$(OCNRES).vegetation_greenness.tile1.nc, $(DATA)/] - - [$(FIXorog)/$(CASE)/sfc/$(CASE).mx$(OCNRES).vegetation_greenness.tile2.nc, $(DATA)/] - - [$(FIXorog)/$(CASE)/sfc/$(CASE).mx$(OCNRES).vegetation_greenness.tile3.nc, $(DATA)/] - - [$(FIXorog)/$(CASE)/sfc/$(CASE).mx$(OCNRES).vegetation_greenness.tile4.nc, $(DATA)/] - - [$(FIXorog)/$(CASE)/sfc/$(CASE).mx$(OCNRES).vegetation_greenness.tile5.nc, $(DATA)/] - - [$(FIXorog)/$(CASE)/sfc/$(CASE).mx$(OCNRES).vegetation_greenness.tile6.nc, $(DATA)/] + - [$(FIXgfs)/orog/$(CASE)/sfc/$(CASE).mx$(OCNRES).vegetation_greenness.tile1.nc, $(DATA)/] + - [$(FIXgfs)/orog/$(CASE)/sfc/$(CASE).mx$(OCNRES).vegetation_greenness.tile2.nc, $(DATA)/] + - [$(FIXgfs)/orog/$(CASE)/sfc/$(CASE).mx$(OCNRES).vegetation_greenness.tile3.nc, $(DATA)/] + - [$(FIXgfs)/orog/$(CASE)/sfc/$(CASE).mx$(OCNRES).vegetation_greenness.tile4.nc, $(DATA)/] + - [$(FIXgfs)/orog/$(CASE)/sfc/$(CASE).mx$(OCNRES).vegetation_greenness.tile5.nc, $(DATA)/] + - [$(FIXgfs)/orog/$(CASE)/sfc/$(CASE).mx$(OCNRES).vegetation_greenness.tile6.nc, $(DATA)/] - - [$(FIXorog)/$(CASE)/sfc/$(CASE).mx$(OCNRES).vegetation_type.tile1.nc, $(DATA)/] - - [$(FIXorog)/$(CASE)/sfc/$(CASE).mx$(OCNRES).vegetation_type.tile2.nc, $(DATA)/] - - [$(FIXorog)/$(CASE)/sfc/$(CASE).mx$(OCNRES).vegetation_type.tile3.nc, $(DATA)/] - - [$(FIXorog)/$(CASE)/sfc/$(CASE).mx$(OCNRES).vegetation_type.tile4.nc, $(DATA)/] - - [$(FIXorog)/$(CASE)/sfc/$(CASE).mx$(OCNRES).vegetation_type.tile5.nc, $(DATA)/] - - [$(FIXorog)/$(CASE)/sfc/$(CASE).mx$(OCNRES).vegetation_type.tile6.nc, $(DATA)/] + - [$(FIXgfs)/orog/$(CASE)/sfc/$(CASE).mx$(OCNRES).vegetation_type.tile1.nc, $(DATA)/] + - [$(FIXgfs)/orog/$(CASE)/sfc/$(CASE).mx$(OCNRES).vegetation_type.tile2.nc, $(DATA)/] + - [$(FIXgfs)/orog/$(CASE)/sfc/$(CASE).mx$(OCNRES).vegetation_type.tile3.nc, $(DATA)/] + - [$(FIXgfs)/orog/$(CASE)/sfc/$(CASE).mx$(OCNRES).vegetation_type.tile4.nc, $(DATA)/] + - [$(FIXgfs)/orog/$(CASE)/sfc/$(CASE).mx$(OCNRES).vegetation_type.tile5.nc, $(DATA)/] + - [$(FIXgfs)/orog/$(CASE)/sfc/$(CASE).mx$(OCNRES).vegetation_type.tile6.nc, $(DATA)/] diff --git a/parm/ufs/fix/gfs/ocean.fixed_files.yaml b/parm/ufs/fix/gfs/ocean.fixed_files.yaml index 1ca8ce7a68..4ef19bab0d 100644 --- a/parm/ufs/fix/gfs/ocean.fixed_files.yaml +++ b/parm/ufs/fix/gfs/ocean.fixed_files.yaml @@ -1,9 +1,9 @@ copy: # Orography data tile files - - [$(FIXorog)/$(CASE)/$(CASE).mx$(OCNRES)_oro_data.tile1.nc, $(DATA)/INPUT/oro_data.tile1.nc] - - [$(FIXorog)/$(CASE)/$(CASE).mx$(OCNRES)_oro_data.tile2.nc, $(DATA)/INPUT/oro_data.tile2.nc] - - [$(FIXorog)/$(CASE)/$(CASE).mx$(OCNRES)_oro_data.tile3.nc, $(DATA)/INPUT/oro_data.tile3.nc] - - [$(FIXorog)/$(CASE)/$(CASE).mx$(OCNRES)_oro_data.tile4.nc, $(DATA)/INPUT/oro_data.tile4.nc] - - [$(FIXorog)/$(CASE)/$(CASE).mx$(OCNRES)_oro_data.tile5.nc, $(DATA)/INPUT/oro_data.tile5.nc] - - [$(FIXorog)/$(CASE)/$(CASE).mx$(OCNRES)_oro_data.tile6.nc, $(DATA)/INPUT/oro_data.tile6.nc] + - [$(FIXgfs)/orog/$(CASE)/$(CASE).mx$(OCNRES)_oro_data.tile1.nc, $(DATA)/INPUT/oro_data.tile1.nc] + - [$(FIXgfs)/orog/$(CASE)/$(CASE).mx$(OCNRES)_oro_data.tile2.nc, $(DATA)/INPUT/oro_data.tile2.nc] + - [$(FIXgfs)/orog/$(CASE)/$(CASE).mx$(OCNRES)_oro_data.tile3.nc, $(DATA)/INPUT/oro_data.tile3.nc] + - [$(FIXgfs)/orog/$(CASE)/$(CASE).mx$(OCNRES)_oro_data.tile4.nc, $(DATA)/INPUT/oro_data.tile4.nc] + - [$(FIXgfs)/orog/$(CASE)/$(CASE).mx$(OCNRES)_oro_data.tile5.nc, $(DATA)/INPUT/oro_data.tile5.nc] + - [$(FIXgfs)/orog/$(CASE)/$(CASE).mx$(OCNRES)_oro_data.tile6.nc, $(DATA)/INPUT/oro_data.tile6.nc] diff --git a/scripts/exgdas_atmos_chgres_forenkf.sh b/scripts/exgdas_atmos_chgres_forenkf.sh index d48d58947e..40f702beb2 100755 --- a/scripts/exgdas_atmos_chgres_forenkf.sh +++ b/scripts/exgdas_atmos_chgres_forenkf.sh @@ -21,7 +21,6 @@ source "$HOMEgfs/ush/preamble.sh" # Directories. pwd=$(pwd) -export FIXam=${FIXam:-$HOMEgfs/fix/am} # Base variables CDATE=${CDATE:-"2001010100"} @@ -59,7 +58,7 @@ SENDECF=${SENDECF:-"NO"} SENDDBN=${SENDDBN:-"NO"} # level info file -SIGLEVEL=${SIGLEVEL:-${FIXam}/global_hyblev.l${LEVS}.txt} +SIGLEVEL=${SIGLEVEL:-${FIXgfs}/am/global_hyblev.l${LEVS}.txt} # forecast files APREFIX=${APREFIX:-""} @@ -129,7 +128,7 @@ if [ $DO_CALC_ANALYSIS == "YES" ]; then $NLN $ATMF09ENS fcst.ensres.09 fi export OMP_NUM_THREADS=$NTHREADS_CHGRES - SIGLEVEL=${SIGLEVEL:-${FIXam}/global_hyblev.l${LEVS_ENKF}.txt} + SIGLEVEL=${SIGLEVEL:-${FIXgfs}/am/global_hyblev.l${LEVS_ENKF}.txt} if [ $USE_CFP = "YES" ]; then [[ -f $DATA/mp_chgres.sh ]] && rm $DATA/mp_chgres.sh diff --git a/scripts/exgdas_atmos_nawips.sh b/scripts/exgdas_atmos_nawips.sh index 94a23f2a85..83781bac5b 100755 --- a/scripts/exgdas_atmos_nawips.sh +++ b/scripts/exgdas_atmos_nawips.sh @@ -22,27 +22,27 @@ DATA_RUN=$DATA/$RUN2 mkdir -p $DATA_RUN cd $DATA_RUN -cp $FIXgempak/g2varswmo2.tbl g2varswmo2.tbl +cp ${HOMEgfs}/gempak/fix/g2varswmo2.tbl g2varswmo2.tbl export err=$? if [[ $err -ne 0 ]] ; then echo " File g2varswmo2.tbl file is missing." exit $err fi -cp $FIXgempak/g2vcrdwmo2.tbl g2vcrdwmo2.tbl +cp ${HOMEgfs}/gempak/fix/g2vcrdwmo2.tbl g2vcrdwmo2.tbl export err=$? if [[ $err -ne 0 ]] ; then echo " File g2vcrdwmo2.tbl file is missing." exit $err fi -cp $FIXgempak/g2varsncep1.tbl g2varsncep1.tbl +cp ${HOMEgfs}/gempak/fix/g2varsncep1.tbl g2varsncep1.tbl export err=$? if [[ $err -ne 0 ]] ; then echo " File g2varsncep1.tbl file is missing." exit $err fi -cp $FIXgempak/g2vcrdncep1.tbl g2vcrdncep1.tbl +cp ${HOMEgfs}/gempak/fix/g2vcrdncep1.tbl g2vcrdncep1.tbl export err=$? if [[ $err -ne 0 ]] ; then echo " File g2vcrdncep1.tbl file is missing." diff --git a/scripts/exgdas_atmos_verfrad.sh b/scripts/exgdas_atmos_verfrad.sh index 50320ffba1..1ff01ccfa9 100755 --- a/scripts/exgdas_atmos_verfrad.sh +++ b/scripts/exgdas_atmos_verfrad.sh @@ -37,9 +37,9 @@ if [[ -s ${radstat} && -s ${biascr} ]]; then #------------------------------------------------------------------ # SATYPE is the list of expected satellite/instrument sources - # in the radstat file. It should be stored in the $TANKverf - # directory. If it isn't there then use the $FIXgdas copy. In all - # cases write it back out to the radmon.$PDY directory. Add any + # in the radstat file. It should be stored in the $TANKverf + # directory. If it isn't there then use the gdas fix copy. In all + # cases write it back out to the radmon.$PDY directory. Add any # new sources to the list before writing back out. #------------------------------------------------------------------ diff --git a/scripts/exgdas_enkf_ecen.sh b/scripts/exgdas_enkf_ecen.sh index c20d1dec78..59021debaa 100755 --- a/scripts/exgdas_enkf_ecen.sh +++ b/scripts/exgdas_enkf_ecen.sh @@ -76,8 +76,6 @@ CYCLESH=${CYCLESH:-$HOMEgfs/ush/global_cycle.sh} export CYCLEXEC=${CYCLEXEC:-$HOMEgfs/exec/global_cycle} APRUN_CYCLE=${APRUN_CYCLE:-${APRUN:-""}} NTHREADS_CYCLE=${NTHREADS_CYCLE:-${NTHREADS:-1}} -export FIXorog=${FIXorog:-$HOMEgfs/fix/orog} -export FIXam=${FIXam:-$HOMEgfs/fix/am} export CYCLVARS=${CYCLVARS:-"FSNOL=-2.,FSNOS=99999.,"} export FHOUR=${FHOUR:-0} export DELTSFC=${DELTSFC:-6} @@ -241,7 +239,7 @@ if [ $RECENTER_ENKF = "YES" ]; then $NLN $ATMANL_GSI atmanl_gsi $NLN $ATMANL_GSI_ENSRES atmanl_gsi_ensres - SIGLEVEL=${SIGLEVEL:-${FIXam}/global_hyblev.l${LEVS}.txt} + SIGLEVEL=${SIGLEVEL:-${FIXgfs}/am/global_hyblev.l${LEVS}.txt} $NLN $CHGRESNC chgres.x chgresnml=chgres_nc_gauss.nml nmltitle=chgres diff --git a/scripts/exgdas_enkf_post.sh b/scripts/exgdas_enkf_post.sh index 86ab9071a4..f240ae561d 100755 --- a/scripts/exgdas_enkf_post.sh +++ b/scripts/exgdas_enkf_post.sh @@ -34,7 +34,7 @@ SENDDBN=${SENDDBN:-"NO"} # Fix files LEVS=${LEVS:-64} -HYBENSMOOTH=${HYBENSMOOTH:-$FIXgsi/global_hybens_smoothinfo.l${LEVS}.txt} +HYBENSMOOTH=${HYBENSMOOTH:-${FIXgfs}/gsi/global_hybens_smoothinfo.l${LEVS}.txt} # Executables. GETATMENSMEANEXEC=${GETATMENSMEANEXEC:-$HOMEgfs/exec/getsigensmeanp_smooth.x} diff --git a/scripts/exgdas_enkf_sfc.sh b/scripts/exgdas_enkf_sfc.sh index 81d68fb9fe..085ab35351 100755 --- a/scripts/exgdas_enkf_sfc.sh +++ b/scripts/exgdas_enkf_sfc.sh @@ -54,8 +54,6 @@ CYCLESH=${CYCLESH:-$HOMEgfs/ush/global_cycle.sh} export CYCLEXEC=${CYCLEXEC:-$HOMEgfs/exec/global_cycle} APRUN_CYCLE=${APRUN_CYCLE:-${APRUN:-""}} NTHREADS_CYCLE=${NTHREADS_CYCLE:-${NTHREADS:-1}} -export FIXorog=${FIXorog:-$HOMEgfs/fix/orog} -export FIXam=${FIXam:-$HOMEgfs/fix/am} export CYCLVARS=${CYCLVARS:-"FSNOL=-2.,FSNOS=99999.,"} export FHOUR=${FHOUR:-0} export DELTSFC=${DELTSFC:-6} @@ -152,8 +150,8 @@ if [ $DOIAU = "YES" ]; then "${DATA}/fnbgsi.${cmem}" ${NLN} "${COM_ATMOS_RESTART_MEM}/${bPDY}.${bcyc}0000.sfcanl_data.tile${n}.nc" \ "${DATA}/fnbgso.${cmem}" - ${NLN} "${FIXorog}/${CASE}/${CASE}_grid.tile${n}.nc" "${DATA}/fngrid.${cmem}" - ${NLN} "${FIXorog}/${CASE}/${CASE}.mx${OCNRES}_oro_data.tile${n}.nc" "${DATA}/fnorog.${cmem}" + ${NLN} "${FIXgfs}/orog/${CASE}/${CASE}_grid.tile${n}.nc" "${DATA}/fngrid.${cmem}" + ${NLN} "${FIXgfs}/orog/${CASE}/${CASE}.mx${OCNRES}_oro_data.tile${n}.nc" "${DATA}/fnorog.${cmem}" done @@ -188,8 +186,8 @@ if [ $DOSFCANL_ENKF = "YES" ]; then "${DATA}/fnbgsi.${cmem}" ${NLN} "${COM_ATMOS_RESTART_MEM}/${PDY}.${cyc}0000.sfcanl_data.tile${n}.nc" \ "${DATA}/fnbgso.${cmem}" - ${NLN} "${FIXorog}/${CASE}/${CASE}_grid.tile${n}.nc" "${DATA}/fngrid.${cmem}" - ${NLN} "${FIXorog}/${CASE}/${CASE}.mx${OCNRES}_oro_data.tile${n}.nc" "${DATA}/fnorog.${cmem}" + ${NLN} "${FIXgfs}/orog/${CASE}/${CASE}_grid.tile${n}.nc" "${DATA}/fngrid.${cmem}" + ${NLN} "${FIXgfs}/orog/${CASE}/${CASE}.mx${OCNRES}_oro_data.tile${n}.nc" "${DATA}/fnorog.${cmem}" done diff --git a/scripts/exgdas_enkf_update.sh b/scripts/exgdas_enkf_update.sh index 1f11026ac4..60d2592e4d 100755 --- a/scripts/exgdas_enkf_update.sh +++ b/scripts/exgdas_enkf_update.sh @@ -105,14 +105,14 @@ else fi LATA_ENKF=${LATA_ENKF:-$LATB_ENKF} LONA_ENKF=${LONA_ENKF:-$LONB_ENKF} -SATANGL=${SATANGL:-${FIXgsi}/global_satangbias.txt} -SATINFO=${SATINFO:-${FIXgsi}/global_satinfo.txt} -CONVINFO=${CONVINFO:-${FIXgsi}/global_convinfo.txt} -OZINFO=${OZINFO:-${FIXgsi}/global_ozinfo.txt} -SCANINFO=${SCANINFO:-${FIXgsi}/global_scaninfo.txt} -HYBENSINFO=${HYBENSINFO:-${FIXgsi}/global_hybens_info.l${LEVS_ENKF}.txt} -ANAVINFO=${ANAVINFO:-${FIXgsi}/global_anavinfo.l${LEVS_ENKF}.txt} -VLOCALEIG=${VLOCALEIG:-${FIXgsi}/vlocal_eig_l${LEVS_ENKF}.dat} +SATANGL=${SATANGL:-${FIXgfs}/gsi/global_satangbias.txt} +SATINFO=${SATINFO:-${FIXgfs}/gsi/global_satinfo.txt} +CONVINFO=${CONVINFO:-${FIXgfs}/gsi/global_convinfo.txt} +OZINFO=${OZINFO:-${FIXgfs}/gsi/global_ozinfo.txt} +SCANINFO=${SCANINFO:-${FIXgfs}/gsi/global_scaninfo.txt} +HYBENSINFO=${HYBENSINFO:-${FIXgfs}/gsi/global_hybens_info.l${LEVS_ENKF}.txt} +ANAVINFO=${ANAVINFO:-${FIXgfs}/gsi/global_anavinfo.l${LEVS_ENKF}.txt} +VLOCALEIG=${VLOCALEIG:-${FIXgfs}/gsi/vlocal_eig_l${LEVS_ENKF}.dat} ENKF_SUFFIX="s" [[ $SMOOTH_ENKF = "NO" ]] && ENKF_SUFFIX="" diff --git a/scripts/exgfs_atmos_gempak_meta.sh b/scripts/exgfs_atmos_gempak_meta.sh index 04f4f1fc5c..ad5ef823fd 100755 --- a/scripts/exgfs_atmos_gempak_meta.sh +++ b/scripts/exgfs_atmos_gempak_meta.sh @@ -73,14 +73,14 @@ do if [ $do_all -eq 1 ] ; then do_all=0 - awk '{print $1}' $FIXgempak/gfs_meta > $DATA/tmpscript + awk '{print $1}' ${HOMEgfs}/gempak/fix/gfs_meta > $DATA/tmpscript else # # Do not try to grep out 12, it will grab the 12 from 126. # This will work as long as we don't need 12 fhr metafiles # if [ $fhr -ne 12 ] ; then - grep $fhr $FIXgempak/gfs_meta |awk -F" [0-9]" '{print $1}' > $DATA/tmpscript + grep $fhr ${HOMEgfs}/gempak/fix/gfs_meta |awk -F" [0-9]" '{print $1}' > $DATA/tmpscript fi fi diff --git a/scripts/exgfs_atmos_goes_nawips.sh b/scripts/exgfs_atmos_goes_nawips.sh index 583593fef8..137feec7c2 100755 --- a/scripts/exgfs_atmos_goes_nawips.sh +++ b/scripts/exgfs_atmos_goes_nawips.sh @@ -15,13 +15,13 @@ source "$HOMEgfs/ush/preamble.sh" cd $DATA -cp $FIXgempak/g2varswmo2.tbl g2varswmo2.tbl -cp $FIXgempak/g2vcrdwmo2.tbl g2vcrdwmo2.tbl -cp $FIXgempak/g2varsncep1.tbl g2varsncep1.tbl -cp $FIXgempak/g2vcrdncep1.tbl g2vcrdncep1.tbl +cp ${HOMEgfs}/gempak/fix/g2varswmo2.tbl g2varswmo2.tbl +cp ${HOMEgfs}/gempak/fix/g2vcrdwmo2.tbl g2vcrdwmo2.tbl +cp ${HOMEgfs}/gempak/fix/g2varsncep1.tbl g2varsncep1.tbl +cp ${HOMEgfs}/gempak/fix/g2vcrdncep1.tbl g2vcrdncep1.tbl # -# NAGRIB_TABLE=$FIXgempak/nagrib.tbl +# NAGRIB_TABLE=${HOMEgfs}/gempak/fix/nagrib.tbl NAGRIB=$GEMEXE/nagrib2 # diff --git a/scripts/exgfs_atmos_nawips.sh b/scripts/exgfs_atmos_nawips.sh index ebb509d392..d03ec9cef6 100755 --- a/scripts/exgfs_atmos_nawips.sh +++ b/scripts/exgfs_atmos_nawips.sh @@ -50,10 +50,10 @@ while (( fhcnt <= fend )) ; do if mkdir "lock.${fhcnt}" ; then cd "lock.${fhcnt}" || exit 1 - cp "${FIXgempak}/g2varswmo2.tbl" "g2varswmo2.tbl" - cp "${FIXgempak}/g2vcrdwmo2.tbl" "g2vcrdwmo2.tbl" - cp "${FIXgempak}/g2varsncep1.tbl" "g2varsncep1.tbl" - cp "${FIXgempak}/g2vcrdncep1.tbl" "g2vcrdncep1.tbl" + cp "${HOMEgfs}/gempak/fix/g2varswmo2.tbl" "g2varswmo2.tbl" + cp "${HOMEgfs}/gempak/fix/g2vcrdwmo2.tbl" "g2vcrdwmo2.tbl" + cp "${HOMEgfs}/gempak/fix/g2varsncep1.tbl" "g2varsncep1.tbl" + cp "${HOMEgfs}/gempak/fix/g2vcrdncep1.tbl" "g2vcrdncep1.tbl" fhr=$(printf "%03d" "${fhcnt}") diff --git a/scripts/exgfs_wave_init.sh b/scripts/exgfs_wave_init.sh index 03fd93bf48..22da372a2a 100755 --- a/scripts/exgfs_wave_init.sh +++ b/scripts/exgfs_wave_init.sh @@ -94,16 +94,16 @@ source "${HOMEgfs}/ush/preamble.sh" echo " Mod def file for ${grdID} not found in ${COM_WAVE_PREP}. Setting up to generate ..." echo ' ' set_trace - if [ -f $FIXwave/ww3_grid.inp.$grdID ] + if [ -f ${FIXgfs}/wave/ww3_grid.inp.$grdID ] then - cp $FIXwave/ww3_grid.inp.$grdID ww3_grid.inp.$grdID + cp ${FIXgfs}/wave/ww3_grid.inp.$grdID ww3_grid.inp.$grdID fi if [ -f ww3_grid.inp.$grdID ] then set +x echo ' ' - echo " ww3_grid.inp.$grdID copied ($FIXwave/ww3_grid.inp.$grdID)." + echo " ww3_grid.inp.$grdID copied (${FIXgfs}/wave/ww3_grid.inp.$grdID)." echo ' ' set_trace else @@ -119,9 +119,9 @@ source "${HOMEgfs}/ush/preamble.sh" fi - if [ -f ${FIXwave}/${grdID}.msh ] + if [ -f ${FIXgfs}/wave/${grdID}.msh ] then - cp "${FIXwave}/${grdID}.msh" "${grdID}.msh" + cp "${FIXgfs}/wave/${grdID}.msh" "${grdID}.msh" fi #TO DO: how do we say "it's unstructured, and therefore need to have error check here" diff --git a/scripts/exgfs_wave_nawips.sh b/scripts/exgfs_wave_nawips.sh index 63690ff1b0..9145a30a2f 100755 --- a/scripts/exgfs_wave_nawips.sh +++ b/scripts/exgfs_wave_nawips.sh @@ -24,7 +24,6 @@ export FHOUT_HF_WAV=${FHOUT_HF_WAV:-3} export maxtries=${maxtries:-720} export cycle=${cycle:-t${cyc}z} export GEMwave=${GEMwave:-${HOMEgfs}/gempak} -export FIXwave=${FIXwave:-${HOMEgfs}/fix/wave} export DATA=${DATA:-${DATAROOT:?}/${jobid}} if [ ! -d ${DATA} ];then mkdir -p ${DATA} diff --git a/scripts/exgfs_wave_prdgen_bulls.sh b/scripts/exgfs_wave_prdgen_bulls.sh index 2e6cb2071b..bcad75a660 100755 --- a/scripts/exgfs_wave_prdgen_bulls.sh +++ b/scripts/exgfs_wave_prdgen_bulls.sh @@ -31,7 +31,6 @@ source "$HOMEgfs/ush/preamble.sh" export DATA=${DATA:-${DATAROOT:?}/${job}.$$} #export CODEwave=${CODEwave:-${PACKAGEROOT}/${NET}_code.${wave_code_ver}/${code_pkg}} export EXECwave=${EXECwave:-$HOMEgfs/exec} - export FIXwave=${FIXwave:-$HOMEgfs/fix} export PARMwave=${PARMwave:-$HOMEgfs/parm/parm_wave} export USHwave=${USHwave:-$HOMEgfs/ush} #export EXECcode=${EXECcode:-CODEwave/exec} diff --git a/scripts/exgfs_wave_prdgen_gridded.sh b/scripts/exgfs_wave_prdgen_gridded.sh index b0cbc124ce..54efb639d6 100755 --- a/scripts/exgfs_wave_prdgen_gridded.sh +++ b/scripts/exgfs_wave_prdgen_gridded.sh @@ -31,7 +31,6 @@ source "$HOMEgfs/ush/preamble.sh" export FHOUT_WAV=${FHOUT_WAV:-6} #from 72 to 180 inc=6 export FHOUT_HF_WAV=${FHOUT_HF_WAV:-3} export maxtries=720 - export FIXwave=${FIXwave:-$HOMEgfs/fix/wave} export PARMwave=${PARMwave:-$HOMEgfs/parm/parm_wave} export USHwave=${USHwave:-$HOMEgfs/ush} export cyc=${cyc:-00} diff --git a/scripts/exgfs_wave_prep.sh b/scripts/exgfs_wave_prep.sh index be006c1c85..f6cb610559 100755 --- a/scripts/exgfs_wave_prep.sh +++ b/scripts/exgfs_wave_prep.sh @@ -23,7 +23,7 @@ # # # Update log # # Mar2007 HTolman - Added NCO note on resources on mist/dew # -# Apr2007 HTolman - Renaming mod_def files in $FIX_wave. # +# Apr2007 HTolman - Renaming mod_def files in ${FIXgfs}/wave. # # Mar2011 AChawla - Migrating to a vertical structure # # Nov2012 JHAlves - Transitioning to WCOSS # # Apr2019 JHAlves - Transitioning to GEFS workflow # diff --git a/scripts/exglobal_atmos_analysis.sh b/scripts/exglobal_atmos_analysis.sh index cb3c6467a1..b12046f9e2 100755 --- a/scripts/exglobal_atmos_analysis.sh +++ b/scripts/exglobal_atmos_analysis.sh @@ -289,21 +289,21 @@ else fi # GSI Fix files -BERROR=${BERROR:-${FIXgsi}/Big_Endian/global_berror.l${LEVS}y${NLAT_A}.f77} -SATANGL=${SATANGL:-${FIXgsi}/global_satangbias.txt} -SATINFO=${SATINFO:-${FIXgsi}/global_satinfo.txt} -RADCLOUDINFO=${RADCLOUDINFO:-${FIXgsi}/cloudy_radiance_info.txt} -ATMSFILTER=${ATMSFILTER:-${FIXgsi}/atms_beamwidth.txt} -ANAVINFO=${ANAVINFO:-${FIXgsi}/global_anavinfo.l${LEVS}.txt} -CONVINFO=${CONVINFO:-${FIXgsi}/global_convinfo.txt} -vqcdat=${vqcdat:-${FIXgsi}/vqctp001.dat} -INSITUINFO=${INSITUINFO:-${FIXgsi}/global_insituinfo.txt} -OZINFO=${OZINFO:-${FIXgsi}/global_ozinfo.txt} -PCPINFO=${PCPINFO:-${FIXgsi}/global_pcpinfo.txt} -AEROINFO=${AEROINFO:-${FIXgsi}/global_aeroinfo.txt} -SCANINFO=${SCANINFO:-${FIXgsi}/global_scaninfo.txt} -HYBENSINFO=${HYBENSINFO:-${FIXgsi}/global_hybens_info.l${LEVS}.txt} -OBERROR=${OBERROR:-${FIXgsi}/prepobs_errtable.global} +BERROR=${BERROR:-${FIXgfs}/gsi/Big_Endian/global_berror.l${LEVS}y${NLAT_A}.f77} +SATANGL=${SATANGL:-${FIXgfs}/gsi/global_satangbias.txt} +SATINFO=${SATINFO:-${FIXgfs}/gsi/global_satinfo.txt} +RADCLOUDINFO=${RADCLOUDINFO:-${FIXgfs}/gsi/cloudy_radiance_info.txt} +ATMSFILTER=${ATMSFILTER:-${FIXgfs}/gsi/atms_beamwidth.txt} +ANAVINFO=${ANAVINFO:-${FIXgfs}/gsi/global_anavinfo.l${LEVS}.txt} +CONVINFO=${CONVINFO:-${FIXgfs}/gsi/global_convinfo.txt} +vqcdat=${vqcdat:-${FIXgfs}/gsi/vqctp001.dat} +INSITUINFO=${INSITUINFO:-${FIXgfs}/gsi/global_insituinfo.txt} +OZINFO=${OZINFO:-${FIXgfs}/gsi/global_ozinfo.txt} +PCPINFO=${PCPINFO:-${FIXgfs}/gsi/global_pcpinfo.txt} +AEROINFO=${AEROINFO:-${FIXgfs}/gsi/global_aeroinfo.txt} +SCANINFO=${SCANINFO:-${FIXgfs}/gsi/global_scaninfo.txt} +HYBENSINFO=${HYBENSINFO:-${FIXgfs}/gsi/global_hybens_info.l${LEVS}.txt} +OBERROR=${OBERROR:-${FIXgfs}/gsi/prepobs_errtable.global} # GSI namelist SETUP=${SETUP:-""} @@ -381,8 +381,8 @@ ${NLN} ${OBERROR} errtable #If using correlated error, link to the covariance files if [ ${USE_CORRELATED_OBERRS} == "YES" ]; then if grep -q "Rcov" ${ANAVINFO} ; then - if ls ${FIXgsi}/Rcov* 1> /dev/null 2>&1; then - ${NLN} ${FIXgsi}/Rcov* ${DATA} + if ls ${FIXgfs}/gsi/Rcov* 1> /dev/null 2>&1; then + ${NLN} ${FIXgfs}/gsi/Rcov* ${DATA} echo "using correlated obs error" else echo "FATAL ERROR: Satellite error covariance files (Rcov) are missing." diff --git a/scripts/exglobal_atmos_analysis_calc.sh b/scripts/exglobal_atmos_analysis_calc.sh index a2086aa927..a2228f0425 100755 --- a/scripts/exglobal_atmos_analysis_calc.sh +++ b/scripts/exglobal_atmos_analysis_calc.sh @@ -23,7 +23,6 @@ source "$HOMEgfs/ush/preamble.sh" # Directories. pwd=$(pwd) -export FIXam=${FIXam:-$HOMEgfs/fix/am} # Base variables CDUMP=${CDUMP:-"gdas"} diff --git a/scripts/exglobal_atmos_sfcanl.sh b/scripts/exglobal_atmos_sfcanl.sh index 2997ac0d25..8b315a1dda 100755 --- a/scripts/exglobal_atmos_sfcanl.sh +++ b/scripts/exglobal_atmos_sfcanl.sh @@ -55,8 +55,6 @@ export SNOW_NUDGE_COEFF=${SNOW_NUDGE_COEFF:-'-2.'} export CYCLVARS=${CYCLVARS:-""} export FHOUR=${FHOUR:-0} export DELTSFC=${DELTSFC:-6} -export FIXam=${FIXam:-${HOMEgfs}/fix/am} -export FIXorog=${FIXorog:-${HOMEgfs}/fix/orog} # FV3 specific info (required for global_cycle) export CASE=${CASE:-"C384"} @@ -176,8 +174,8 @@ if [[ ${DOIAU} = "YES" ]]; then "${COM_ATMOS_RESTART}/${bPDY}.${bcyc}0000.sfcanl_data.tile${n}.nc" ${NLN} "${COM_ATMOS_RESTART_PREV}/${bPDY}.${bcyc}0000.sfc_data.tile${n}.nc" "${DATA}/fnbgsi.00${n}" ${NLN} "${COM_ATMOS_RESTART}/${bPDY}.${bcyc}0000.sfcanl_data.tile${n}.nc" "${DATA}/fnbgso.00${n}" - ${NLN} "${FIXorog}/${CASE}/${CASE}_grid.tile${n}.nc" "${DATA}/fngrid.00${n}" - ${NLN} "${FIXorog}/${CASE}/${CASE}.mx${OCNRES}_oro_data.tile${n}.nc" "${DATA}/fnorog.00${n}" + ${NLN} "${FIXgfs}/orog/${CASE}/${CASE}_grid.tile${n}.nc" "${DATA}/fngrid.00${n}" + ${NLN} "${FIXgfs}/orog/${CASE}/${CASE}.mx${OCNRES}_oro_data.tile${n}.nc" "${DATA}/fnorog.00${n}" done export APRUNCY=${APRUN_CYCLE} @@ -199,8 +197,8 @@ for n in $(seq 1 ${ntiles}); do fi ${NLN} "${COM_ATMOS_RESTART_PREV}/${PDY}.${cyc}0000.sfc_data.tile${n}.nc" "${DATA}/fnbgsi.00${n}" ${NLN} "${COM_ATMOS_RESTART}/${PDY}.${cyc}0000.sfcanl_data.tile${n}.nc" "${DATA}/fnbgso.00${n}" - ${NLN} "${FIXorog}/${CASE}/${CASE}_grid.tile${n}.nc" "${DATA}/fngrid.00${n}" - ${NLN} "${FIXorog}/${CASE}/${CASE}.mx${OCNRES}_oro_data.tile${n}.nc" "${DATA}/fnorog.00${n}" + ${NLN} "${FIXgfs}/orog/${CASE}/${CASE}_grid.tile${n}.nc" "${DATA}/fngrid.00${n}" + ${NLN} "${FIXgfs}/orog/${CASE}/${CASE}.mx${OCNRES}_oro_data.tile${n}.nc" "${DATA}/fnorog.00${n}" done export APRUNCY=${APRUN_CYCLE} diff --git a/scripts/exglobal_forecast.sh b/scripts/exglobal_forecast.sh index c07cde3004..c548b827e5 100755 --- a/scripts/exglobal_forecast.sh +++ b/scripts/exglobal_forecast.sh @@ -38,19 +38,19 @@ ## Restart files: ## ## Fix files: -## 1. computing grid, $FIXorog/$CASE/${CASE}_grid.tile${n}.nc -## 2. orography data, $FIXorog/$CASE/${CASE}.mx${OCNRES}_oro_data.tile${n}.nc -## 3. mosaic data, $FIXorog/$CASE/${CASE}_mosaic.nc -## 4. Global O3 data, $FIXam/${O3FORC} -## 5. Global H2O data, $FIXam/${H2OFORC} -## 6. Global solar constant data, $FIXam/global_solarconstant_noaa_an.txt -## 7. Global surface emissivity, $FIXam/global_sfc_emissivity_idx.txt -## 8. Global CO2 historical data, $FIXam/global_co2historicaldata_glob.txt -## 8. Global CO2 monthly data, $FIXam/co2monthlycyc.txt -## 10. Additional global CO2 data, $FIXam/fix_co2_proj/global_co2historicaldata +## 1. computing grid, ${FIXgfs}/orog/$CASE/${CASE}_grid.tile${n}.nc +## 2. orography data, ${FIXgfs}/orog/$CASE/${CASE}.mx${OCNRES}_oro_data.tile${n}.nc +## 3. mosaic data, ${FIXgfs}/orog/$CASE/${CASE}_mosaic.nc +## 4. Global O3 data, ${FIXgfs}/am/${O3FORC} +## 5. Global H2O data, ${FIXgfs}/am/${H2OFORC} +## 6. Global solar constant data, ${FIXgfs}/am/global_solarconstant_noaa_an.txt +## 7. Global surface emissivity, ${FIXgfs}/am/global_sfc_emissivity_idx.txt +## 8. Global CO2 historical data, ${FIXgfs}/am/global_co2historicaldata_glob.txt +## 8. Global CO2 monthly data, ${FIXgfs}/am/co2monthlycyc.txt +## 10. Additional global CO2 data, ${FIXgfs}/am/fix_co2_proj/global_co2historicaldata ## 11. Climatological aerosol global distribution -## $FIXam/global_climaeropac_global.txt -## 12. Monthly volcanic forcing $FIXam/global_volcanic_aerosols_YYYY-YYYY.txt +## ${FIXgfs}/am/global_climaeropac_global.txt +## 12. Monthly volcanic forcing ${FIXgfs}/am/global_volcanic_aerosols_YYYY-YYYY.txt ## ## Data output (location, name) ## If quilting=true and output grid is gaussian grid: diff --git a/sorc/ufs_utils.fd b/sorc/ufs_utils.fd index 547459c1e3..47956a96a7 160000 --- a/sorc/ufs_utils.fd +++ b/sorc/ufs_utils.fd @@ -1 +1 @@ -Subproject commit 547459c1e323ca45854d7ac1e1cb11e73f8de408 +Subproject commit 47956a96a7dc14e33fbccbb7fe74422f9bf542bf diff --git a/ush/calcanl_gfs.py b/ush/calcanl_gfs.py index cf2dc8dc89..25bbae4bce 100755 --- a/ush/calcanl_gfs.py +++ b/ush/calcanl_gfs.py @@ -346,7 +346,7 @@ def calcanl_gfs(DoIAU, l4DEnsVar, Write4Danl, ComOut, APrefix, ComOut = os.getenv('COM_ATMOS_ANALYSIS', './') APrefix = os.getenv('APREFIX', '') NThreads = os.getenv('NTHREADS_CHGRES', 1) - FixDir = os.getenv('FIXam', './') + FixDir = os.path.join(os.getenv('FIXgfs', './'), 'am') atmges_ens_mean = os.getenv('ATMGES_ENSMEAN', './atmges_ensmean') RunDir = os.getenv('DATA', './') ExecCMD = os.getenv('APRUN_CALCANL', '') diff --git a/ush/forecast_postdet.sh b/ush/forecast_postdet.sh index 052e549251..644a2180da 100755 --- a/ush/forecast_postdet.sh +++ b/ush/forecast_postdet.sh @@ -133,17 +133,15 @@ EOF #-------------------------------------------------------------------------- # Grid and orography data - FIXsfc=${FIXsfc:-"${FIXorog}/${CASE}/sfc"} - if [[ ${cplflx} = ".false." ]] ; then - ${NLN} "${FIXorog}/${CASE}/${CASE}_mosaic.nc" "${DATA}/INPUT/grid_spec.nc" + ${NLN} "${FIXgfs}/orog/${CASE}/${CASE}_mosaic.nc" "${DATA}/INPUT/grid_spec.nc" else - ${NLN} "${FIXorog}/${CASE}/${CASE}_mosaic.nc" "${DATA}/INPUT/${CASE}_mosaic.nc" + ${NLN} "${FIXgfs}/orog/${CASE}/${CASE}_mosaic.nc" "${DATA}/INPUT/${CASE}_mosaic.nc" fi for n in $(seq 1 "${ntiles}"); do - ${NLN} "${FIXorog}/${CASE}/${CASE}.mx${OCNRES}_oro_data.tile${n}.nc" "${DATA}/INPUT/oro_data.tile${n}.nc" - ${NLN} "${FIXorog}/${CASE}/${CASE}_grid.tile${n}.nc" "${DATA}/INPUT/${CASE}_grid.tile${n}.nc" + ${NLN} "${FIXgfs}/orog/${CASE}/${CASE}.mx${OCNRES}_oro_data.tile${n}.nc" "${DATA}/INPUT/oro_data.tile${n}.nc" + ${NLN} "${FIXgfs}/orog/${CASE}/${CASE}_grid.tile${n}.nc" "${DATA}/INPUT/${CASE}_grid.tile${n}.nc" done _suite_file="${HOMEgfs}/sorc/ufs_model.fd/FV3/ccpp/suites/suite_${CCPP_SUITE}.xml" @@ -201,10 +199,10 @@ EOF fi # Files for GWD - ${NLN} "${FIXugwd}/ugwp_limb_tau.nc" "${DATA}/ugwp_limb_tau.nc" + ${NLN} "${FIXgfs}/ugwd/ugwp_limb_tau.nc" "${DATA}/ugwp_limb_tau.nc" for n in $(seq 1 "${ntiles}"); do - ${NLN} "${FIXugwd}/${CASE}/${CASE}_oro_data_ls.tile${n}.nc" "${DATA}/INPUT/oro_data_ls.tile${n}.nc" - ${NLN} "${FIXugwd}/${CASE}/${CASE}_oro_data_ss.tile${n}.nc" "${DATA}/INPUT/oro_data_ss.tile${n}.nc" + ${NLN} "${FIXgfs}/ugwd/${CASE}/${CASE}_oro_data_ls.tile${n}.nc" "${DATA}/INPUT/oro_data_ls.tile${n}.nc" + ${NLN} "${FIXgfs}/ugwd/${CASE}/${CASE}_oro_data_ss.tile${n}.nc" "${DATA}/INPUT/oro_data_ss.tile${n}.nc" done # GFS standard input data @@ -225,41 +223,41 @@ EOF # imp_physics should be 8: #### if [[ ${imp_physics} -eq 8 ]]; then - ${NLN} "${FIXam}/CCN_ACTIVATE.BIN" "${DATA}/CCN_ACTIVATE.BIN" - ${NLN} "${FIXam}/freezeH2O.dat" "${DATA}/freezeH2O.dat" - ${NLN} "${FIXam}/qr_acr_qgV2.dat" "${DATA}/qr_acr_qgV2.dat" - ${NLN} "${FIXam}/qr_acr_qsV2.dat" "${DATA}/qr_acr_qsV2.dat" + ${NLN} "${FIXgfs}/am/CCN_ACTIVATE.BIN" "${DATA}/CCN_ACTIVATE.BIN" + ${NLN} "${FIXgfs}/am/freezeH2O.dat" "${DATA}/freezeH2O.dat" + ${NLN} "${FIXgfs}/am/qr_acr_qgV2.dat" "${DATA}/qr_acr_qgV2.dat" + ${NLN} "${FIXgfs}/am/qr_acr_qsV2.dat" "${DATA}/qr_acr_qsV2.dat" fi - ${NLN} "${FIXam}/${O3FORC}" "${DATA}/global_o3prdlos.f77" - ${NLN} "${FIXam}/${H2OFORC}" "${DATA}/global_h2oprdlos.f77" - ${NLN} "${FIXam}/global_solarconstant_noaa_an.txt" "${DATA}/solarconstant_noaa_an.txt" - ${NLN} "${FIXam}/global_sfc_emissivity_idx.txt" "${DATA}/sfc_emissivity_idx.txt" + ${NLN} "${FIXgfs}/am/${O3FORC}" "${DATA}/global_o3prdlos.f77" + ${NLN} "${FIXgfs}/am/${H2OFORC}" "${DATA}/global_h2oprdlos.f77" + ${NLN} "${FIXgfs}/am/global_solarconstant_noaa_an.txt" "${DATA}/solarconstant_noaa_an.txt" + ${NLN} "${FIXgfs}/am/global_sfc_emissivity_idx.txt" "${DATA}/sfc_emissivity_idx.txt" ## merra2 aerosol climo if [[ ${IAER} -eq "1011" ]]; then for month in $(seq 1 12); do MM=$(printf %02d "${month}") - ${NLN} "${FIXaer}/merra2.aerclim.2003-2014.m${MM}.nc" "aeroclim.m${MM}.nc" + ${NLN} "${FIXgfs}/aer/merra2.aerclim.2003-2014.m${MM}.nc" "aeroclim.m${MM}.nc" done - ${NLN} "${FIXlut}/optics_BC.v1_3.dat" "${DATA}/optics_BC.dat" - ${NLN} "${FIXlut}/optics_OC.v1_3.dat" "${DATA}/optics_OC.dat" - ${NLN} "${FIXlut}/optics_DU.v15_3.dat" "${DATA}/optics_DU.dat" - ${NLN} "${FIXlut}/optics_SS.v3_3.dat" "${DATA}/optics_SS.dat" - ${NLN} "${FIXlut}/optics_SU.v1_3.dat" "${DATA}/optics_SU.dat" + ${NLN} "${FIXgfs}/lut/optics_BC.v1_3.dat" "${DATA}/optics_BC.dat" + ${NLN} "${FIXgfs}/lut/optics_OC.v1_3.dat" "${DATA}/optics_OC.dat" + ${NLN} "${FIXgfs}/lut/optics_DU.v15_3.dat" "${DATA}/optics_DU.dat" + ${NLN} "${FIXgfs}/lut/optics_SS.v3_3.dat" "${DATA}/optics_SS.dat" + ${NLN} "${FIXgfs}/lut/optics_SU.v1_3.dat" "${DATA}/optics_SU.dat" fi - ${NLN} "${FIXam}/global_co2historicaldata_glob.txt" "${DATA}/co2historicaldata_glob.txt" - ${NLN} "${FIXam}/co2monthlycyc.txt" "${DATA}/co2monthlycyc.txt" + ${NLN} "${FIXgfs}/am/global_co2historicaldata_glob.txt" "${DATA}/co2historicaldata_glob.txt" + ${NLN} "${FIXgfs}/am/co2monthlycyc.txt" "${DATA}/co2monthlycyc.txt" if [[ ${ICO2} -gt 0 ]]; then - for file in $(ls "${FIXam}/fix_co2_proj/global_co2historicaldata"*) ; do + for file in $(ls "${FIXgfs}/am/fix_co2_proj/global_co2historicaldata"*) ; do ${NLN} "${file}" "${DATA}/$(basename "${file//global_}")" done fi - ${NLN} "${FIXam}/global_climaeropac_global.txt" "${DATA}/aerosol.dat" + ${NLN} "${FIXgfs}/am/global_climaeropac_global.txt" "${DATA}/aerosol.dat" if [[ ${IAER} -gt 0 ]] ; then - for file in $(ls "${FIXam}/global_volcanic_aerosols"*) ; do + for file in $(ls "${FIXgfs}/am/global_volcanic_aerosols"*) ; do ${NLN} "${file}" "${DATA}/$(basename "${file//global_}")" done fi @@ -296,28 +294,28 @@ EOF LATB_JMO=${LATB_JMO:-${LATB_CASE}} # Fix files - FNGLAC=${FNGLAC:-"${FIXam}/global_glacier.2x2.grb"} - FNMXIC=${FNMXIC:-"${FIXam}/global_maxice.2x2.grb"} - FNTSFC=${FNTSFC:-"${FIXam}/RTGSST.1982.2012.monthly.clim.grb"} - FNSNOC=${FNSNOC:-"${FIXam}/global_snoclim.1.875.grb"} + FNGLAC=${FNGLAC:-"${FIXgfs}/am/global_glacier.2x2.grb"} + FNMXIC=${FNMXIC:-"${FIXgfs}/am/global_maxice.2x2.grb"} + FNTSFC=${FNTSFC:-"${FIXgfs}/am/RTGSST.1982.2012.monthly.clim.grb"} + FNSNOC=${FNSNOC:-"${FIXgfs}/am/global_snoclim.1.875.grb"} FNZORC=${FNZORC:-"igbp"} - FNAISC=${FNAISC:-"${FIXam}/IMS-NIC.blended.ice.monthly.clim.grb"} - FNALBC2=${FNALBC2:-"${FIXsfc}/${CASE}.mx${OCNRES}.facsf.tileX.nc"} - FNTG3C=${FNTG3C:-"${FIXsfc}/${CASE}.mx${OCNRES}.substrate_temperature.tileX.nc"} - FNVEGC=${FNVEGC:-"${FIXsfc}/${CASE}.mx${OCNRES}.vegetation_greenness.tileX.nc"} - FNMSKH=${FNMSKH:-"${FIXam}/global_slmask.t1534.3072.1536.grb"} - FNVMNC=${FNVMNC:-"${FIXsfc}/${CASE}.mx${OCNRES}.vegetation_greenness.tileX.nc"} - FNVMXC=${FNVMXC:-"${FIXsfc}/${CASE}.mx${OCNRES}.vegetation_greenness.tileX.nc"} - FNSLPC=${FNSLPC:-"${FIXsfc}/${CASE}.mx${OCNRES}.slope_type.tileX.nc"} - FNALBC=${FNALBC:-"${FIXsfc}/${CASE}.mx${OCNRES}.snowfree_albedo.tileX.nc"} - FNVETC=${FNVETC:-"${FIXsfc}/${CASE}.mx${OCNRES}.vegetation_type.tileX.nc"} - FNSOTC=${FNSOTC:-"${FIXsfc}/${CASE}.mx${OCNRES}.soil_type.tileX.nc"} - FNSOCC=${FNSOCC:-"${FIXsfc}/${CASE}.mx${OCNRES}.soil_color.tileX.nc"} - FNABSC=${FNABSC:-"${FIXsfc}/${CASE}.mx${OCNRES}.maximum_snow_albedo.tileX.nc"} - FNSMCC=${FNSMCC:-"${FIXam}/global_soilmgldas.statsgo.t${JCAP}.${LONB}.${LATB}.grb"} + FNAISC=${FNAISC:-"${FIXgfs}/am/IMS-NIC.blended.ice.monthly.clim.grb"} + FNALBC2=${FNALBC2:-"${FIXgfs}/orog/${CASE}/sfc/${CASE}.mx${OCNRES}.facsf.tileX.nc"} + FNTG3C=${FNTG3C:-"${FIXgfs}/orog/${CASE}/sfc/${CASE}.mx${OCNRES}.substrate_temperature.tileX.nc"} + FNVEGC=${FNVEGC:-"${FIXgfs}/orog/${CASE}/sfc/${CASE}.mx${OCNRES}.vegetation_greenness.tileX.nc"} + FNMSKH=${FNMSKH:-"${FIXgfs}/am/global_slmask.t1534.3072.1536.grb"} + FNVMNC=${FNVMNC:-"${FIXgfs}/orog/${CASE}/sfc/${CASE}.mx${OCNRES}.vegetation_greenness.tileX.nc"} + FNVMXC=${FNVMXC:-"${FIXgfs}/orog/${CASE}/sfc/${CASE}.mx${OCNRES}.vegetation_greenness.tileX.nc"} + FNSLPC=${FNSLPC:-"${FIXgfs}/orog/${CASE}/sfc/${CASE}.mx${OCNRES}.slope_type.tileX.nc"} + FNALBC=${FNALBC:-"${FIXgfs}/orog/${CASE}/sfc/${CASE}.mx${OCNRES}.snowfree_albedo.tileX.nc"} + FNVETC=${FNVETC:-"${FIXgfs}/orog/${CASE}/sfc/${CASE}.mx${OCNRES}.vegetation_type.tileX.nc"} + FNSOTC=${FNSOTC:-"${FIXgfs}/orog/${CASE}/sfc/${CASE}.mx${OCNRES}.soil_type.tileX.nc"} + FNSOCC=${FNSOCC:-"${FIXgfs}/orog/${CASE}/sfc/${CASE}.mx${OCNRES}.soil_color.tileX.nc"} + FNABSC=${FNABSC:-"${FIXgfs}/orog/${CASE}/sfc/${CASE}.mx${OCNRES}.maximum_snow_albedo.tileX.nc"} + FNSMCC=${FNSMCC:-"${FIXgfs}/am/global_soilmgldas.statsgo.t${JCAP}.${LONB}.${LATB}.grb"} # If the appropriate resolution fix file is not present, use the highest resolution available (T1534) - [[ ! -f ${FNSMCC} ]] && FNSMCC="${FIXam}/global_soilmgldas.statsgo.t1534.3072.1536.grb" + [[ ! -f ${FNSMCC} ]] && FNSMCC="${FIXgfs}/am/global_soilmgldas.statsgo.t1534.3072.1536.grb" # NSST Options # nstf_name contains the NSST related parameters @@ -541,7 +539,7 @@ WW3_postdet() { if [[ "${MESH_WAV}" == "${MESH_OCN:-mesh.mx${OCNRES}.nc}" ]]; then echo "Wave is on same mesh as ocean" else - ${NLN} "${FIXwave}/${MESH_WAV}" "${DATA}/" + ${NLN} "${FIXgfs}/wave/${MESH_WAV}" "${DATA}/" fi export wavprfx=${RUNwave}${WAV_MEMBER:-} @@ -645,8 +643,8 @@ WW3_nml() { echo "SUB ${FUNCNAME[0]}: Copying input files for WW3" WAV_MOD_TAG=${RUN}wave${waveMEMB} if [[ "${USE_WAV_RMP:-YES}" = "YES" ]]; then - if (( $( ls -1 "${FIXwave}/rmp_src_to_dst_conserv_"* 2> /dev/null | wc -l) > 0 )); then - for file in $(ls "${FIXwave}/rmp_src_to_dst_conserv_"*) ; do + if (( $( ls -1 "${FIXgfs}/wave/rmp_src_to_dst_conserv_"* 2> /dev/null | wc -l) > 0 )); then + for file in $(ls "${FIXgfs}/wave/rmp_src_to_dst_conserv_"*) ; do ${NLN} "${file}" "${DATA}/" done else @@ -696,10 +694,10 @@ MOM6_postdet() { fi # Copy MOM6 fixed files - ${NCP} "${FIXmom}/${OCNRES}/"* "${DATA}/INPUT/" # TODO: These need to be explicit + ${NCP} "${FIXgfs}/mom6/${OCNRES}/"* "${DATA}/INPUT/" # TODO: These need to be explicit # Copy coupled grid_spec - spec_file="${FIXcpl}/a${CASE}o${OCNRES}/grid_spec.nc" + spec_file="${FIXgfs}/cpl/a${CASE}o${OCNRES}/grid_spec.nc" if [[ -s ${spec_file} ]]; then ${NCP} "${spec_file}" "${DATA}/INPUT/" else @@ -833,9 +831,9 @@ CICE_postdet() { echo "${DATA}/cice_model.res.nc" > "${DATA}/ice.restart_file" echo "Link CICE fixed files" - ${NLN} "${FIXcice}/${ICERES}/${CICE_GRID}" "${DATA}/" - ${NLN} "${FIXcice}/${ICERES}/${CICE_MASK}" "${DATA}/" - ${NLN} "${FIXcice}/${ICERES}/${MESH_ICE}" "${DATA}/" + ${NLN} "${FIXgfs}/cice/${ICERES}/${CICE_GRID}" "${DATA}/" + ${NLN} "${FIXgfs}/cice/${ICERES}/${CICE_MASK}" "${DATA}/" + ${NLN} "${FIXgfs}/cice/${ICERES}/${MESH_ICE}" "${DATA}/" # Link iceh_ic file to COM. This is the initial condition file from CICE (f000) # TODO: Is this file needed in COM? Is this going to be used for generating any products? diff --git a/ush/fv3gfs_remap.sh b/ush/fv3gfs_remap.sh index 7986add331..eaf2c64a01 100755 --- a/ush/fv3gfs_remap.sh +++ b/ush/fv3gfs_remap.sh @@ -14,8 +14,6 @@ export GG=${master_grid:-"0p25deg"} # 1deg 0p5deg 0p25deg 0p125deg pwd=$(pwd) export DATA=${DATA:-$pwd} export HOMEgfs=${HOMEgfs:-$PACKAGEROOT} -export FIXgfs=${FIXgfs:-$HOMEgfs/fix} -export FIXorog=${FIXorog:-$FIXgfs/orog} export REMAPEXE=${REMAPEXE:-$HOMEgfs/exec/fregrid_parallel} export IPD4=${IPD4:-"YES"} @@ -25,8 +23,8 @@ export CDUMP=${CDUMP:-gfs} export PREFIX=${PREFIX:-${CDUMP}${TCYC}} #-------------------------------------------------- -export grid_loc=${FIXorog}/${CASE}/${CASE}_mosaic.nc -export weight_file=${FIXorog}/${CASE}/remap_weights_${CASE}_${GG}.nc +export grid_loc=${FIXgfs}/orog/${CASE}/${CASE}_mosaic.nc +export weight_file=${FIXgfs}/orog/${CASE}/remap_weights_${CASE}_${GG}.nc export APRUN_REMAP=${APRUN_REMAP:-${APRUN:-""}} export NTHREADS_REMAP=${NTHREADS_REMAP:-${NTHREADS:-1}} diff --git a/ush/gaussian_sfcanl.sh b/ush/gaussian_sfcanl.sh index 1a0441a06f..79b2cb5b7d 100755 --- a/ush/gaussian_sfcanl.sh +++ b/ush/gaussian_sfcanl.sh @@ -27,10 +27,6 @@ # Default is /nwprod2. # HOMEgfs Directory for gfs version. Default is # $BASEDIR/gfs_ver.v15.0.0} -# FIXam Directory for the global fixed climatology files. -# Defaults to $HOMEgfs/fix/am -# FIXorog Directory for the model grid and orography netcdf -# files. Defaults to $HOMEgfs/fix/orog # FIXWGTS Weight file to use for interpolation # EXECgfs Directory of the program executable. Defaults to # $HOMEgfs/exec @@ -83,9 +79,9 @@ # # programs : $GAUSFCANLEXE # -# fixed data : ${FIXorog}/${CASE}/${CASE}.mx${OCNRES}_oro_data.tile*.nc +# fixed data : ${FIXgfs}/orog/${CASE}/${CASE}.mx${OCNRES}_oro_data.tile*.nc # ${FIXWGTS} -# ${FIXam}/global_hyblev.l65.txt +# ${FIXgfs}/am/global_hyblev.l65.txt # # input data : ${COM_ATMOS_RESTART}/${PDY}.${cyc}0000.sfcanl_data.tile*.nc # @@ -126,15 +122,13 @@ gfs_ver=${gfs_ver:-v16.3.0} BASEDIR=${BASEDIR:-${PACKAGEROOT:-/lfs/h1/ops/prod/packages}} HOMEgfs=${HOMEgfs:-$BASEDIR/gfs.${gfs_ver}} EXECgfs=${EXECgfs:-$HOMEgfs/exec} -FIXorog=${FIXorog:-$HOMEgfs/fix/orog} -FIXam=${FIXam:-$HOMEgfs/fix/am} -FIXWGTS=${FIXWGTS:-$FIXorog/$CASE/fv3_SCRIP_${CASE}_GRIDSPEC_lon${LONB_SFC}_lat${LATB_SFC}.gaussian.neareststod.nc} +FIXWGTS=${FIXWGTS:-${FIXgfs}/orog/${CASE}/fv3_SCRIP_${CASE}_GRIDSPEC_lon${LONB_SFC}_lat${LATB_SFC}.gaussian.neareststod.nc} DATA=${DATA:-$(pwd)} # Filenames. XC=${XC:-} GAUSFCANLEXE=${GAUSFCANLEXE:-$EXECgfs/gaussian_sfcanl.x} -SIGLEVEL=${SIGLEVEL:-$FIXam/global_hyblev.l${LEVSP1}.txt} +SIGLEVEL=${SIGLEVEL:-${FIXgfs}/am/global_hyblev.l${LEVSP1}.txt} CDATE=${CDATE:?} @@ -187,12 +181,12 @@ ${NLN} "${COM_ATMOS_RESTART}/${PDY}.${cyc}0000.sfcanl_data.tile5.nc" "./anal.til ${NLN} "${COM_ATMOS_RESTART}/${PDY}.${cyc}0000.sfcanl_data.tile6.nc" "./anal.tile6.nc" # input orography tiles -${NLN} "${FIXorog}/${CASE}/${CASE}.mx${OCNRES}_oro_data.tile1.nc" "./orog.tile1.nc" -${NLN} "${FIXorog}/${CASE}/${CASE}.mx${OCNRES}_oro_data.tile2.nc" "./orog.tile2.nc" -${NLN} "${FIXorog}/${CASE}/${CASE}.mx${OCNRES}_oro_data.tile3.nc" "./orog.tile3.nc" -${NLN} "${FIXorog}/${CASE}/${CASE}.mx${OCNRES}_oro_data.tile4.nc" "./orog.tile4.nc" -${NLN} "${FIXorog}/${CASE}/${CASE}.mx${OCNRES}_oro_data.tile5.nc" "./orog.tile5.nc" -${NLN} "${FIXorog}/${CASE}/${CASE}.mx${OCNRES}_oro_data.tile6.nc" "./orog.tile6.nc" +${NLN} "${FIXgfs}/orog/${CASE}/${CASE}.mx${OCNRES}_oro_data.tile1.nc" "./orog.tile1.nc" +${NLN} "${FIXgfs}/orog/${CASE}/${CASE}.mx${OCNRES}_oro_data.tile2.nc" "./orog.tile2.nc" +${NLN} "${FIXgfs}/orog/${CASE}/${CASE}.mx${OCNRES}_oro_data.tile3.nc" "./orog.tile3.nc" +${NLN} "${FIXgfs}/orog/${CASE}/${CASE}.mx${OCNRES}_oro_data.tile4.nc" "./orog.tile4.nc" +${NLN} "${FIXgfs}/orog/${CASE}/${CASE}.mx${OCNRES}_oro_data.tile5.nc" "./orog.tile5.nc" +${NLN} "${FIXgfs}/orog/${CASE}/${CASE}.mx${OCNRES}_oro_data.tile6.nc" "./orog.tile6.nc" ${NLN} "${SIGLEVEL}" "./vcoord.txt" diff --git a/ush/gfs_sndp.sh b/ush/gfs_sndp.sh index 99c5c68fa3..e07b3eb42c 100755 --- a/ush/gfs_sndp.sh +++ b/ush/gfs_sndp.sh @@ -16,7 +16,7 @@ source "$HOMEgfs/ush/preamble.sh" export m=$1 mkdir $DATA/$m cd $DATA/$m - cp $FIXbufrsnd/gfs_collective${m}.list $DATA/$m/. + cp ${HOMEgfs}/fix/product/gfs_collective${m}.list $DATA/$m/. CCCC=KWBC file_list=gfs_collective${m}.list diff --git a/ush/gfs_truncate_enkf.sh b/ush/gfs_truncate_enkf.sh index 0a7d6fc0dd..8aa47e26e2 100755 --- a/ush/gfs_truncate_enkf.sh +++ b/ush/gfs_truncate_enkf.sh @@ -14,17 +14,16 @@ mkdir -p $DATATMP cd $DATATMP export LEVS=${LEVS_LORES:-64} -export FIXam=${FIXam:-$HOMEgfs/fix/am} export CHGRESSH=${CHGRESSH:-${USHgfs}/global_chgres.sh} export CHGRESEXEC=${CHGRESEXEC-${EXECgfs}/global_chgres} -export OROGRAPHY=${OROGRAPHY_LORES:-$FIXam/global_orography.t$JCAP.$LONB.$LATB.grb} -export OROGRAPHY_UF=${OROGRAPHY_UF_LORES:-$FIXam/global_orography_uf.t$JCAP.$LONB.$LATB.grb} -export LONSPERLAT=${LONSPERLAT_LORES:-$FIXam/global_lonsperlat.t${JCAP}.$LONB.$LATB.txt} -export SLMASK=${SLMASK_LORES:-$FIXam/global_slmask.t$JCAP.$LONB.$LATB.grb} -export MTNVAR=${MTNVAR_LORES:-$FIXam/global_mtnvar.t$JCAP.$LONB.$LATB.f77} -export SIGLEVEL=${SIGLEVEL_LORES:-$FIXam/global_hyblev.l${LEVS}.txt} -export O3CLIM=${O3CLIM:-$FIXam/global_o3clim.txt} +export OROGRAPHY=${OROGRAPHY_LORES:-${FIXgfs}/am/global_orography.t$JCAP.$LONB.$LATB.grb} +export OROGRAPHY_UF=${OROGRAPHY_UF_LORES:-${FIXgfs}/am/global_orography_uf.t$JCAP.$LONB.$LATB.grb} +export LONSPERLAT=${LONSPERLAT_LORES:-${FIXgfs}/am/global_lonsperlat.t${JCAP}.$LONB.$LATB.txt} +export SLMASK=${SLMASK_LORES:-${FIXgfs}/am/global_slmask.t$JCAP.$LONB.$LATB.grb} +export MTNVAR=${MTNVAR_LORES:-${FIXgfs}/am/global_mtnvar.t$JCAP.$LONB.$LATB.f77} +export SIGLEVEL=${SIGLEVEL_LORES:-${FIXgfs}/am/global_hyblev.l${LEVS}.txt} +export O3CLIM=${O3CLIM:-${FIXgfs}/am/global_o3clim.txt} use_ufo=.true. diff --git a/ush/python/pygfs/task/land_analysis.py b/ush/python/pygfs/task/land_analysis.py index 90ab997de1..dfd4ffe15c 100644 --- a/ush/python/pygfs/task/land_analysis.py +++ b/ush/python/pygfs/task/land_analysis.py @@ -153,7 +153,7 @@ def prepare_IMS(self) -> None: # create a temporary dict of all keys needed in this method localconf = AttrDict() keys = ['DATA', 'current_cycle', 'COM_OBS', 'COM_ATMOS_RESTART_PREV', - 'OPREFIX', 'CASE', 'OCNRES', 'ntiles', 'FIXgdas'] + 'OPREFIX', 'CASE', 'OCNRES', 'ntiles', 'FIXgfs'] for key in keys: localconf[key] = self.task_config[key] diff --git a/ush/syndat_qctropcy.sh b/ush/syndat_qctropcy.sh index cda9030577..9d9b2ad69b 100755 --- a/ush/syndat_qctropcy.sh +++ b/ush/syndat_qctropcy.sh @@ -46,7 +46,6 @@ # subsequent program SYNDAT_SYNDATA) # PARMSYND - path to syndat parm field directory # EXECSYND - path to syndat executable directory -# FIXam - path to syndat fix field directory # USHSYND - path to syndat ush directory # Imported variables that can be passed in: @@ -59,7 +58,7 @@ # data base # (Default: /dcom/us007003) # slmask - path to t126 32-bit gaussian land/sea mask file -# (Default: $FIXam/syndat_slmask.t126.gaussian) +# (Default: ${FIXgfs}/am/syndat_slmask.t126.gaussian) # copy_back - switch to copy updated files back to archive directory and # to tcvitals directory # (Default: YES) @@ -74,12 +73,11 @@ HOMENHCp1=${HOMENHCp1:-/gpfs/?p1/nhc/save/guidance/storm-data/ncep} HOMENHC=${HOMENHC:-/gpfs/dell2/nhc/save/guidance/storm-data/ncep} TANK_TROPCY=${TANK_TROPCY:-${DCOMROOT}/us007003} -FIXam=${FIXam:-$HOMEgfs/fix/am} USHSYND=${USHSYND:-$HOMEgfs/ush} EXECSYND=${EXECSYND:-$HOMEgfs/exec} PARMSYND=${PARMSYND:-$HOMEgfs/parm/relo} -slmask=${slmask:-$FIXam/syndat_slmask.t126.gaussian} +slmask=${slmask:-${FIXgfs}/am/syndat_slmask.t126.gaussian} copy_back=${copy_back:-YES} files_override=${files_override:-""} @@ -190,10 +188,10 @@ fi echo " &INPUT RUNID = '${net}_${tmmark}_${cyc}', FILES = $files " > vitchk.inp cat $PARMSYND/syndat_qctropcy.${RUN}.parm >> vitchk.inp -# Copy the fixed fields from FIXam +# Copy the fixed fields -cp $FIXam/syndat_fildef.vit fildef.vit -cp $FIXam/syndat_stmnames stmnames +cp ${FIXgfs}/am/syndat_fildef.vit fildef.vit +cp ${FIXgfs}/am/syndat_stmnames stmnames rm -f nhc fnoc lthistry diff --git a/ush/tropcy_relocate.sh b/ush/tropcy_relocate.sh index 01a21bd12c..cdcc777c47 100755 --- a/ush/tropcy_relocate.sh +++ b/ush/tropcy_relocate.sh @@ -128,9 +128,6 @@ # Default is "${HOMERELO}/ush" # EXECRELO String indicating directory path for RELOCATE executables # Default is "${HOMERELO}/exec" -# FIXRELO String indicating directory path for RELOCATE data fix- -# field files -# Default is "${HOMERELO}/fix" # EXECUTIL String indicating directory path for utility program # executables # If the imported variable MACHINE!=sgi, then the default is @@ -188,7 +185,7 @@ # programs : # RELOCATE_MV_NVORTEX - executable $RELOX # T126 GRIB global land/sea mask: -# $FIXRELO/global_slmask.t126.grb +# ${FIXgfs}/am/global_slmask.t126.grb # SUPVIT - executable $SUPVX # GETTRK - executable $GETTX # @@ -302,8 +299,6 @@ USHGETGES=${USHGETGES:-${USHRELO}} EXECRELO=${EXECRELO:-${HOMERELO}/exec} -FIXRELO=${FIXRELO:-${HOMERELO}/fix} - RELOX=${RELOX:-$EXECRELO/relocate_mv_nvortex} export BKGFREQ=${BKGFREQ:-1} diff --git a/ush/tropcy_relocate_extrkr.sh b/ush/tropcy_relocate_extrkr.sh index ede2318c4a..c4efad1d73 100755 --- a/ush/tropcy_relocate_extrkr.sh +++ b/ush/tropcy_relocate_extrkr.sh @@ -1538,9 +1538,9 @@ ln -s -f ${vdir}/trak.${cmodel}.radii.${symdh} fort.63 ln -s -f ${vdir}/trak.${cmodel}.atcfunix.${symdh} fort.64 if [ $BKGFREQ -eq 1 ]; then - ln -s -f ${FIXRELO}/${cmodel}.tracker_leadtimes_hrly fort.15 + ln -s -f ${FIXgfs}/am/${cmodel}.tracker_leadtimes_hrly fort.15 elif [ $BKGFREQ -eq 3 ]; then - ln -s -f ${FIXRELO}/${cmodel}.tracker_leadtimes fort.15 + ln -s -f ${FIXgfs}/am/${cmodel}.tracker_leadtimes fort.15 fi ##$XLF_LINKSSH diff --git a/ush/wave_grid_interp_sbs.sh b/ush/wave_grid_interp_sbs.sh index c11a75f89d..e690cbc4ad 100755 --- a/ush/wave_grid_interp_sbs.sh +++ b/ush/wave_grid_interp_sbs.sh @@ -113,18 +113,18 @@ source "$HOMEgfs/ush/preamble.sh" wht_OK='no' if [ ! -f ${DATA}/ww3_gint.WHTGRIDINT.bin.${grdID} ]; then - if [ -f $FIXwave/ww3_gint.WHTGRIDINT.bin.${grdID} ] + if [ -f ${FIXgfs}/wave/ww3_gint.WHTGRIDINT.bin.${grdID} ] then set +x echo ' ' - echo " Copying $FIXwave/ww3_gint.WHTGRIDINT.bin.${grdID} " + echo " Copying ${FIXgfs}/wave/ww3_gint.WHTGRIDINT.bin.${grdID} " set_trace - cp $FIXwave/ww3_gint.WHTGRIDINT.bin.${grdID} ${DATA} + cp ${FIXgfs}/wave/ww3_gint.WHTGRIDINT.bin.${grdID} ${DATA} wht_OK='yes' else set +x echo ' ' - echo " Not found: $FIXwave/ww3_gint.WHTGRIDINT.bin.${grdID} " + echo " Not found: ${FIXgfs}/wave/ww3_gint.WHTGRIDINT.bin.${grdID} " fi fi # Check and link weights file @@ -148,7 +148,7 @@ source "$HOMEgfs/ush/preamble.sh" if [ "wht_OK" = 'no' ] then cp -f ./WHTGRIDINT.bin ${DATA}/ww3_gint.WHTGRIDINT.bin.${grdID} - cp -f ./WHTGRIDINT.bin ${FIXwave}/ww3_gint.WHTGRIDINT.bin.${grdID} + cp -f ./WHTGRIDINT.bin ${FIXgfs}/wave/ww3_gint.WHTGRIDINT.bin.${grdID} fi diff --git a/ush/wave_prnc_cur.sh b/ush/wave_prnc_cur.sh index 6b1ab19db2..a8f9f67d62 100755 --- a/ush/wave_prnc_cur.sh +++ b/ush/wave_prnc_cur.sh @@ -46,7 +46,7 @@ mv -f "cur_temp3.nc" "cur_uv_${PDY}_${fext}${fh3}_flat.nc" # Convert to regular lat lon file # If weights need to be regenerated due to CDO ver change, use: # $CDO genbil,r4320x2160 rtofs_glo_2ds_f000_3hrly_prog.nc weights.nc -cp ${FIXwave}/weights_rtofs_to_r4320x2160.nc ./weights.nc +cp ${FIXgfs}/wave/weights_rtofs_to_r4320x2160.nc ./weights.nc # Interpolate to regular 5 min grid ${CDO} remap,r4320x2160,weights.nc "cur_uv_${PDY}_${fext}${fh3}_flat.nc" "cur_5min_01.nc" diff --git a/ush/wave_prnc_ice.sh b/ush/wave_prnc_ice.sh index 5ec1d7fc2e..d0a6371d5b 100755 --- a/ush/wave_prnc_ice.sh +++ b/ush/wave_prnc_ice.sh @@ -55,7 +55,7 @@ source "$HOMEgfs/ush/preamble.sh" echo "Making ice fields." if [[ -z "${YMDH}" ]] || [[ -z "${cycle}" ]] || \ - [[ -z "${COM_WAVE_PREP}" ]] || [[ -z "${FIXwave}" ]] || [[ -z "${EXECwave}" ]] || \ + [[ -z "${COM_WAVE_PREP}" ]] || [[ -z "${FIXgfs}" ]] || [[ -z "${EXECwave}" ]] || \ [[ -z "${WAV_MOD_TAG}" ]] || [[ -z "${WAVEICE_FID}" ]] || [[ -z "${COM_OBS}" ]]; then set +x From 9608852784871ebf03d92b53bde891b6dcab8684 Mon Sep 17 00:00:00 2001 From: RussTreadon-NOAA <26926959+RussTreadon-NOAA@users.noreply.github.com> Date: Mon, 26 Feb 2024 14:10:01 -0500 Subject: [PATCH 55/58] Update JEDI ATM to use .nc for obs and generalize x,y layout (#2336) # Description The changes in this PR are twofold 1. replace `.nc4` suffix for JEDI ATM observation related files with `.nc` 2. use templated variables to specify `{layout_x, layout_y}` for JEDI ATM variational and local ensemble apps The first change conforms with the Unidata recommendation that netCDF files end with the suffix `.nc`. The second change replaces hardwired JEDI ATM var and ens `{layout_x, layout_y}` in `config.resources` with a more flexible approach. Resolves #2335 --- ci/cases/yamls/ufs_hybatmDA_defaults.ci.yaml | 8 +++++++- parm/config/gfs/config.atmanl | 3 +++ parm/config/gfs/config.atmensanl | 3 +++ parm/config/gfs/config.resources | 20 ++++++++------------ parm/config/gfs/yaml/defaults.yaml | 4 ++++ sorc/gdas.cd | 2 +- ush/python/pygfs/task/analysis.py | 6 +++--- ush/python/pygfs/task/atm_analysis.py | 2 +- ush/python/pygfs/task/atmens_analysis.py | 2 +- 9 files changed, 31 insertions(+), 19 deletions(-) diff --git a/ci/cases/yamls/ufs_hybatmDA_defaults.ci.yaml b/ci/cases/yamls/ufs_hybatmDA_defaults.ci.yaml index c072c391b3..126c0f461a 100644 --- a/ci/cases/yamls/ufs_hybatmDA_defaults.ci.yaml +++ b/ci/cases/yamls/ufs_hybatmDA_defaults.ci.yaml @@ -5,10 +5,16 @@ base: DO_JEDIATMVAR: "YES" DO_JEDIATMENS: "YES" ACCOUNT: {{ 'SLURM_ACCOUNT' | getenv }} +atmanl: + LAYOUT_X_ATMANL: 1 + LAYOUT_Y_ATMANL: 1 +atmensanl: + LAYOUT_X_ATMENSANL: 1 + LAYOUT_Y_ATMENSANL: 1 esfc: DONST: "NO" nsst: NST_MODEL: "1" sfcanl: DONST: "NO" - \ No newline at end of file + diff --git a/parm/config/gfs/config.atmanl b/parm/config/gfs/config.atmanl index 3e6b351cb2..e344b0a662 100644 --- a/parm/config/gfs/config.atmanl +++ b/parm/config/gfs/config.atmanl @@ -13,6 +13,9 @@ export STATICB_TYPE="gsibec" export BERROR_YAML=${HOMEgfs}/sorc/gdas.cd/parm/atm/berror/staticb_${STATICB_TYPE}.yaml export INTERP_METHOD='barycentric' +export layout_x_atmanl=@LAYOUT_X_ATMANL@ +export layout_y_atmanl=@LAYOUT_Y_ATMANL@ + export io_layout_x=@IO_LAYOUT_X@ export io_layout_y=@IO_LAYOUT_Y@ diff --git a/parm/config/gfs/config.atmensanl b/parm/config/gfs/config.atmensanl index 58fd7b6e22..7a3a632bf8 100644 --- a/parm/config/gfs/config.atmensanl +++ b/parm/config/gfs/config.atmensanl @@ -10,6 +10,9 @@ export OBS_LIST=${HOMEgfs}/sorc/gdas.cd/parm/atm/obs/lists/lgetkf_prototype.yaml export ATMENSYAML=${HOMEgfs}/sorc/gdas.cd/parm/atm/lgetkf/lgetkf.yaml export INTERP_METHOD='barycentric' +export layout_x_atmensanl=@LAYOUT_X_ATMENSANL@ +export layout_y_atmensanl=@LAYOUT_Y_ATMENSANL@ + export io_layout_x=@IO_LAYOUT_X@ export io_layout_y=@IO_LAYOUT_Y@ diff --git a/parm/config/gfs/config.resources b/parm/config/gfs/config.resources index b06e634993..6389135ade 100644 --- a/parm/config/gfs/config.resources +++ b/parm/config/gfs/config.resources @@ -195,9 +195,8 @@ case ${step} in ;; "atmanlinit") - # make below case dependent later - export layout_x=8 - export layout_y=8 + export layout_x=${layout_x_atmanl} + export layout_y=${layout_y_atmanl} export layout_gsib_x=$(( layout_x * 3 )) export layout_gsib_y=$(( layout_y * 2 )) @@ -211,9 +210,8 @@ case ${step} in ;; "atmanlrun") - # make below case dependent later - export layout_x=8 - export layout_y=8 + export layout_x=${layout_x_atmanl} + export layout_y=${layout_y_atmanl} export wtime_atmanlrun="00:30:00" export npe_atmanlrun=$(( layout_x * layout_y * 6 )) @@ -829,9 +827,8 @@ case ${step} in ;; "atmensanlinit") - # make below case dependent later - export layout_x=8 - export layout_y=8 + export layout_x=${layout_x_atmensanl} + export layout_y=${layout_y_atmensanl} export wtime_atmensanlinit="00:10:00" export npe_atmensanlinit=1 @@ -841,9 +838,8 @@ case ${step} in ;; "atmensanlrun") - # make below case dependent later - export layout_x=8 - export layout_y=8 + export layout_x=${layout_x_atmensanl} + export layout_y=${layout_y_atmensanl} export wtime_atmensanlrun="00:30:00" export npe_atmensanlrun=$(( layout_x * layout_y * 6 )) diff --git a/parm/config/gfs/yaml/defaults.yaml b/parm/config/gfs/yaml/defaults.yaml index 10af47de07..855939e1e2 100644 --- a/parm/config/gfs/yaml/defaults.yaml +++ b/parm/config/gfs/yaml/defaults.yaml @@ -9,10 +9,14 @@ base: FHMAX_GFS: 120 atmanl: + LAYOUT_X_ATMANL: 8 + LAYOUT_Y_ATMANL: 8 IO_LAYOUT_X: 1 IO_LAYOUT_Y: 1 atmensanl: + LAYOUT_X_ATMENSANL: 8 + LAYOUT_Y_ATMENSANL: 8 IO_LAYOUT_X: 1 IO_LAYOUT_Y: 1 diff --git a/sorc/gdas.cd b/sorc/gdas.cd index 984ecbea3c..10614c9855 160000 --- a/sorc/gdas.cd +++ b/sorc/gdas.cd @@ -1 +1 @@ -Subproject commit 984ecbea3cd971cfb98b4ce7d9299442a38e8dd1 +Subproject commit 10614c9855042b436bb8c37c7e2faeead01259cb diff --git a/ush/python/pygfs/task/analysis.py b/ush/python/pygfs/task/analysis.py index cfd1fb2206..b562eeee4e 100644 --- a/ush/python/pygfs/task/analysis.py +++ b/ush/python/pygfs/task/analysis.py @@ -99,7 +99,7 @@ def get_bias_dict(self) -> Dict[str, Any]: obdir = os.path.dirname(obfile) basename = os.path.basename(obfile) prefix = '.'.join(basename.split('.')[:-2]) - for file in ['satbias.nc4', 'satbias_cov.nc4', 'tlapse.txt']: + for file in ['satbias.nc', 'satbias_cov.nc', 'tlapse.txt']: bfile = f"{prefix}.{file}" copylist.append([os.path.join(self.task_config.COM_ATMOS_ANALYSIS_PREV, bfile), os.path.join(obdir, bfile)]) @@ -311,13 +311,13 @@ def tgz_diags(statfile: str, diagdir: str) -> None: Parameters ---------- statfile : str | os.PathLike - Path to the output .tar.gz .tgz file that will contain the diag*.nc4 files e.g. atmstat.tgz + Path to the output .tar.gz .tgz file that will contain the diag*.nc files e.g. atmstat.tgz diagdir : str | os.PathLike Directory containing JEDI diag files """ # get list of diag files to put in tarball - diags = glob.glob(os.path.join(diagdir, 'diags', 'diag*nc4')) + diags = glob.glob(os.path.join(diagdir, 'diags', 'diag*nc')) logger.info(f"Compressing {len(diags)} diag files to {statfile}") diff --git a/ush/python/pygfs/task/atm_analysis.py b/ush/python/pygfs/task/atm_analysis.py index 6aed0533c6..7e2ae87b6b 100644 --- a/ush/python/pygfs/task/atm_analysis.py +++ b/ush/python/pygfs/task/atm_analysis.py @@ -152,7 +152,7 @@ def finalize(self: Analysis) -> None: atmstat = os.path.join(self.task_config.COM_ATMOS_ANALYSIS, f"{self.task_config.APREFIX}atmstat") # get list of diag files to put in tarball - diags = glob.glob(os.path.join(self.task_config.DATA, 'diags', 'diag*nc4')) + diags = glob.glob(os.path.join(self.task_config.DATA, 'diags', 'diag*nc')) logger.info(f"Compressing {len(diags)} diag files to {atmstat}.gz") diff --git a/ush/python/pygfs/task/atmens_analysis.py b/ush/python/pygfs/task/atmens_analysis.py index 9cf84c07c7..7b81a10f32 100644 --- a/ush/python/pygfs/task/atmens_analysis.py +++ b/ush/python/pygfs/task/atmens_analysis.py @@ -188,7 +188,7 @@ def finalize(self: Analysis) -> None: atmensstat = os.path.join(self.task_config.COM_ATMOS_ANALYSIS_ENS, f"{self.task_config.APREFIX}atmensstat") # get list of diag files to put in tarball - diags = glob.glob(os.path.join(self.task_config.DATA, 'diags', 'diag*nc4')) + diags = glob.glob(os.path.join(self.task_config.DATA, 'diags', 'diag*nc')) logger.info(f"Compressing {len(diags)} diag files to {atmensstat}.gz") From 2693810d6ea9d9b20090777ff3a98e3d072c76d7 Mon Sep 17 00:00:00 2001 From: Jessica Meixner Date: Tue, 27 Feb 2024 01:25:51 -0500 Subject: [PATCH 56/58] Update ufs-waether-model hash (#2338) Routine update of ufs-weather-model hash. Other small updates: * removes comment referencing closed issue. * Updates the CICE diag frequency to once per day as recommend here: https://github.com/NOAA-EMC/global-workflow/issues/1810#issuecomment-1686278925 * Updated amount of time for C384 gdas forecast as it was running out of time * Removed unused variable wave_sys_ver --- parm/config/gefs/config.wave | 3 --- parm/config/gfs/config.base.emc.dyn | 2 +- parm/config/gfs/config.resources | 2 +- parm/config/gfs/config.wave | 3 --- sorc/ufs_model.fd | 2 +- ush/parsing_namelists_CICE.sh | 2 +- ush/wave_grid_moddef.sh | 2 +- 7 files changed, 5 insertions(+), 11 deletions(-) diff --git a/parm/config/gefs/config.wave b/parm/config/gefs/config.wave index 9ea4a30199..5f4448985c 100644 --- a/parm/config/gefs/config.wave +++ b/parm/config/gefs/config.wave @@ -7,9 +7,6 @@ echo "BEGIN: config.wave" # Parameters that are common to all wave model steps -# System and version -export wave_sys_ver=v1.0.0 - export EXECwave="${HOMEgfs}/exec" export PARMwave="${HOMEgfs}/parm/wave" export USHwave="${HOMEgfs}/ush" diff --git a/parm/config/gfs/config.base.emc.dyn b/parm/config/gfs/config.base.emc.dyn index 2c26f8d184..3246e4cbb6 100644 --- a/parm/config/gfs/config.base.emc.dyn +++ b/parm/config/gfs/config.base.emc.dyn @@ -247,7 +247,7 @@ export gfs_cyc=@gfs_cyc@ # 0: no GFS cycle, 1: 00Z only, 2: 00Z and 12Z only, 4: # GFS output and frequency export FHMIN_GFS=0 export FHMAX_GFS=@FHMAX_GFS@ -export FHOUT_GFS=3 # Must be 6 for S2S until #1629 is addressed; 3 for ops +export FHOUT_GFS=3 export FHMAX_HF_GFS=0 export FHOUT_HF_GFS=1 export FHOUT_OCNICE_GFS=6 diff --git a/parm/config/gfs/config.resources b/parm/config/gfs/config.resources index 6389135ade..79d38a3bbc 100644 --- a/parm/config/gfs/config.resources +++ b/parm/config/gfs/config.resources @@ -633,7 +633,7 @@ case ${step} in declare -x "wtime_${step}_gfs"="03:00:00" ;; "C384") - declare -x "wtime_${step}"="00:10:00" + declare -x "wtime_${step}"="00:30:00" declare -x "wtime_${step}_gfs"="06:00:00" ;; "C768" | "C1152") diff --git a/parm/config/gfs/config.wave b/parm/config/gfs/config.wave index d64516208d..8068ffcda6 100644 --- a/parm/config/gfs/config.wave +++ b/parm/config/gfs/config.wave @@ -7,9 +7,6 @@ echo "BEGIN: config.wave" # Parameters that are common to all wave model steps -# System and version -export wave_sys_ver=v1.0.0 - export EXECwave="${HOMEgfs}/exec" export PARMwave="${HOMEgfs}/parm/wave" export USHwave="${HOMEgfs}/ush" diff --git a/sorc/ufs_model.fd b/sorc/ufs_model.fd index a837cfcb0c..6988662728 160000 --- a/sorc/ufs_model.fd +++ b/sorc/ufs_model.fd @@ -1 +1 @@ -Subproject commit a837cfcb0c79803e13a1375a362d3d0b14b62320 +Subproject commit 698866272846e8c0f8f61ddb1b20d6463460cd63 diff --git a/ush/parsing_namelists_CICE.sh b/ush/parsing_namelists_CICE.sh index 2dab096d16..d749e6d890 100755 --- a/ush/parsing_namelists_CICE.sh +++ b/ush/parsing_namelists_CICE.sh @@ -61,7 +61,7 @@ local CICE_RESTART_DIR="./CICE_RESTART/" local CICE_RESTART_FILE="cice_model.res" local CICE_DUMPFREQ="y" # "h","d","m" or "y" for restarts at intervals of "hours", "days", "months" or "years" local CICE_DUMPFREQ_N=10000 # Set this to a really large value, as cice, mom6 and cmeps restart interval is controlled by ufs.configure -local CICE_DIAGFREQ=6 +local CICE_DIAGFREQ=$(( 86400 / DT_CICE )) # frequency of diagnostic output in timesteps, recommended for 1x per day local CICE_HISTFREQ_N="0, 0, ${FHOUT_OCNICE}, 1, 1" if [[ "${RUN}" =~ "gdas" ]]; then local CICE_HIST_AVG=".false., .false., .false., .false., .false." # DA needs instantaneous diff --git a/ush/wave_grid_moddef.sh b/ush/wave_grid_moddef.sh index f704c74af4..390860c960 100755 --- a/ush/wave_grid_moddef.sh +++ b/ush/wave_grid_moddef.sh @@ -59,7 +59,7 @@ source "$HOMEgfs/ush/preamble.sh" # 0.c Define directories and the search path. # The tested variables should be exported by the postprocessor script. - if [ -z "$grdID" ] || [ -z "$EXECwave" ] || [ -z "$wave_sys_ver" ] + if [ -z "$grdID" ] || [ -z "$EXECwave" ] then set +x echo ' ' From d3a49271b6c3816a9feeb7f6fb474797bacf1d7e Mon Sep 17 00:00:00 2001 From: Cory Martin Date: Wed, 28 Feb 2024 09:38:49 -0500 Subject: [PATCH 57/58] Rename the land DA jobs to snow DA to better reflect what they are doing (#2330) This PR renames all of the land DA jobs to snow DA to better reflect that this is a JEDI-based snow analysis capability and not a more generic land surface analysis. --- ci/cases/pr/C96_atmsnowDA.yaml | 1 - ci/cases/yamls/atmsnowDA_defaults_ci.yaml | 2 +- env/AWSPW.env | 2 +- env/CONTAINER.env | 2 +- env/HERA.env | 14 ++--- env/HERCULES.env | 12 ++-- env/JET.env | 14 ++--- env/ORION.env | 14 ++--- env/S4.env | 14 ++--- env/WCOSS2.env | 14 ++--- jobs/JGLOBAL_ATMOS_SFCANL | 2 +- ...AL_PREP_LAND_OBS => JGLOBAL_PREP_SNOW_OBS} | 6 +- ...AL_LAND_ANALYSIS => JGLOBAL_SNOW_ANALYSIS} | 10 +-- .../rocoto/{preplandobs.sh => prepsnowobs.sh} | 4 +- jobs/rocoto/{landanl.sh => snowanl.sh} | 4 +- parm/config/gefs/config.base.emc.dyn | 2 +- parm/config/gefs/config.resources | 4 +- parm/config/gefs/yaml/defaults.yaml | 2 +- parm/config/gfs/config.base.emc.dyn | 2 +- parm/config/gfs/config.com | 2 +- parm/config/gfs/config.preplandobs | 18 ------ parm/config/gfs/config.prepsnowobs | 18 ++++++ parm/config/gfs/config.resources | 24 +++---- .../gfs/{config.landanl => config.snowanl} | 22 +++---- parm/config/gfs/yaml/defaults.yaml | 4 +- ...{land_jedi_fix.yaml => snow_jedi_fix.yaml} | 0 scripts/exglobal_atmos_sfcanl.sh | 4 +- ..._land_obs.py => exglobal_prep_snow_obs.py} | 16 ++--- ..._analysis.py => exglobal_snow_analysis.py} | 12 ++-- .../{land_analysis.py => snow_analysis.py} | 62 +++++++++---------- workflow/applications/gfs_cycled.py | 10 +-- workflow/rocoto/gfs_tasks.py | 26 ++++---- workflow/rocoto/tasks.py | 2 +- 33 files changed, 172 insertions(+), 173 deletions(-) rename jobs/{JGLOBAL_PREP_LAND_OBS => JGLOBAL_PREP_SNOW_OBS} (86%) rename jobs/{JGLOBAL_LAND_ANALYSIS => JGLOBAL_SNOW_ANALYSIS} (78%) rename jobs/rocoto/{preplandobs.sh => prepsnowobs.sh} (92%) rename jobs/rocoto/{landanl.sh => snowanl.sh} (91%) delete mode 100644 parm/config/gfs/config.preplandobs create mode 100644 parm/config/gfs/config.prepsnowobs rename parm/config/gfs/{config.landanl => config.snowanl} (52%) rename parm/gdas/{land_jedi_fix.yaml => snow_jedi_fix.yaml} (100%) rename scripts/{exglobal_prep_land_obs.py => exglobal_prep_snow_obs.py} (59%) rename scripts/{exglobal_land_analysis.py => exglobal_snow_analysis.py} (66%) rename ush/python/pygfs/task/{land_analysis.py => snow_analysis.py} (92%) diff --git a/ci/cases/pr/C96_atmsnowDA.yaml b/ci/cases/pr/C96_atmsnowDA.yaml index eaf42cd392..35fcc10fb2 100644 --- a/ci/cases/pr/C96_atmsnowDA.yaml +++ b/ci/cases/pr/C96_atmsnowDA.yaml @@ -19,4 +19,3 @@ arguments: skip_ci_on_hosts: - orion - hercules - - hera diff --git a/ci/cases/yamls/atmsnowDA_defaults_ci.yaml b/ci/cases/yamls/atmsnowDA_defaults_ci.yaml index f805902931..417525742e 100644 --- a/ci/cases/yamls/atmsnowDA_defaults_ci.yaml +++ b/ci/cases/yamls/atmsnowDA_defaults_ci.yaml @@ -2,5 +2,5 @@ defaults: !INC {{ HOMEgfs }}/parm/config/gfs/yaml/defaults.yaml base: DOIAU: "NO" - DO_JEDILANDDA: "YES" + DO_JEDISNOWDA: "YES" ACCOUNT: {{ 'SLURM_ACCOUNT' | getenv }} diff --git a/env/AWSPW.env b/env/AWSPW.env index ea5002ecb9..2dbba67eb3 100755 --- a/env/AWSPW.env +++ b/env/AWSPW.env @@ -4,7 +4,7 @@ if [[ $# -ne 1 ]]; then echo "Must specify an input argument to set runtime environment variables!" echo "argument can be any one of the following:" - echo "atmanlrun atmensanlrun aeroanlrun landanlrun" + echo "atmanlrun atmensanlrun aeroanlrun snowanl" echo "anal sfcanl fcst post metp" echo "eobs eupd ecen efcs epos" echo "postsnd awips gempak" diff --git a/env/CONTAINER.env b/env/CONTAINER.env index b1f55a4c98..bc2d64b4ce 100755 --- a/env/CONTAINER.env +++ b/env/CONTAINER.env @@ -4,7 +4,7 @@ if [[ $# -ne 1 ]]; then echo "Must specify an input argument to set runtime environment variables!" echo "argument can be any one of the following:" - echo "atmanlrun atmensanlrun aeroanlrun landanl" + echo "atmanlrun atmensanlrun aeroanlrun snowanl" echo "anal sfcanl fcst post metp" echo "eobs eupd ecen efcs epos" echo "postsnd awips gempak" diff --git a/env/HERA.env b/env/HERA.env index e9a0ee050f..2029a69328 100755 --- a/env/HERA.env +++ b/env/HERA.env @@ -4,7 +4,7 @@ if [[ $# -ne 1 ]]; then echo "Must specify an input argument to set runtime environment variables!" echo "argument can be any one of the following:" - echo "atmanlrun atmensanlrun aeroanlrun landanl" + echo "atmanlrun atmensanlrun aeroanlrun snowanl" echo "anal sfcanl fcst post metp" echo "eobs eupd ecen efcs epos" echo "postsnd awips gempak" @@ -42,7 +42,7 @@ if [[ "${step}" = "prep" ]] || [[ "${step}" = "prepbufr" ]]; then export sys_tp="HERA" export launcher_PREP="srun" -elif [[ "${step}" = "preplandobs" ]]; then +elif [[ "${step}" = "prepsnowobs" ]]; then export APRUN_CALCFIMS="${launcher} -n 1" @@ -79,13 +79,13 @@ elif [[ "${step}" = "aeroanlrun" ]]; then [[ ${NTHREADS_AEROANL} -gt ${nth_max} ]] && export NTHREADS_AEROANL=${nth_max} export APRUN_AEROANL="${launcher} -n ${npe_aeroanlrun} --cpus-per-task=${NTHREADS_AEROANL}" -elif [[ "${step}" = "landanl" ]]; then +elif [[ "${step}" = "snowanl" ]]; then - nth_max=$((npe_node_max / npe_node_landanl)) + nth_max=$((npe_node_max / npe_node_snowanl)) - export NTHREADS_LANDANL=${nth_landanl:-${nth_max}} - [[ ${NTHREADS_LANDANL} -gt ${nth_max} ]] && export NTHREADS_LANDANL=${nth_max} - export APRUN_LANDANL="${launcher} -n ${npe_landanl} --cpus-per-task=${NTHREADS_LANDANL}" + export NTHREADS_SNOWANL=${nth_snowanl:-${nth_max}} + [[ ${NTHREADS_SNOWANL} -gt ${nth_max} ]] && export NTHREADS_SNOWANL=${nth_max} + export APRUN_SNOWANL="${launcher} -n ${npe_snowanl} --cpus-per-task=${NTHREADS_SNOWANL}" export APRUN_APPLY_INCR="${launcher} -n 6" diff --git a/env/HERCULES.env b/env/HERCULES.env index 396e587798..7d2aa5f8d0 100755 --- a/env/HERCULES.env +++ b/env/HERCULES.env @@ -41,7 +41,7 @@ case ${step} in export sys_tp="HERCULES" export launcher_PREP="srun" ;; - "preplandobs") + "prepsnowobs") export APRUN_CALCFIMS="${launcher} -n 1" ;; @@ -79,13 +79,13 @@ case ${step} in [[ ${NTHREADS_AEROANL} -gt ${nth_max} ]] && export NTHREADS_AEROANL=${nth_max} export APRUN_AEROANL="${launcher} -n ${npe_aeroanlrun} --cpus-per-task=${NTHREADS_AEROANL}" ;; - "landanl") + "snowanl") - nth_max=$((npe_node_max / npe_node_landanl)) + nth_max=$((npe_node_max / npe_node_snowanl)) - export NTHREADS_LANDANL=${nth_landanl:-${nth_max}} - [[ ${NTHREADS_LANDANL} -gt ${nth_max} ]] && export NTHREADS_LANDANL=${nth_max} - export APRUN_LANDANL="${launcher} -n ${npe_landanl} --cpus-per-task=${NTHREADS_LANDANL}" + export NTHREADS_SNOWANL=${nth_snowanl:-${nth_max}} + [[ ${NTHREADS_SNOWANL} -gt ${nth_max} ]] && export NTHREADS_SNOWANL=${nth_max} + export APRUN_SNOWANL="${launcher} -n ${npe_snowanl} --cpus-per-task=${NTHREADS_SNOWANL}" export APRUN_APPLY_INCR="${launcher} -n 6" ;; diff --git a/env/JET.env b/env/JET.env index 02e11950e5..df6666d8dc 100755 --- a/env/JET.env +++ b/env/JET.env @@ -4,7 +4,7 @@ if [[ $# -ne 1 ]]; then echo "Must specify an input argument to set runtime environment variables!" echo "argument can be any one of the following:" - echo "atmanlrun atmensanlrun aeroanlrun landanl" + echo "atmanlrun atmensanlrun aeroanlrun snowanl" echo "anal sfcanl fcst post metp" echo "eobs eupd ecen efcs epos" echo "postsnd awips gempak" @@ -33,7 +33,7 @@ if [[ "${step}" = "prep" ]] || [[ "${step}" = "prepbufr" ]]; then export sys_tp="JET" export launcher_PREP="srun" -elif [[ "${step}" = "preplandobs" ]]; then +elif [[ "${step}" = "prepsnowobs" ]]; then export APRUN_CALCFIMS="${launcher} -n 1" @@ -70,13 +70,13 @@ elif [[ "${step}" = "aeroanlrun" ]]; then [[ ${NTHREADS_AEROANL} -gt ${nth_max} ]] && export NTHREADS_AEROANL=${nth_max} export APRUN_AEROANL="${launcher} -n ${npe_aeroanlrun}" -elif [[ "${step}" = "landanl" ]]; then +elif [[ "${step}" = "snowanl" ]]; then - nth_max=$((npe_node_max / npe_node_landanl)) + nth_max=$((npe_node_max / npe_node_snowanl)) - export NTHREADS_LANDANL=${nth_landanl:-${nth_max}} - [[ ${NTHREADS_LANDANL} -gt ${nth_max} ]] && export NTHREADS_LANDANL=${nth_max} - export APRUN_LANDANL="${launcher} -n ${npe_landanl}" + export NTHREADS_SNOWANL=${nth_snowanl:-${nth_max}} + [[ ${NTHREADS_SNOWANL} -gt ${nth_max} ]] && export NTHREADS_SNOWANL=${nth_max} + export APRUN_SNOWANL="${launcher} -n ${npe_snowanl}" export APRUN_APPLY_INCR="${launcher} -n 6" diff --git a/env/ORION.env b/env/ORION.env index f0a97eb933..692fa8ab66 100755 --- a/env/ORION.env +++ b/env/ORION.env @@ -4,7 +4,7 @@ if [[ $# -ne 1 ]]; then echo "Must specify an input argument to set runtime environment variables!" echo "argument can be any one of the following:" - echo "atmanlrun atmensanlrun aeroanlrun landanl" + echo "atmanlrun atmensanlrun aeroanlrun snowanl" echo "anal sfcanl fcst post metp" echo "eobs eupd ecen efcs epos" echo "postsnd awips gempak" @@ -40,7 +40,7 @@ if [[ "${step}" = "prep" ]] || [[ "${step}" = "prepbufr" ]]; then export sys_tp="ORION" export launcher_PREP="srun" -elif [[ "${step}" = "preplandobs" ]]; then +elif [[ "${step}" = "prepsnowobs" ]]; then export APRUN_CALCFIMS="${launcher} -n 1" @@ -78,13 +78,13 @@ elif [[ "${step}" = "aeroanlrun" ]]; then [[ ${NTHREADS_AEROANL} -gt ${nth_max} ]] && export NTHREADS_AEROANL=${nth_max} export APRUN_AEROANL="${launcher} -n ${npe_aeroanlrun} --cpus-per-task=${NTHREADS_AEROANL}" -elif [[ "${step}" = "landanl" ]]; then +elif [[ "${step}" = "snowanl" ]]; then - nth_max=$((npe_node_max / npe_node_landanl)) + nth_max=$((npe_node_max / npe_node_snowanl)) - export NTHREADS_LANDANL=${nth_landanl:-${nth_max}} - [[ ${NTHREADS_LANDANL} -gt ${nth_max} ]] && export NTHREADS_LANDANL=${nth_max} - export APRUN_LANDANL="${launcher} -n ${npe_landanl} --cpus-per-task=${NTHREADS_LANDANL}" + export NTHREADS_SNOWANL=${nth_snowanl:-${nth_max}} + [[ ${NTHREADS_SNOWANL} -gt ${nth_max} ]] && export NTHREADS_SNOWANL=${nth_max} + export APRUN_SNOWANL="${launcher} -n ${npe_snowanl} --cpus-per-task=${NTHREADS_SNOWANL}" export APRUN_APPLY_INCR="${launcher} -n 6" diff --git a/env/S4.env b/env/S4.env index 717d971c7d..ab564eb974 100755 --- a/env/S4.env +++ b/env/S4.env @@ -4,7 +4,7 @@ if [[ $# -ne 1 ]]; then echo "Must specify an input argument to set runtime environment variables!" echo "argument can be any one of the following:" - echo "atmanlrun atmensanlrun aeroanlrun landanl" + echo "atmanlrun atmensanlrun aeroanlrun snowanl" echo "anal sfcanl fcst post metp" echo "eobs eupd ecen efcs epos" echo "postsnd awips gempak" @@ -33,7 +33,7 @@ if [[ "${step}" = "prep" ]] || [[ "${step}" = "prepbufr" ]]; then export sys_tp="S4" export launcher_PREP="srun" -elif [[ "${step}" = "preplandobs" ]]; then +elif [[ "${step}" = "prepsnowobs" ]]; then export APRUN_CALCFIMS="${launcher} -n 1" @@ -70,13 +70,13 @@ elif [[ "${step}" = "aeroanlrun" ]]; then [[ ${NTHREADS_AEROANL} -gt ${nth_max} ]] && export NTHREADS_AEROANL=${nth_max} export APRUN_AEROANL="${launcher} -n ${npe_aeroanlrun}" -elif [[ "${step}" = "landanl" ]]; then +elif [[ "${step}" = "snowanl" ]]; then - nth_max=$((npe_node_max / npe_node_landanl)) + nth_max=$((npe_node_max / npe_node_snowanl)) - export NTHREADS_LANDANL=${nth_landanl:-${nth_max}} - [[ ${NTHREADS_LANDANL} -gt ${nth_max} ]] && export NTHREADS_LANDANL=${nth_max} - export APRUN_LANDANL="${launcher} -n ${npe_landanl}" + export NTHREADS_SNOWANL=${nth_snowanl:-${nth_max}} + [[ ${NTHREADS_SNOWANL} -gt ${nth_max} ]] && export NTHREADS_SNOWANL=${nth_max} + export APRUN_SNOWANL="${launcher} -n ${npe_snowanl}" export APRUN_APPLY_INCR="${launcher} -n 6" diff --git a/env/WCOSS2.env b/env/WCOSS2.env index e247a37bc9..ebb55a4077 100755 --- a/env/WCOSS2.env +++ b/env/WCOSS2.env @@ -4,7 +4,7 @@ if [[ $# -ne 1 ]]; then echo "Must specify an input argument to set runtime environment variables!" echo "argument can be any one of the following:" - echo "atmanlrun atmensanlrun aeroanlrun landanl" + echo "atmanlrun atmensanlrun aeroanlrun snowanl" echo "anal sfcanl fcst post metp" echo "eobs eupd ecen esfc efcs epos" echo "postsnd awips gempak" @@ -27,7 +27,7 @@ if [[ "${step}" = "prep" ]] || [[ "${step}" = "prepbufr" ]]; then export sys_tp="wcoss2" export launcher_PREP="mpiexec" -elif [[ "${step}" = "preplandobs" ]]; then +elif [[ "${step}" = "prepsnowobs" ]]; then export APRUN_CALCFIMS="${launcher} -n 1" @@ -64,13 +64,13 @@ elif [[ "${step}" = "aeroanlrun" ]]; then [[ ${NTHREADS_AEROANL} -gt ${nth_max} ]] && export NTHREADS_AEROANL=${nth_max} export APRUN_AEROANL="${launcher} -n ${npe_aeroanlrun}" -elif [[ "${step}" = "landanl" ]]; then +elif [[ "${step}" = "snowanl" ]]; then - nth_max=$((npe_node_max / npe_node_landanl)) + nth_max=$((npe_node_max / npe_node_snowanl)) - export NTHREADS_LANDANL=${nth_landanl:-${nth_max}} - [[ ${NTHREADS_LANDANL} -gt ${nth_max} ]] && export NTHREADS_LANDANL=${nth_max} - export APRUN_LANDANL="${launcher} -n ${npe_landanl}" + export NTHREADS_SNOWANL=${nth_snowanl:-${nth_max}} + [[ ${NTHREADS_SNOWANL} -gt ${nth_max} ]] && export NTHREADS_SNOWANL=${nth_max} + export APRUN_SNOWANL="${launcher} -n ${npe_snowanl}" export APRUN_APPLY_INCR="${launcher} -n 6" diff --git a/jobs/JGLOBAL_ATMOS_SFCANL b/jobs/JGLOBAL_ATMOS_SFCANL index 0d709e56dd..3d897db4c3 100755 --- a/jobs/JGLOBAL_ATMOS_SFCANL +++ b/jobs/JGLOBAL_ATMOS_SFCANL @@ -26,7 +26,7 @@ export GPREFIX="${GDUMP}.t${gcyc}z." export APREFIX="${CDUMP}.t${cyc}z." YMD=${PDY} HH=${cyc} generate_com -rx COM_OBS COM_ATMOS_ANALYSIS COM_ATMOS_RESTART \ - COM_LAND_ANALYSIS + COM_SNOW_ANALYSIS RUN=${GDUMP} YMD=${gPDY} HH=${gcyc} generate_com -rx \ COM_OBS_PREV:COM_OBS_TMPL \ diff --git a/jobs/JGLOBAL_PREP_LAND_OBS b/jobs/JGLOBAL_PREP_SNOW_OBS similarity index 86% rename from jobs/JGLOBAL_PREP_LAND_OBS rename to jobs/JGLOBAL_PREP_SNOW_OBS index 9b14451568..22ed977a5e 100755 --- a/jobs/JGLOBAL_PREP_LAND_OBS +++ b/jobs/JGLOBAL_PREP_SNOW_OBS @@ -1,8 +1,8 @@ #! /usr/bin/env bash source "${HOMEgfs}/ush/preamble.sh" -export DATA=${DATA:-${DATAROOT}/${RUN}landanl_${cyc}} -source "${HOMEgfs}/ush/jjob_header.sh" -e "preplandobs" -c "base preplandobs" +export DATA=${DATA:-${DATAROOT}/${RUN}snowanl_${cyc}} +source "${HOMEgfs}/ush/jjob_header.sh" -e "prepsnowobs" -c "base prepsnowobs" ############################################## # Set variables used in the script @@ -25,7 +25,7 @@ RUN=${GDUMP} YMD=${gPDY} HH=${gcyc} generate_com -rx \ ############################################################### # Run relevant script -EXSCRIPT=${GDASLANDPREPSH:-${HOMEgfs}/scripts/exglobal_prep_land_obs.py} +EXSCRIPT=${GDASSNOWPREPPY:-${HOMEgfs}/scripts/exglobal_prep_snow_obs.py} ${EXSCRIPT} status=$? [[ ${status} -ne 0 ]] && (echo "FATAL ERROR: Error executing ${EXSCRIPT}, ABORT!"; exit "${status}") diff --git a/jobs/JGLOBAL_LAND_ANALYSIS b/jobs/JGLOBAL_SNOW_ANALYSIS similarity index 78% rename from jobs/JGLOBAL_LAND_ANALYSIS rename to jobs/JGLOBAL_SNOW_ANALYSIS index 0cef66de09..db1a8a8ba3 100755 --- a/jobs/JGLOBAL_LAND_ANALYSIS +++ b/jobs/JGLOBAL_SNOW_ANALYSIS @@ -1,8 +1,8 @@ #! /usr/bin/env bash source "${HOMEgfs}/ush/preamble.sh" -export DATA=${DATA:-${DATAROOT}/${RUN}landanl_${cyc}} -source "${HOMEgfs}/ush/jjob_header.sh" -e "landanl" -c "base landanl" +export DATA=${DATA:-${DATAROOT}/${RUN}snowanl_${cyc}} +source "${HOMEgfs}/ush/jjob_header.sh" -e "snowanl" -c "base snowanl" ############################################## # Set variables used in the script @@ -18,17 +18,17 @@ GDUMP="gdas" # Begin JOB SPECIFIC work ############################################## # Generate COM variables from templates -YMD=${PDY} HH=${cyc} generate_com -rx COM_OBS COM_LAND_ANALYSIS COM_CONF +YMD=${PDY} HH=${cyc} generate_com -rx COM_OBS COM_SNOW_ANALYSIS COM_CONF RUN=${GDUMP} YMD=${gPDY} HH=${gcyc} generate_com -rx \ COM_ATMOS_RESTART_PREV:COM_ATMOS_RESTART_TMPL -mkdir -m 775 -p "${COM_LAND_ANALYSIS}" "${COM_CONF}" +mkdir -m 775 -p "${COM_SNOW_ANALYSIS}" "${COM_CONF}" ############################################################### # Run relevant script -EXSCRIPT=${LANDANLPY:-${HOMEgfs}/scripts/exglobal_land_analysis.py} +EXSCRIPT=${SNOWANLPY:-${HOMEgfs}/scripts/exglobal_snow_analysis.py} ${EXSCRIPT} status=$? [[ ${status} -ne 0 ]] && exit "${status}" diff --git a/jobs/rocoto/preplandobs.sh b/jobs/rocoto/prepsnowobs.sh similarity index 92% rename from jobs/rocoto/preplandobs.sh rename to jobs/rocoto/prepsnowobs.sh index 6304dd611b..dae11129eb 100755 --- a/jobs/rocoto/preplandobs.sh +++ b/jobs/rocoto/prepsnowobs.sh @@ -8,7 +8,7 @@ source "${HOMEgfs}/ush/preamble.sh" status=$? [[ ${status} -ne 0 ]] && exit "${status}" -export job="preplandobs" +export job="prepsnowobs" export jobid="${job}.$$" ############################################################### @@ -20,6 +20,6 @@ export PYTHONPATH ############################################################### # Execute the JJOB -"${HOMEgfs}/jobs/JGLOBAL_PREP_LAND_OBS" +"${HOMEgfs}/jobs/JGLOBAL_PREP_SNOW_OBS" status=$? exit "${status}" diff --git a/jobs/rocoto/landanl.sh b/jobs/rocoto/snowanl.sh similarity index 91% rename from jobs/rocoto/landanl.sh rename to jobs/rocoto/snowanl.sh index f49b6f9f8b..627dd860f4 100755 --- a/jobs/rocoto/landanl.sh +++ b/jobs/rocoto/snowanl.sh @@ -8,7 +8,7 @@ source "${HOMEgfs}/ush/preamble.sh" status=$? [[ ${status} -ne 0 ]] && exit "${status}" -export job="landanl" +export job="snowanl" export jobid="${job}.$$" ############################################################### @@ -19,6 +19,6 @@ export PYTHONPATH ############################################################### # Execute the JJOB -"${HOMEgfs}/jobs/JGLOBAL_LAND_ANALYSIS" +"${HOMEgfs}/jobs/JGLOBAL_SNOW_ANALYSIS" status=$? exit "${status}" diff --git a/parm/config/gefs/config.base.emc.dyn b/parm/config/gefs/config.base.emc.dyn index 2da96ad85b..0062aed163 100644 --- a/parm/config/gefs/config.base.emc.dyn +++ b/parm/config/gefs/config.base.emc.dyn @@ -248,7 +248,7 @@ export imp_physics=8 export DO_JEDIATMVAR="NO" export DO_JEDIATMENS="NO" export DO_JEDIOCNVAR="NO" -export DO_JEDILANDDA="NO" +export DO_JEDISNOWDA="NO" export DO_MERGENSST="NO" # Hybrid related diff --git a/parm/config/gefs/config.resources b/parm/config/gefs/config.resources index 18750d1192..1f6485931f 100644 --- a/parm/config/gefs/config.resources +++ b/parm/config/gefs/config.resources @@ -9,10 +9,10 @@ if (( $# != 1 )); then echo "Must specify an input task argument to set resource variables!" echo "argument can be any one of the following:" echo "stage_ic aerosol_init" - echo "prep preplandobs prepatmiodaobs" + echo "prep prepsnowobs prepatmiodaobs" echo "atmanlinit atmanlrun atmanlfinal" echo "atmensanlinit atmensanlrun atmensanlfinal" - echo "landanl" + echo "snowanl" echo "aeroanlinit aeroanlrun aeroanlfinal" echo "anal sfcanl analcalc analdiag fcst echgres" echo "upp atmos_products" diff --git a/parm/config/gefs/yaml/defaults.yaml b/parm/config/gefs/yaml/defaults.yaml index 84dfcbf718..b19eb57e55 100644 --- a/parm/config/gefs/yaml/defaults.yaml +++ b/parm/config/gefs/yaml/defaults.yaml @@ -2,6 +2,6 @@ base: DO_JEDIATMVAR: "NO" DO_JEDIATMENS: "NO" DO_JEDIOCNVAR: "NO" - DO_JEDILANDDA: "NO" + DO_JEDISNOWDA: "NO" DO_MERGENSST: "NO" FHMAX_GFS: 120 diff --git a/parm/config/gfs/config.base.emc.dyn b/parm/config/gfs/config.base.emc.dyn index 3246e4cbb6..32284929c9 100644 --- a/parm/config/gfs/config.base.emc.dyn +++ b/parm/config/gfs/config.base.emc.dyn @@ -295,7 +295,7 @@ export imp_physics=8 export DO_JEDIATMVAR="@DO_JEDIATMVAR@" export DO_JEDIATMENS="@DO_JEDIATMENS@" export DO_JEDIOCNVAR="@DO_JEDIOCNVAR@" -export DO_JEDILANDDA="@DO_JEDILANDDA@" +export DO_JEDISNOWDA="@DO_JEDISNOWDA@" export DO_MERGENSST="@DO_MERGENSST@" # Hybrid related diff --git a/parm/config/gfs/config.com b/parm/config/gfs/config.com index 1f046fdef6..2f99e709ea 100644 --- a/parm/config/gfs/config.com +++ b/parm/config/gfs/config.com @@ -52,7 +52,7 @@ declare -rx COM_CONF_TMPL=${COM_BASE}'/conf' declare -rx COM_ATMOS_INPUT_TMPL=${COM_BASE}'/model_data/atmos/input' declare -rx COM_ATMOS_RESTART_TMPL=${COM_BASE}'/model_data/atmos/restart' declare -rx COM_ATMOS_ANALYSIS_TMPL=${COM_BASE}'/analysis/atmos' -declare -rx COM_LAND_ANALYSIS_TMPL=${COM_BASE}'/analysis/land' +declare -rx COM_SNOW_ANALYSIS_TMPL=${COM_BASE}'/analysis/snow' declare -rx COM_ATMOS_HISTORY_TMPL=${COM_BASE}'/model_data/atmos/history' declare -rx COM_ATMOS_MASTER_TMPL=${COM_BASE}'/model_data/atmos/master' declare -rx COM_ATMOS_GRIB_TMPL=${COM_BASE}'/products/atmos/grib2' diff --git a/parm/config/gfs/config.preplandobs b/parm/config/gfs/config.preplandobs deleted file mode 100644 index 20ae20b5ad..0000000000 --- a/parm/config/gfs/config.preplandobs +++ /dev/null @@ -1,18 +0,0 @@ -#! /usr/bin/env bash - -########## config.preplandobs ########## -# Land Obs Prep specific - -echo "BEGIN: config.preplandobs" - -# Get task specific resources -. "${EXPDIR}/config.resources" preplandobs - -export GTS_OBS_LIST="${HOMEgfs}/sorc/gdas.cd/parm/land/prep/prep_gts.yaml" -export BUFR2IODAX="${HOMEgfs}/exec/bufr2ioda.x" -export FIMS_NML_TMPL="${HOMEgfs}/sorc/gdas.cd/parm/land/prep/fims.nml.j2" -export IMS_OBS_LIST="${HOMEgfs}/sorc/gdas.cd/parm/land/prep/prep_ims.yaml" -export CALCFIMSEXE="${HOMEgfs}/exec/calcfIMS.exe" -export IMS2IODACONV="${HOMEgfs}/ush/imsfv3_scf2ioda.py" - -echo "END: config.preplandobs" diff --git a/parm/config/gfs/config.prepsnowobs b/parm/config/gfs/config.prepsnowobs new file mode 100644 index 0000000000..64eb8ba896 --- /dev/null +++ b/parm/config/gfs/config.prepsnowobs @@ -0,0 +1,18 @@ +#! /usr/bin/env bash + +########## config.prepsnowobs ########## +# Snow Obs Prep specific + +echo "BEGIN: config.prepsnowobs" + +# Get task specific resources +. "${EXPDIR}/config.resources" prepsnowobs + +export GTS_OBS_LIST="${HOMEgfs}/sorc/gdas.cd/parm/snow/prep/prep_gts.yaml" +export BUFR2IODAX="${HOMEgfs}/exec/bufr2ioda.x" +export FIMS_NML_TMPL="${HOMEgfs}/sorc/gdas.cd/parm/snow/prep/fims.nml.j2" +export IMS_OBS_LIST="${HOMEgfs}/sorc/gdas.cd/parm/snow/prep/prep_ims.yaml" +export CALCFIMSEXE="${HOMEgfs}/exec/calcfIMS.exe" +export IMS2IODACONV="${HOMEgfs}/ush/imsfv3_scf2ioda.py" + +echo "END: config.prepsnowobs" diff --git a/parm/config/gfs/config.resources b/parm/config/gfs/config.resources index 79d38a3bbc..7e1f66cb04 100644 --- a/parm/config/gfs/config.resources +++ b/parm/config/gfs/config.resources @@ -9,10 +9,10 @@ if (( $# != 1 )); then echo "Must specify an input task argument to set resource variables!" echo "argument can be any one of the following:" echo "stage_ic aerosol_init" - echo "prep preplandobs prepatmiodaobs" + echo "prep prepsnowobs prepatmiodaobs" echo "atmanlinit atmanlrun atmanlfinal" echo "atmensanlinit atmensanlrun atmensanlfinal" - echo "landanl" + echo "snowanl" echo "aeroanlinit aeroanlrun aeroanlfinal" echo "anal sfcanl analcalc analdiag fcst echgres" echo "upp atmos_products" @@ -83,11 +83,11 @@ case ${step} in fi ;; - "preplandobs") - export wtime_preplandobs="00:05:00" - export npe_preplandobs=1 - export nth_preplandobs=1 - export npe_node_preplandobs=1 + "prepsnowobs") + export wtime_prepsnowobs="00:05:00" + export npe_prepsnowobs=1 + export nth_prepsnowobs=1 + export npe_node_prepsnowobs=1 ;; "prepatmiodaobs") @@ -231,7 +231,7 @@ case ${step} in export is_exclusive=True ;; - "landanl") + "snowanl") # below lines are for creating JEDI YAML case ${CASE} in "C768") @@ -254,10 +254,10 @@ case ${step} in export layout_x export layout_y - export wtime_landanl="00:15:00" - export npe_landanl=$(( layout_x * layout_y * 6 )) - export nth_landanl=1 - export npe_node_landanl=$(( npe_node_max / nth_landanl )) + export wtime_snowanl="00:15:00" + export npe_snowanl=$(( layout_x * layout_y * 6 )) + export nth_snowanl=1 + export npe_node_snowanl=$(( npe_node_max / nth_snowanl )) ;; "aeroanlinit") diff --git a/parm/config/gfs/config.landanl b/parm/config/gfs/config.snowanl similarity index 52% rename from parm/config/gfs/config.landanl rename to parm/config/gfs/config.snowanl index 70ebae7529..3303ce402b 100644 --- a/parm/config/gfs/config.landanl +++ b/parm/config/gfs/config.snowanl @@ -1,24 +1,24 @@ #! /usr/bin/env bash -########## config.landanl ########## -# configuration common to land analysis tasks +########## config.snowanl ########## +# configuration common to snow analysis tasks -echo "BEGIN: config.landanl" +echo "BEGIN: config.snowanl" # Get task specific resources -. "${EXPDIR}/config.resources" landanl +. "${EXPDIR}/config.resources" snowanl -obs_list_name=gdas_land_gts_only.yaml +obs_list_name=gdas_snow_gts_only.yaml if [[ "${cyc}" = "18" ]]; then - obs_list_name=gdas_land_prototype.yaml + obs_list_name=gdas_snow_prototype.yaml fi -export OBS_YAML_DIR=${HOMEgfs}/sorc/gdas.cd/parm/land/obs/config/ -export OBS_LIST=${HOMEgfs}/sorc/gdas.cd/parm/land/obs/lists/${obs_list_name} +export OBS_YAML_DIR=${HOMEgfs}/sorc/gdas.cd/parm/snow/obs/config/ +export OBS_LIST=${HOMEgfs}/sorc/gdas.cd/parm/snow/obs/lists/${obs_list_name} # Name of the JEDI executable and its yaml template export JEDIEXE="${HOMEgfs}/exec/fv3jedi_letkf.x" -export JEDIYAML="${HOMEgfs}/sorc/gdas.cd/parm/land/letkfoi/letkfoi.yaml" +export JEDIYAML="${HOMEgfs}/sorc/gdas.cd/parm/snow/letkfoi/letkfoi.yaml" # Ensemble member properties export SNOWDEPTHVAR="snodl" @@ -26,9 +26,9 @@ export BESTDDEV="30." # Background Error Std. Dev. for LETKFOI # Name of the executable that applies increment to bkg and its namelist template export APPLY_INCR_EXE="${HOMEgfs}/exec/apply_incr.exe" -export APPLY_INCR_NML_TMPL="${HOMEgfs}/sorc/gdas.cd/parm/land/letkfoi/apply_incr_nml.j2" +export APPLY_INCR_NML_TMPL="${HOMEgfs}/sorc/gdas.cd/parm/snow/letkfoi/apply_incr_nml.j2" export io_layout_x=@IO_LAYOUT_X@ export io_layout_y=@IO_LAYOUT_Y@ -echo "END: config.landanl" +echo "END: config.snowanl" diff --git a/parm/config/gfs/yaml/defaults.yaml b/parm/config/gfs/yaml/defaults.yaml index 855939e1e2..e6108fff29 100644 --- a/parm/config/gfs/yaml/defaults.yaml +++ b/parm/config/gfs/yaml/defaults.yaml @@ -3,7 +3,7 @@ base: DO_JEDIATMVAR: "NO" DO_JEDIATMENS: "NO" DO_JEDIOCNVAR: "NO" - DO_JEDILANDDA: "NO" + DO_JEDISNOWDA: "NO" DO_MERGENSST: "NO" DO_GOES: "NO" FHMAX_GFS: 120 @@ -24,7 +24,7 @@ aeroanl: IO_LAYOUT_X: 1 IO_LAYOUT_Y: 1 -landanl: +snowanl: IO_LAYOUT_X: 1 IO_LAYOUT_Y: 1 diff --git a/parm/gdas/land_jedi_fix.yaml b/parm/gdas/snow_jedi_fix.yaml similarity index 100% rename from parm/gdas/land_jedi_fix.yaml rename to parm/gdas/snow_jedi_fix.yaml diff --git a/scripts/exglobal_atmos_sfcanl.sh b/scripts/exglobal_atmos_sfcanl.sh index 8b315a1dda..60869181f3 100755 --- a/scripts/exglobal_atmos_sfcanl.sh +++ b/scripts/exglobal_atmos_sfcanl.sh @@ -188,8 +188,8 @@ fi # Update surface restarts at middle of window for n in $(seq 1 ${ntiles}); do - if [[ ${DO_JEDILANDDA:-"NO"} = "YES" ]]; then - ${NCP} "${COM_LAND_ANALYSIS}/${PDY}.${cyc}0000.sfc_data.tile${n}.nc" \ + if [[ ${DO_JEDISNOWDA:-"NO"} = "YES" ]]; then + ${NCP} "${COM_SNOW_ANALYSIS}/${PDY}.${cyc}0000.sfc_data.tile${n}.nc" \ "${COM_ATMOS_RESTART}/${PDY}.${cyc}0000.sfcanl_data.tile${n}.nc" else ${NCP} "${COM_ATMOS_RESTART_PREV}/${PDY}.${cyc}0000.sfc_data.tile${n}.nc" \ diff --git a/scripts/exglobal_prep_land_obs.py b/scripts/exglobal_prep_snow_obs.py similarity index 59% rename from scripts/exglobal_prep_land_obs.py rename to scripts/exglobal_prep_snow_obs.py index 3594771c8a..5107d9c935 100755 --- a/scripts/exglobal_prep_land_obs.py +++ b/scripts/exglobal_prep_snow_obs.py @@ -1,12 +1,12 @@ #!/usr/bin/env python3 -# exglobal_land_analysis_prepare.py -# This script creates a LandAnalysis object +# exglobal_prep_snow_obs.py +# This script creates a SnowAnalysis object # and runs the prepare_GTS and prepare_IMS method # which perform the pre-processing for GTS and IMS data import os from wxflow import Logger, cast_strdict_as_dtypedict -from pygfs.task.land_analysis import LandAnalysis +from pygfs.task.snow_analysis import SnowAnalysis # Initialize root logger @@ -18,8 +18,8 @@ # Take configuration from environment and cast it as python dictionary config = cast_strdict_as_dtypedict(os.environ) - # Instantiate the land prepare task - LandAnl = LandAnalysis(config) - LandAnl.prepare_GTS() - if f"{ LandAnl.runtime_config.cyc }" == '18': - LandAnl.prepare_IMS() + # Instantiate the snow prepare task + SnowAnl = SnowAnalysis(config) + SnowAnl.prepare_GTS() + if f"{ SnowAnl.runtime_config.cyc }" == '18': + SnowAnl.prepare_IMS() diff --git a/scripts/exglobal_land_analysis.py b/scripts/exglobal_snow_analysis.py similarity index 66% rename from scripts/exglobal_land_analysis.py rename to scripts/exglobal_snow_analysis.py index 70141475b0..fe050f5af5 100755 --- a/scripts/exglobal_land_analysis.py +++ b/scripts/exglobal_snow_analysis.py @@ -1,12 +1,12 @@ #!/usr/bin/env python3 -# exglobal_land_analysis.py -# This script creates an LandAnalysis class +# exglobal_snow_analysis.py +# This script creates an SnowAnalysis class # and runs the initialize, execute and finalize methods -# for a global Land Snow Depth analysis +# for a global Snow Depth analysis import os from wxflow import Logger, cast_strdict_as_dtypedict -from pygfs.task.land_analysis import LandAnalysis +from pygfs.task.snow_analysis import SnowAnalysis # Initialize root logger logger = Logger(level=os.environ.get("LOGGING_LEVEL", "DEBUG"), colored_log=True) @@ -17,8 +17,8 @@ # Take configuration from environment and cast it as python dictionary config = cast_strdict_as_dtypedict(os.environ) - # Instantiate the land analysis task - anl = LandAnalysis(config) + # Instantiate the snow analysis task + anl = SnowAnalysis(config) anl.initialize() anl.execute() anl.finalize() diff --git a/ush/python/pygfs/task/land_analysis.py b/ush/python/pygfs/task/snow_analysis.py similarity index 92% rename from ush/python/pygfs/task/land_analysis.py rename to ush/python/pygfs/task/snow_analysis.py index dfd4ffe15c..01c69dbc7b 100644 --- a/ush/python/pygfs/task/land_analysis.py +++ b/ush/python/pygfs/task/snow_analysis.py @@ -21,14 +21,14 @@ logger = getLogger(__name__.split('.')[-1]) -class LandAnalysis(Analysis): +class SnowAnalysis(Analysis): """ - Class for global land analysis tasks + Class for global snow analysis tasks """ - NMEM_LANDENS = 2 + NMEM_SNOWENS = 2 - @logit(logger, name="LandAnalysis") + @logit(logger, name="SnowAnalysis") def __init__(self, config): super().__init__(config) @@ -43,8 +43,8 @@ def __init__(self, config): 'npy_ges': _res + 1, 'npz_ges': self.config.LEVS - 1, 'npz': self.config.LEVS - 1, - 'LAND_WINDOW_BEGIN': _window_begin, - 'LAND_WINDOW_LENGTH': f"PT{self.config['assim_freq']}H", + 'SNOW_WINDOW_BEGIN': _window_begin, + 'SNOW_WINDOW_LENGTH': f"PT{self.config['assim_freq']}H", 'OPREFIX': f"{self.runtime_config.RUN}.t{self.runtime_config.cyc:02d}z.", 'APREFIX': f"{self.runtime_config.RUN}.t{self.runtime_config.cyc:02d}z.", 'jedi_yaml': _letkfoi_yaml @@ -56,9 +56,9 @@ def __init__(self, config): @logit(logger) def prepare_GTS(self) -> None: - """Prepare the GTS data for a global land analysis + """Prepare the GTS data for a global snow analysis - This method will prepare GTS data for a global land analysis using JEDI. + This method will prepare GTS data for a global snow analysis using JEDI. This includes: - processing GTS bufr snow depth observation data to IODA format @@ -133,9 +133,9 @@ def _gtsbufr2iodax(exe, yaml_file): @logit(logger) def prepare_IMS(self) -> None: - """Prepare the IMS data for a global land analysis + """Prepare the IMS data for a global snow analysis - This method will prepare IMS data for a global land analysis using JEDI. + This method will prepare IMS data for a global snow analysis using JEDI. This includes: - staging model backgrounds - processing raw IMS observation data and prepare for conversion to IODA @@ -232,7 +232,7 @@ def prepare_IMS(self) -> None: @logit(logger) def initialize(self) -> None: - """Initialize method for Land analysis + """Initialize method for snow analysis This method: - creates artifacts in the DATA directory by copying fix files - creates the JEDI LETKF yaml from the template @@ -241,7 +241,7 @@ def initialize(self) -> None: Parameters ---------- self : Analysis - Instance of the LandAnalysis object + Instance of the SnowAnalysis object """ super().initialize() @@ -255,12 +255,12 @@ def initialize(self) -> None: # Make member directories in DATA for background dirlist = [] - for imem in range(1, LandAnalysis.NMEM_LANDENS + 1): + for imem in range(1, SnowAnalysis.NMEM_SNOWENS + 1): dirlist.append(os.path.join(localconf.DATA, 'bkg', f'mem{imem:03d}')) FileHandler({'mkdir': dirlist}).sync() # stage fix files - jedi_fix_list_path = os.path.join(self.task_config.HOMEgfs, 'parm', 'gdas', 'land_jedi_fix.yaml') + jedi_fix_list_path = os.path.join(self.task_config.HOMEgfs, 'parm', 'gdas', 'snow_jedi_fix.yaml') logger.info(f"Staging JEDI fix files from {jedi_fix_list_path}") jedi_fix_list = parse_yamltmpl(jedi_fix_list_path, self.task_config) FileHandler(jedi_fix_list).sync() @@ -294,15 +294,15 @@ def execute(self) -> None: Parameters ---------- self : Analysis - Instance of the LandAnalysis object + Instance of the SnowAnalysis object """ # create a temporary dict of all keys needed in this method localconf = AttrDict() keys = ['HOMEgfs', 'DATA', 'current_cycle', - 'COM_ATMOS_RESTART_PREV', 'COM_LAND_ANALYSIS', 'APREFIX', + 'COM_ATMOS_RESTART_PREV', 'COM_SNOW_ANALYSIS', 'APREFIX', 'SNOWDEPTHVAR', 'BESTDDEV', 'CASE', 'OCNRES', 'ntiles', - 'APRUN_LANDANL', 'JEDIEXE', 'jedi_yaml', + 'APRUN_SNOWANL', 'JEDIEXE', 'jedi_yaml', 'APPLY_INCR_NML_TMPL', 'APPLY_INCR_EXE', 'APRUN_APPLY_INCR'] for key in keys: localconf[key] = self.task_config[key] @@ -314,7 +314,7 @@ def execute(self) -> None: logger.info("Running JEDI LETKF") self.execute_jediexe(localconf.DATA, - localconf.APRUN_LANDANL, + localconf.APRUN_SNOWANL, os.path.basename(localconf.JEDIEXE), localconf.jedi_yaml) @@ -323,7 +323,7 @@ def execute(self) -> None: @logit(logger) def finalize(self) -> None: - """Performs closing actions of the Land analysis task + """Performs closing actions of the Snow analysis task This method: - tar and gzip the output diag files and place in COM/ - copy the generated YAML file from initialize to the COM/ @@ -333,11 +333,11 @@ def finalize(self) -> None: Parameters ---------- self : Analysis - Instance of the LandAnalysis object + Instance of the SnowAnalysis object """ logger.info("Create diagnostic tarball of diag*.nc4 files") - statfile = os.path.join(self.task_config.COM_LAND_ANALYSIS, f"{self.task_config.APREFIX}landstat.tgz") + statfile = os.path.join(self.task_config.COM_SNOW_ANALYSIS, f"{self.task_config.APREFIX}snowstat.tgz") self.tgz_diags(statfile, self.task_config.DATA) logger.info("Copy full YAML to COM") @@ -355,17 +355,17 @@ def finalize(self) -> None: for itile in range(1, self.task_config.ntiles + 1): filename = template.format(tilenum=itile) src = os.path.join(self.task_config.DATA, 'anl', filename) - dest = os.path.join(self.task_config.COM_LAND_ANALYSIS, filename) + dest = os.path.join(self.task_config.COM_SNOW_ANALYSIS, filename) anllist.append([src, dest]) FileHandler({'copy': anllist}).sync() logger.info('Copy increments to COM') - template = f'landinc.{to_fv3time(self.task_config.current_cycle)}.sfc_data.tile{{tilenum}}.nc' + template = f'snowinc.{to_fv3time(self.task_config.current_cycle)}.sfc_data.tile{{tilenum}}.nc' inclist = [] for itile in range(1, self.task_config.ntiles + 1): filename = template.format(tilenum=itile) src = os.path.join(self.task_config.DATA, 'anl', filename) - dest = os.path.join(self.task_config.COM_LAND_ANALYSIS, filename) + dest = os.path.join(self.task_config.COM_SNOW_ANALYSIS, filename) inclist.append([src, dest]) FileHandler({'copy': inclist}).sync() @@ -375,7 +375,7 @@ def get_bkg_dict(config: Dict) -> Dict[str, List[str]]: """Compile a dictionary of model background files to copy This method constructs a dictionary of FV3 RESTART files (coupler, sfc_data) - that are needed for global land DA and returns said dictionary for use by the FileHandler class. + that are needed for global snow DA and returns said dictionary for use by the FileHandler class. Parameters ---------- @@ -401,11 +401,11 @@ def get_bkg_dict(config: Dict) -> Dict[str, List[str]]: # Start accumulating list of background files to copy bkglist = [] - # land DA needs coupler + # snow DA needs coupler basename = f'{to_fv3time(config.current_cycle)}.coupler.res' bkglist.append([os.path.join(rst_dir, basename), os.path.join(run_dir, basename)]) - # land DA only needs sfc_data + # snow DA only needs sfc_data for ftype in ['sfc_data']: template = f'{to_fv3time(config.current_cycle)}.{ftype}.tile{{tilenum}}.nc' for itile in range(1, config.ntiles + 1): @@ -447,17 +447,17 @@ def get_ens_bkg_dict(config: Dict) -> Dict: # get FV3 sfc_data RESTART files; Note an ensemble is being created rst_dir = os.path.join(config.COM_ATMOS_RESTART_PREV) - for imem in range(1, LandAnalysis.NMEM_LANDENS + 1): + for imem in range(1, SnowAnalysis.NMEM_SNOWENS + 1): memchar = f"mem{imem:03d}" run_dir = os.path.join(config.DATA, 'bkg', memchar, 'RESTART') dirlist.append(run_dir) - # Land DA needs coupler + # Snow DA needs coupler basename = f'{to_fv3time(config.current_cycle)}.coupler.res' bkglist.append([os.path.join(rst_dir, basename), os.path.join(run_dir, basename)]) - # Land DA only needs sfc_data + # Snow DA only needs sfc_data for ftype in ['sfc_data']: template = f'{to_fv3time(config.current_cycle)}.{ftype}.tile{{tilenum}}.nc' for itile in range(1, config.ntiles + 1): @@ -491,7 +491,7 @@ def create_ensemble(vname: str, bestddev: float, config: Dict) -> None: """ # 2 ens members - offset = bestddev / np.sqrt(LandAnalysis.NMEM_LANDENS) + offset = bestddev / np.sqrt(SnowAnalysis.NMEM_SNOWENS) logger.info(f"Creating ensemble for LETKFOI by offsetting with {offset}") diff --git a/workflow/applications/gfs_cycled.py b/workflow/applications/gfs_cycled.py index 040fc090cb..51b430a996 100644 --- a/workflow/applications/gfs_cycled.py +++ b/workflow/applications/gfs_cycled.py @@ -16,7 +16,7 @@ def __init__(self, conf: Configuration): self.do_jediatmvar = self._base.get('DO_JEDIATMVAR', False) self.do_jediatmens = self._base.get('DO_JEDIATMENS', False) self.do_jediocnvar = self._base.get('DO_JEDIOCNVAR', False) - self.do_jedilandda = self._base.get('DO_JEDILANDDA', False) + self.do_jedisnowda = self._base.get('DO_JEDISNOWDA', False) self.do_mergensst = self._base.get('DO_MERGENSST', False) self.do_vrfy_oceanda = self._base.get('DO_VRFY_OCEANDA', False) @@ -105,8 +105,8 @@ def _get_app_configs(self): if self.do_aero: configs += ['aeroanlinit', 'aeroanlrun', 'aeroanlfinal'] - if self.do_jedilandda: - configs += ['preplandobs', 'landanl'] + if self.do_jedisnowda: + configs += ['prepsnowobs', 'snowanl'] if self.do_mos: configs += ['mos_stn_prep', 'mos_grd_prep', 'mos_ext_stn_prep', 'mos_ext_grd_prep', @@ -148,8 +148,8 @@ def get_task_names(self): if self.do_aero: gdas_gfs_common_tasks_before_fcst += ['aeroanlinit', 'aeroanlrun', 'aeroanlfinal'] - if self.do_jedilandda: - gdas_gfs_common_tasks_before_fcst += ['preplandobs', 'landanl'] + if self.do_jedisnowda: + gdas_gfs_common_tasks_before_fcst += ['prepsnowobs', 'snowanl'] wave_prep_tasks = ['waveinit', 'waveprep'] wave_bndpnt_tasks = ['wavepostbndpnt', 'wavepostbndpntbll'] diff --git a/workflow/rocoto/gfs_tasks.py b/workflow/rocoto/gfs_tasks.py index dd5b0cd551..b91e974c74 100644 --- a/workflow/rocoto/gfs_tasks.py +++ b/workflow/rocoto/gfs_tasks.py @@ -271,8 +271,8 @@ def sfcanl(self): else: dep_dict = {'type': 'task', 'name': f'{self.cdump}anal'} deps.append(rocoto.add_dependency(dep_dict)) - if self.app_config.do_jedilandda: - dep_dict = {'type': 'task', 'name': f'{self.cdump}landanl'} + if self.app_config.do_jedisnowda: + dep_dict = {'type': 'task', 'name': f'{self.cdump}snowanl'} deps.append(rocoto.add_dependency(dep_dict)) dependencies = rocoto.create_dependency(dep_condition='and', dep=deps) else: @@ -531,21 +531,21 @@ def aeroanlfinal(self): return task - def preplandobs(self): + def prepsnowobs(self): deps = [] dep_dict = {'type': 'task', 'name': f'{self.cdump}prep'} deps.append(rocoto.add_dependency(dep_dict)) dependencies = rocoto.create_dependency(dep=deps) - resources = self.get_resource('preplandobs') - task_name = f'{self.cdump}preplandobs' + resources = self.get_resource('prepsnowobs') + task_name = f'{self.cdump}prepsnowobs' task_dict = {'task_name': task_name, 'resources': resources, 'dependency': dependencies, 'envars': self.envars, 'cycledef': self.cdump.replace('enkf', ''), - 'command': f'{self.HOMEgfs}/jobs/rocoto/preplandobs.sh', + 'command': f'{self.HOMEgfs}/jobs/rocoto/prepsnowobs.sh', 'job_name': f'{self.pslot}_{task_name}_@H', 'log': f'{self.rotdir}/logs/@Y@m@d@H/{task_name}.log', 'maxtries': '&MAXTRIES;' @@ -555,21 +555,21 @@ def preplandobs(self): return task - def landanl(self): + def snowanl(self): deps = [] - dep_dict = {'type': 'task', 'name': f'{self.cdump}preplandobs'} + dep_dict = {'type': 'task', 'name': f'{self.cdump}prepsnowobs'} deps.append(rocoto.add_dependency(dep_dict)) dependencies = rocoto.create_dependency(dep=deps) - resources = self.get_resource('landanl') - task_name = f'{self.cdump}landanl' + resources = self.get_resource('snowanl') + task_name = f'{self.cdump}snowanl' task_dict = {'task_name': task_name, 'resources': resources, 'dependency': dependencies, 'envars': self.envars, 'cycledef': self.cdump.replace('enkf', ''), - 'command': f'{self.HOMEgfs}/jobs/rocoto/landanl.sh', + 'command': f'{self.HOMEgfs}/jobs/rocoto/snowanl.sh', 'job_name': f'{self.pslot}_{task_name}_@H', 'log': f'{self.rotdir}/logs/@Y@m@d@H/{task_name}.log', 'maxtries': '&MAXTRIES;' @@ -826,8 +826,8 @@ def _fcst_cycled(self): dep_dict = {'type': 'task', 'name': f'{self.cdump}aeroanlfinal'} dependencies.append(rocoto.add_dependency(dep_dict)) - if self.app_config.do_jedilandda: - dep_dict = {'type': 'task', 'name': f'{self.cdump}landanl'} + if self.app_config.do_jedisnowda: + dep_dict = {'type': 'task', 'name': f'{self.cdump}snowanl'} dependencies.append(rocoto.add_dependency(dep_dict)) dependencies = rocoto.create_dependency(dep_condition='and', dep=dependencies) diff --git a/workflow/rocoto/tasks.py b/workflow/rocoto/tasks.py index 77847133a9..5e66e37fdc 100644 --- a/workflow/rocoto/tasks.py +++ b/workflow/rocoto/tasks.py @@ -20,7 +20,7 @@ class Tasks: 'eobs', 'eomg', 'epos', 'esfc', 'eupd', 'atmensanlinit', 'atmensanlrun', 'atmensanlfinal', 'aeroanlinit', 'aeroanlrun', 'aeroanlfinal', - 'preplandobs', 'landanl', + 'prepsnowobs', 'snowanl', 'fcst', 'atmanlupp', 'atmanlprod', 'atmupp', 'goesupp', 'atmosprod', 'oceanprod', 'iceprod', From b7af315bb9dea77b37c6d030b71060b87bedf33e Mon Sep 17 00:00:00 2001 From: Walter Kolczynski - NOAA Date: Wed, 28 Feb 2024 22:20:58 +0000 Subject: [PATCH 58/58] Fix rocoto forecast hour determination for GEFS (#2351) The function that generates the list of forecast hours for rocoto was trying to use variables that are not defined for GEFS, causing workflow generation to fail. The function is updated to not try to load these variables before loading the ones actually used for GFS/ GEFS. Also turns GEFS CI test back on and adds an entry to stage C192 ICs (note: these have not been placed in the centralized location.) --- ci/cases/pr/C48_S2SWA_gefs.yaml | 5 ----- parm/config/gfs/config.stage_ic | 2 +- workflow/rocoto/tasks.py | 4 ++-- 3 files changed, 3 insertions(+), 8 deletions(-) diff --git a/ci/cases/pr/C48_S2SWA_gefs.yaml b/ci/cases/pr/C48_S2SWA_gefs.yaml index de677a70b6..d42f4cd15b 100644 --- a/ci/cases/pr/C48_S2SWA_gefs.yaml +++ b/ci/cases/pr/C48_S2SWA_gefs.yaml @@ -16,8 +16,3 @@ arguments: idate: 2021032312 edate: 2021032312 yaml: {{ HOMEgfs }}/ci/cases/yamls/gefs_ci_defaults.yaml - -skip_ci_on_hosts: - - hera - - orion - - hercules diff --git a/parm/config/gfs/config.stage_ic b/parm/config/gfs/config.stage_ic index dc224b72db..63d0e4a5cf 100644 --- a/parm/config/gfs/config.stage_ic +++ b/parm/config/gfs/config.stage_ic @@ -8,7 +8,7 @@ echo "BEGIN: config.stage_ic" source "${EXPDIR}/config.resources" stage_ic case "${CASE}" in - "C48" | "C96") + "C48" | "C96" | "C192") export CPL_ATMIC="workflow_${CASE}_refactored" export CPL_ICEIC="workflow_${CASE}_refactored" export CPL_OCNIC="workflow_${CASE}_refactored" diff --git a/workflow/rocoto/tasks.py b/workflow/rocoto/tasks.py index 5e66e37fdc..ac70c6e4fc 100644 --- a/workflow/rocoto/tasks.py +++ b/workflow/rocoto/tasks.py @@ -132,12 +132,12 @@ def _get_forecast_hours(cdump, config, component='atmos') -> List[str]: local_config['FHOUT'] = config['FHOUT_OCNICE'] fhmin = local_config['FHMIN'] - fhmax = local_config['FHMAX'] - fhout = local_config['FHOUT'] # Get a list of all forecast hours fhrs = [] if cdump in ['gdas']: + fhmax = local_config['FHMAX'] + fhout = local_config['FHOUT'] fhrs = list(range(fhmin, fhmax + fhout, fhout)) elif cdump in ['gfs', 'gefs']: fhmax = local_config['FHMAX_GFS']