This document describes how to setup a module for ICONEval on Levante, JSC, or any other machine that uses the Module Environment.
-
Install ICONEval from source at a location that is accessible to everyone who will use the module (e.g.,
/path/to/ICONEval). -
Setup the modulefile at your desired location.
-
On Levante, it could be called
/path/to/modulefiles/iconeval/1.0.0and look like this:#%Module1.0 module-whatis "ICON model output evaluation with ESMValTool." module-version "development" proc ModulesHelp { } { puts stderr "For more information on this tool run" puts stderr "" puts stderr "iconeval -- --help" puts stderr "" puts stderr "or visit https://github.com/ESMValGroup/ICONEval" } conflict mambaforge conflict esmvaltool conflict py-python-swiftclient set root "/path/to/ICONEval/.pixi/envs/esmvaltool-dev" prepend-path PATH "${root}/bin" prepend-path MANPATH "${root}/man" prepend-path MANPATH "${root}/share/man" prepend-path ACLOCAL_PATH "${root}/share/aclocal" prepend-path C_INCLUDE_PATH "${root}/include" prepend-path CPLUS_INCLUDE_PATH "${root}/include" prepend-path INCLUDE "${root}/include" prepend-path PKG_CONFIG_PATH "${root}/lib/pkgconfig" prepend-path PKG_CONFIG_PATH "${root}/share/pkgconfig" setenv PROJ_LIB "${root}/share/proj" setenv ESMFMKFILE "${root}/lib/esmf.mk" -
On JSC, it could be called
/path/to/modulefiles/iconeval/1.0.0.luaand look like this:help([==[ For more information on this tool run iconeval -- --help or visit https://github.com/ESMValGroup/ICONEval ]==]) whatis("ICON model output evaluation with ESMValTool.") conflict("mambaforge", "esmvaltool") local container_root = "/path/to/esmvaltool/container" local root = "/path/to/ICONEval/.pixi/envs/esmvaltool-dev" prepend_path("PATH", pathJoin(container_root, "bin")) prepend_path("PATH", pathJoin(root, "bin")) prepend_path("MANPATH", pathJoin(root, "man")) prepend_path("MANPATH", pathJoin(root, "share/man")) prepend_path("ACLOCAL_PATH", pathJoin(root, "share/aclocal")) prepend_path("C_INCLUDE_PATH", pathJoin(root, "include")) prepend_path("CPLUS_INCLUDE_PATH", pathJoin(root, "include")) prepend_path("INCLUDE", pathJoin(root, "include")) prepend_path("PKG_CONFIG_PATH", pathJoin(root, "lib/pkgconfig")) prepend_path("PKG_CONFIG_PATH", pathJoin(root, "share/pkgconfig"))This will use a containerized installation of ESMValTool available at
/path/to/esmvaltool/container/bin.
-
-
Load the module:
module use -a /path/to/modulefiles module load iconeval