Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update Land DA container to Spack-Stack 1.6.0 #147

Open
wants to merge 16 commits into
base: develop
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions doc/source/BackgroundInfo/TechnicalOverview.rst
Original file line number Diff line number Diff line change
Expand Up @@ -83,9 +83,9 @@ Preconfigured (Level 1) systems for Land DA already have the required external l
- /work/noaa/epic/role-epic/spack-stack/hercules/spack-stack-1.6.0/envs/unified-env/install/modulefiles/Core
- /work2/noaa/epic/UFS_Land-DA_Dev/jedi_v7_hercules
* - Container
- intel-oneapi-compilers/2021.8.0
- intel-oneapi-mpi/2021.8.0
- /opt/spack-stack/ (inside the container)
- intel-oneapi-compilers/2021.10.0
- intel-oneapi-mpi/2021.9.0
- /opt/spack-stack/spack-stack-1.6.0/envs/unified-env/install/modulefiles/Core (inside the container)
- /opt/jedi-bundle (inside the container)

Level 2-4 Systems
Expand Down Expand Up @@ -215,4 +215,4 @@ Unlike the standalone Noah-MP land driver, the Noah-MP :term:`NUOPC cap` is able

Unified Workflow (UW) Tools
============================
The Unified Workflow (UW) is a set of tools intended to unify the workflow for various UFS applications under one framework. The UW toolkit currently includes rocoto, template, and configuration (config) tools, which are being incorporated into the Land DA workflow. Additional tools are under development. More details about UW tools can be found in the `uwtools <https://github.com/ufs-community/uwtools>`_ GitHub repository and in the :uw:`UW Documentation <>`.
The Unified Workflow (UW) is a set of tools intended to unify the workflow for various UFS applications under one framework. The UW toolkit currently includes rocoto, template, and configuration (config) tools, which are being incorporated into the Land DA workflow. Additional tools are under development. More details about UW tools can be found in the `uwtools <https://github.com/ufs-community/uwtools>`_ GitHub repository and in the :uw:`UW Documentation <>`.
218 changes: 46 additions & 172 deletions doc/source/BuildingRunningTesting/Container.rst

Large diffs are not rendered by default.

53 changes: 28 additions & 25 deletions modulefiles/build_singularity_intel.lua
Original file line number Diff line number Diff line change
@@ -1,25 +1,25 @@
help([[
loads UFS Model prerequisites for Hera/Intel
loads UFS Model prerequisites for Singularity container
]])

setenv("EPICHOME", "/opt")

prepend_path("MODULEPATH", pathJoin(os.getenv("EPICHOME"),"spack-stack/spack-stack-1.3.0/envs/unified-dev/install/modulefiles/Core"))
prepend_path("MODULEPATH", pathJoin(os.getenv("EPICHOME"),"spack-stack/spack-stack-1.6.0/envs/unified-env/install/modulefiles/Core"))

stack_intel_ver=os.getenv("stack_intel_ver") or "2021.8.0"
stack_intel_ver=os.getenv("stack_intel_ver") or "2021.10.0"
load(pathJoin("stack-intel", stack_intel_ver))

load("intel-oneapi-mpi/2021.8.0")
stack_intel_oneapi_mpi_ver=os.getenv("stack_intel_oneapi_mpi_ver") or "2021.8.0"
load("intel-oneapi-mpi/2021.9.0")
stack_intel_oneapi_mpi_ver=os.getenv("stack_intel_oneapi_mpi_ver") or "2021.9.0"
load(pathJoin("stack-intel-oneapi-mpi", stack_intel_oneapi_mpi_ver))

stack_python_ver=os.getenv("stack_python_ver") or "3.8.10"
load(pathJoin("stack-python", stack_python_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))

ecbuild_ver=os.getenv("ecbuild_ver") or "3.6.5"
ecbuild_ver=os.getenv("ecbuild_ver") or "3.7.2"
load(pathJoin("ecbuild", ecbuild_ver))

jasper_ver=os.getenv("jasper_ver") or "2.0.32"
Expand All @@ -37,22 +37,22 @@ load(pathJoin("hdf5", hdf5_ver))
netcdf_c_ver=os.getenv("netcdf_ver") or "4.9.2"
load(pathJoin("netcdf-c", netcdf_c_ver))

netcdf_fortran_ver=os.getenv("netcdf_fortran_ver") or "4.6.0"
netcdf_fortran_ver=os.getenv("netcdf_fortran_ver") or "4.6.1"
load(pathJoin("netcdf-fortran", netcdf_fortran_ver))

pio_ver=os.getenv("pio_ver") or "2.5.9"
pio_ver=os.getenv("pio_ver") or "2.5.10"
load(pathJoin("parallelio", pio_ver))

esmf_ver=os.getenv("esmf_ver") or "8.3.0b09"
esmf_ver=os.getenv("esmf_ver") or "8.5.0"
load(pathJoin("esmf", esmf_ver))

fms_ver=os.getenv("fms_ver") or "2022.04"
fms_ver=os.getenv("fms_ver") or "2023.04"
load(pathJoin("fms",fms_ver))

bacio_ver=os.getenv("bacio_ver") or "2.4.1"
load(pathJoin("bacio", bacio_ver))

crtm_ver=os.getenv("crtm_ver") or "2.4.0"
crtm_ver=os.getenv("crtm_ver") or "2.4.0.1"
load(pathJoin("crtm", crtm_ver))

g2_ver=os.getenv("g2_ver") or "3.4.5"
Expand All @@ -61,36 +61,39 @@ load(pathJoin("g2", g2_ver))
g2tmpl_ver=os.getenv("g2tmpl_ver") or "1.10.2"
load(pathJoin("g2tmpl", g2tmpl_ver))

ip_ver=os.getenv("ip_ver") or "3.3.3"
ip_ver=os.getenv("ip_ver") or "4.3.0"
load(pathJoin("ip", ip_ver))

sp_ver=os.getenv("sp_ver") or "2.3.3"
sp_ver=os.getenv("sp_ver") or "2.5.0"
load(pathJoin("sp", sp_ver))

w3emc_ver=os.getenv("w3emc_ver") or "2.9.2"
w3emc_ver=os.getenv("w3emc_ver") or "2.10.0"
load(pathJoin("w3emc", w3emc_ver))

gftl_shared_ver=os.getenv("gftl_shared_ver") or "1.5.0"
gftl_shared_ver=os.getenv("gftl_shared_ver") or "1.6.1"
load(pathJoin("gftl-shared", gftl_shared_ver))

mapl_ver=os.getenv("mapl_ver") or "2.22.0-esmf-8.3.0b09"
mapl_ver=os.getenv("mapl_ver") or "2.40.3-esmf-8.5.0"
load(pathJoin("mapl", mapl_ver))

load("py-cftime/1.0.3.4")
load("py-cython/0.29.32")
load("py-cython/0.29.36")
load("py-f90nml/1.4.3")
load("py-jinja2/3.1.2")
load("py-netcdf4/1.5.3")
load("py-jinja2/3.0.3")
load("py-netcdf4/1.5.8")
load("py-numpy/1.22.3")
load("py-pandas/1.4.0")
load("py-pandas/1.5.3")
load("py-python-dateutil/2.8.2")
load("py-pyyaml/6.0")

load("atlas")

setenv("CC", "mpiicc")
setenv("CXX", "mpiicpc")
setenv("FC", "mpiifort")
setenv("CMAKE_C_COMPILER","mpiicc")
setenv("CMAKE_CXX_COMPILER","mpicxx")
setenv("CMAKE_Fortran_COMPILER","mpif90")
--setenv("CC", "mpiicc")
--setenv("CXX", "mpiicpc")
--setenv("FC", "mpiifort")

setenv("JEDI_INSTALL", pathJoin(os.getenv("EPICHOME"),""))

Expand Down
2 changes: 2 additions & 0 deletions modulefiles/tasks/singularity/task.analysis.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
load("COMPILER")
load("MPI")
2 changes: 2 additions & 0 deletions modulefiles/tasks/singularity/task.forecast.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
load("COMPILER")
load("MPI")
2 changes: 2 additions & 0 deletions modulefiles/tasks/singularity/task.plot_stats.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
load("COMPILER")
load("MPI")
2 changes: 2 additions & 0 deletions modulefiles/tasks/singularity/task.post_anal.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
load("COMPILER")
load("MPI")
2 changes: 2 additions & 0 deletions modulefiles/tasks/singularity/task.pre_anal.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
load("COMPILER")
load("MPI")
2 changes: 2 additions & 0 deletions modulefiles/tasks/singularity/task.prep_obs.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
load("COMPILER")
load("MPI")
Loading
Loading