# OpenEurOtop
[](https://badge.fury.io/py/openeurotop)
[](https://pypi.org/project/openeurotop/)
[](https://opensource.org/licenses/MIT)
[](https://openeurotop.readthedocs.io/en/latest/?badge=latest)
[](https://github.com/Pavlishenku/OpenEurOtop/actions)
Implémentation Python des méthodes de calcul du guide EurOtop pour l'évaluation du franchissement de vagues sur les ouvrages côtiers.
> 🎉 **Version 1.0.0** - Première version stable de production !
## Description
Ce package fournit une implémentation complète des formules et méthodes décrites dans le manuel EurOtop (2018) pour le calcul :
- Du débit de franchissement moyen (mean wave overtopping discharge)
- Des facteurs de réduction pour différentes caractéristiques de structures
- Des paramètres de vagues et conditions hydrauliques
## Installation
### Installation stable depuis PyPI
```bash
pip install openeurotop
```
### Installation avec fonctionnalités Machine Learning
```bash
pip install openeurotop[ml]
```
### Installation pour développement
```bash
git clone https://github.com/Pavlishenku/OpenEurOtop.git
cd OpenEurOtop
pip install -e .[dev]
```
## Utilisation
### Calcul du franchissement pour une digue lisse
```python
from openeurotop import overtopping
# Paramètres
Hm0 = 2.5 # Hauteur significative des vagues (m)
Tm_10 = 6.0 # Période moyenne (s)
h = 10.0 # Profondeur d'eau (m)
Rc = 3.0 # Revanche (m)
alpha = 30.0 # Pente du talus (degrés)
gamma_b = 1.0 # Facteur de berme
gamma_f = 1.0 # Facteur de rugosité
gamma_beta = 1.0 # Facteur d'obliquité
# Calcul
q = overtopping.digue_talus(
Hm0=Hm0,
Tm_10=Tm_10,
h=h,
Rc=Rc,
alpha_deg=alpha,
gamma_b=gamma_b,
gamma_f=gamma_f,
gamma_beta=gamma_beta
)
print(f"Débit de franchissement : {q:.6f} m³/s/m")
```
### Calcul pour un mur vertical
```python
from openeurotop import overtopping
q = overtopping.mur_vertical(
Hm0=2.5,
Tm_10=6.0,
h=10.0,
Rc=3.0,
h_structure=12.0
)
```
## Modules
- `openeurotop.overtopping` : Calculs de franchissement pour différents types de structures
- `openeurotop.wave_parameters` : Calcul des paramètres de vagues
- `openeurotop.reduction_factors` : Facteurs de réduction (rugosité, berme, obliquité, etc.)
- `openeurotop.constants` : Constantes physiques et coefficients
## Références
EurOtop (2018). Manual on wave overtopping of sea defences and related structures.
An overtopping manual largely based on European research, but for worldwide application.
Van der Meer, J.W., Allsop, N.W.H., Bruce, T., De Rouck, J., Kortenhaus, A., Pullen, T.,
Schüttrumpf, H., Troch, P. and Zanuttigh, B.
www.overtopping-manual.com
## Fonctionnalités
- ✅ Implémentation complète des formules EurOtop 2018
- ✅ Support digues à talus (lisses, rugueuses, avec bermes)
- ✅ Support murs verticaux et structures composites
- ✅ Modèles de Machine Learning (Neural Networks, XGBoost)
- ✅ Analyses probabilistes et statistiques
- ✅ >100 tests unitaires avec >95% de couverture
- ✅ Documentation complète avec exemples
- ✅ Notebooks Jupyter interactifs
## Documentation
- 📚 [Documentation complète](https://openeurotop.readthedocs.io/)
- 📖 [Guide utilisateur](docs/GUIDE_UTILISATEUR.md)
- 🔧 [Guide de contribution](CONTRIBUTING.md)
- 📝 [Changelog](CHANGELOG.md)
- 💻 [Exemples et notebooks](examples/)
## Contribution
Les contributions sont les bienvenues ! Consultez le [guide de contribution](CONTRIBUTING.md) pour plus d'informations.
### Développeurs
Pour configurer l'environnement de développement :
```bash
git clone https://github.com/Pavlishenku/OpenEurOtop.git
cd OpenEurOtop
pip install -e .[dev]
pytest # Exécuter les tests
```
## Citation
Si vous utilisez OpenEurOtop dans vos recherches, veuillez citer :
```bibtex
@software{openeurotop2025,
title = {OpenEurOtop: Python Implementation of EurOtop Wave Overtopping Manual},
author = {OpenEurOtop Contributors},
year = {2025},
url = {https://github.com/Pavlishenku/OpenEurOtop},
version = {1.0.0}
}
```
## Liens
- 🐍 [PyPI](https://pypi.org/project/openeurotop/)
- 📦 [GitHub](https://github.com/Pavlishenku/OpenEurOtop)
- 📚 [Documentation](https://openeurotop.readthedocs.io/)
- 🐛 [Issues](https://github.com/Pavlishenku/OpenEurOtop/issues)
## Licence
MIT License
Raw data
{
"_id": null,
"home_page": "https://github.com/Pavlishenku/OpenEurOtop",
"name": "openeurotop",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": "OpenEurOtop Contributors <pavlishenku@gmail.com>",
"keywords": "eurotop, wave, overtopping, coastal, engineering, hydraulics",
"author": "OpenEurOtop Contributors",
"author_email": "OpenEurOtop Contributors <pavlishenku@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/42/5c/543c8e1176255e542059d321c628aa734f086e7572b1465526c05021b135/openeurotop-1.0.0.tar.gz",
"platform": null,
"description": "# OpenEurOtop\r\n\r\n[](https://badge.fury.io/py/openeurotop)\r\n[](https://pypi.org/project/openeurotop/)\r\n[](https://opensource.org/licenses/MIT)\r\n[](https://openeurotop.readthedocs.io/en/latest/?badge=latest)\r\n[](https://github.com/Pavlishenku/OpenEurOtop/actions)\r\n\r\nImpl\u00e9mentation Python des m\u00e9thodes de calcul du guide EurOtop pour l'\u00e9valuation du franchissement de vagues sur les ouvrages c\u00f4tiers.\r\n\r\n> \ud83c\udf89 **Version 1.0.0** - Premi\u00e8re version stable de production !\r\n\r\n## Description\r\n\r\nCe package fournit une impl\u00e9mentation compl\u00e8te des formules et m\u00e9thodes d\u00e9crites dans le manuel EurOtop (2018) pour le calcul :\r\n- Du d\u00e9bit de franchissement moyen (mean wave overtopping discharge)\r\n- Des facteurs de r\u00e9duction pour diff\u00e9rentes caract\u00e9ristiques de structures\r\n- Des param\u00e8tres de vagues et conditions hydrauliques\r\n\r\n## Installation\r\n\r\n### Installation stable depuis PyPI\r\n\r\n```bash\r\npip install openeurotop\r\n```\r\n\r\n### Installation avec fonctionnalit\u00e9s Machine Learning\r\n\r\n```bash\r\npip install openeurotop[ml]\r\n```\r\n\r\n### Installation pour d\u00e9veloppement\r\n\r\n```bash\r\ngit clone https://github.com/Pavlishenku/OpenEurOtop.git\r\ncd OpenEurOtop\r\npip install -e .[dev]\r\n```\r\n\r\n## Utilisation\r\n\r\n### Calcul du franchissement pour une digue lisse\r\n\r\n```python\r\nfrom openeurotop import overtopping\r\n\r\n# Param\u00e8tres\r\nHm0 = 2.5 # Hauteur significative des vagues (m)\r\nTm_10 = 6.0 # P\u00e9riode moyenne (s)\r\nh = 10.0 # Profondeur d'eau (m)\r\nRc = 3.0 # Revanche (m)\r\nalpha = 30.0 # Pente du talus (degr\u00e9s)\r\ngamma_b = 1.0 # Facteur de berme\r\ngamma_f = 1.0 # Facteur de rugosit\u00e9\r\ngamma_beta = 1.0 # Facteur d'obliquit\u00e9\r\n\r\n# Calcul\r\nq = overtopping.digue_talus(\r\n Hm0=Hm0,\r\n Tm_10=Tm_10,\r\n h=h,\r\n Rc=Rc,\r\n alpha_deg=alpha,\r\n gamma_b=gamma_b,\r\n gamma_f=gamma_f,\r\n gamma_beta=gamma_beta\r\n)\r\n\r\nprint(f\"D\u00e9bit de franchissement : {q:.6f} m\u00b3/s/m\")\r\n```\r\n\r\n### Calcul pour un mur vertical\r\n\r\n```python\r\nfrom openeurotop import overtopping\r\n\r\nq = overtopping.mur_vertical(\r\n Hm0=2.5,\r\n Tm_10=6.0,\r\n h=10.0,\r\n Rc=3.0,\r\n h_structure=12.0\r\n)\r\n```\r\n\r\n## Modules\r\n\r\n- `openeurotop.overtopping` : Calculs de franchissement pour diff\u00e9rents types de structures\r\n- `openeurotop.wave_parameters` : Calcul des param\u00e8tres de vagues\r\n- `openeurotop.reduction_factors` : Facteurs de r\u00e9duction (rugosit\u00e9, berme, obliquit\u00e9, etc.)\r\n- `openeurotop.constants` : Constantes physiques et coefficients\r\n\r\n## R\u00e9f\u00e9rences\r\n\r\nEurOtop (2018). Manual on wave overtopping of sea defences and related structures. \r\nAn overtopping manual largely based on European research, but for worldwide application.\r\nVan der Meer, J.W., Allsop, N.W.H., Bruce, T., De Rouck, J., Kortenhaus, A., Pullen, T., \r\nSch\u00fcttrumpf, H., Troch, P. and Zanuttigh, B.\r\nwww.overtopping-manual.com\r\n\r\n## Fonctionnalit\u00e9s\r\n\r\n- \u2705 Impl\u00e9mentation compl\u00e8te des formules EurOtop 2018\r\n- \u2705 Support digues \u00e0 talus (lisses, rugueuses, avec bermes)\r\n- \u2705 Support murs verticaux et structures composites\r\n- \u2705 Mod\u00e8les de Machine Learning (Neural Networks, XGBoost)\r\n- \u2705 Analyses probabilistes et statistiques\r\n- \u2705 >100 tests unitaires avec >95% de couverture\r\n- \u2705 Documentation compl\u00e8te avec exemples\r\n- \u2705 Notebooks Jupyter interactifs\r\n\r\n## Documentation\r\n\r\n- \ud83d\udcda [Documentation compl\u00e8te](https://openeurotop.readthedocs.io/)\r\n- \ud83d\udcd6 [Guide utilisateur](docs/GUIDE_UTILISATEUR.md)\r\n- \ud83d\udd27 [Guide de contribution](CONTRIBUTING.md)\r\n- \ud83d\udcdd [Changelog](CHANGELOG.md)\r\n- \ud83d\udcbb [Exemples et notebooks](examples/)\r\n\r\n## Contribution\r\n\r\nLes contributions sont les bienvenues ! Consultez le [guide de contribution](CONTRIBUTING.md) pour plus d'informations.\r\n\r\n### D\u00e9veloppeurs\r\n\r\nPour configurer l'environnement de d\u00e9veloppement :\r\n\r\n```bash\r\ngit clone https://github.com/Pavlishenku/OpenEurOtop.git\r\ncd OpenEurOtop\r\npip install -e .[dev]\r\npytest # Ex\u00e9cuter les tests\r\n```\r\n\r\n## Citation\r\n\r\nSi vous utilisez OpenEurOtop dans vos recherches, veuillez citer :\r\n\r\n```bibtex\r\n@software{openeurotop2025,\r\n title = {OpenEurOtop: Python Implementation of EurOtop Wave Overtopping Manual},\r\n author = {OpenEurOtop Contributors},\r\n year = {2025},\r\n url = {https://github.com/Pavlishenku/OpenEurOtop},\r\n version = {1.0.0}\r\n}\r\n```\r\n\r\n## Liens\r\n\r\n- \ud83d\udc0d [PyPI](https://pypi.org/project/openeurotop/)\r\n- \ud83d\udce6 [GitHub](https://github.com/Pavlishenku/OpenEurOtop)\r\n- \ud83d\udcda [Documentation](https://openeurotop.readthedocs.io/)\r\n- \ud83d\udc1b [Issues](https://github.com/Pavlishenku/OpenEurOtop/issues)\r\n\r\n## Licence\r\n\r\nMIT License\r\n\r\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Impl\u00e9mentation Python du guide EurOtop pour le calcul du franchissement de vagues",
"version": "1.0.0",
"project_urls": {
"Bug Tracker": "https://github.com/Pavlishenku/OpenEurOtop/issues",
"Documentation": "https://openeurotop.readthedocs.io/",
"Homepage": "https://github.com/Pavlishenku/OpenEurOtop",
"Repository": "https://github.com/Pavlishenku/OpenEurOtop"
},
"split_keywords": [
"eurotop",
" wave",
" overtopping",
" coastal",
" engineering",
" hydraulics"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "f384e4b7a49ce041fd35ddeca352b7a07102a3b1261657d9d2aa383840f630aa",
"md5": "76ff9bb5edc00691b90ca3366e9277f6",
"sha256": "aa0766763522ce8fd87a6888f6a119bff46ab679515e475e354839a521ebec11"
},
"downloads": -1,
"filename": "openeurotop-1.0.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "76ff9bb5edc00691b90ca3366e9277f6",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 47766,
"upload_time": "2025-10-24T16:33:18",
"upload_time_iso_8601": "2025-10-24T16:33:18.308047Z",
"url": "https://files.pythonhosted.org/packages/f3/84/e4b7a49ce041fd35ddeca352b7a07102a3b1261657d9d2aa383840f630aa/openeurotop-1.0.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "425c543c8e1176255e542059d321c628aa734f086e7572b1465526c05021b135",
"md5": "b85519dd930e0c60c0454faf934a6852",
"sha256": "05eff0a94f52d41bafe4e74fe26a55247472a623419815df4e546f3391595339"
},
"downloads": -1,
"filename": "openeurotop-1.0.0.tar.gz",
"has_sig": false,
"md5_digest": "b85519dd930e0c60c0454faf934a6852",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 2729159,
"upload_time": "2025-10-24T16:37:02",
"upload_time_iso_8601": "2025-10-24T16:37:02.549246Z",
"url": "https://files.pythonhosted.org/packages/42/5c/543c8e1176255e542059d321c628aa734f086e7572b1465526c05021b135/openeurotop-1.0.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-10-24 16:37:02",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "Pavlishenku",
"github_project": "OpenEurOtop",
"travis_ci": false,
"coveralls": true,
"github_actions": true,
"requirements": [
{
"name": "numpy",
"specs": [
[
">=",
"1.20.0"
]
]
},
{
"name": "scipy",
"specs": [
[
">=",
"1.7.0"
]
]
}
],
"lcname": "openeurotop"
}