You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Update documentation for new build process. Note that the PDF has not been re-generated: my laptop currently lacks the necessary software (hopefully will get it soon).
\subsection{Using Existing Libraries on Preconfigured Platforms}\label{section:use_preconfigured_platforms}
102
-
Platform-specific scripts are provided to load modules and set the user environment for preconfigured platforms. These scripts load compiler modules (Fortran 2008-compliant), the NetCDF module, Python environment, etc. and set compiler and environment variables. From the top-level code directory (\execout{ccpp-scm} by default), source the correct script for your platform and shell. For \textit{t/csh} shells,
103
-
\begin{lstlisting}[language=csh]
104
-
source scm/etc/Hera_setup_intel.csh
105
-
source scm/etc/Cheyenne_setup_gnu.csh
106
-
source scm/etc/Cheyenne_setup_intel.csh
107
-
\end{lstlisting}
108
-
For bourne/bash shells,
109
-
\begin{lstlisting}[language=bash]
110
-
. scm/etc/Hera_setup_intel.sh
111
-
. scm/etc/Cheyenne_setup_gnu.sh
112
-
. scm/etc/Cheyenne_setup_intel.sh
102
+
Because the SCM can be built using the so-called \href{https://ufs-weather-model.readthedocs.io/en/latest/Glossary.html#term-spack-stack}{"spack-stack" libraries} maintained for the UFS Weather Model effort, there are many platforms where the SCM can be built using those existing libraries. This can be done by loading provided modules in the \execout{scm/etc/modules} directory (must be done from the top-level "ccpp-scm" directory; otherwise the \execout{module use} command should point to the corresponding absolute path):
103
+
104
+
\begin{lstlisting}[language=sh]
105
+
module purge
106
+
module use scm/etc/modules
107
+
module load [machine]_[compiler]
113
108
\end{lstlisting}
114
109
110
+
View the contents of the \execout{scm/etc/modules} directory to see if your machine/compiler combination is supported. As of this writing, modulefiles are provided for Intel and GNU compilers on the NCAR machine Derecho, the NOAA machines Hera and Jet, and the NOAA/MSU machine Orion. Loading these modules will set up all the needed compilers, libraries, and other programs needed for building, as well as the python libraries needed for both building and running the SCM.
115
111
116
112
\subsection{Installing Libraries on Non-preconfigured Platforms}\label{section:setup_supported_platforms}
117
113
For users on supported platforms such as generic Linux or macOS systems that have not been preconfigured, the \execout{hpc-stack} project is suggested for installing prerequisite libraries. Visit \url{https://github.com/NOAA-EMC/hpc-stack} for instructions for installing prerequisite libraries via \execout{hpc-stack} in their docs directory. UFS users who already installed libraries via the \execout{hpc-stack} package only need to set the compiler (\execout{CC, CXX, FC}), NetCDF (\execout{NetCDF\_ROOT}), and \execout{bacio}, \execout{sp} and \execout{w3emc} (\execout{bacio\_ROOT}, \execout{sp\_ROOT}, \execout{w3emc\_ROOT}) environment variables to point to their installation paths in order to compile the SCM.
0 commit comments