HydroCouple#
HydroCouple — Python bindings for the component-based modeling framework interface standard.
HydroCouple is a header-only C++20 interface standard for coupling
hydrologic, hydraulic, and environmental model components, designed for
HPC, GPU, and cloud execution. The hydrocouple package mirrors the
v2.0.0 standard as Python abstract base classes, and the _hydrocouple
Cython bridge connects Python to compiled C++ components — in both
directions.
Field data moves through the typed hyperslab data plane
(get_values_into() /
set_values_from()) as NumPy
arrays: an ndarray carries exactly what the C++ BufferDescriptor
encodes — data pointer, dtype, shape, byte strides — so the bridge
marshals zero-copy in both directions and releases the GIL around C++
compute.
Subclass the hydrocouple.core ABCs exactly as C++
developers implement the pure-virtual interfaces, then hand the
component to C++ workflows through PyComponentBridge.
hydrocouple.loader.load() brings a compiled component into
Python; exchange fields as NumPy arrays through the zero-copy
hyperslab API.
Where to start#
Install, load or implement a component, exchange NumPy arrays.
Full class and method reference for every module: core, temporal, spatial, spatiotemporal, distributed, helpers, loader.
The C++ side of this site — the interface standard itself, with the full
Doxygen reference — lives at the site root:
HydroCouple C++ interface docs
(or ../index.html when browsing this co-deployed site).