[![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_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/blob/main/technical-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-dev",
"maintainer": "",
"docs_url": null,
"requires_python": "<3.12",
"maintainer_email": "",
"keywords": "",
"author": "Guillaume Jouvet",
"author_email": "guillaume.jouvet@unil.ch",
"download_url": "https://files.pythonhosted.org/packages/7e/dd/92e2a3b87d2aed97da591cdc0b88c9dcde30371bbaac90a9facd9bb60873/igm-model-dev-2.1.0.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_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/blob/main/technical-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.1.0",
"project_urls": {
"Homepage": "https://github.com/jouvetg/igm"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "532b74c93cc71d30ce26c233484cd8dfd20870528170b0b1e186601b6fd02307",
"md5": "c6ff794371d54b5b7196e4b6c4028db4",
"sha256": "4443bee399dc56b60e481ae56826d777c86cc19c3090c78997a711ae79ee2e47"
},
"downloads": -1,
"filename": "igm_model_dev-2.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "c6ff794371d54b5b7196e4b6c4028db4",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<3.12",
"size": 8139285,
"upload_time": "2024-02-12T15:39:11",
"upload_time_iso_8601": "2024-02-12T15:39:11.124743Z",
"url": "https://files.pythonhosted.org/packages/53/2b/74c93cc71d30ce26c233484cd8dfd20870528170b0b1e186601b6fd02307/igm_model_dev-2.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "7edd92e2a3b87d2aed97da591cdc0b88c9dcde30371bbaac90a9facd9bb60873",
"md5": "959b79400b23c897933e7ac93b297e4a",
"sha256": "003d7bdae8fce64d594d3c4d86bd618a430cb8dd3782fc9d383ded676d60ee3d"
},
"downloads": -1,
"filename": "igm-model-dev-2.1.0.tar.gz",
"has_sig": false,
"md5_digest": "959b79400b23c897933e7ac93b297e4a",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<3.12",
"size": 8102996,
"upload_time": "2024-02-12T15:39:13",
"upload_time_iso_8601": "2024-02-12T15:39:13.763893Z",
"url": "https://files.pythonhosted.org/packages/7e/dd/92e2a3b87d2aed97da591cdc0b88c9dcde30371bbaac90a9facd9bb60873/igm-model-dev-2.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-02-12 15:39: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-dev"
}