Sign inSign up

dhardestylewis/geoflood_docker

By dhardestylewis

•Updated over 4 years ago

TauDEM, GRASS GIS 7.8.5, MVAPICH2.3, Conda environments

Image
2

1.6K

dhardestylewis/geoflood_docker repository overview

⁠Dockerfile for GeoFlood

TauDEM's InunMap & CatchHydroGeo is supported and compiles successfully by this Dockerfile.

This Dockerfile⁠ and dhardestylewis/taudem_docker⁠'s Dockerfile⁠ can be used as line-by-line installation instructions for TauDEM and GeoFlood's software dependencies.

Note: this GeoFlood Docker image does not contain a copy of GeoFlood itself. This image provides the software dependencies to GeoFlood. It will be necessary to separately install GeoFlood, whether within a GeoFlood container or separately on the host computer.

The general installation steps to get GeoFlood going:

  • Pull the GeoFlood Docker image
  • Clone the GeoFlood repository
  • Initiate a GeoFlood container, mounting the location of the GeoFlood repository and the parent GeoFlood input/output directories
  • Run GeoFlood and TauDEM functions from within the GeoFlood container

The following instructions are for Docker. Instructions for Singularity are be low.

Note: In these instructions, we assume the current working directory ($PWD) contains the cloned GeoFlood repository and the parent GeoFlood input/output directories.

GeoFlood commands may be run as one-off commands using this Docker image using the following shell command as a template:

docker run --name geoflood_bash --rm -i -t --mount type=bind,sour
ce="$(pwd)",target="/mnt/host" dhardestylewis/geoflood_docker:tacc python3 pygeonet_nonlinear_filter.py
fel.tif

or multiple GeoFlood commands may be run in sequence bringing up the Docker image once for all commands using the following shell command as a template:

docker run --name geoflood_bash --rm -i -t --mount type=bind,source="$(pwd)
",target="/mnt/host" dhardestylewis/geoflood_docker:tacc bash geoflood_commands.sh

where geoflood_commands.sh is written according to this template:

#!/bin/bash
python3 pygeonet_nonlinear_filter.py

Singularity instructions.

The Singularity pull command is similar to the Docker pull command:

singularity pull \
    --name geoflood.sif \
    docker://dhardestylewis/geoflood_docker:tacc

Once pulled, a one-off GeoFlood command using Singularity can be issued:

singularity exec \
    geoflood.sif \
    python3 pygeonet_nonlinear_filter.py

An interactive shell in the Singularity container may be used for troubleshooting or debugging:

singularity exec \
    geoflood.sif \
    bash

GeoFlood combined with other commands in a shell script

Note: In these instructions, we assume the current working directory ($PWD) contains the cloned GeoFlood repository and the parent GeoFlood input/output directories.

GeoFlood may be wrapped in a shell script and run using Docker:

docker run \
    --name geoflood_bash \
    --rm \
    -i \
    -t \
    dhardestylewis/geoflood_docker:tacc \
    --mount type=bind,source="$(pwd)",target="/mnt/host" \
    bash -c './geoflood_commands.sh'

where the file geoflood_commands.sh may be written as:

#!/bin/bash

## Execute GeoFlood
python3 pygeonet_nonlinear_filter.py

To do the same using Singularity, execute:

singularity exec \
    geoflood.sif \
    bash -c './geoflood_commands.sh'

where geoflood_commands.sh is written as above.

Tag summary

Content type

Image

Digest

Size

1.7 GB

Last updated

over 4 years ago

docker pull dhardestylewis/geoflood_docker