An open-source Python library interfacing the Fortran Spatially distributed Modeling and ASsimilation for Hydrology platform.
Project description
smash (Spatially distributed Modeling and ASsimilation for Hydrology) is a Python library, interfaced with an efficient Fortran computational engine, that provides user-friendly routines for both hydrological research and operational applications.
The platform enables the combination of vertical and lateral flow operators through either process-based conceptual models or hybrid physics-AI approaches incorporating Artificial Neural Networks (ANNs). It is designed to simulate discharge hydrographs and hydrological states at any spatial location within a basin, and to reproduce the hydrological responses of contrasting catchments by leveraging spatially distributed meteorological forcings, physiographic data, and hydrometric observations.
- Documentation: https://smash.recover.inrae.fr
- Source code: https://github.com/DassHydro/smash
- Contributing: https://smash.recover.inrae.fr/contributor_guide
- Citations and related papers: https://smash.recover.inrae.fr/citations
- Scientific references: https://smash.recover.inrae.fr/bibliography
- Bug reports: https://github.com/DassHydro/smash/issues
smash offers a range of advanced calibration techniques, including Variational Data Assimilation (VDA), Bayesian estimation for uncertainty quantification, and machine learning methods, all within a spatialized and differentiable modeling framework. This is enabled by a numerical adjoint model automatically generated using the Tapenade differentiation tool, which provides accurate gradients for high-dimensional, non-linear optimization and efficient model learning.
- Tapenade website: https://team.inria.fr/ecuador/en/tapenade
- Tapenade article: https://doi.org/10.1145/2450153.2450158
- Tapenade source code: https://gitlab.inria.fr/tapenade/tapenade.git
Whether you are managing water resources or conducting research in hydrological modeling, smash can provide an easy-to-use yet powerful solution to support your work. Refer to the Getting Started guide for installation instructions and an introduction to its features.
How to cite smash
For smash software use, please cite:
Colleoni, F., Huynh, N. N. T., Garambois, P.-A., Jay-Allemand, M., Organde, D., Renard, B., De Fournas, T., El Baz, A., Demargne, J., and Javelle, P. (2025). SMASH v1.0: A Differentiable and Regionalizable High-Resolution Hydrological Modeling and Data Assimilation Framework. Geosci. Model Dev., 18, 2025, 7003–7034. https://doi.org/10.5194/gmd-18-7003-2025.
BibTeX entry:
@article{Colleoni2025smash,
author = {Colleoni, François and Huynh, Ngo Nghi Truyen and Garambois, Pierre-André and Jay-Allemand, Maxime and Organde, Didier and Renard, Benjamin and De Fournas, Thomas and El Baz, Apolline and Demargne, Julie and Javelle, Pierre},
title = {SMASH v1.0: a differentiable and regionalizable high-resolution hydrological modeling and data assimilation framework},
journal = {Geoscientific Model Development},
volume = {18},
year = {2025},
number = {19},
pages = {7003--7034},
doi = {10.5194/gmd-18-7003-2025}
}
Please also cite the relevant references corresponding to the algorithms and methods used:
-
Hybrid physics-AI framework for learning regionalization and refining internal water fluxes of algebraic or ordinary differential equations (ODEs)-based solvers:
Huynh, N. N. T., Garambois, P.-A., Renard, B., Colleoni, F., Monnier, J., and Roux, H. (2025). A distributed hybrid physics–AI framework for learning corrections of internal hydrological fluxes and enhancing high-resolution regionalized flood modeling. Hydrol. Earth Syst. Sci., 29, 3589–3613. https://doi.org/10.5194/hess-29-3589-2025.
Huynh, N. N. T., Garambois, P.-A., Colleoni, F., and Monnier, J. (2025). Hybrid Physics-AI and Neural ODE Approaches for Spatially Distributed Hydrological Modeling. EGUsphere, 2025, 1–24. https://doi.org/10.5194/egusphere-2025-2797.
-
Hybrid Data Assimilation and Parameter Regionalization (HDA-PR) approach:
Huynh, N. N. T., Garambois, P.-A., Colleoni, F., Renard, B., Roux, H., Demargne, J., Jay-Allemand, M., and Javelle, P. (2024). Learning Regionalization Using Accurate Spatial Cost Gradients Within a Differentiable High-Resolution Hydrological Model: Application to the French Mediterranean Region. Water Resour. Res., 60, e2024WR037544. https://doi.org/10.1029/2024WR037544.
-
Signatures, multi-criteria calibration, hydrograph segmentation algorithm:
Huynh, N. N. T., Garambois, P.-A., Colleoni, F., and Javelle, P. (2023). Signatures-and-sensitivity-based multi-criteria variational calibration for distributed hydrological modeling applied to Mediterranean floods. J. Hydrol., 625, 129992. https://doi.org/10.1016/j.jhydrol.2023.129992.
-
Fully distributed variational calibration:
Jay-Allemand, M., Javelle, P., Gejadze, I., Arnaud, P., Malaterre, P.-O., Fine, J.-A., and Organde, D. (2020). On the potential of variational calibration for a fully distributed hydrological model: application on a Mediterranean catchment. Hydrol. Earth Syst. Sci., 24, 5519–5538. https://doi.org/10.5194/hess-24-5519-2020.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file hydro_smash-1.1.3.tar.gz.
File metadata
- Download URL: hydro_smash-1.1.3.tar.gz
- Upload date:
- Size: 21.7 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
12be0901677201240445314487944dc640f85a49514320dc9f09fe953265a155
|
|
| MD5 |
7c4b266d2abf8be046661783503eb115
|
|
| BLAKE2b-256 |
bdcc74b2f79c1bdbd2f169f110754215ac6a20d872302ae3faf4f45b35695b87
|
File details
Details for the file hydro_smash-1.1.3-cp312-cp312-win_amd64.whl.
File metadata
- Download URL: hydro_smash-1.1.3-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 15.5 MB
- Tags: CPython 3.12, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b159b8c9c309d878cefd47717e2457dfb13aa717544576d62d76e0f381849267
|
|
| MD5 |
a5977ff5dcbcc9c3514dad5594a2ddda
|
|
| BLAKE2b-256 |
ae14246d2b45bbb296295aaa7ecba8abe616044c3bb970dfcebe0b4113258e84
|
File details
Details for the file hydro_smash-1.1.3-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: hydro_smash-1.1.3-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 16.5 MB
- Tags: CPython 3.12, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
85b8037482c7b7b08b200463f824b3ef023b7852891a6470d93f02d2f891a162
|
|
| MD5 |
73abf6bb83788a92afe0a5a962fe1ad0
|
|
| BLAKE2b-256 |
4cd3ecd2d132a9549b1a21280f739de57804c4b37c9febe9b51ae03cb3fa68c9
|
File details
Details for the file hydro_smash-1.1.3-cp312-cp312-macosx_15_0_arm64.whl.
File metadata
- Download URL: hydro_smash-1.1.3-cp312-cp312-macosx_15_0_arm64.whl
- Upload date:
- Size: 16.2 MB
- Tags: CPython 3.12, macOS 15.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1dc429d98d0f3e3ab04f7d27d77326d06433d6571116cc5e025eeff53e63aef1
|
|
| MD5 |
df1ddf340f583a7bac34601cac5a3249
|
|
| BLAKE2b-256 |
ff6f928b490bc19245cf4ab012f84df6e6389b17ff285068a021e246593c5664
|
File details
Details for the file hydro_smash-1.1.3-cp311-cp311-win_amd64.whl.
File metadata
- Download URL: hydro_smash-1.1.3-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 15.6 MB
- Tags: CPython 3.11, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
024e381aa158b590b08abb279514da1482167c6509a814b809b660fbabb9f358
|
|
| MD5 |
e7e516f43eef14121c0a40faa1ba5aaf
|
|
| BLAKE2b-256 |
64fa24bb3f791caf8398c917d3c165ebfc0e3eaaa39bda8753090ce49b2ea484
|
File details
Details for the file hydro_smash-1.1.3-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: hydro_smash-1.1.3-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 16.5 MB
- Tags: CPython 3.11, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a7910dc629e98ce65b3430af87694bcf06bf138a9617e417da55d318353af38f
|
|
| MD5 |
87646ffb1cf2c81289527117caae4b4c
|
|
| BLAKE2b-256 |
ec8bafc26c4d608fd890a37cff4d969452d78cd8a914efb908b0c84ff3f2facb
|
File details
Details for the file hydro_smash-1.1.3-cp311-cp311-macosx_15_0_arm64.whl.
File metadata
- Download URL: hydro_smash-1.1.3-cp311-cp311-macosx_15_0_arm64.whl
- Upload date:
- Size: 16.2 MB
- Tags: CPython 3.11, macOS 15.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
62fd3ed9742ce53401a2d70d398744adf1eea104421dd7eaa64cc38f2bd8f808
|
|
| MD5 |
63f260add4adb3ee302f5ba7334ad999
|
|
| BLAKE2b-256 |
f31d1909260e854b7e1bf12e8cdb2a40228520e3dbf397dea66e3f0f935b00e9
|
File details
Details for the file hydro_smash-1.1.3-cp310-cp310-win_amd64.whl.
File metadata
- Download URL: hydro_smash-1.1.3-cp310-cp310-win_amd64.whl
- Upload date:
- Size: 15.5 MB
- Tags: CPython 3.10, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0a5baf549663850300ceb9ebe136fd1d8b5b4987ec8408e30876304086520f99
|
|
| MD5 |
628b51201af6cd8976ba7038d95c9c62
|
|
| BLAKE2b-256 |
54be39df653ed953b7a9e0175c153b8350b9fa84f93ad2d65792bd23e4be9719
|
File details
Details for the file hydro_smash-1.1.3-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: hydro_smash-1.1.3-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 16.5 MB
- Tags: CPython 3.10, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
97492c279b798232031fd9c88f5bb85e5f70f8bd437c73842ebdebc9e224f269
|
|
| MD5 |
06c6775e5ea2bc2be2d06cb3e2c1be6e
|
|
| BLAKE2b-256 |
ab38c432c055f82b79958bcfce1bb0dd7ace3b338266d30dcf60c4eb76d7c43f
|
File details
Details for the file hydro_smash-1.1.3-cp310-cp310-macosx_15_0_arm64.whl.
File metadata
- Download URL: hydro_smash-1.1.3-cp310-cp310-macosx_15_0_arm64.whl
- Upload date:
- Size: 16.2 MB
- Tags: CPython 3.10, macOS 15.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
af325cb5e79fdd0058378a50c7d733b7560f3ee54cb372bd1892b02854ae2a6d
|
|
| MD5 |
a113d158900446d55e285ab399da1078
|
|
| BLAKE2b-256 |
524351ffa87ebffddc5ee514b480480033194964bb7d8d63d42cbd6284069cb2
|
File details
Details for the file hydro_smash-1.1.3-cp39-cp39-win_amd64.whl.
File metadata
- Download URL: hydro_smash-1.1.3-cp39-cp39-win_amd64.whl
- Upload date:
- Size: 15.5 MB
- Tags: CPython 3.9, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ce65a2792fadf8d2e3bd581685040aef10280d2bbb6ef499039f320fe6d3c554
|
|
| MD5 |
2df015d6fbe9008cce5573e440477c7d
|
|
| BLAKE2b-256 |
8ba15f229d3f92a27a7b802ad904bfeaa828ac97f2b4713753fc789ca631a7f2
|
File details
Details for the file hydro_smash-1.1.3-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: hydro_smash-1.1.3-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 16.5 MB
- Tags: CPython 3.9, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eac66c65ac568d3009e106fd2ae74e59cab02222e7ae96700ae2635943beafb5
|
|
| MD5 |
ea9e1a6ea22d0f457f9347c9667eb37b
|
|
| BLAKE2b-256 |
04664619bceb3a8498a4f9968e91c0cc24ab1d5bc7dd8cef20535cde06233705
|
File details
Details for the file hydro_smash-1.1.3-cp39-cp39-macosx_15_0_arm64.whl.
File metadata
- Download URL: hydro_smash-1.1.3-cp39-cp39-macosx_15_0_arm64.whl
- Upload date:
- Size: 16.2 MB
- Tags: CPython 3.9, macOS 15.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
af413a5626075decf27543be7ca3ca67f6cc4bb7118820847484b7ee03c3ffac
|
|
| MD5 |
6b9c0a55124975b6df13af3547d85bb3
|
|
| BLAKE2b-256 |
755b84fdc00e2b29c73855ed3daf1d2fe3210f6fe25bb9b1b3e0a876fac125f1
|