docs.rs failed to build bmi-driver-0.0.3
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
bmi-driver
A parallel BMI (Basic Model Interface) orchestrator that dynamically loads and couples C, Fortran, and Python hydrological models. It reads NetCDF forcing data, resolves model dependencies, handles automatic unit conversion, and runs across many geographic locations in parallel.
Building
Feature flags: fortran, python, zarr (all enabled by default).
System dependencies
| Library | Purpose | Install |
|---|---|---|
libnetcdf |
Reading NetCDF forcing files | apt install libnetcdf-dev |
pkg-config |
Library discovery at build time | apt install pkg-config |
| Python dev headers | Only with python feature |
apt install python3-dev |
Usage
bmi-driver <data_dir> [OPTIONS]
| Flag | Description |
|---|---|
-j, --jobs N |
Number of parallel worker processes (default: CPU count) |
--units |
Print all unit conversion info and exit |
--minify |
Strip unused fields from realization.json and exit |
--node-start N |
First location index for this node (multi-node/SLURM) |
--node-count N |
Number of locations for this node (0 = all remaining) |
Data directory layout
<data_dir>/
config/
realization.json # Model chain configuration
*.gpkg # GeoPackage with location IDs
cat_config/<Model>/{{id}} # Per-location model configs
forcings/
forcings.nc # NetCDF forcing data
outputs/
bmi-driver/ # Output files written here
The GeoPackage must contain a divides table with a divide_id text column.
Configuration
Expects <data_dir>/config/realization.json defining the model chain, forcing source, and time range. Compatible with ngen realization configs.
See docs/configuration.md for all field reference tables and library usage examples.
Output
Output format is set via output_format in the config ("csv", "netcdf", or "zarr"). Default is CSV.
- CSV: One file per location at
outputs/bmi-driver/<location_id>.csv - NetCDF: Single
outputs/bmi-driver/results.ncwith dimensions[id, time] - Zarr: Single
outputs/bmi-driver/results.zarrstore with chunking[1, n_times]per variable
Documentation
| Document | Contents |
|---|---|
| docs/configuration.md | Config field reference tables, library usage |
| docs/module-types.md | bmi_c, bmi_fortran, bmi_python, SLOTH details |
| docs/features.md | Unit conversion, variable aliases, dependency resolution, config minification |
| docs/netcdf-forcing.md | NetCDF forcing file format spec |