tools and modules - JoshCu/NGIAB-Calibration-DevCon25 GitHub Wiki

Tools and Modules

This workshop leverages containerized environments to ensure consistency and ease of use. There are four tools used in combination to carry out the calibration workflow in the NGIAB ecosystem:

1. NGIAB (NextGen In A Box) Docker Image

The NGIAB Docker image provides a containerized and user-friendly solution for running the NextGen framework. It bundles the NextGen software, its dependencies, and necessary tools, allowing you to control inputs, configurations, and model execution on your local machine or other Docker-compatible environments.

Build/Source: The image is constructed using a Dockerfile which defines the operating system, installs required libraries, and packages the NextGen executables and associated scripts. The specific submodule for building this image is tools/NGIAB-CloudInfra, which contains the Dockerfile and build scripts.

Docker Hub: The latest NGIAB Docker image version used in this workshop is available on Docker-Hub as awiciroh/ngiab:devcon25.

2. NGEN-Cal Docker Image

NGEN-Cal refers to the supporting code and workflows designed for the automated calibration of NextGen model formulations. This workshop specifically utilizes its capabilities for calibration, employing parameter optimization algorithms - Dynamic Dimensioned Search (DDS).

Build/Source: While the core NGEN-Cal calibration logic is Python-based (source code found in the tools/ngen-cal submodule), for ease of use in this workshop, it's packaged within a Docker environment. A Docker image configured with NGEN-Cal and its dependencies for this workshop can be accessed from Docker Hub as awiciroh/ngiab-cal:devcon25.

3. NGIAB-Data-Preprocess

This tool prepares data to run a NextGen simulation by creating a run package that can be used with NGIAB. It uses geometry and model attributes from the v2.2 hydrofabric.

The raw forcing data sources it can process include:

4. NGIAB-Cal

This is a utility that works with the NGIAB folder structure. It automates the creation of a calibration directory with all necessary configuration files to run a modified version of ngen-cal.

The tool simplifies these key tasks:

  • Creating calibration configurations
  • Running the calibration process using Docker
  • Copying calibrated parameters back to your model configuration

The tool applies a standard hydrological modeling workflow, which involves warmup, calibration, and validation periods. The --warmup period is crucial for allowing the model to reach a stable state before its performance is evaluated against observed data.

Back to Home