diff --git a/README.md b/README.md index caf9b72c..b0b5b2cd 100644 --- a/README.md +++ b/README.md @@ -7,6 +7,24 @@ CCPP infrastructure code and physics code, both of which are included as git submodules within the SCM code. This package can be considered a simple example for an atmospheric model to interact with physics through the CCPP. +## Prerequisite +There are several utility libraries as part of the NCEPlibs package that must be installed prior to building the SCM. +* bacio - Binary I/O Library +* sp - Spectral Transformation Library +* w3nco - GRIB decoder and encoder library + +These libraries are prebuilt on most NOAA machines using the Intel compiler. For those needing to build the libraries themselves, GMTB recommends using the source code from GitHub at https://github.com/NCAR/NCEPlibs.git, which includes build files for various compilers and machines using OpenMP flags and which are threadsafe. Instructions for installing NCEPlibs are included on the GitHub repository webpage, but for the sake of example, execute the following for obtaining and building from source in /usr/local/NCEPlibs on a Mac: +1. `cd /usr/local/src` +2. `git clone https://github.com/NCAR/NCEPlibs.git` +3. `cd NCEPlibs` +4. `./make_ncep_libs.sh -s macosx -c gnu -d /usr/local/NCEPlibs -o 1` + +Once NCEPlibs is built, the NCEPLIBS_DIR environment variable must be set to the location of the installation. For example, if NCEPlibs was installed in /usr/local/NCEPlibs, one would execute + +`export NCEPLIB_DIR=/usr/local/NCEPlibs` + +If using Theia or Cheyenne HPC systems, this environment variable is automatically set to an appropriate installation of NCEPlibs on those machines through use of one of the setup scripts described below. + ## Obtaining Code 1. Download a compressed file or clone the source using * `git clone https://[username]@github.com/NCAR/gmtb-scm.git` diff --git a/scm/doc/TechGuide/chap_quick.tex b/scm/doc/TechGuide/chap_quick.tex index 747d9139..aad19321 100644 --- a/scm/doc/TechGuide/chap_quick.tex +++ b/scm/doc/TechGuide/chap_quick.tex @@ -66,12 +66,26 @@ \section{System Requirements, Libraries, and Tools} Because these tools and libraries are typically the purview of system administrators to install and maintain, they are considered part of the basic system requirements. -There are several utility libraries provided in the SCM bundle, as external packages. These are built during the compilation phase, and include +Further, there are several utility libraries as part of the NCEPlibs package that must be installed prior to building the SCM. \begin{itemize} \item bacio - Binary I/O Library \item sp - Spectral Transformation Library \item w3nco - GRIB decoder and encoder library \end{itemize} +These libraries are prebuilt on most NOAA machines using the Intel compiler. For those needing to build the libraries themselves, GMTB recommends using the source code from GitHub at \url{https://github.com/NCAR/NCEPlibs.git}, which includes build files for various compilers and machines using OpenMP flags and which are threadsafe. Instructions for installing NCEPlibs are included on the GitHub repository webpage, but for the sake of example, execute the following for obtaining and building from source in \execout{/usr/local/NCEPlibs} on a Mac: +\begin{lstlisting} + mkdir /usr/local/NCEPlibs + cd /usr/local/src + git clone https://github.com/NCAR/NCEPlibs.git + cd NCEPlibs + ./make_ncep_libs.sh -s macosx -c gnu -d /usr/local/NCEPlibs -o 1 +\end{lstlisting} +Once NCEPlibs is built, the \execout{NCEPLIBS\_DIR} environment variable must be set to the location of the installation. For example, if NCEPlibs was installed in \execout{/usr/local/NCEPlibs}, one would execute +\begin{lstlisting} +export NCEPLIB_DIR=/usr/local/NCEPlibs +\end{lstlisting} +If using Theia or Cheyenne HPC systems, this environment variable is automatically set to an appropriate installation of NCEPlibs on those machines through use of one of the setup scripts described in section \ref{section: compiling}. + \subsection{Compilers} The CCPP and SCM have been tested on a variety of diff --git a/scm/doc/TechGuide/chap_repo.tex b/scm/doc/TechGuide/chap_repo.tex index a1bf7b51..5b5c488d 100644 --- a/scm/doc/TechGuide/chap_repo.tex +++ b/scm/doc/TechGuide/chap_repo.tex @@ -34,10 +34,6 @@ \section{What is included in the repository?} .3 config/\DTcomment{contains the CCPP prebuild config}. .3 suites/\DTcomment{contains suite definition files}. .3 physics\_namelists\DTcomment{contains physics namelist files associated with suites}. - .2 external/. - .3 bacio\DTcomment{NCEP library bacio (needed for GFS physics)}. - .3 sp\DTcomment{NCEP library sp (needed for GFS physics)}. - .3 w3nco\DTcomment{NCEP library w3 (needed for GFS physics and SCM infrastructure)}. .2 scm/. .3 bin/\DTcomment{build directory (initially empty; populated by cmake)}. .3 data/. diff --git a/scm/doc/TechGuide/main.pdf b/scm/doc/TechGuide/main.pdf index 8a816df6..d7ecaca3 100644 Binary files a/scm/doc/TechGuide/main.pdf and b/scm/doc/TechGuide/main.pdf differ