项目作者: weiji14

项目描述 :
Mapping and monitoring deep subglacial water activity in Antarctica using remote sensing and machine learning, with ICESat-2!
高级语言: Jupyter Notebook
项目地址: git://github.com/weiji14/deepicedrain.git
创建时间: 2019-10-09T02:02:05Z
项目社区:https://github.com/weiji14/deepicedrain

开源协议:GNU Lesser General Public License v3.0

下载


DeepIceDrain [poster]

Mapping and monitoring deep subglacial water activity
in Antarctica using remote sensing and machine learning.

Zenodo Digital Object Identifier
GitHub top language
Code style: black
Test DeepIceDrain package
Dependabot Status
License

Ice Surface Elevation trends over Antactica Active Subglacial Lake fill-drain event
ICESat-2 ATL11 rate of height change over time in Antarctica 2019-03-29 to 2020-12-24 dsm_whillans_ix_cycles_3-9.gif

DeepIceDrain Pipeline Part 1 Exploratory Data Analysis
DeepIceDrain Pipeline Part 2 Subglacial Lake Analysis|atlxi_dhdt.ipynb],[Height-Change-over-Time-(dhdt)]->[Subglacial-Lake-Finder|atlxi_lake.ipynb],[Subglacial-Lake-Finder]->[Crossover-Analysis|atlxi_xover.ipynb])

Along track view of an ATL11 Ground Track Elevation time-series at Crossover Points
alongtrack_whillans_ix_1080_pt3 crossover_anomaly_whillans_ix_2019-03-29_2020-12-24

Getting started

Quickstart

Launch in Binder (Interactive jupyter lab environment in the cloud).

Binder

Alternative Pangeo BinderHub link.
Requires a GitHub account and you’ll have to install your own computing environment,
but it runs on AWS uswest2 which allows for
cloud access to ICESat-2!

Pangeo BinderHub

Usage

Once you’ve properly installed the deepicedrain package
(see installation instructions further below), you’ll have access to a
wide range of tools
for downloading and performing quick calculations on ICESat-2 datasets.
The example below shows how to calculate ice surface elevation change
on a sample ATL11 dataset between ICESat’s Cycle 3 and Cycle 4.

  1. import deepicedrain
  2. import xarray as xr
  3. # Loads a sample ATL11 file from the intake catalog into xarray
  4. atl11_dataset: xr.Dataset = deepicedrain.catalog.test_data.atl11_test_case.read()
  5. # Calculate elevation change in metres from ICESat-2 Cycle 3 to Cycle 4
  6. delta_height: xr.DataArray = deepicedrain.calculate_delta(
  7. dataset=atl11_dataset, oldcyclenum=3, newcyclenum=4, variable="h_corr"
  8. )
  9. # Quick plot of delta_height along the ICESat-2 track
  10. delta_height.plot()

ATL11 delta_height along ref_pt track

Installation

Basic

To just try out the scripts, download the environment.yml file from the repository and run the commands below:

  1. cd deepicedrain
  2. mamba env create --name deepicedrain --file environment.yml
  3. pip install git+https://github.com/weiji14/deepicedrain.git

Intermediate

To help out with development, start by cloning this repo-url

  1. git clone <repo-url>

Then I recommend using mamba
to install the non-python binaries.
A virtual environment will also be created with Python and
poetry installed.

  1. cd deepicedrain
  2. mamba env create --file environment.yml

Activate the virtual environment first.

  1. mamba activate deepicedrain

Then install the python libraries listed in the pyproject.toml/poetry.lock file.

  1. poetry install

Finally, double-check that the libraries have been installed.

  1. poetry show

Advanced

This is for those who want full reproducibility of the virtual environment,
and more computing power by using Graphical Processing Units (GPU).

Making an explicit conda-lock file
(only needed if creating a new virtual environment/refreshing an existing one).

  1. mamba env create -f environment.yml
  2. mamba list --explicit > environment-linux-64.lock

Creating/Installing a virtual environment from a conda lock file.
See also https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html#building-identical-conda-environments.

  1. mamba create --name deepicedrain --file environment-linux-64.lock
  2. mamba install --name deepicedrain --file environment-linux-64.lock

If you have a CUDA-capable GPU,
you can also install the optional “cuda” packages to accelerate some calculations.

  1. poetry install --extras cuda

Running jupyter lab

  1. mamba activate deepicedrain
  2. python -m ipykernel install --user --name deepicedrain # to install virtual env properly
  3. jupyter kernelspec list --json # see if kernel is installed
  4. jupyter lab &

This work would not be possible without inspiration
from the following cool open source projects!
Go check them out if you have time.

Citing

The work in this repository has not been peer-reviewed, but if you do want to
cite it for some reason, use the following BibLaTeX code from this conference
proceedings (poster presentation):

  1. @inproceedings{LeongSpatiotemporalvariabilityactive2021,
  2. title = {{Spatiotemporal Variability of Active Subglacial Lakes in Antarctica from 2018-2020 Using ICESat-2 Laser Altimetry}},
  3. author = {Leong, W. J. and Horgan, H. J.},
  4. date = {2021-02-10},
  5. publisher = {{Unpublished}},
  6. location = {{Christchurch, New Zealand}},
  7. doi = {10.13140/RG.2.2.27952.07680},
  8. eventtitle = {{New Zealand Antarctic Science Conference}}},
  9. langid = {english}
  10. }

Python code for the DeepIceDrain package here on Github is also mirrored on Zenodo at https://doi.org/10.5281/zenodo.4071235.