Metadata-Version: 2.1
Name: igm-model
Version: 2.0.4
Summary: IGM - a glacier evolution model
Home-page: https://github.com/jouvetg/igm
Author: Guillaume Jouvet
Author-email: guillaume.jouvet@unil.ch
License: gpl-3.0
Requires-Python: <3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: matplotlib
Requires-Dist: netCDF4
Requires-Dist: numpy
Requires-Dist: scipy
Requires-Dist: tensorflow
Requires-Dist: xarray
Requires-Dist: importlib_resources
Requires-Dist: geopandas
Requires-Dist: oggm
Requires-Dist: pyproj
Requires-Dist: rasterio
Requires-Dist: pyqt5

[![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>

**The former IGM, which was hosted on this repo < 17/09/23, is accessible on [this page.](https://github.com/jouvetg/igm_old)**

# 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:

- **Simplicity and modularity:** IGM is implemented in the most popular programming language -- Python -- at a low level of abstractivity. IGM is organized **module-wise** for clarity and to facilitate coupling, customization and commmunity development. For simplicity, IGM assumes 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 high 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

**IGM's documentation can be found on the dedicated [wiki](https://github.com/jouvetg/igm/wiki).**
  
# 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, and I will add you 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

