Scripts and utilities for running, processing, and plotting satellite observations and finite element model results for Helheim and Kangerlussuaq Glaciers, SE Greenland.
Code developed as part of my dissertation at the University of Washington.
- Python 2.7 (numpy, scipy, matplotlib, shapely, gdal, paraview, netcdf, and many others)
- Elmer/Ice parallel version (with fortran, open-mpi, mumps, hypre) for big3/modeling
- Gmsh for big3/modeling
big3/lib
includes all python libraries and will need to be bundled or added to python path- elmer functions and modules in
big3/modeling/elmerlib
will need to be compiled and added toDYLD_LIBRARY_PATH
to run simulations in Elmer - paths are presently hardcoded, so you will need to have a similar data and modeling directory structure to automatically load data and save model outputs (environment variables
MODEL_HOME
,DATA_HOME
,DATA2_HOME
, andCODE_HOME
will need to be set)
bedlib.py
,climlib.py
,icefrontlib.py
,vellib.py
, andzslib.py
- pull, process, and output bed elevations, climate data (RACMO, OSTIA SIF/SST), ice-front positions, velocity measurements, and surface-elevation measurementscoordlib.py
- convert coordinates and get geoid heightscrossoverlib.py
- find crossovers and their differences in an array of three-dimensional points (x,y,z)datelib.py
- convert between fractional year, date, and day of yeardistlib.py
- find distance along a transect or between pointselmerreadlib.py
- read, process, and output Elmer model results from saveline files, elmer result files, or pvtu fileselmerrunlib.py
- run Elmer solver filefloatlib.py
- calculate height above flotationflowparameterlib.py
- calculate Glen's flow law parameter from a given ice temperaturefluxlib.py
- calculate ice flux through a fluxgategeodatlib.py
- read velocities from NASA MEaSUREs Greenland Ice Velocity from InSARgeotifflib.py
- read and write geotiff filesglaclib.py
- load glacier flowlines and extents for different datesinverselib.py
- guess a sliding law coefficient using the shallow ice approximation, which is used as the initial condition for basal inversionsmasklib.py
- create masks based on the ice extentmeshlib.py
- create input files for developing finite element meshes in Gmsh and ElmerGridpicdatalib.py
- digitize and pick data from a figure from another papershapefactorlib.py
- calculate a shapefactor to account for lateral drag when using a flowline in Elmer
elmerlib
: functions and modules developed for Elmerinversions
: scripts to run, process, and plot inversionsmeshing
: scripts for writing meshes and outputting files necessary to run simulations in Elmerpleiades_scripts
: scripts for running Elmer on NASA Pleiadessimulations
: scripts for running diagnostic and prognostic simulationssolverfiles
: all Elmer solverfiles
- scripts for processing and plotting observations
- scripts for figures in oral and poster presentations at conferences
- Figures 1a, 2a, 3, 4, 6, 7: big3/observations/velocity/velocity_vs_terminus.py
- Figures 1bc, 2bc: big3/observations/elevation/elevation_along_flowline.py
- Figures 5, 8, 9: big3/observations/velocity/plot_spatial_variability.py
- Figure 10: big3/observations/elevation/thinning_fluxgate_dems.py