Glacier Flow Model
Modeling glaciers flow, grounded on the glaciers mass balance and a digital elevation model (DEM).
The modeling is based on a linear relationship between altitude and mass balance, called the gradient. For alpine glaciers this gradient is around 0.006m/m. Continental glaciers are more around 0.003 and maritime glaciers 0.01m/m. The alpine gradient is set by default. To model the glaciers flow, yearly steps are calculated. First the mass balance for the area is added to the glacial layer and in a next step to flow is simulated by applying the D8 technique, which is well-known for modeling water flows over terrain. To avoid pure convergence of the flow a random nudging of the flow is added. Afterwards the surface is smoothed slightly and plotted to the screen. The simulation stops if the difference observed in the mass balance for a smoothed curve (n=-100) is below 0.0001m
Download the GFM app and start it by double clicking (only tested under Mac OSX).
- Install python 2.7
- Get the needed libraries:
pip install library-name
- Clone the project and open in PyCharm or any other python compatible IDE.
The DEM provided in this repository is from swisstopo and
can be downloaded for free.
It covers the area of Switzerland and has a resolution of 200m. In order to speed up
the calculations, the DEM provided here was cut to a smaller extent around the Aletsch glacial arena.
But the simulation can also be run on the original file of swisstopo, just follow
the download link above, unzip the directory and open the
DHM200.asc file with the GFM.
To use the GlacierFlowModel, first a DEM in the GeoTiff (or .asc)
file format has to be specified. Keep the input file size small, otherwise
the program may be slowed down remarkably. Then hit the
Load dem button to open the DEM.
Afterwards the model needs to accumulate the initial ice mass with the mass
balance parameters for the year 2000, which are set by default.
The first steady state of the model is calculated by hitting the
Steady state button.
After reaching steady state a change in temperature can be simulated. Simply use
the slider to choose the temperature change and press
to simulate the further development of the glaciers.
Heating 4.5°C after steady state:
Cooling -1°C after steady state:
- Fork it!
- Create your feature branch:
git checkout -b my-new-feature
- Commit your changes:
git commit -am 'Add some feature'
- Push to the branch:
git push origin my-new-feature
- Submit a pull request :D
- Merlin Unterfinger - Initial work and app development - munterfinger
- Manuel Luck - Initial work
- PyCharm - Integrated Development Environment (IDE), specifically for the Python language
- Python 2.7 - Python is a high-level programming language for general-purpose programming
- Gdal - Geospatial Data Abstraction Library
- Matplotlib - Python plotting library
- SciPy - Python libraries for mathematics, science, and engineering
- Tkinter - Graphical User Interface (GUI) package
This project is licensed under the MIT License - see the LICENSE file for details