This is a project of the ICESat-2 track of the UW Earth Sciences hackweek 2024.
The project derives the grounding line position of Greenland's tidewater glaciers from the surface elevation measured by ICESat-2. The grounding line or grounding zone has been identified as an important feature related to the stability of tidewater glaciers. Its depth is a key parameter in modeling submarine melting. If the grounding line is on a retrograde bed, it can induce rapid retreat of the calving front. Previous studies have also shown that glaciers are more sensitive to grounding line migration than to changes in terminus position due to reductions in basal resistivity. There are many other questions that need to be investigated, such as how grounding line migration might affect the drainage of subglacial channels.
During this hackweek we hope to accomplish the following broad goals. Team members are welcome to define their own goals and combine them with our project.
- Become familiar with ICESat-2 datasets and geospatial data processing using Python.
- Explore different methods for deriving grounding lines from surface elevation measurements, and the challenges and uncertainties involved.
- Develop reproducible workflows and data visualization tools.
Name | Personal goals | Can help with | Role |
---|---|---|---|
Hui Gao | Testing the ability of ICESat-2 to derive the grounding line of Greenland tidewater glaciers | Geospatial data processing, method development, Github | Project Lead |
... | ... | ... | ... |
... | ... | ... | ... |
The grounding line or grounding zone is an important feature at the ice-ocean boundary. Most previous studies have focused on the Antarctic Ice Sheet, where large ice shelves exist. The Greenland Ice Sheet is drained by over 150 tidewater glaciers, most of which are less than 5 km wide near the terminus. Many of these glaciers terminate in a narrow fjord, and some form floating ice tongues. However, only a few datasets of the grounding lines of Greenland's tidewater glaciers are published, one of the publicly available datasets is this CCI dataset in northern Greenland.
ICESat-2 measures surface elevation with high vertical accuracy and a small footprint. Its temporal and spatial sampling has been greatly improved compared to ICESat. However, the gaps between ground tracks and the current temporal resolution of repeated ground tracks may still not be ideal for our purpose. In addition, we can expect challenges due to tidal correction, firn correction, and uncertainty in bedrock topography.
Overall, we will test the ability of ICESat-2 to derive grounding line positions of Greenland's tidewater glaciers. Starting with data access and visualization, we will explore different methods to derive grounding lines from surface elevation. A starting point is the use of floatation height and Archimedes' principle. A demo can be found here.
Key datasets
- Surface elevation: ICESat-2 ATL06, ICESat ATL03
- Bedrock topography: BedMachine Greenland, Version 5
Ancillary datasets
- Terminus position: MEaSUREs Annual Greenland Outlet Glacier Terminus Positions from SAR Mosaics, Version 2, or TermPicks
- Satellite images: Sentinel2 (accessed through Google Earth Engine Python API)
- Glacier flowlines: Felikson et al. (2020) (Data is available on Zenodo)
- Validation grounding line datasets: Ciracì et al. (2023) (Data is available on Dryad)
We will test at least the following two different methods.
- Calculate the floatation height using Archimedes' principle and determine whether the ice is grounded by comparing it with the surface elevation from ICESat-2.
- Use the surface elevation profile to find the "inflexion point" ("I" in the figure below), e.g. Fricker and Padman et al. (2006) and Brunt et al. (2010). This method does not require bed topography which has its own uncertainty.
Note that tidal movement or sea level changes can add challenges to the above methods. And none of them is a direct measurement of the grounding line, but rather a proxy for the grounding line. Here is a flowchart of the proposed methods:
graph LR;
A(ATL06)-->B[/Subset to AOI/];
B-->|Method #1|C;
B-->|Method #2|D;
C[/Get bed elevation/]-->E[/Calculate floatation height/];
E-->F[/Determine threshold/];
F-->H(Grounding line);
D(Surface elevation change profile\n along ground tracks)-->G[/Change point detection/];
G-->H;
Note
In addition, team members are encouraged to explore beyond the method suggested above. Here are three examples.
Example 1: Use ATL03 instead of ATL06 to study glacier geometry near the ice-ocean boundary. ATL03 is the geolocated photon cloud dataset that preserves information such as crevasses near the glacier terminus where they exist. You can start with the signal_conf_ph classification (land, ocean, sea ice, land ice, inland water) with specific confidence levels from 0 (likely background) to 4 (high confidence signal), then play with different data filtering methods to determine the ice surface and test if it's a better dataset for finding the grounding zone. Here is a simple example flowchart:
graph LR;
A(ATL03)-->B[/Subset to AOI/];
B-->C{is it on land ice?};
C-->|Yes| D[/Near terminus glacier surface characterization\n using photon cloud data/];
C-->|No| E[Terminus position];
D-->F(Ice surface);
F-->G[/Grounding line/zone detection/]
Example 2: Data visualization is more than just visualizing data. It helps us understand the information behind the dataset in an effective and engaging way. Tools like dash or streamlit help to create interactive dashboards or web applications. Objectives of trying these tools can be:
- Visualize 3D or 4D data without user coding, such as displaying maps, surface elevation profiles, or time series at a user-selected date or location.
- Display statistics. For example, how many glaciers on the Greenland Ice Sheet have a floating ice tongue, meaning the grounding line is upstream of the glacier terminus, and where they are located?
Example 3: Test the use of DEMs to derive the grounding line and compare with ICESat-2 results. If ICESat-2 ground tracks are nearly perpendicular to the glacier flow direction, gaps between different ground tracks would make it difficult to determine the position of the grounding line. DEMs such as time-dependent strips from ArcticDEM have the potential to resolve the full grounding line in the fast-flowing region of tidewater glaciers. However, they have varying degrees of uncertainty in their vertical accuracy. Sometimes the error can be as large as a few meters. If you are interested in looking into this, even just comparing these different DEMs with the ICESat-2 surface elevation would be a great exercise.
What is a ground line or grounding zone?
- Tidewater glaciers are marine-terminating outlet glaciers, where the glacier flows into the ocean with its bedrock at the terminus below sea level.
- Grounding line is the boundary between grounded ice and the adjoining floating ice shelf or ice tongue (Weertman et al., 1974). Here is also a more recent review of "Remote sensing of glacier and ice sheet grounding lines" by Friedl et al. (2020)
- "The grounding line is located within the grounding zone, which represents the transition from fully grounded ice to freely floating ice. In the grounding zone, ice flexure occurs mainly due to short-term sea level variations. Hence, the grounding zone is sometimes also called "flexure zone". " by Friedl et al. (2020).
About ICESat-2
- Description of the ICESat-2 satellite mission design from Markus et al. (2017)
- ATL03 L2A Global Geolocated Photon data product details: Neumann et al. (2019)
- ATL06 L3A Land Ice Height data product details: Smith et al. (2019)
- ICESat-2 data are available at NSIDC
- Python packages to obtain ICESat-2 data: icepyx, SlideRule
Python libraries for geospatial data processing
- gdal for general geospatial data processing.
- GeoPandas has GeoDataFrame which works well with vector data.
- Shapely has great functions for working with vector data, such as creating and manipulating points, lines, and polygons.
- Rasterio has all the basic functions to read and processing raster data.
- pyproj works great for projection transformations.
- Xarray works great with labelled multidimensional arrays or datasets, such as netCDF files.
- netCDF4 is used to handle netCDF files in Python.
- h5py is used to handle HDF5 binary data format, which is used by the ICESat-2 ATL03 and ATL06 datasets.
- ee is the Google Earth Engine Python API, which can be used to visualize and analyze various remote sensing datasets in the cloud.
Other useful tools
- Version control: Github and git
- Workflow management system: Snakemake (Python-based workflow management system to create reproducible and scalable data analyses)
- Interactive data apps: dash, streamlit
assets/
Images or custom CSS files are stored here.contributors/
Each team member can create their own folder under contributors, within which they can work on their own scripts, notebooks, and other files. Having a dedicated folder for each person helps to prevent conflicts when merging with the main branch. This is a good place for team members to start off exploring data and methods for the project.notebooks/
Notebooks that are considered delivered results for the project should go in here.scripts/
Code that is shared by the team should go in here (e.g. functions or subroutines). These will be files other than Jupyter Notebooks such as Python scripts (.py)..gitignore
This file sets the files that will be globally ignored bygit
for the project. (e.g. you may want git to ignore temporary files or large data files, read more about ignoring files here)environment.yml
conda
environment description needed to run this project.README.md
Description of the project (see suggested headings below)model-card.md
Description (following a metadata standard) of any machine learning models used in the project
Use this section to briefly summarize your project results. This could take the form of describing the progress your team made to answering a research question, developing a tool or tutorial, interesting things found in exploring a new dataset, lessons learned for applying a new method, personal accomplishments of each team member, or anything else the team wants to share.
You could include figures or images here, links to notebooks or code elsewhere in the repository (such as in the notebooks folder), and information on how others can run your notebooks or code.