From d171c728e03ba0acc8e0bc091782cd356c99c39b Mon Sep 17 00:00:00 2001 From: Russ-Treadon-NOAA Date: Wed, 22 May 2024 15:42:24 +0000 Subject: [PATCH 1/8] add prod_util and para bufr/12.0.1 to wcoss2.intel modulefile (#1111) --- modulefiles/GDAS/wcoss2.intel.lua | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/modulefiles/GDAS/wcoss2.intel.lua b/modulefiles/GDAS/wcoss2.intel.lua index d21099b2e..81ebdf004 100644 --- a/modulefiles/GDAS/wcoss2.intel.lua +++ b/modulefiles/GDAS/wcoss2.intel.lua @@ -30,12 +30,20 @@ load("fckit/0.11.0") load("atlas/0.35.0") load("nccmp") +# Remove HPC_OPT and prepend_patht once prod bufr/12.0.1 is installed +setenv("HPC_OPT", "/apps/ops/para/libs") +prepend_path("MODULEPATH", "/apps/ops/para/libs/modulefiles/compiler/intel/19.1.3.304") +load("bufr/12.0.1") + -- hack for pybind11 setenv("pybind11_ROOT", "/apps/spack/python/3.8.6/intel/19.1.3.304/pjn2nzkjvqgmjw4hmyz43v5x4jbxjzpk/lib/python3.8/site-packages/pybind11/share/cmake/pybind11") -- hack for wxflow --prepend_path("PYTHONPATH", "/scratch1/NCEPDEV/da/python/gdasapp/wxflow/20240307/src") +-- WCOSS2 requires prod_util +load(pathJoin("prod_util", (os.getenv("prod_util_ver") or "2.0.14"))) + local mpiexec = '/pe/intel/compilers_and_libraries_2020.4.304/linux/mpi/intel64/bin/mpirun' local mpinproc = '-n' setenv('MPIEXEC_EXEC', mpiexec) From 0bc3cb5f3c0ac755ca59ed67f531e5cbdc67e4ca Mon Sep 17 00:00:00 2001 From: Russ-Treadon-NOAA Date: Wed, 22 May 2024 15:52:12 +0000 Subject: [PATCH 2/8] correct modulefile syntax for wcoss2.intel (#1111) --- modulefiles/GDAS/wcoss2.intel.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modulefiles/GDAS/wcoss2.intel.lua b/modulefiles/GDAS/wcoss2.intel.lua index 81ebdf004..bd1116557 100644 --- a/modulefiles/GDAS/wcoss2.intel.lua +++ b/modulefiles/GDAS/wcoss2.intel.lua @@ -30,7 +30,7 @@ load("fckit/0.11.0") load("atlas/0.35.0") load("nccmp") -# Remove HPC_OPT and prepend_patht once prod bufr/12.0.1 is installed +-- Remove HPC_OPT and prepend_patht once prod bufr/12.0.1 is installed setenv("HPC_OPT", "/apps/ops/para/libs") prepend_path("MODULEPATH", "/apps/ops/para/libs/modulefiles/compiler/intel/19.1.3.304") load("bufr/12.0.1") From 023b9e9d853169de146418ee4ce84f8ce50cf2be Mon Sep 17 00:00:00 2001 From: Russ-Treadon-NOAA Date: Wed, 22 May 2024 19:27:09 +0000 Subject: [PATCH 3/8] remove prod_util from wcoss2 module (#1111) --- modulefiles/GDAS/wcoss2.intel.lua | 3 --- 1 file changed, 3 deletions(-) diff --git a/modulefiles/GDAS/wcoss2.intel.lua b/modulefiles/GDAS/wcoss2.intel.lua index bd1116557..a90083a1a 100644 --- a/modulefiles/GDAS/wcoss2.intel.lua +++ b/modulefiles/GDAS/wcoss2.intel.lua @@ -41,9 +41,6 @@ setenv("pybind11_ROOT", "/apps/spack/python/3.8.6/intel/19.1.3.304/pjn2nzkjvqgmj -- hack for wxflow --prepend_path("PYTHONPATH", "/scratch1/NCEPDEV/da/python/gdasapp/wxflow/20240307/src") --- WCOSS2 requires prod_util -load(pathJoin("prod_util", (os.getenv("prod_util_ver") or "2.0.14"))) - local mpiexec = '/pe/intel/compilers_and_libraries_2020.4.304/linux/mpi/intel64/bin/mpirun' local mpinproc = '-n' setenv('MPIEXEC_EXEC', mpiexec) From f02a64de1884eef0b1534a85d6a59bafbee7e7e7 Mon Sep 17 00:00:00 2001 From: Russ-Treadon-NOAA Date: Thu, 23 May 2024 17:08:02 +0000 Subject: [PATCH 4/8] add modules to wcoss2.intel, add wcoss2 to some soca tests (#1111) --- modulefiles/GDAS/wcoss2.intel.lua | 3 +++ test/soca/gw/CMakeLists.txt | 4 ++++ ush/soca/run_jjobs.py | 5 ++++- 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/modulefiles/GDAS/wcoss2.intel.lua b/modulefiles/GDAS/wcoss2.intel.lua index a90083a1a..3986353e7 100644 --- a/modulefiles/GDAS/wcoss2.intel.lua +++ b/modulefiles/GDAS/wcoss2.intel.lua @@ -29,6 +29,9 @@ load("eckit/1.24.4") load("fckit/0.11.0") load("atlas/0.35.0") load("nccmp") +load("nco/5.0.6") +load("gsl/2.7") +load("prod_util/2.0.14") -- Remove HPC_OPT and prepend_patht once prod bufr/12.0.1 is installed setenv("HPC_OPT", "/apps/ops/para/libs") diff --git a/test/soca/gw/CMakeLists.txt b/test/soca/gw/CMakeLists.txt index 97db7093a..f96a3aec5 100644 --- a/test/soca/gw/CMakeLists.txt +++ b/test/soca/gw/CMakeLists.txt @@ -25,6 +25,10 @@ IF (IS_DIRECTORY /scratch2/NCEPDEV/) set(PARTITION "hera") ENDIF() +IF (IS_DIRECTORY /lfs/h2/) + set(MACHINE "wcoss2") +ENDIF() + # Clean-up add_test(NAME test_gdasapp_soca_run_clean COMMAND ${CMAKE_COMMAND} -E remove_directory ${PROJECT_BINARY_DIR}/test/soca/gw/testrun/testjjobs) diff --git a/ush/soca/run_jjobs.py b/ush/soca/run_jjobs.py index e7b5fcae3..ade817a3b 100755 --- a/ush/soca/run_jjobs.py +++ b/ush/soca/run_jjobs.py @@ -6,7 +6,7 @@ import argparse from datetime import datetime, timedelta -machines = {"container", "hera", "orion", "hercules"} +machines = {"container", "hera", "orion", "hercules", "wcoss2"} # Assume the default conda environement is gdassapp ENVS = {'JGDAS_GLOBAL_OCEAN_ANALYSIS_VRFY': 'eva'} @@ -159,6 +159,9 @@ def _conda_envs(self, jjob): elif self.machine == "hera": if jjob in ENVS: self.f.write(f"module load {ENVS[jjob].upper()}/{self.machine} \n") + elif self.machine == "wcoss2": + if jjob in ENVS: + self.f.write(f"module load {ENVS[jjob].upper()}/{self.machine} \n" def precom(self, com, tmpl): cmd = f"RUN={self.RUN} YMD={self.gPDY} HH={self.gcyc} declare_from_tmpl -xr {com}:{tmpl}" From 880ae32b35e4fac685b5f175e9b6e9acbb66483c Mon Sep 17 00:00:00 2001 From: RussTreadon-NOAA Date: Thu, 23 May 2024 17:21:46 +0000 Subject: [PATCH 5/8] correct python norm error (#1111) --- ush/soca/run_jjobs.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ush/soca/run_jjobs.py b/ush/soca/run_jjobs.py index ade817a3b..70077f76b 100755 --- a/ush/soca/run_jjobs.py +++ b/ush/soca/run_jjobs.py @@ -161,7 +161,7 @@ def _conda_envs(self, jjob): self.f.write(f"module load {ENVS[jjob].upper()}/{self.machine} \n") elif self.machine == "wcoss2": if jjob in ENVS: - self.f.write(f"module load {ENVS[jjob].upper()}/{self.machine} \n" + self.f.write(f"module load {ENVS[jjob].upper()}/{self.machine} \n") def precom(self, com, tmpl): cmd = f"RUN={self.RUN} YMD={self.gPDY} HH={self.gcyc} declare_from_tmpl -xr {com}:{tmpl}" From a9c48c1010f8c2ba6e467da990228873ae665606 Mon Sep 17 00:00:00 2001 From: Russ-Treadon-NOAA Date: Tue, 28 May 2024 14:49:33 +0000 Subject: [PATCH 6/8] simplify wcoss2 logic in soca run_jjobs script (#1111) --- ush/soca/run_jjobs.py | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/ush/soca/run_jjobs.py b/ush/soca/run_jjobs.py index 70077f76b..223ce0cc4 100755 --- a/ush/soca/run_jjobs.py +++ b/ush/soca/run_jjobs.py @@ -156,10 +156,7 @@ def _conda_envs(self, jjob): self.f.write(f"set +u \n") self.f.write(f"conda activate {ENVS[jjob]} \n") self.f.write(f"set -u \n") - elif self.machine == "hera": - if jjob in ENVS: - self.f.write(f"module load {ENVS[jjob].upper()}/{self.machine} \n") - elif self.machine == "wcoss2": + elif self.machine in ["hera", "wcoss2"]: if jjob in ENVS: self.f.write(f"module load {ENVS[jjob].upper()}/{self.machine} \n") From 43ed3e7dd49d86087a211f2cbc3509420e2ed0fd Mon Sep 17 00:00:00 2001 From: Russ-Treadon-NOAA Date: Tue, 28 May 2024 16:13:08 +0000 Subject: [PATCH 7/8] initial commit of wcoss2 EVA module (#1111) --- modulefiles/EVA/wcoss2.lua | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 modulefiles/EVA/wcoss2.lua diff --git a/modulefiles/EVA/wcoss2.lua b/modulefiles/EVA/wcoss2.lua new file mode 100644 index 000000000..b604dcdbf --- /dev/null +++ b/modulefiles/EVA/wcoss2.lua @@ -0,0 +1,25 @@ +help([[ +Load environment for running EVA. +]]) + +local pkgName = myModuleName() +local pkgVersion = myModuleVersion() +local pkgNameVer = myModuleFullName() + +conflict(pkgName) + +load("PrgEnv-intel/8.2.0") +load("craype") +load("cray-pals") +load("git/2.29.0") +load("intel/19.1.3.304") +load("python/3.10.4") +load("ve/evs/1.0") + +append_path("PATH", "/lfs/h2/emc/da/noscrub/emc.da/eva/opt/bin") +append_path("PYTHONPATH", "/lfs/h2/emc/da/noscrub/emc.da/eva/opt/") + +whatis("Name: ".. pkgName) +whatis("Version: ".. pkgVersion) +whatis("Category: EVA") +whatis("Description: Load all libraries needed for EVA") From 1c346616ec71dcfbc78e3255def7fd95dcb85a47 Mon Sep 17 00:00:00 2001 From: "russ.treadon" Date: Mon, 3 Jun 2024 18:40:16 +0000 Subject: [PATCH 8/8] update wcoss2.intel module to use prod bufr/12.0.1 and add git-lfs path (#1139) --- modulefiles/GDAS/wcoss2.intel.lua | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/modulefiles/GDAS/wcoss2.intel.lua b/modulefiles/GDAS/wcoss2.intel.lua index 3986353e7..4607f0a09 100644 --- a/modulefiles/GDAS/wcoss2.intel.lua +++ b/modulefiles/GDAS/wcoss2.intel.lua @@ -32,17 +32,13 @@ load("nccmp") load("nco/5.0.6") load("gsl/2.7") load("prod_util/2.0.14") - --- Remove HPC_OPT and prepend_patht once prod bufr/12.0.1 is installed -setenv("HPC_OPT", "/apps/ops/para/libs") -prepend_path("MODULEPATH", "/apps/ops/para/libs/modulefiles/compiler/intel/19.1.3.304") load("bufr/12.0.1") -- hack for pybind11 setenv("pybind11_ROOT", "/apps/spack/python/3.8.6/intel/19.1.3.304/pjn2nzkjvqgmjw4hmyz43v5x4jbxjzpk/lib/python3.8/site-packages/pybind11/share/cmake/pybind11") --- hack for wxflow ---prepend_path("PYTHONPATH", "/scratch1/NCEPDEV/da/python/gdasapp/wxflow/20240307/src") +-- hack for git-lfs +prepend_path("PATH", "/apps/spack/git-lfs/2.11.0/gcc/11.2.0/m6b6nl5kfqngfteqbggydc7kflxere3s/bin") local mpiexec = '/pe/intel/compilers_and_libraries_2020.4.304/linux/mpi/intel64/bin/mpirun' local mpinproc = '-n'