igm-model


Nameigm-model JSON
Version 2.2.2 PyPI version JSON
download
home_pagehttps://github.com/jouvetg/igm
SummaryIGM - a glacier evolution model
upload_time2024-07-08 10:44:13
maintainerNone
docs_urlNone
authorGuillaume Jouvet
requires_python<3.11
licensegpl-3.0
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            [![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"
}
        
Elapsed time: 0.28238s