Skip to content

Commit

Permalink
Merge branch 'develop' into feature/iasi
Browse files Browse the repository at this point in the history
  • Loading branch information
CoryMartin-NOAA authored Nov 6, 2024
2 parents e7a84dc + e5d6563 commit 8fbc492
Show file tree
Hide file tree
Showing 122 changed files with 5,217 additions and 507 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/hera.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ on:

jobs:
test:
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
name: Passes on Hera

steps:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/norms.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ on: [push]

jobs:
check_pynorms:
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
name: Check coding norms with pycodestyle and cpplint

steps:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/orion.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ on:

jobs:
test:
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
name: Passes on Orion

steps:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/unittests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ on: [push, pull_request]

jobs:
ctests:
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
name: Run Unit Tests with ctest

steps:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/unittests_g-w.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ on: [push, pull_request]

jobs:
ctests:
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
name: Run Unit Tests inside global-workflow with ctest

steps:
Expand Down
18 changes: 8 additions & 10 deletions build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ while getopts "p:t:c:hvdfa" opt; do
done

case ${BUILD_TARGET} in
hera | orion | hercules | wcoss2 | noaacloud | gaea)
hera | orion | hercules | wcoss2 | noaacloud | gaeac5 | gaeac6 )
echo "Building GDASApp on $BUILD_TARGET"
source $dir_root/ush/module-setup.sh
module use $dir_root/modulefiles
Expand Down Expand Up @@ -103,14 +103,12 @@ WORKFLOW_BUILD=${WORKFLOW_BUILD:-"OFF"}
CMAKE_OPTS+=" -DWORKFLOW_TESTS=${WORKFLOW_BUILD}"

# JCSDA changed test data things, need to make a dummy CRTM directory
if [[ $BUILD_TARGET == 'hera' ]]; then
if [ -d "$dir_root/bundle/fix/test-data-release/" ]; then rm -rf $dir_root/bundle/fix/test-data-release/; fi
if [ -d "$dir_root/bundle/test-data-release/" ]; then rm -rf $dir_root/bundle/test-data-release/; fi
mkdir -p $dir_root/bundle/fix/test-data-release/
mkdir -p $dir_root/bundle/test-data-release/
ln -sf $GDASAPP_TESTDATA/crtm $dir_root/bundle/fix/test-data-release/crtm
ln -sf $GDASAPP_TESTDATA/crtm $dir_root/bundle/test-data-release/crtm
fi
if [ -d "$dir_root/bundle/fix/test-data-release/" ]; then rm -rf $dir_root/bundle/fix/test-data-release/; fi
if [ -d "$dir_root/bundle/test-data-release/" ]; then rm -rf $dir_root/bundle/test-data-release/; fi
mkdir -p $dir_root/bundle/fix/test-data-release/
mkdir -p $dir_root/bundle/test-data-release/
ln -sf $GDASAPP_TESTDATA/crtm $dir_root/bundle/fix/test-data-release/crtm
ln -sf $GDASAPP_TESTDATA/crtm $dir_root/bundle/test-data-release/crtm

# Configure
echo "Configuring ..."
Expand All @@ -126,7 +124,7 @@ set -x
if [[ $BUILD_JCSDA == 'YES' ]]; then
make -j ${BUILD_JOBS:-6} VERBOSE=$BUILD_VERBOSE
else
builddirs="gdas iodaconv land-imsproc land-jediincr gdas-utils bufr-query"
builddirs="gdas iodaconv land-imsproc land-jediincr gdas-utils bufr-query da-utils"
for b in $builddirs; do
cd $b
make -j ${BUILD_JOBS:-6} VERBOSE=$BUILD_VERBOSE
Expand Down
4 changes: 4 additions & 0 deletions mains/gdas.cc
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@

#include "oops/runs/ConvertToStructuredGrid.h"
#include "oops/runs/ConvertState.h"
#include "oops/runs/EnsMeanAndVariance.h"
#include "oops/runs/HofX4D.h"
#include "oops/runs/LocalEnsembleDA.h"
#include "oops/runs/Run.h"
Expand Down Expand Up @@ -59,6 +60,9 @@ int runApp(int argc, char** argv, const std::string traits, const std::string ap
apps["convertstate"] = []() {
return std::make_unique<oops::ConvertState<Traits>>();
};
apps["ensmean"] = []() {
return std::make_unique<oops::EnsMeanAndVariance<Traits>>();
};
apps["hofx4d"] = []() {
return std::make_unique<oops::HofX4D<Traits, ufo::ObsTraits>>();
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ prepend_path("MODULEPATH", '/ncrc/proj/epic/spack-stack/spack-stack-1.6.0/envs/u
prepend_path("MODULEPATH", '/ncrc/proj/epic/rocoto/modulefiles')

-- below two lines get us access to the spack-stack modules
load("stack-intel/2023.1.0")
load("stack-cray-mpich/8.1.25")
load("stack-intel/2023.2.0")
load("stack-cray-mpich/8.1.28")
-- JCSDA has 'jedi-fv3-env/unified-dev', but we should load these manually as needed
load("cmake/3.23.1")
load("gettext/0.20.2")
Expand Down Expand Up @@ -44,11 +44,12 @@ load("fckit/0.11.0")
load("fiat/1.2.0")
load("ectrans/1.2.0")
load("fms/2023.04")
load("esmf/8.5.0")
load("atlas/0.35.1")
load("sp/2.5.0")
load("gsl-lite/0.37.0")
load("libjpeg/2.1.0")
load("krb5/1.16.3")
load("krb5/1.20.1")
load("libtirpc/1.3.3")
load("hdf/4.2.15")
load("jedi-cmake/1.4.0")
Expand Down Expand Up @@ -84,9 +85,9 @@ local mpinproc = '-n'
setenv('MPIEXEC_EXEC', mpiexec)
setenv('MPIEXEC_NPROC', mpinproc)

setenv("CRTM_FIX","/gpfs/f5/ufs-ard/world-shared/GDASApp/fix/crtm/2.4.0")
setenv("GDASAPP_TESTDATA","/gpfs/f5/ufs-ard/world-shared/GDASApp/CI/data")
setenv("GDASAPP_UNIT_TEST_DATA_PATH", "/gpfs/f5/ufs-ard/world-shared/GDASApp/CI/data/test")
setenv("CRTM_FIX","/gpfs/f5/nggps_emc/world-shared/GDASApp/fix/crtm/2.4.0")
setenv("GDASAPP_TESTDATA","/gpfs/f5/nggps_emc/world-shared/GDASApp/testdata")
setenv("GDASAPP_UNIT_TEST_DATA_PATH", "/gpfs/f5/nggps_emc/world-shared/GDASApp/unittestdata")

whatis("Name: ".. "pkgName")
whatis("Version: ".. "pkgVersion")
Expand Down
95 changes: 95 additions & 0 deletions modulefiles/GDAS/gaeac6.intel.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
help([[
Load environment for running the GDAS application with Intel compilers and MPI.
]])

local pkgName = myModuleName()
local pkgVersion = myModuleVersion()
local pkgNameVer = myModuleFullName()

prepend_path("MODULEPATH", '/ncrc/proj/epic/spack-stack/c6/spack-stack-1.6.0/envs/unified-env/install/modulefiles/Core')
prepend_path("MODULEPATH", '/ncrc/proj/epic/rocoto/modulefiles')

-- below two lines get us access to the spack-stack modules
load("stack-intel/2023.2.0")
load("stack-cray-mpich/8.1.29")
-- JCSDA has 'jedi-fv3-env/unified-dev', but we should load these manually as needed
load("cmake/3.23.1")
load("gettext/0.20.2")
--load("libunistring/1.1")
--load("libidn2/2.3.4")
load("pcre2/10.42")
load("curl/8.4.0")
load("zlib/1.2.13")
load("git/2.42.0")
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("wget/1.21.3")
load("boost/1.83.0")
load("bufr/12.0.1")
load("git-lfs/2.11.0")
load("ecbuild/3.7.2")
load("openjpeg/2.3.1")
load("eccodes/2.32.0")
load("eigen/3.4.0")
load("openblas/0.3.24")
load("eckit/1.24.5")
load("fftw/3.3.10")
load("fckit/0.11.0")
load("fiat/1.2.0")
load("ectrans/1.2.0")
load("fms/2023.04")
load("esmf/8.6.0")
load("atlas/0.35.1")
load("sp/2.5.0")
load("gsl-lite/0.37.0")
load("libjpeg/2.1.0")
load("krb5/1.20.1")
load("libtirpc/1.3.3")
load("hdf/4.2.15")
load("jedi-cmake/1.4.0")
load("libpng/1.6.37")
--load("libxt/1.1.5")
--load("libxmu/1.1.4")
--load("libxpm/4.11.0")
load("libxaw/1.10.13")
load("udunits/2.2.28")
load("ncview/2.1.9")
load("netcdf-cxx4/4.3.1")
load("json/3.10.5")
load("crtm/2.4.0.1")
load("rocoto/1.3.6")
load("prod_util/2.1.1")

load("py-jinja2/3.0.3")
load("py-netcdf4/1.5.8")
load("py-pybind11/2.11.0")
load("py-pycodestyle/2.11.0")
load("py-pyyaml/6.0")
load("py-scipy/1.11.3")
load("py-xarray/2023.7.0")
load("py-f90nml/1.4.3")
load("py-pip/23.1.2")

setenv("CC","cc")
setenv("CXX","CC")
setenv("FC","ftn")

local mpiexec = '/usr/bin/srun'
local mpinproc = '-n'
setenv('MPIEXEC_EXEC', mpiexec)
setenv('MPIEXEC_NPROC', mpinproc)

setenv("CRTM_FIX","/gpfs/f6/ira-sti/world-shared/GDASApp/fix/crtm/2.4.0")
setenv("GDASAPP_TESTDATA","/gpfs/f6/ira-sti/world-shared/GDASApp/testdata")
setenv("GDASAPP_UNIT_TEST_DATA_PATH", "/gpfs/f6/ira-sti/world-shared/GDASApp/unittestdata")

whatis("Name: ".. "pkgName")
whatis("Version: ".. "pkgVersion")
whatis("Category: GDASApp")
whatis("Description: Load all libraries needed for GDASApp")
1 change: 1 addition & 0 deletions modulefiles/GDAS/hera.intel.lua
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ load("fckit/0.11.0")
load("fiat/1.2.0")
--load("ectrans/1.2.0")
load("fms/2023.04")
load("esmf/8.6.0")
load("atlas/0.35.1")
load("sp/2.5.0")
load("gsl-lite/0.37.0")
Expand Down
93 changes: 93 additions & 0 deletions modulefiles/GDAS/hercules.gnu.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
help([[
Load environment for running the GDAS application with gnu compilers and MPI.
]])

local pkgName = myModuleName()
local pkgVersion = myModuleVersion()
local pkgNameVer = myModuleFullName()

prepend_path("MODULEPATH", '/work/noaa/epic/role-epic/spack-stack/hercules/modulefiles')
prepend_path("MODULEPATH", '/work/noaa/epic/role-epic/spack-stack/hercules/spack-stack-1.7.0/envs/ue-gcc/install/modulefiles/Core')
prepend_path("MODULEPATH", '/work2/noaa/da/python/opt/modulefiles/stack')


---- below two lines get us access to the spack-stack modules
load("stack-gcc/12.2.0")
load("stack-openmpi/4.1.6")

load("cmake/3.23.1")
load("curl/8.4.0")
load("zlib/1.2.13")
load("git/2.31.1")
--load("pkg-config/0.27.1")
load("hdf5/1.14.3")
load("parallel-netcdf/1.12.3")
load("netcdf-c/4.9.2")
load("nccmp/1.9.0.1")
load("netcdf-fortran/4.6.1")
load("nco/5.1.6")
load("parallelio/2.6.2")
load("wget/1.21.1")
load("boost/1.84.0")
load("bufr/12.0.1")
load("git-lfs/3.1.2")
load("ecbuild/3.7.2")
load("openjpeg/2.3.1")
load("eccodes/2.33.0")
load("eigen/3.4.0")
load("openblas/0.3.24")
load("eckit/1.24.5")
load("fftw/3.3.10")
load("fckit/0.11.0")
load("fiat/1.2.0")
load("ectrans/1.2.0")
load("fms/2023.04")
load("esmf/8.6.1")
load("atlas/0.36.0")
load("sp/2.5.0")
load("gsl-lite/0.37.0")
load("libjpeg/2.1.0")
load("krb5/1.20.1")
load("libtirpc/1.3.3")
load("hdf/4.2.15")
load("jedi-cmake/1.4.0")
load("libpng/1.6.37")
load("libxt/1.3.0")
load("libxmu/1.1.4")
load("libxpm/3.5.17")
load("libxaw/1.0.15")
load("udunits/2.2.28")
load("ncview/2.1.9")
load("netcdf-cxx4/4.3.1")
load("py-pybind11/2.11.0")
--load("crtm/v2.4_jedi")
load("contrib/0.1")
load("noaatools/3.1")
load("rocoto/1.3.7")

load("hpc/1.2.0")
unload("python/3.10.13")
unload("py-numpy/1.22.3")
load("miniconda3/4.6.14")
load("gdasapp/1.0.0")
-- below is a hack because of cmake finding the wrong python...
setenv("CONDA_PREFIX", "/work2/noaa/da/python/opt/core/miniconda3/4.6.14/envs/gdasapp/")

setenv("CC","mpicc")
setenv("FC","mpifort")
setenv("CXX","mpicxx")
local mpiexec = '/opt/slurm/bin/srun'
local mpinproc = '-n'
setenv('MPIEXEC_EXEC', mpiexec)
setenv('MPIEXEC_NPROC', mpinproc)

setenv("CRTM_FIX","/work2/noaa/da/role-da/GDASApp/fix/crtm/2.4.0")
setenv("GDASAPP_TESTDATA","/work2/noaa/da/role-da/GDASApp/testdata")
setenv("GDASAPP_UNIT_TEST_DATA_PATH", "/work2/noaa/da/role-da/GDASApp/unittestdata")

execute{cmd="ulimit -s unlimited",modeA={"load"}}

whatis("Name: ".. pkgName)
whatis("Version: ".. pkgVersion)
whatis("Category: GDASApp")
whatis("Description: Load all libraries needed for GDASApp")
Loading

0 comments on commit 8fbc492

Please sign in to comment.