Skip to content

Commit

Permalink
Add modulefile for Dogwood/Cactus (#1073)
Browse files Browse the repository at this point in the history
While we are technically not supposed to build our own CRTM or FMS, we
are asking for forgiveness and forging ahead. This PR should allow
GDASApp to compile on WCOSS2 (Dogwood and Cactus) after a minor issue is
resolved. That issue being a compile issue in IODA that Ron is already
aware of and has a fix that works
(JCSDA-internal/ioda@develop...bugfix/read_script_convert_fix).

---------

Co-authored-by: cory martin <[email protected]>
Co-authored-by: cory martin <[email protected]>
Co-authored-by: cory martin <[email protected]>
  • Loading branch information
4 people authored Apr 26, 2024
1 parent 1b07517 commit a8daf6a
Show file tree
Hide file tree
Showing 3 changed files with 53 additions and 2 deletions.
2 changes: 1 addition & 1 deletion 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)
hera | orion | hercules | wcoss2)
echo "Building GDASApp on $BUILD_TARGET"
source $dir_root/ush/module-setup.sh
module use $dir_root/modulefiles
Expand Down
51 changes: 51 additions & 0 deletions modulefiles/GDAS/wcoss2.intel.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
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", "/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")
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("fckit/0.11.0")
load("atlas/0.35.0")
load("nccmp")

-- 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")

local mpiexec = '/pe/intel/compilers_and_libraries_2020.4.304/linux/mpi/intel64/bin/mpirun'
local mpinproc = '-n'
setenv('MPIEXEC_EXEC', mpiexec)
setenv('MPIEXEC_NPROC', mpinproc)

setenv("CRTM_FIX","/lfs/h2/emc/da/noscrub/emc.da/GDASApp/fix/crtm/2.4.0")
setenv("GDASAPP_TESTDATA","/lfs/h2/emc/da/noscrub/emc.da/GDASApp/data")
setenv("GDASAPP_UNIT_TEST_DATA_PATH", "/lfs/h2/emc/da/noscrub/emc.da/GDASApp/data/test")

whatis("Name: ".. pkgName)
whatis("Version: ".. pkgVersion)
whatis("Category: GDASApp")
whatis("Description: Load all libraries needed for GDASApp")
2 changes: 1 addition & 1 deletion sorc/ioda
Submodule ioda updated 50 files
+2 −2 CMakeLists.txt
+1 −0 share/ioda/yaml/iodatest_odb_oceansound.yaml
+1 −0 share/ioda/yaml/iodatest_odb_oceansound_truncate_profiles.yaml
+1 −0 share/ioda/yaml/iodatest_odb_sonde.yaml
+1 −0 share/ioda/yaml/iodatest_odb_sonde_history.yaml
+1 −0 share/ioda/yaml/iodatest_odb_sonde_mixed.yaml
+1 −0 share/ioda/yaml/iodatest_odb_sonde_time_displacement.yaml
+1 −0 share/ioda/yaml/iodatest_odb_sonde_truncate_profiles.yaml
+1 −0 share/ioda/yaml/iodatest_odb_sonde_write.yaml
+1 −0 share/ioda/yaml/iodatest_odb_sonde_write_mixed.yaml
+1 −0 share/ioda/yaml/iodatest_odb_surface.yaml
+1 −0 share/ioda/yaml/iodatest_odb_surfacesst.yaml
+2 −0 share/ioda/yaml/odb_oceansound_name_map.yaml
+2 −0 share/ioda/yaml/odb_sonde_name_map.yaml
+2 −0 share/ioda/yaml/odb_surface_name_map.yaml
+2 −0 share/ioda/yaml/odb_surfacesst_name_map.yaml
+2 −0 src/CMakeLists.txt
+0 −3 src/ObsDataIoParameters.h
+30 −0 src/engines/ioda/include/ioda/Engines/EngineUtils.h
+66 −12 src/engines/ioda/src/ioda/Engines/EngineUtils.cpp
+20 −18 src/engines/ioda/src/ioda/Engines/ODC/ODC.cpp
+3 −0 src/engines/ioda/src/ioda/Engines/ODC/OdbQueryParameters.h
+3 −3 src/engines/ioda/src/ioda/Engines/ReadScriptFile.cpp
+12 −15 src/ioPool/IoPoolBase.cpp
+17 −5 src/ioPool/IoPoolBase.h
+14 −10 src/ioPool/IoPoolParameters.h
+47 −0 src/ioPool/ReaderPoolBase.cpp
+16 −0 src/ioPool/ReaderPoolBase.h
+173 −50 src/ioPool/ReaderPoolUtils.cpp
+80 −9 src/ioPool/ReaderPoolUtils.h
+158 −0 src/ioPool/ReaderPrepInputFiles.cpp
+71 −0 src/ioPool/ReaderPrepInputFiles.h
+48 −133 src/ioPool/ReaderSinglePool.cpp
+0 −9 src/ioPool/ReaderSinglePool.h
+7 −13 src/ioPool/ReaderSinglePoolAllTasks.cpp
+4 −3 src/ioPool/ReaderSinglePoolAllTasks.h
+5 −1 src/mains/CMakeLists.txt
+19 −0 src/mains/buildInputFileSet.cc
+92 −0 src/mains/buildInputFileSet.h
+1 −1 src/python/pyiodautils/file_merge.py
+88 −4 test/CMakeLists.txt
+19 −0 test/testinput/iodatest_build_amsua_n19_file_set.yaml
+19 −0 test/testinput/iodatest_build_amsua_n19_file_set_mpi7.yaml
+18 −0 test/testinput/iodatest_build_gnssro_file_set.yaml
+18 −0 test/testinput/iodatest_build_gnssro_file_set_mpi7.yaml
+18 −0 test/testinput/iodatest_build_sondes_file_set.yaml
+18 −0 test/testinput/iodatest_build_sondes_file_set_mpi7.yaml
+1 −0 test/testinput/iodatest_odb_surface_with_query.yaml
+3 −6 test/testinput/iodatest_time_io_reader_pool_ext_file_prep.yaml
+3 −6 test/testinput/iodatest_time_io_reader_pool_ext_file_prep_mpi7.yaml

0 comments on commit a8daf6a

Please sign in to comment.