-
Notifications
You must be signed in to change notification settings - Fork 2
Home
IceFlow, gmbflow, GMBflow
Develop a workflow to derive glacier mass balance from a set of remote-sensing derived DEMs.
-
Set up and organize repository - David & David
Research and add better notes for properly working with submodules
-
Research and develop tools to download freely available data (SRTM, ASTER, landcover, ...) - Iliyana, David S
Identify a good set of sample DEMs to use for developmentExplore recent release of elevation for [SRTM] (http://www2.jpl.nasa.gov/srtm/) downloadSample script to get latest RGI glacier polygons:demcoreg/get_glacier_poly.sh
Individual [ASTER14DEM 30 m products] (https://lpdaac.usgs.gov/dataset_discovery/aster/aster_products_table/ast14dem_v003) used for GDEM should now be publicly available
-
Raster clipping, resampling... - Ellie, Jessica, Amaury
-
DEM co-registrationDONE - Ellie, Salvatore-
Need mask of exposed rock surfaces for each input DEM, seeskipping this to save time.demcoreg/dem_mask.py
-
Run ASP'spc_align
(see Section A.17 of Official ASP documentation -
OR run one of the functions indemcoreg/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
-
-
Elevation change difference/trends - Salvatore, Amaury
- For two input DEMs, see
demcoreg/compute_dz.py
anddemcoreg/robust_stats.py
- For n input DEMs and generating a time series "stack", see
pygeotools/make_stack.py
- Alternatively, take a look at
iceflow/regression.py
for a numpy/pygeoprocessing-based implementation.
- Alternatively, take a look at
- Also consider xarray/dask after nDarray tutorials
- For two input DEMs, see
-
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? -
- 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.
- Create DEMStack from arbitrary list of DEM inputs using
-
-
Density assumptions/model (combine with 7?)
-
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
- David S added
-
Documentation/packaging - All
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.
-
Original DEMs => || warptool.py || => warped DEMs
-
warped DEMs + RGI mask + landcover => || demcoreg.py || => coregistered DEMs
-
coregistered DEMs => || elevation_change.py || => dhdt
-
dhdt => || gap_filling.py || => filled dhdt
-
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))