Skip to content

Commit

Permalink
updating docs associated with removing internal NCEPlibs
Browse files Browse the repository at this point in the history
  • Loading branch information
grantfirl committed Jun 5, 2019
1 parent 01374c4 commit cfdfd86
Show file tree
Hide file tree
Showing 4 changed files with 33 additions and 5 deletions.
18 changes: 18 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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`
Expand Down
16 changes: 15 additions & 1 deletion scm/doc/TechGuide/chap_quick.tex
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
4 changes: 0 additions & 4 deletions scm/doc/TechGuide/chap_repo.tex
Original file line number Diff line number Diff line change
Expand Up @@ -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/.
Expand Down
Binary file modified scm/doc/TechGuide/main.pdf
Binary file not shown.

0 comments on commit cfdfd86

Please sign in to comment.