[![License badge](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)
### <h1 align="center" id="title">The Instructed Glacier Model (IGM) </h1>
<div align="center">
<img src="logo/logo_igm.svg" width="40%" alt="Alt text">
</div>
# Overview
The Instructed Glacier Model (IGM) is an **open-source Python package**, which permits to simulate **3D glacier evolution** accounting for the coupling between ice thermo-dynamics, surface mass balance, and mass conservation. IGM features:
- **Accessibility and modularity:** IGM is implemented in the most popular programming language -- Python -- and takes large benefit of existing tools such as [OGGM](https://oggm.org/). It is organized **module-wise** to facilitate coupling, customization and commmunity development. For simplicity, IGM uses a horizontal regular grid for numerical discretization and therefore deals with **2D gridded input and output data**.
- **State-of-the-art physics:** IGM implements mass conservation, **high-order** 3D ice flow mechanics, an **Enthalpy** model for the thermic regime of ice, **melt/accumulation surface mass balance** model, and other glaciological processes.
- **Computational efficiency:** Thanks to the **TensorFlow library**, mathematical operations are **fully-vectorized**. This permits tremendous **speed-ups on GPU**. **Physics-informed deep learning** is used as an alternative to numerical solvers for modelling ice flow physics in a vectorized way. While GPU are highly-recommended for modelling large domain / high resolution, IGM runs fairly well on CPU for individual glaciers.
- **Automatic differentiation:** TensorFlow operations are differentiable. Therefore, automatic differentiation strongly facilitates and speeds-up inverse modelling / data assimilation.
# Documentation
Start with the 10-min [video tutorial](https://vimeo.com/884003820). Then, all the documentation can be found on the dedicated [wiki](https://github.com/jouvetg/igm/wiki) and the the in-progress and open-to-contributions [technical paper](https://github.com/jouvetg/igm-paper/paper.pdf).
# Discord channel
IGM has a [discord channel](https://discord.com/) for quick support, getting latest infos, exchanges with other users. To get in, please send me your discord user name at guillaume.jouvet at unil.ch to be added to the group.
# Contact
Feel free to drop me an email for any questions, bug reports, or ideas of model extension: guillaume.jouvet at unil.ch
Raw data
{
"_id": null,
"home_page": "https://github.com/jouvetg/igm",
"name": "igm-model",
"maintainer": null,
"docs_url": null,
"requires_python": "<3.11",
"maintainer_email": null,
"keywords": null,
"author": "Guillaume Jouvet",
"author_email": "guillaume.jouvet@unil.ch",
"download_url": "https://files.pythonhosted.org/packages/6b/1f/81395534de17dabaf7e4e41736af73aaf70a59a341331ccf1cd4e6f54c52/igm_model-2.2.2.tar.gz",
"platform": null,
"description": "[![License badge](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)\n### <h1 align=\"center\" id=\"title\">The Instructed Glacier Model (IGM) </h1>\n \n <div align=\"center\">\n <img src=\"logo/logo_igm.svg\" width=\"40%\" alt=\"Alt text\">\n</div>\n\n\n# Overview \n\nThe Instructed Glacier Model (IGM) is an **open-source Python package**, which permits to simulate **3D glacier evolution** accounting for the coupling between ice thermo-dynamics, surface mass balance, and mass conservation. IGM features:\n\n- **Accessibility and modularity:** IGM is implemented in the most popular programming language -- Python -- and takes large benefit of existing tools such as [OGGM](https://oggm.org/). It is organized **module-wise** to facilitate coupling, customization and commmunity development. For simplicity, IGM uses a horizontal regular grid for numerical discretization and therefore deals with **2D gridded input and output data**.\n\n- **State-of-the-art physics:** IGM implements mass conservation, **high-order** 3D ice flow mechanics, an **Enthalpy** model for the thermic regime of ice, **melt/accumulation surface mass balance** model, and other glaciological processes.\n\n- **Computational efficiency:** Thanks to the **TensorFlow library**, mathematical operations are **fully-vectorized**. This permits tremendous **speed-ups on GPU**. **Physics-informed deep learning** is used as an alternative to numerical solvers for modelling ice flow physics in a vectorized way. While GPU are highly-recommended for modelling large domain / high resolution, IGM runs fairly well on CPU for individual glaciers.\n\n- **Automatic differentiation:** TensorFlow operations are differentiable. Therefore, automatic differentiation strongly facilitates and speeds-up inverse modelling / data assimilation.\n \n# Documentation\n\nStart with the 10-min [video tutorial](https://vimeo.com/884003820). Then, all the documentation can be found on the dedicated [wiki](https://github.com/jouvetg/igm/wiki) and the the in-progress and open-to-contributions [technical paper](https://github.com/jouvetg/igm-paper/paper.pdf).\n\n# Discord channel\n\nIGM has a [discord channel](https://discord.com/) for quick support, getting latest infos, exchanges with other users. To get in, please send me your discord user name at guillaume.jouvet at unil.ch to be added to the group.\n\n# Contact\n\nFeel free to drop me an email for any questions, bug reports, or ideas of model extension: guillaume.jouvet at unil.ch\n",
"bugtrack_url": null,
"license": "gpl-3.0",
"summary": "IGM - a glacier evolution model",
"version": "2.2.2",
"project_urls": {
"Homepage": "https://github.com/jouvetg/igm"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "74bc7a3fc70ae4089415719d02d6544c5a1204a9c974b1aa845a87f0b00f79f7",
"md5": "d944a5cade00461869c7b6c27b04de9a",
"sha256": "ac239c56bb34f8bb4bfd6ef71ea3e6f4152e9e5557a5b24fdad7343a457b0f8f"
},
"downloads": -1,
"filename": "igm_model-2.2.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "d944a5cade00461869c7b6c27b04de9a",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<3.11",
"size": 16989601,
"upload_time": "2024-07-08T10:44:11",
"upload_time_iso_8601": "2024-07-08T10:44:11.451533Z",
"url": "https://files.pythonhosted.org/packages/74/bc/7a3fc70ae4089415719d02d6544c5a1204a9c974b1aa845a87f0b00f79f7/igm_model-2.2.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "6b1f81395534de17dabaf7e4e41736af73aaf70a59a341331ccf1cd4e6f54c52",
"md5": "53a938400e7248e7a0ba5ef2543b9d6e",
"sha256": "c3fe7cc67e6e872a7a6915a868a97589e2a2534b9a8232c18626abe150ac6465"
},
"downloads": -1,
"filename": "igm_model-2.2.2.tar.gz",
"has_sig": false,
"md5_digest": "53a938400e7248e7a0ba5ef2543b9d6e",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<3.11",
"size": 16944746,
"upload_time": "2024-07-08T10:44:13",
"upload_time_iso_8601": "2024-07-08T10:44:13.876565Z",
"url": "https://files.pythonhosted.org/packages/6b/1f/81395534de17dabaf7e4e41736af73aaf70a59a341331ccf1cd4e6f54c52/igm_model-2.2.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-07-08 10:44:13",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "jouvetg",
"github_project": "igm",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "igm-model"
}