diff --git a/CMakeLists.txt b/CMakeLists.txt index f3b9376..ba57036 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,3 @@ -# Check environment cmake_minimum_required(VERSION 3.5) # Set the project name and version @@ -6,6 +5,17 @@ project(NEXUS VERSION 0.2.0 LANGUAGES Fortran) +# FC should be used to set compiler +if(NOT DEFINED ENV{FC}) + message(WARNING "FC is not set. You may want to use it to specify a specific compiler.") +else() + if("$ENV{FC}" STREQUAL "") + message(WARNING "FC is set to empty string. You may want to use it to specify a specific compiler.") + else() + message(STATUS "FC is set: '$ENV{FC}'") + endif() +endif() + # Include local macros list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake") diff --git a/HEMCO b/HEMCO index 4e81881..4a66bae 160000 --- a/HEMCO +++ b/HEMCO @@ -1 +1 @@ -Subproject commit 4e818813da35bf76dbcee2da6ecc598b9c89b1a7 +Subproject commit 4a66bae48f33e6dc22cda5ec9d4633192dee2f73 diff --git a/README.md b/README.md index 332f87a..73debcf 100644 --- a/README.md +++ b/README.md @@ -23,15 +23,19 @@ pre-commit install --install-hooks ### Setup -#### NOAA Hera +#### Supported UFS machines -Use the official setup. +UFS spack-stack module files are included for Hera, WCOSS2, Orion, etc. ``` module use ./modulefiles -module load hera.intel ``` -Input data: +Then, on Hera, for example: +``` +module load ufs_hera.intel +``` + +Hera input data: ``` /scratch1/NCEPDEV/rstprod/nexus_emissions ``` @@ -41,6 +45,7 @@ Input data: #### GMU Hopper +Custom modules. ``` . /groups/ESS3/zmoon/nexus/env5 ``` @@ -52,58 +57,10 @@ Input data: #### Ubuntu -Tested with Ubuntu 22.04. -Using GCC v12 available via `apt`. - -Dependencies: -```bash -sudo apt install build-essential gfortran-12 libnetcdf-dev libnetcdff-dev liblapack-dev libopenblas-dev mpi-default-dev mpi-default-bin -``` - -Build ESMF and prepare for NEXUS build: -```bash -v="8.3.1" # ESMF -gcc="12" -esmf_base=$HOME/esmf - -export ESMF_DIR=${esmf_base}/${v}-gcc-${gcc} -cd $esmf_base -mkdir -p $ESMF_DIR -wget https://github.com/esmf-org/esmf/archive/refs/tags/v${v}.tar.gz -tar xzvf v${v}.tar.gz --directory=/tmp && mv /tmp/esmf-${v}/* $ESMF_DIR - -export ESMF_COMPILER=gfortran -export ESMF_LAPACK=netlib -export ESMF_COMM=mpi -export ESMF_PIO=internal -export ESMF_NETCDF=nc-config - -export OMPI_FC=gfortran-${gcc} -export OMPI_CC=gcc-${gcc} -export OMPI_CXX=g++-${gcc} -export ESMF_F90COMPILER=mpifort -export ESMF_CCOMPILER=mpicc -export ESMF_CXXCOMPILER=mpic++ -export ESMF_F90LINKER=/usr/bin/ld -export ESMF_CLINKER=/usr/bin/ld -export ESMF_CXXLINKER=/usr/bin/ld - -cd $ESMF_DIR -make lib - -# Location of the corresponding `esmf.mk` is needed for CMake to find the lib later -# You can find these with, e.g., `find . -name 'esmf.mk' -exec realpath {} \;`, -# but it should be the following: -ESMFMKFILE=${ESMF_DIR}/lib/libO/Linux.gfortran.64.mpi.default/esmf.mk - -# For NEXUS -export CMAKE_Fortran_COMPILER=$ESMF_F90COMPILER -``` - -To build NEXUS, at least these env vars should be set: -- `ESMFMKFILE` -- `OMPI_FC` -- `CMAKE_Fortran_COMPILER` +See https://github.com/noaa-oar-arl/gha-esmf for examples of how to build ESMF, +or follow the steps to download and use a pre-built ESMF. + +Remember to set `ESMFMKFILE` to point to the `esmf.mk` file of your ESMF build. ### Build diff --git a/modulefiles/hera.intel b/modulefiles/hera.intel deleted file mode 100644 index c3dfab4..0000000 --- a/modulefiles/hera.intel +++ /dev/null @@ -1,30 +0,0 @@ -#%Module###################################################################### -## -## NEXUS Prerequisites: Hera/Intel - -proc ModulesHelp {} { - puts stderr "\tcit - loads modules required for building and running NEXUS on Hera/Intel" -} - -module-whatis "loads NEXUS prerequisites for Hera/Intel" - -## clean up environment --------------------------------------------------- -module purge - -## load hpc-stack -module use /scratch2/NCEPDEV/nwprod/hpc-stack/libs/hpc-stack/modulefiles/stack -module load hpc/1.1.0 -module load hpc-intel/18.0.5.274 -module load hpc-impi/2018.0.4 - -## load esmf / netcdf ----------------------------------------------------- -module load hdf5/1.10.6 -module load netcdf/4.7.4 -module load esmf/8_2_0 - -## cmake environment ------------------------------------------------------ -module load cmake/3.20.1 -setenv CMAKE_C_COMPILER mpiicc -setenv CMAKE_CXX_COMPILER mpiicpc -setenv CMAKE_Fortran_COMPILER mpiifort -setenv CMAKE_Platform hera.intel diff --git a/modulefiles/orion.intel b/modulefiles/orion.intel deleted file mode 100644 index 51487c3..0000000 --- a/modulefiles/orion.intel +++ /dev/null @@ -1,32 +0,0 @@ -#%Module###################################################################### -## -## NEXUS Prerequisites: Orion/Intel - -proc ModulesHelp {} { - puts stderr "\tcit - loads modules required for building and running NEXUS on Orion/Intel" -} - -module-whatis "loads NEXUS prerequisites for Orion/Intel" - -## clean up environment --------------------------------------------------- -module purge - -module load contrib noaatools - -## load hpc-stack --------------------------------------------------------- -module use /apps/contrib/NCEP/libs/hpc-stack/modulefiles/stack -module load hpc/1.1.0 -module load hpc-intel/2018.4 -module load hpc-impi/2018.4 - -## load esmf / netcdf ----------------------------------------------------- -module load hdf5/1.10.6 -module load netcdf/4.7.4 -module load esmf/8_2_0 - -## cmake environment ------------------------------------------------------ -module load cmake/3.18.1 -setenv CMAKE_C_COMPILER mpiicc -setenv CMAKE_CXX_COMPILER mpiicpc -setenv CMAKE_Fortran_COMPILER mpiifort -setenv CMAKE_Platform orion.intel diff --git a/modulefiles/ufs_common.lua b/modulefiles/ufs_common.lua new file mode 100644 index 0000000..aa6702f --- /dev/null +++ b/modulefiles/ufs_common.lua @@ -0,0 +1,21 @@ +whatis("Description: UFS build environment common libraries") + +help([[Load UFS Model common libraries]]) + +local ufs_modules = { + {["jasper"] = "2.0.32"}, + {["zlib"] = "1.2.13"}, + {["libpng"] = "1.6.37"}, + {["hdf5"] = "1.14.0"}, + {["netcdf-c"] = "4.9.2"}, + {["netcdf-fortran"] = "4.6.1"}, + {["parallelio"] = "2.5.10"}, + {["esmf"] = "8.6.0"}, +} + +for i = 1, #ufs_modules do + for name, default_version in pairs(ufs_modules[i]) do + local env_version_name = string.gsub(name, "-", "_") .. "_ver" + load(pathJoin(name, os.getenv(env_version_name) or default_version)) + end +end diff --git a/modulefiles/ufs_derecho.intel.lua b/modulefiles/ufs_derecho.intel.lua new file mode 100644 index 0000000..f858670 --- /dev/null +++ b/modulefiles/ufs_derecho.intel.lua @@ -0,0 +1,30 @@ +help([[ +loads UFS Model prerequisites for NOAA Parallelworks/Intel +]]) + +setenv("LMOD_TMOD_FIND_FIRST","yes") +prepend_path("MODULEPATH", "/glade/work/epicufsrt/contrib/spack-stack/derecho/modulefiles") +load("ecflow/5.8.4") +load("mysql/8.0.33") + +setenv("LMOD_TMOD_FIND_FIRST","yes") +prepend_path("MODULEPATH", "/lustre/desc1/scratch/epicufsrt/contrib/modulefiles_extra") +prepend_path("MODULEPATH", "/glade/work/epicufsrt/contrib/spack-stack/derecho/spack-stack-1.6.0/envs/fms-2024.01/install/modulefiles/Core") + +unload("ncarcompilers") +stack_intel_ver=os.getenv("stack_intel_ver") or "2021.10.0" +load(pathJoin("stack-intel", stack_intel_ver)) + +stack_cray_mpich_ver=os.getenv("stack-cray-mpich_ver") or "8.1.25" +load(pathJoin("stack-cray-mpich", stack_cray_mpich_ver)) + +cmake_ver=os.getenv("cmake_ver") or "3.23.1" +load(pathJoin("cmake", cmake_ver)) + +stack_python_ver=os.getenv("stack_python_ver") or "3.10.13" +load(pathJoin("stack-python", stack_python_ver)) + +setenv("CMAKE_Platform", "derecho.intel") +load("ufs-weather-model-env") + +whatis("Description: UFS build environment") diff --git a/modulefiles/ufs_gaea.intel.lua b/modulefiles/ufs_gaea.intel.lua new file mode 100644 index 0000000..834c8fc --- /dev/null +++ b/modulefiles/ufs_gaea.intel.lua @@ -0,0 +1,33 @@ +help([[ + This module loads libraries required for building and running UFS Weather Model + on the NOAA RDHPC machine Gaea C5 using Intel-2023.1.0. +]]) + +whatis([===[Loads libraries needed for building the UFS Weather Model on Gaea ]===]) + +prepend_path("MODULEPATH", "/ncrc/proj/epic/spack-stack/spack-stack-1.6.0/envs/fms-2024.01/install/modulefiles/Core") + +stack_intel_ver=os.getenv("stack_intel_ver") or "2023.2.0" +load(pathJoin("stack-intel", stack_intel_ver)) + +stack_cray_mpich_ver=os.getenv("stack_cray_mpich_ver") or "8.1.28" +load(pathJoin("stack-cray-mpich", stack_cray_mpich_ver)) + +stack_python_ver=os.getenv("stack_python_ver") or "3.10.13" +load(pathJoin("stack-python", stack_python_ver)) + +cmake_ver=os.getenv("cmake_ver") or "3.23.1" +load(pathJoin("cmake", cmake_ver)) + +load("ufs_common") + +nccmp_ver=os.getenv("nccmp_ver") or "1.9.0.1" +load(pathJoin("nccmp", nccmp_ver)) + +unload("darshan-runtime") +unload("cray-libsci") + +setenv("CC","cc") +setenv("CXX","CC") +setenv("FC","ftn") +setenv("CMAKE_Platform","gaea.intel") diff --git a/modulefiles/ufs_hera.intel.lua b/modulefiles/ufs_hera.intel.lua new file mode 100644 index 0000000..feaa88e --- /dev/null +++ b/modulefiles/ufs_hera.intel.lua @@ -0,0 +1,26 @@ +help([[ +loads UFS Model prerequisites for Hera/Intel +]]) + +prepend_path("MODULEPATH", "/scratch1/NCEPDEV/nems/role.epic/spack-stack/spack-stack-1.6.0/envs/fms-2024.01/install/modulefiles/Core") + +stack_intel_ver=os.getenv("stack_intel_ver") or "2021.5.0" +load(pathJoin("stack-intel", stack_intel_ver)) + +stack_impi_ver=os.getenv("stack_impi_ver") or "2021.5.1" +load(pathJoin("stack-intel-oneapi-mpi", stack_impi_ver)) + +cmake_ver=os.getenv("cmake_ver") or "3.23.1" +load(pathJoin("cmake", cmake_ver)) + +load("ufs_common") + +nccmp_ver=os.getenv("nccmp_ver") or "1.9.0.1" +load(pathJoin("nccmp", nccmp_ver)) + +setenv("CC", "mpiicc") +setenv("CXX", "mpiicpc") +setenv("FC", "mpiifort") +setenv("CMAKE_Platform", "hera.intel") + +whatis("Description: UFS build environment") diff --git a/modulefiles/ufs_hera.intelllvm.lua b/modulefiles/ufs_hera.intelllvm.lua new file mode 100644 index 0000000..49e9f2b --- /dev/null +++ b/modulefiles/ufs_hera.intelllvm.lua @@ -0,0 +1,33 @@ +help([[ +loads UFS Model prerequisites for Hera/IntelLLVM +]]) + +prepend_path("MODULEPATH", "/scratch1/NCEPDEV/nems/role.epic/spack-stack/spack-stack-1.6.0/envs/upp-addon-env/install/modulefiles/Core") + +stack_intel_ver=os.getenv("stack_intel_ver") or "2021.5.0" +load(pathJoin("stack-intel", stack_intel_ver)) + +stack_impi_ver=os.getenv("stack_impi_ver") or "2021.5.1" +load(pathJoin("stack-intel-oneapi-mpi", stack_impi_ver)) + +load("gnu") +load("intel/2023.2.0") + +cmake_ver=os.getenv("cmake_ver") or "3.23.1" +load(pathJoin("cmake", cmake_ver)) + +load("ufs_common") + +nccmp_ver=os.getenv("nccmp_ver") or "1.9.0.1" +load(pathJoin("nccmp", nccmp_ver)) + +setenv("I_MPI_CC", "icx") +setenv("I_MPI_CXX", "icpx") +setenv("I_MPI_FC", "ifx") + +setenv("CC", "mpicc") +setenv("CXX", "mpiicpc") +setenv("FC", "mpifc") +setenv("CMAKE_Platform", "hera.intel") + +whatis("Description: UFS build environment") diff --git a/modulefiles/ufs_hercules.intel.lua b/modulefiles/ufs_hercules.intel.lua new file mode 100644 index 0000000..455ea4d --- /dev/null +++ b/modulefiles/ufs_hercules.intel.lua @@ -0,0 +1,26 @@ +help([[ +loads UFS Model prerequisites for Hercules/Intel +]]) + +prepend_path("MODULEPATH", "/work/noaa/epic/role-epic/spack-stack/hercules/spack-stack-1.6.0/envs/fms-2024.01/install/modulefiles/Core") + +stack_intel_ver=os.getenv("stack_intel_ver") or "2021.9.0" +load(pathJoin("stack-intel", stack_intel_ver)) + +stack_impi_ver=os.getenv("stack_impi_ver") or "2021.9.0" +load(pathJoin("stack-intel-oneapi-mpi", stack_impi_ver)) + +cmake_ver=os.getenv("cmake_ver") or "3.23.1" +load(pathJoin("cmake", cmake_ver)) + +load("ufs_common") + +nccmp_ver=os.getenv("nccmp_ver") or "1.9.0.1" +load(pathJoin("nccmp", nccmp_ver)) + +setenv("CC", "mpiicc") +setenv("CXX", "mpiicpc") +setenv("FC", "mpiifort") +setenv("CMAKE_Platform", "hercules.intel") + +whatis("Description: UFS build environment") diff --git a/modulefiles/ufs_hercules.intelllvm.lua b/modulefiles/ufs_hercules.intelllvm.lua new file mode 100644 index 0000000..5fb97a5 --- /dev/null +++ b/modulefiles/ufs_hercules.intelllvm.lua @@ -0,0 +1,30 @@ +help([[ +loads UFS Model prerequisites for Hercules/IntelLLVM +]]) + +prepend_path("MODULEPATH", "/work/noaa/epic/role-epic/spack-stack/hercules/spack-stack-1.6.0/envs/upp-addon-env/install/modulefiles/Core") + +stack_intel_ver=os.getenv("stack_intel_ver") or "2021.9.0" +load(pathJoin("stack-intel", stack_intel_ver)) + +stack_impi_ver=os.getenv("stack_impi_ver") or "2021.9.0" +load(pathJoin("stack-intel-oneapi-mpi", stack_impi_ver)) + +cmake_ver=os.getenv("cmake_ver") or "3.23.1" +load(pathJoin("cmake", cmake_ver)) + +load("ufs_common") + +nccmp_ver=os.getenv("nccmp_ver") or "1.9.0.1" +load(pathJoin("nccmp", nccmp_ver)) + +setenv("I_MPI_CC", "icx") +setenv("I_MPI_CXX", "icpx") +setenv("I_MPI_F90", "ifx") + +setenv("CC", "mpiicc") +setenv("CXX", "mpiicpc") +setenv("FC", "mpiifort") +setenv("CMAKE_Platform", "hercules.intel") + +whatis("Description: UFS build environment") diff --git a/modulefiles/ufs_linux.gnu b/modulefiles/ufs_linux.gnu new file mode 100644 index 0000000..fd1f49e --- /dev/null +++ b/modulefiles/ufs_linux.gnu @@ -0,0 +1,37 @@ +#!/bin/bash + +#%Module###################################################################### +## +## UFS prerequisites: Linux (tested: Ubuntu) with gcc/gfortran compilers + +echo "Setting environment variables for UFS Model on Linux with gcc/gfortran" + +## +## load programming environment: compiler, flags, paths +## +export CC=${CC:-mpicc} +export CXX=${CXX:-mpicxx} +export F77=${F77:-mpif77} +export F90=${F90:-mpif90} +export FC=${FC:-mpif90} + +## +## set up variables for ../cmake/configure_linux.gnu.cmake +## +export CMAKE_Platform=linux.gnu + +## +## use own NetCDF library +## +export NETCDF=${NETCDF:-/home/builder/opt} + +## +## use pre-compiled EMSF library for above compiler / MPI combination +## +export ESMFMKFILE=${ESMFMKFILE:-/home/builder/opt/lib/esmf.mk} + +## +## NCEP libraries (need to download and build manually, see doc/README_{UBUNTU,CENTOS,...}.txt and https://github.com/NCAR/NCEPlibs) +## +export NCEPLIBS_DIR=${NCEPLIBS_DIR:-/home/builder/opt} +export CMAKE_PREFIX_PATH=${NCEPLIBS_DIR} diff --git a/modulefiles/ufs_linux.intel b/modulefiles/ufs_linux.intel new file mode 100644 index 0000000..6e47862 --- /dev/null +++ b/modulefiles/ufs_linux.intel @@ -0,0 +1,37 @@ +#!/bin/bash + +#%Module###################################################################### +## +## UFS prerequisites: Linux (tested: Ubuntu) with gcc/gfortran compilers + +echo "Setting environment variables for UFS Model on Linux with gcc/gfortran" + +## +## load programming environment: compiler, flags, paths +## +export CC=${CC:-mpicc} +export CXX=${CXX:-mpicxx} +export F77=${F77:-mpif77} +export F90=${F90:-mpif90} +export FC=${FC:-mpif90} + +## +## set up variables for ../cmake/configure_linux.intel.cmake +## +export CMAKE_Platform=linux.intel + +## +## use own NetCDF library +## +export NETCDF=${NETCDF:-/home/builder/opt} + +## +## use pre-compiled EMSF library for above compiler / MPI combination +## +export ESMFMKFILE=${ESMFMKFILE:-/home/builder/opt/lib/esmf.mk} + +## +## NCEP libraries (need to download and build manually, see doc/README_{UBUNTU,CENTOS,...}.txt and https://github.com/NCAR/NCEPlibs) +## +export NCEPLIBS_DIR=${NCEPLIBS_DIR:-/home/builder/opt} +export CMAKE_PREFIX_PATH=${NCEPLIBS_DIR} diff --git a/modulefiles/ufs_orion.intel.lua b/modulefiles/ufs_orion.intel.lua new file mode 100644 index 0000000..d6e25ef --- /dev/null +++ b/modulefiles/ufs_orion.intel.lua @@ -0,0 +1,29 @@ +help([[ +loads UFS Model prerequisites for Orion/Intel +]]) + +prepend_path("MODULEPATH", "/work/noaa/epic/role-epic/spack-stack/orion/spack-stack-1.6.0/envs/fms-2024.01/install/modulefiles/Core") + +stack_intel_ver=os.getenv("stack_intel_ver") or "2021.9.0" +load(pathJoin("stack-intel", stack_intel_ver)) + +stack_impi_ver=os.getenv("stack_impi_ver") or "2021.9.0" +load(pathJoin("stack-intel-oneapi-mpi", stack_impi_ver)) + +cmake_ver=os.getenv("cmake_ver") or "3.23.1" +load(pathJoin("cmake", cmake_ver)) + +load("ufs_common") + +-- HDF5 needed for LM4 +hdf5_ver=os.getenv("hdf5_ver") or "1.14.0" +load(pathJoin("hdf5", hdf5_ver)) +nccmp_ver=os.getenv("nccmp_ver") or "1.9.0.1" +load(pathJoin("nccmp", nccmp_ver)) + +setenv("CC", "mpiicc") +setenv("CXX", "mpiicpc") +setenv("FC", "mpiifort") +setenv("CMAKE_Platform", "orion.intel") + +whatis("Description: UFS build environment") diff --git a/modulefiles/ufs_wcoss2.intel.lua b/modulefiles/ufs_wcoss2.intel.lua new file mode 100644 index 0000000..cbd99d0 --- /dev/null +++ b/modulefiles/ufs_wcoss2.intel.lua @@ -0,0 +1,59 @@ +help([[ +loads UFS Model prerequisites on Cactus and Dogwood +]]) + +-- First, look for libraries in "prod" space +PrgEnv_intel_ver=os.getenv("PrgEnv_intel_ver") or "8.1.0" +load(pathJoin("PrgEnv-intel", PrgEnv_intel_ver)) + +intel_ver=os.getenv("intel_ver") or "19.1.3.304" +load(pathJoin("intel", intel_ver)) + +craype_ver=os.getenv("craype_ver") or "2.7.13" +load(pathJoin("craype", craype_ver)) + +cray_mpich_ver=os.getenv("cray_mpich_ver") or "8.1.12" +load(pathJoin("cray-mpich", cray_mpich_ver)) + +cmake_ver=os.getenv("cmake_ver") or "3.20.2" +load(pathJoin("cmake", cmake_ver)) + +local ufs_modules = { + {["jasper"] = "2.0.25"}, + {["zlib"] = "1.2.11"}, + {["libpng"] = "1.6.37"}, + {["hdf5-C"] = "1.14.0"}, + {["netcdf-C"] = "4.9.2"}, + {["pio-C"] = "2.5.10"}, + {["esmf-C"] = "8.6.0"}, + {["fms"] = "2024.01"}, + {["bacio"] = "2.4.1"}, + {["crtm"] = "2.4.0"}, + {["g2"] = "3.5.1"}, + {["g2tmpl"] = "1.13.0"}, + {["ip"] = "4.0.0"}, + {["sp"] = "2.3.3"}, + {["w3emc"] = "2.12.0"}, + {["gftl-shared"] = "1.6.1"}, + {["mapl-C"] = "2.40.3"}, + {["pnetcdf-C"] = "1.12.2"}, + {["scotch"] = "7.0.4"}, +} + +for i = 1, #ufs_modules do + for name, default_version in pairs(ufs_modules[i]) do + local env_version_name = string.gsub(name, "-", "_") .. "_ver" + load(pathJoin(name, os.getenv(env_version_name) or default_version)) + end +end + +setenv("CC", "cc") +setenv("CXX", "CC") +setenv("FC", "ftn") +setenv("CMAKE_Platform", "wcoss2") + +-- Avoid CMake Policy CMP0074 warning when using our Find*.cmake scripts +unsetenv("NetCDF_ROOT") +unsetenv("ESMF_ROOT") + +whatis("Description: UFS build environment") diff --git a/modulefiles/wcoss_dell_p3 b/modulefiles/wcoss_dell_p3 deleted file mode 100644 index 8ca322d..0000000 --- a/modulefiles/wcoss_dell_p3 +++ /dev/null @@ -1,34 +0,0 @@ -#%Module###################################################################### -## -## NEXUS Prerequisites: Venus and Mars (WCOSS Dell) - -proc ModulesHelp {} { - puts stderr "\tcit - loads modules required for building and running NEXUS on the Dell side of WCOSS" -} - -module-whatis "loads NEXUS prerequisites on Venus and Mars" - -## clean up environment --------------------------------------------------- -module purge - -module load ips/18.0.5.274 -module load impi/18.0.1 -module load lsf/10.1 - -## load hpc-stack --------------------------------------------------------- -module use /usrx/local/nceplibs/dev/hpc-stack/libs/hpc-stack/modulefiles/stack -module load hpc/1.1.0 -module load hpc-ips/18.0.5.274 -module load hpc-impi/18.0.1 - -## load esmf / netcdf ----------------------------------------------------- -module load hdf5/1.10.6 -module load netcdf/4.7.4 -module load esmf/8_2_0 - -## cmake environment ------------------------------------------------------ -module load cmake/3.20.0 -setenv CMAKE_C_COMPILER mpiicc -setenv CMAKE_CXX_COMPILER mpiicpc -setenv CMAKE_Fortran_COMPILER mpiifort -setenv CMAKE_Platform wcoss_dell_p3