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 INSTALL.md for #281 #363

Merged
merged 1 commit into from
Mar 21, 2022
Merged
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
76 changes: 74 additions & 2 deletions INSTALL.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,77 @@
# Installation instructions

At present, a standard installation process is not supported.
At present, there is no supported standard installation process.

To use, first make sure all necessary [dependencies](doc/DEPENDENCIES.md) are installed, and then [build the main ngen target with CMake](doc/BUILDS_AND_CMAKE.md). Then run the executable, as described [here for basic use](README.md#usage) or [here for distributed execution](doc/DISTRIBUTED_PROCESSING.md#examples).
---

## Building and running with docker:

The quickest way to build and run NGEN is to follow what we do for our [model run testing](./docker/CENTOS_NGEN_RUN.dockerfile):

First we make a new directory:
`mkdir ngen && cd ngen`

Then clone the github repository:
`git clone https://github.com/NOAA-OWP/ngen.git`

Then we can build with docker:
`docker build . --file ./docker/CENTOS_NGEN_RUN.dockerfile --tag localbuild/ngen:latest`

## Building manually:

**Install the Linux required packages (package names shown for Centos 8.4.2105):**

`
yum install tar git gcc-c++ gcc make cmake python38 python38-devel python38-numpy bzip2 udunits2-devel texinfo
`

**Make a directory to contain all the NGEN items:**

`
mkdir ngen && cd ngen
`


**Download the Boost Libraries:**

`
curl -L -O https://boostorg.jfrog.io/artifactory/main/release/1.72.0/source/boost_1_72_0.tar.bz2 \
&& tar -xjf boost_1_72_0.tar.bz2 \
&& rm boost_1_72_0.tar.bz2
`

**Set the ENV for Boost and C compiler:**

`
set BOOST_ROOT="/boost_1_72_0"
`
`
set CXX=/usr/bin/g++
`

**Get the git submodules:**

`
git submodule update --init --recursive -- test/googletest
`
`
git submodule update --init --recursive -- extern/pybind11
`

**Build NGEN using cmake:**

`
cmake -B /ngen -S . &&
cmake --build . --target ngen
`

**Running the Model:**
`
./ngen data/catchment_data.geojson "" data/nexus_data.geojson "" data/example_realization_config.json
`

---

**Further information on each step:**

Make sure all necessary [dependencies](doc/DEPENDENCIES.md) are installed, and then [build the main ngen target with CMake](doc/BUILDS_AND_CMAKE.md). Then run the executable, as described [here for basic use](README.md#usage) or [here for distributed execution](doc/DISTRIBUTED_PROCESSING.md#examples).