Skip to main content

Flood inundation map (FIM) benchmarking utilities: preprocessing the floodmap to a standardized format before uploading to the FIMbench database, S3 database interaction, and querying for FIMbench.

Project description

FIMbench

FIMbench — an Extensive Benchmark Flood Inundation Mapping Database

Release Issues License: GPL v3
Ruff GUI live
PyPI version PyPI Downloads

FIMbench - an Extensive Benchmark Flood Inundation Mapping Database


SDML Logo FIMbench is an extensive, multi-tier, multi-source benchmark Flood Inundation Mapping (FIM) database and the toolkit that powers it. It brings benchmark flood maps from many sources into one standardized, programmatically queryable database, and connects seamlessly to evaluation frameworks such as FIMeval so model predictions can be benchmarked against as many reliable reference maps as possible. It is developed under the Surface Dynamics Modeling Lab (SDML) at The University of Alabama as part of a project funded by the Cooperative Institute for Research to Operations in Hydrology (CIROH).

Background


Reliable evaluation of flood inundation models depends on having reliable benchmark maps to evaluate against — and those maps are scattered across many sources, formats, resolutions, and levels of confidence. FIMbench consolidates them into a single extensive benchmark database that is multi-source (remote-sensing-derived maps, high-resolution airborne imagery, machine-learning-derived maps, and more) and multi-tier (organized by source, confidence, and resolution), so users can reason about which benchmark to trust for a given location and event.

Beyond storing data, FIMbench is built to be used programmatically. The fimbench Python package lets you query the database to discover what benchmark maps exist for a region or event, access and download the matching assets, and feed them straight into an evaluation workflow. This makes FIMbench seamlessly connected to evaluation frameworks such as FIMeval — the standardized maps it serves are evaluation-ready, enabling robust benchmarking of model predictions against as many reference maps as possible, automatically and at scale.

In one toolkit, FIMbench standardizes raw benchmark flood maps to a common format, builds the tiles and web content consumed by the GUI, and publishes everything into the database. The published data is served through the FIM Database and explored interactively in the live FIMbench GUI.

How the data is created

FIMbench data creation flowchart

Architecture

fimbench is deployed as Python library organised into four groups that follow the FIM data lifecycle- content is created in one group and pushed out by another, with a single shared S3 access layer.

FIMbench architecture

The codebase is as follows:

fimbench/
├── docs/                        # documentation + per-module notebooks
├── assets/                      # logos, diagrams, screenshots
├── src/fimbench/
│   ├── processing_floodmap/     # raw flood map -> standardized, DB-compatible artifact
│   ├── webcontent_utils/        # CREATE catalog, tiles & web content
│   ├── query/                   # QUERY availability + download assets
│   └── publish/                 # PUSH content to S3 / ArcGIS Online (incl. the S3 layer)
└── tests/

For the detailed architecture — group responsibilities, dependency direction, and design principles — see ./docs/architecture.md.

FIMbench in the web- GUI

Alongside programmatic access, the benchmark database can be explored visually through the live FIMbench GUI, built on the CIROH Tethys Platform. Explore it at tethys.ciroh.org/apps/fimbench-gui and read more in the GUI docs.

FIMbench GUI — intro page

The landing page introduces the database and its scope, giving newcomers a quick sense of what benchmark flood maps are available and how the collection is organized.

FIMbench GUI — interactive map with filters

The interactive map lets users browse the full extent of the database and filter benchmark maps by source, location, and event — making it easy to find the right reference map across the multi-source, multi-tier collection.

FIMbench GUI — flood extent visualization

Selecting a benchmark renders its flood extent visualization on the map, so the inundated area can be inspected in detail and compared against the underlying terrain and surrounding layers.

FIMbench GUI — documentation page

The built-in documentation page explains the data sources, methodology, and how to work with the database — both interactively through the GUI and programmatically with the fimbench package.

Usage

Install and set up the package by following docs/getting-started.md.

Each lifecycle stage has a runnable notebook walkthrough under docs/:

Notebook Stage
fimbench_processingfloodmap.ipynb Standardize a raw flood map into a DB-compatible artifact
fimbench_webcontent.ipynb Build the catalog, make tiles & web content
fimbench_query.ipynb Query availability and download assets
fimbench_publish.ipynb Push catalog/tiles to S3 and extents to ArcGIS Online

Citing this tool

  1. Cohen, S., Baruah, A., Nikrou, P., Tian, D., & Liu, H. (2025). Toward robust evaluations of flood inundation predictions using remote sensing derived benchmark maps. Water Resources Research, 61(8), e2024WR039574.
  2. Munasinghe, D., Cohen, S., Tian, D., Liu, H., Baruah, A., and Devi, D. (2025). A Database of Flood Maps using high-resolution Airborne Imagery and Machine Learning Models. In: CIROH Developers' Conference, May 28–30, 2025.
  3. Devi, D., Dhital, S., Munasinghe, D., Cohen, S., Baruah, A., Chen, Y., ... & Pruitt, C. (2025). A Framework for the Evaluation of Flood Inundation Predictions Over Extensive Benchmark Databases.
  4. Tian, D., Liu, H., Wang, L., Cohen, S., Thapa, P. (2024). Enhancing satellite image-derived flood maps with hydrologically guided region growing method and high-resolution DEMs. Chapman Conference on Remote Sensing of the Water Cycle.

Contributing

Contributions are welcome- see CONTRIBUTING.md for how to set up a development environment, run the tests and linters, and submit changes.

Acknowledgements


CIROH Logo Funding for this project was provided by the National Oceanic & Atmospheric Administration (NOAA), awarded to the Cooperative Institute for Research to Operations in Hydrology (CIROH) through the NOAA Cooperative Agreement with The University of Alabama.
We would like to acknowledge Aquaveo, who helped develop the interactive FIMbench GUI on the CIROH Tethys Platform.

For More Information


Contact

Dr. Sagy Cohen (sagy.cohen@ua.edu), Supath Dhital (sdhital@ua.edu), Dipsikha Devi (ddevi@ua.edu)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fimbench-0.1.0.tar.gz (63.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fimbench-0.1.0-py3-none-any.whl (86.9 kB view details)

Uploaded Python 3

File details

Details for the file fimbench-0.1.0.tar.gz.

File metadata

  • Download URL: fimbench-0.1.0.tar.gz
  • Upload date:
  • Size: 63.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.8

File hashes

Hashes for fimbench-0.1.0.tar.gz
Algorithm Hash digest
SHA256 6153eed39016b14cfe83c966eb106223eceadd86dd070f625541fe6821539a47
MD5 c1fd2664f5353bc7a7e24fb5b76d5fa9
BLAKE2b-256 b295b6a8bb4efbce4ba1d3ee83dac0e927c853a494c04f325a7717bd86463f9e

See more details on using hashes here.

File details

Details for the file fimbench-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: fimbench-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 86.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.8

File hashes

Hashes for fimbench-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4cb08d27dfbb8b6340c7dee0321cf472bbaf84f6abe241404511c5e531af92be
MD5 f61416f9b5081ebdf2f2a904375ffe75
BLAKE2b-256 4f12bb47cde0031791bb66be84f7790dbc9380157d5dfdeb32ee41539450b0a0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page