David Shean edited this page Nov 22, 2016 · 68 revisions

IceFlow wiki

Quick Links

[Google Drive]

Original project page

Original subproject page

What do we call it?

IceFlow, gmbflow, GMBflow

Overall idea

Develop a workflow to derive glacier mass balance from a set of remote-sensing derived DEMs.

Steps for Development##

  • Set up and organize repository - David & David

    • Research and add better notes for properly working with submodules
  1. Research and develop tools to download freely available data (SRTM, ASTER, landcover, ...) Iliyana, David S

  2. DEM co-registration - Ellie, Salvatore

    • Need mask of exposed rock surfaces for each input DEM, see demcoreg/dem_mask.py skipping this to save time.

    • Run ASP's pc_align (see Section A.17 of Official ASP documentation

    • OR run one of the functions in demcoreg/coreglib.py to determine appropriate translation

    • Compute elevation difference stats before and after co-registration

    • (1) run glacierhack_WV_coreg_all.sh in the folder with the un corrected DEMS

    • (2) run glacier hack_32_translate.sh in the folder with the corrected DEMS

  3. Elevation change difference/trends - Salvatore, Amaury

  4. Interpolation, filtering, and gap filling - Salvatore, Iliyana, Jessica

    • David S will dig up some existings Python scripts for filling nodata using several methods (GDAL, inpainting)

    • See [iceflow/dem_fill.py]

    • See [pygeotools/lib/filtlib.py] - some filters

    • Do latest versions of OpenCV inpainting support Float32 inputs?

    • Continuous space-time?

      • Create DEMStack from arbitrary list of DEM inputs using make_stack.py
      • Run ndinterp.py with an input mask defining desired spatial extent for interpolation (or comment out for full stack extent)
      • Currently stuck with hardcoded values for desired output timestamp, etc.
  5. Density assumptions/model

    • Compute mass change - Amaury, David L.

    • David S added vol_stats.py for reference and quick analysis

    • Assumes constant density for ice and prints stats of total volume change for unmasked pixels

  6. Visualization

  7. Documentation/packaging - All

Git beginners project

Create a set of tools to read and display rasters and vectors, preferably using Python classes:

  • read/save rasters using GDAL - see georaster/georaster.py and the GeoHackWeek course

  • display the raster with coordinates, with different colorbar options (e.g. grey level for Byte type, RdBu for positive/negative values, viridis for only one sign...) using matplotlib/basemap - see visualization tools

  • read RGI outlines and display - see geoutils/geovector.py and GeoHackWeek course that uses GeoPanda

  • create a quick raster/vector visualization tool that can be run from command-line using argparse - see pygeotools/pygeotools/warptool.py and argparse website


The workflow is composed of a set of 5 independent scripts, detailed below.

  1. Original DEMs => || warptool.py || => warped DEMs

  2. warped DEMs + RGI mask + landcover => || demcoreg.py || => coregistered DEMs

  3. coregistered DEMs => || elevation_change.py || => dhdt

  4. dhdt => || gap_filling.py || => filled dhdt

  5. filled dhdt + RGI outlines => || mass_balance.py || => individual glacier MB

We will work with the 32 m WV DEMs. Two that have similar geographic coverage (and align with the ASTER DEMs) are: WV01_20141022 and WV01_20150607, both in the Khumbu_ASP directory.

In order for the scripts to interact, we need to agree on some specifications:

  • format: the common format is GeoTIFF

  • no data value: store the GTiff with no data value = -9999

  • filename: the individuals DEMs will have a prefix to identify the DEM source (e.g. WV_, ASTER_...), the acquisition date written in the format YYYYMMDD, followed by a suffix depending on the processing step: ID_YYYYMMDD_warped.TIF , ID_YYYYMMDD_coreg.TIF...


We will start with the WV DEMs provided by David Shean. They cover 2 regions, we will start with the Ngozumpa glacier. The DEMs at 32 m resolution are all in the data/WV_Ngozumpa folder on the Google drive.

Later, we can try to apply the processing chain to WV_Everest and to the ASTER DEMs.


Amaury Dehecq (adehecq)

David Shean (dshean)

David Lilien (dlilien)

Salvatore G. Candela (scandelaOSU)

Ellie Bash (ellie-b)

Jessica Scheick (JessicaS11)

Iliyana Dobreva ([iliyanadobreva] (https://github.com/iliyanadobreva))


whiteboard 11/15/16

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.