diff --git a/ci/run_ci.sh b/ci/run_ci.sh index 9e67b1e12..cc39dcc63 100755 --- a/ci/run_ci.sh +++ b/ci/run_ci.sh @@ -91,6 +91,18 @@ if [[ $TEST_WORKFLOW == 1 ]]; then fi # ============================================================================== # run ctests + +# PATCH START +# MSU role-da can not use /work/noaa/stmp at present. The logic below +# modifies the stmp path used by g-w so that role-da can run g-w based +# ctests. This logic will be removed after MSU role-da is added to the +# stmp group. +if [[ "${TARGET}" = "orion" || "${TARGET}" = "hercules" ]]; then + echo "***WARNING*** apply MSU stmp patch to $workflow_dir/workflow/hosts/${TARGET}.yaml" + sed -i "s|/noaa/stmp|/noaa/da|g" $workflow_dir/workflow/hosts/${TARGET}.yaml +fi +# PATCH END + cd $gdasapp_dir/build module use $gdasapp_dir/modulefiles module load GDAS/$TARGET diff --git a/ci/stable_driver.sh b/ci/stable_driver.sh index ca51f6f7c..7bf936325 100755 --- a/ci/stable_driver.sh +++ b/ci/stable_driver.sh @@ -73,7 +73,7 @@ $gdasdir/ush/submodules/update_develop.sh $gdasdir # ============================================================================== # email information -PEOPLE="Cory.R.Martin@noaa.gov Russ.Treadon@noaa.gov Guillaume.Vernieres@noaa.gov David.New@noaa.gov" +PEOPLE="Cory.R.Martin@noaa.gov David.New@noaa.gov Russ.Treadon@noaa.gov" BODY=$stableroot/$datestr/stable_nightly # ============================================================================== @@ -84,41 +84,36 @@ total=0 if [ $ci_status -eq 0 ]; then cd $gdasdir # checkout feature/stable-nightly - git stash - total=$(($total+$?)) - if [ $total -ne 0 ]; then - echo "Unable to git stash" >> $stableroot/$datestr/output - fi git checkout feature/stable-nightly - total=$(($total+$?)) - if [ $total -ne 0 ]; then + rc=$? + total=$(($total+$rc)) + if [ $rc -ne 0 ]; then echo "Unable to checkout feature/stable-nightly" >> $stableroot/$datestr/output fi # merge in develop git merge develop - total=$(($total+$?)) - if [ $total -ne 0 ]; then + rc=$? + total=$(($total+$rc)) + if [ $rc -ne 0 ]; then echo "Unable to merge develop" >> $stableroot/$datestr/output fi # add in submodules - git stash pop - total=$(($total+$?)) - if [ $total -ne 0 ]; then - echo "Unable to git stash pop" >> $stableroot/$datestr/output - fi - $my_dir/../ush/submodules/add_submodules.sh $gdasdir - total=$(($total+$?)) - if [ $total -ne 0 ]; then + $gdasdir/ush/submodules/add_submodules.sh $gdasdir + rc=$? + total=$(($total+$rc)) + if [ $rc -ne 0 ]; then echo "Unable to add updated submodules to commit" >> $stableroot/$datestr/output fi git diff-index --quiet HEAD || git commit -m "Update to new stable build on $datestr" - total=$(($total+$?)) - if [ $total -ne 0 ]; then + rc=$? + total=$(($total+$rc)) + if [ $rc -ne 0 ]; then echo "Unable to commit" >> $stableroot/$datestr/output fi git push --set-upstream origin feature/stable-nightly - total=$(($total+$?)) - if [ $total -ne 0 ]; then + rc=$? + total=$(($total+$rc)) + if [ $rc -ne 0 ]; then echo "Unable to push" >> $stableroot/$datestr/output fi if [ $total -ne 0 ]; then @@ -152,4 +147,4 @@ mail -r "Darth Vader - NOAA Affiliate " -s "$SUBJECT" "$PE # ============================================================================== # scrub working directory for older files -find $stableroot/* -maxdepth 1 -mtime +3 -exec rm -rf {} \; +find $stableroot/* -maxdepth 1 -mtime +1 -exec rm -rf {} \; diff --git a/modulefiles/GDAS/wcoss2.intel.lua b/modulefiles/GDAS/wcoss2.intel.lua index 2c3224f33..b7d042233 100644 --- a/modulefiles/GDAS/wcoss2.intel.lua +++ b/modulefiles/GDAS/wcoss2.intel.lua @@ -3,49 +3,86 @@ Load environment for running the GDAS application with Intel compilers and MPI. ]]) local pkgName = myModuleName() -local pkgVersion = myModuleVersion() +local pkgVersion = myModuleVersion() or "1.0" local pkgNameVer = myModuleFullName() -prepend_path("MODULEPATH", "/apps/dev/lmodules/core") - -load("PrgEnv-intel/8.2.0") -load("cmake/3.20.2") -load("craype") -load("cray-pals") -load("git/2.29.0") -load("intel/19.1.3.304") -load("cray-mpich/8.1.12") -load("hdf5/1.12.2") -load("netcdf/4.7.4") -load("udunits/2.2.28") +prepend_path("MODULEPATH", "/apps/ops/test/spack-stack-1.6.0-nco/envs/nco-intel-19.1.3.304/install/modulefiles/Core") + +load("PrgEnv-intel/8.3.3") +load("stack-intel/19.1.3.304") +load("stack-cray-mpich/8.1.9") +load("stack-python/3.10.13") +load("craype/2.7.17") +load("cray-pals/1.3.2") +load("cmake/3.23.1") +load("gettext/0.19.7") +load("pcre2/10.42") +load("curl/8.4.0") +load("zlib/1.2.13") +load("git/2.35.3") +load("pkg-config/0.29.2") +load("hdf5/1.14.0") +load("parallel-netcdf/1.12.2") +load("netcdf-c/4.9.2") +load("nccmp/1.9.0.1") +load("netcdf-fortran/4.6.1") +load("nco/5.0.6") +load("parallelio/2.5.10") +load("boost/1.83.0") +load("bufr/12.0.1") +load("ecbuild/3.7.2") +load("openjpeg/2.5.0") load("eigen/3.4.0") -load("boost/1.79.0") -load("gsl-lite/v0.40.0") -load("sp/2.4.0") -load("python/3.8.6") -load("ecbuild/3.7.0") -load("qhull/2020.2") -load("eckit/1.24.4") +load("openblas/0.3.24") +load("eckit/1.24.5") +load("fftw/3.3.10") load("fckit/0.11.0") +load("fms/2023.04") +load("esmf/8.5.0") load("atlas/0.35.0") -load("nccmp") -load("nco/5.0.6") -load("gsl/2.7") +load("sp/2.5.0") +load("gsl-lite/0.37.0") +load("libjpeg/2.1.0") +load("libpng/1.6.37") +load("libxt/1.1.5") +load("libxmu/1.1.4") +load("libxpm/3.5.12") +load("libxaw/1.0.13") +load("udunits/2.2.28") +load("ncview/2.1.9") +load("netcdf-cxx4/4.3.1") +load("core/rocoto/1.3.5") load("prod_util/2.0.14") -load("bufr/12.0.1") -load("fms-C/2023.04") -load("esmf-C/8.6.0") --- 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") +load("py-setuptools/63.4.3") +load("py-jinja2/3.1.2") +load("py-netcdf4/1.5.8") +load("py-pybind11/2.11.1") +load("py-pycodestyle/2.11.0") +load("py-pyyaml/5.4.1") +load("py-scipy/1.10.1") +load("py-xarray/2023.7.0") +load("py-f90nml/1.4.3") +load("py-pip/23.1.2") +load("py-bottleneck/1.3.7") +load("py-numexpr/2.8.4") +load("py-six/1.16.0") +load("py-python-dateutil/2.8.2") +load("py-pytz/2023.3") +load("py-pandas/1.5.3") +load("py-numpy/1.24.4") +load("py-markupsafe/2.1.3") +load("py-cftime/1.0.3.4") +load("py-packaging/23.1") -- hack for git-lfs prepend_path("PATH", "/apps/spack/git-lfs/2.11.0/gcc/11.2.0/m6b6nl5kfqngfteqbggydc7kflxere3s/bin") --- hack for FMS -setenv('fms_ROOT', '/apps/prod/hpc-stack/i-19.1.3.304__m-8.1.12__h-1.14.0__n-4.9.2__p-2.5.10__e-8.6.0pnetcdf/intel-19.1.3.304/cray-mpich-8.1.12/fms/2023.04') +setenv("CC","cc") +setenv("CXX","CC") +setenv("FC","ftn") -local mpiexec = '/pe/intel/compilers_and_libraries_2020.4.304/linux/mpi/intel64/bin/mpirun' +local mpiexec = '/opt/cray/pals/1.3.2/bin/mpirun' local mpinproc = '-n' setenv('MPIEXEC_EXEC', mpiexec) setenv('MPIEXEC_NPROC', mpinproc) diff --git a/sorc/fv3-jedi b/sorc/fv3-jedi index d0f54bf94..e5139862b 160000 --- a/sorc/fv3-jedi +++ b/sorc/fv3-jedi @@ -1 +1 @@ -Subproject commit d0f54bf94322a36734a3573061f6cc62396eece4 +Subproject commit e5139862b86b23ac6c2808e112b9038ff19826af diff --git a/sorc/ioda b/sorc/ioda index 4764d6151..a3774b348 160000 --- a/sorc/ioda +++ b/sorc/ioda @@ -1 +1 @@ -Subproject commit 4764d615138bc57d6c15ee7020ab9b75199d8563 +Subproject commit a3774b348296e81e5b6f524eee33475cad0ad67e diff --git a/sorc/iodaconv b/sorc/iodaconv index c47953462..a2f538327 160000 --- a/sorc/iodaconv +++ b/sorc/iodaconv @@ -1 +1 @@ -Subproject commit c47953462af2a2777849786cb853a445cbf7b15d +Subproject commit a2f538327ed37be6f98a21ee6a5acf3ef4dd96b8 diff --git a/sorc/oops b/sorc/oops index 40e6ecc2e..519e05663 160000 --- a/sorc/oops +++ b/sorc/oops @@ -1 +1 @@ -Subproject commit 40e6ecc2e53b0744eb00d3ab3c4d4e7fcb5f0c9b +Subproject commit 519e05663d74a8b2081a83b61a800bec9edfeaf9 diff --git a/sorc/saber b/sorc/saber index a2c7e4551..29764edcf 160000 --- a/sorc/saber +++ b/sorc/saber @@ -1 +1 @@ -Subproject commit a2c7e45513b2d1280128703d6fc21ecb444cdc0e +Subproject commit 29764edcf46fadf8e6b70a3d1095149fe79e038c diff --git a/sorc/soca b/sorc/soca index 945b4ab57..f60b0e24d 160000 --- a/sorc/soca +++ b/sorc/soca @@ -1 +1 @@ -Subproject commit 945b4ab57d0a69306e7f91da94797a79e547331c +Subproject commit f60b0e24d517847cc14f51643a40c9cf8982887a diff --git a/sorc/ufo b/sorc/ufo index c9e1c5558..2dd764a63 160000 --- a/sorc/ufo +++ b/sorc/ufo @@ -1 +1 @@ -Subproject commit c9e1c5558e904701cc3f5a822330a855d33875ac +Subproject commit 2dd764a63ac6b800aad455cd6307175199f33d7a diff --git a/test/gw-ci/create_exp.sh b/test/gw-ci/create_exp.sh index b4c1535db..d3f117a64 100755 --- a/test/gw-ci/create_exp.sh +++ b/test/gw-ci/create_exp.sh @@ -13,6 +13,9 @@ expyaml=${expyaml_ctest} export pslot=${pslot_ctest} export RUNTESTS=${exp_path}/${pslot} export HPC_ACCOUNT="da-cpu" +if [[ $MACHINE_ID = wcoss2 ]]; then + export HPC_ACCOUNT="GFS-DEV" +fi # Source the gw environement source ${HOMEgfs}/workflow/gw_setup.sh diff --git a/ush/module-setup.sh b/ush/module-setup.sh index a9b87e9e4..11536daf3 100755 --- a/ush/module-setup.sh +++ b/ush/module-setup.sh @@ -38,6 +38,8 @@ elif [[ $MACHINE_ID = s4* ]] ; then elif [[ $MACHINE_ID = wcoss2 ]]; then # We are on WCOSS2 + # Ignore default modules of the same version lower in the search path (req'd by spack-stack) + export LMOD_TMOD_FIND_FIRST=yes module reset elif [[ $MACHINE_ID = cheyenne* ]] ; then