Skip to main content

An open-source Python library interfacing the Fortran Spatially distributed Modeling and ASsimilation for Hydrology platform.

Project description


PyPI DOI

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.

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.

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. EGUsphere, 2025, 1–36. https://doi.org/10.5194/egusphere-2025-690.

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 = {EGUsphere},
    volume  = {2025},
    year    = {2025},
    pages   = {1--36},
    doi     = {10.5194/egusphere-2025-690}
}

Please also cite the relevant references corresponding to the algorithms and methods used:

  • Hybrid process-parameterization for water flux corrections:

    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. EGUsphere, 2025, 1–34. https://doi.org/10.5194/egusphere-2024-3665.

  • Hybrid regionalization, HDA-PR algorithm:

    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 Resources Research, 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. Journal of Hydrology, 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. Hydrology and Earth System Sciences, 24, 5519–5538. https://doi.org/10.5194/hess-24-5519-2020.

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

hydro_smash-1.1.2.tar.gz (21.7 MB view details)

Uploaded Source

Built Distributions

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

hydro_smash-1.1.2-cp312-cp312-win_amd64.whl (15.5 MB view details)

Uploaded CPython 3.12Windows x86-64

hydro_smash-1.1.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

hydro_smash-1.1.2-cp312-cp312-macosx_11_0_arm64.whl (16.2 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

hydro_smash-1.1.2-cp312-cp312-macosx_10_9_x86_64.whl (17.1 MB view details)

Uploaded CPython 3.12macOS 10.9+ x86-64

hydro_smash-1.1.2-cp311-cp311-win_amd64.whl (15.5 MB view details)

Uploaded CPython 3.11Windows x86-64

hydro_smash-1.1.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.4 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

hydro_smash-1.1.2-cp311-cp311-macosx_11_0_arm64.whl (16.2 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

hydro_smash-1.1.2-cp311-cp311-macosx_10_9_x86_64.whl (17.1 MB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

hydro_smash-1.1.2-cp310-cp310-win_amd64.whl (15.5 MB view details)

Uploaded CPython 3.10Windows x86-64

hydro_smash-1.1.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

hydro_smash-1.1.2-cp310-cp310-macosx_11_0_arm64.whl (16.2 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

hydro_smash-1.1.2-cp310-cp310-macosx_10_9_x86_64.whl (17.1 MB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

hydro_smash-1.1.2-cp39-cp39-win_amd64.whl (15.5 MB view details)

Uploaded CPython 3.9Windows x86-64

hydro_smash-1.1.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.3 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

hydro_smash-1.1.2-cp39-cp39-macosx_11_0_arm64.whl (16.2 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

hydro_smash-1.1.2-cp39-cp39-macosx_10_9_x86_64.whl (17.1 MB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

File details

Details for the file hydro_smash-1.1.2.tar.gz.

File metadata

  • Download URL: hydro_smash-1.1.2.tar.gz
  • Upload date:
  • Size: 21.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for hydro_smash-1.1.2.tar.gz
Algorithm Hash digest
SHA256 6deaa8ac22a1817e95dbe4f128e2870f9c0dbd4f22f85a9209fd1dead76a0335
MD5 b2634b41e6ece275f89a94e1c69299b0
BLAKE2b-256 43dc4ca69995d04ec8ea624863e37027446ec13a50d3d41602654628e58a0038

See more details on using hashes here.

File details

Details for the file hydro_smash-1.1.2-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for hydro_smash-1.1.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 e8ce100c06cad07db64adb2e1f604ecfe2957657a0bacc0d871ad1c3be7b98e8
MD5 93252f18387d3d4126e6d1be54d60b89
BLAKE2b-256 ad09ef4210b3c7b21b3ae715f16187251205a30653a346f7ec0f05318fd75b46

See more details on using hashes here.

File details

Details for the file hydro_smash-1.1.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for hydro_smash-1.1.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5aa19d1efe46967371ed7448393560d7eb9c5cfe7ba0f48f6127460247d47317
MD5 15fce375fcf279bb72e4e1b1c0843a8a
BLAKE2b-256 23037fd312b28b4b845b7da8c6fd647f5ff14f7ba9d0a6d610c835d2a93b89b7

See more details on using hashes here.

File details

Details for the file hydro_smash-1.1.2-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for hydro_smash-1.1.2-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9dd45096ee891c50d6722edf1a8e7133cb939f03a46dc2e8e2587cbc72906911
MD5 1ac4aaef6c2767154b0e3336fe6001e6
BLAKE2b-256 b0da9603f156690b9614f1aa15a725588cd5c9b2d580c407b60e23bc5cd68322

See more details on using hashes here.

File details

Details for the file hydro_smash-1.1.2-cp312-cp312-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for hydro_smash-1.1.2-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 db73f211ceaec0535df5db854a356615f03a7b033a5b9e5128e75c730e48a94c
MD5 6536dfdc8bd24229ba073c51fa6ebc2d
BLAKE2b-256 b06132e56f738ce5b851ade1131f83e0582964b5069ef4b03b2c3574ddd69523

See more details on using hashes here.

File details

Details for the file hydro_smash-1.1.2-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for hydro_smash-1.1.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 6c2faf3152234ffd3298c42a8762fdd827b5aa209501b295d770abf9e8fea48f
MD5 ecadd5668114c57e0492d2420f2a78b1
BLAKE2b-256 76cc781495e3bbbe5c7dd177deceba442fb49cd2b0e6ed0dd38b17bcac08e4d0

See more details on using hashes here.

File details

Details for the file hydro_smash-1.1.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for hydro_smash-1.1.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d119bc6abc0482bafcf8941c39f0a6500298b3d8f8c966aa79e1c7f2b22ea07e
MD5 eefe569429941a39f67ff79ae6223350
BLAKE2b-256 51ba1ac4daaa411851fb3921a8f7976b07dbcaa7b51daa6cac5cd4b74f65bf09

See more details on using hashes here.

File details

Details for the file hydro_smash-1.1.2-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for hydro_smash-1.1.2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ac378f8d2a036da6744827f5f425472d09e4c408a609fcdd333ab624947b07e7
MD5 ef80e6c813b0ee4dfb073cba9186550e
BLAKE2b-256 fcea7dfa92f94074cd4679e1841993d8195f4c33ddc00e0b4fd6ac9570a37329

See more details on using hashes here.

File details

Details for the file hydro_smash-1.1.2-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for hydro_smash-1.1.2-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 17f71cea2672f3477f525f31fc0317a2085f02504a558efd404d6a39cbb09482
MD5 5944e868652bab53970fde58e78c2a6c
BLAKE2b-256 667b8af048fafd65ce4b49c939eff71c64df05f6acb4d16e41f4f930455a400b

See more details on using hashes here.

File details

Details for the file hydro_smash-1.1.2-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for hydro_smash-1.1.2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 5b4755a2012fa0ec078c4a41b9e40da95686747f42f7ac0c4b69c0ccaee73feb
MD5 034b25b2787c78b435f470a1c5168afb
BLAKE2b-256 c9be4c5206bbab4cdc45dba0c4d2fe911e451c4ffd7a34b014952f29a38b7924

See more details on using hashes here.

File details

Details for the file hydro_smash-1.1.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for hydro_smash-1.1.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6fd65db05b24639a37b2b314b26664abd4de1db73371a694933c5f48d8593011
MD5 e1f01c2b8dbae21abe83fe6876df8cd6
BLAKE2b-256 64a7eca675ab358f3871141931a163f624598004721d6ef116c8d55fa3c3bd96

See more details on using hashes here.

File details

Details for the file hydro_smash-1.1.2-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for hydro_smash-1.1.2-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 cf8665a20e4abbfff8e2c6845e297e098a53380343c0cc59ae5e5ea4e83cc18b
MD5 d8d38413660fe6f6193a57b8c2b0800f
BLAKE2b-256 ae7000f1508610c1d43b1a1d1124cad14821518b9f8a8046df7657f7694ab5a1

See more details on using hashes here.

File details

Details for the file hydro_smash-1.1.2-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for hydro_smash-1.1.2-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 f5011d6aa9c1580928c921ad4f6b1d235ae3859548fc956a7ad4a55cd5d19ae0
MD5 35a36b03267ba9751d26296efeebe1e0
BLAKE2b-256 d48421fad364fcd4f21ae21bda6f0da413e1bc41423816cd7e27d7ac7688bab2

See more details on using hashes here.

File details

Details for the file hydro_smash-1.1.2-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: hydro_smash-1.1.2-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.0.1 CPython/3.12.8

File hashes

Hashes for hydro_smash-1.1.2-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 04d342356c7b73855e54b31d54ebaa63f72e7eb37fbc69905ed038f1191bb339
MD5 55c38dbc96a3e3cc4a7825b97fe6873b
BLAKE2b-256 f6b4dbd1016250e0151e828a7a51cbdd95b0f0b70c25ced569b1892cc24422ad

See more details on using hashes here.

File details

Details for the file hydro_smash-1.1.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for hydro_smash-1.1.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c77fc6e7fdc86633ec9500e488a1219fe9c6d3e7a475d35113f0f8bd4a443b10
MD5 fb29486eeb3b652a45e452abdc5ea85a
BLAKE2b-256 8ca19c93275e1aaafbed60b41a13181c59c919fa460d6ceebae45d3c31d0fe65

See more details on using hashes here.

File details

Details for the file hydro_smash-1.1.2-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for hydro_smash-1.1.2-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3163795d6d5127c9c208b13bb62485ff9cd455d66dad8ac25ee6263966623ec9
MD5 2882b53621cce12ab3cd1c8d63beb049
BLAKE2b-256 0251378e48836dc74a3de2a8795f77ba1103dc8d94c505ffa374a4cc0f00a4f8

See more details on using hashes here.

File details

Details for the file hydro_smash-1.1.2-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for hydro_smash-1.1.2-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 66622decfabc29275cad7b9719cd55795ddc2592d67d985d5671e7cd40ffcb11
MD5 982e2639032acc4d471d850d18b0784b
BLAKE2b-256 33537472d308e071ccdbc9228303a323d02a98681936019f4f544f2d8b4978ee

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