Interface definitions · Data standards

The open contract that makes coupling possible

Integration comes from an agreement about how models describe themselves, exchange data, and march through time. The HydroCouple interface definitions are that agreement: a C++ specification, building on OpenMI 2.0 concepts and extending them for standard geospatial data and high-performance computing.

Why standards

Data standards are infrastructure

Public water infrastructure is increasingly operated through its digital representation. When that representation is locked in proprietary formats and closed couplings, the public loses the ability to inspect, reproduce, and extend the models that govern real decisions about flooding, overflows, and water quality. Open interface definitions make the digital layer as public as the pipes.

Reproducible

A coupled composition is a declared artifact listing which components, which connections, and which data. Results can be audited and rerun.

Vendor-neutral

Any conforming component can participate, open or commercial. The standard levels the field for every participant.

Extensible

New processes such as water quality, ecology, and energy join the composition by implementing the interfaces. Existing models stay as they are.

The specification

Core interface definitions

The specification is organized around a small set of contracts. A model becomes a component by implementing them; the runtime composes components into coupled simulations.

Component model

  • IModelComponentThe unit of composition: initialize, validate, prepare, update, finish, a common lifecycle every model exposes.
  • IComponentInfoSelf-description: identity, version, vendor, license, and the inputs/outputs a component offers.
  • IArgumentTyped configuration passed to a component before execution: file paths, parameters, options.
  • ICloneableModelComponentComponent cloning for parallel ensembles, calibration, and uncertainty runs on HPC.

Data exchange

  • IOutput / IInputExchange items: the quantities a component provides or consumes, with units, dimensions, and value definitions.
  • IAdaptedOutputOn-the-wire transformation (temporal interpolation, spatial mapping, unit conversion) between producer and consumer.
  • IGeometry · IPolyhedralSurface · IRasterStandard geospatial data types (Simple Features-aligned) so exchanged values carry their geometry.
  • ITime · ITimeSeriesTemporal semantics for time-marching co-simulation and time series exchange.
Component A e.g. Open-Source SWMM 6.0 IModelComponent IOutput: node flooding IAdaptedOutput interpolate · map · convert Component B e.g. 2D overland flow IModelComponent IInput: boundary inflow Values flow producer → adapter → consumer each time step; geometry, units, and time semantics travel with the data.
Coupling in one picture: components declare exchange items; adapted outputs reconcile space, time, and units between them. No custom glue code, no file-based handoffs.
Data standards

Standard formats at every boundary

HydroCouple builds on established open standards, so compositions interoperate with the GIS, sensor, and scientific-data tooling agencies and utilities already run.

Geospatial

OGC Simple Features

Points, curves, polygons, polyhedral surfaces, and TINs as the shared geometry model for exchanged quantities.

Storage

GeoPackage / SQLite

Model inputs, results, and observed data in a single portable, queryable container, the native I/O strategy of Open-Source SWMM 6.0.

Scientific data

NetCDF / HDF5

Gridded forcing, reanalysis products, and multidimensional results with rich, self-describing metadata.

Interfaces

OpenMI 2.0 lineage

Built on the OpenMI standard's concepts, extended for geospatial data types, HPC execution, and customizable exchange workflows.

Modern computing

Designed for HPC and the cloud

Digital water infrastructure has to answer operational questions (how big, how fast, how uncertain) that a single desktop run cannot. The interface definitions were designed from the start for parallel and distributed execution.

Component cloning

Spawn independent copies of a composition for multi-objective calibration, ensemble forecasting, and Monte Carlo uncertainty analysis.

Workflow control

Customizable data-exchange workflows (loop-driven time marching, iterative coupling, optimization drivers) without modifying the components themselves.

Portable acceleration

Engine-level parallel backends (OpenMP, CUDA, HIP, SYCL via Kokkos in Open-Source SWMM 6.0) behind the same component interface.