deepicedrain

Mapping and monitoring deep subglacial water activity in Antarctica using remote sensing and machine learning, with ICESat-2!

https://github.com/weiji14/deepicedrain

Science Score: 23.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
  • .zenodo.json file
  • DOI references
    Found 6 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (10.5%) to scientific vocabulary

Keywords

analysis-ready-data antarctica big-data binder datashader hdf5 ice-sheet icesat-2 intake jupyter-lab open-science pygmt python3 zarr

Keywords from Contributors

serializer xunit-framework xunit-test optimizer annotation genomics data-structures standards plagiarism-checker action
Last synced: 5 months ago · JSON representation

Repository

Mapping and monitoring deep subglacial water activity in Antarctica using remote sensing and machine learning, with ICESat-2!

Basic Info
  • Host: GitHub
  • Owner: weiji14
  • License: lgpl-3.0
  • Language: Jupyter Notebook
  • Default Branch: main
  • Homepage:
  • Size: 29.6 MB
Statistics
  • Stars: 30
  • Watchers: 2
  • Forks: 8
  • Open Issues: 12
  • Releases: 0
Topics
analysis-ready-data antarctica big-data binder datashader hdf5 ice-sheet icesat-2 intake jupyter-lab open-science pygmt python3 zarr
Created over 6 years ago · Last pushed over 3 years ago
Metadata Files
Readme License

README.md

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

| 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.

import deepicedrain
import xarray as xr

# Loads a sample ATL11 file from the intake catalog into xarray
atl11_dataset: xr.Dataset = deepicedrain.catalog.test_data.atl11_test_case.read()

# Calculate elevation change in metres from ICESat-2 Cycle 3 to Cycle 4
delta_height: xr.DataArray = deepicedrain.calculate_delta(
      dataset=atl11_dataset, oldcyclenum=3, newcyclenum=4, variable="h_corr"
)

# Quick plot of delta_height along the ICESat-2 track
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:

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

Intermediate

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

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.

cd deepicedrain
mamba env create --file environment.yml

Activate the virtual environment first.

mamba activate deepicedrain

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

poetry install

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

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).

mamba env create -f environment.yml
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.

mamba create --name deepicedrain --file environment-linux-64.lock
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.

poetry install --extras cuda

Running jupyter lab

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

Related Projects

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):

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

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

Owner

  • Name: Wei Ji
  • Login: weiji14
  • Kind: user
  • Location: Wellington
  • Company: @developmentseed

Geospatial Data Scientist/ML Practitioner @developmentseed. Towards GPU-native and cloud-native geospatial machine learning!

GitHub Events

Total
Last Year

Committers

Last synced: 7 months ago

All Time
  • Total Commits: 471
  • Total Committers: 3
  • Avg Commits per committer: 157.0
  • Development Distribution Score (DDS): 0.41
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Wei Ji w****g@v****z 278
dependabot-preview[bot] 2****] 188
dependabot[bot] 4****] 5
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 13
  • Total pull requests: 331
  • Average time to close issues: 4 days
  • Average time to close pull requests: 6 days
  • Total issue authors: 3
  • Total pull request authors: 4
  • Average comments per issue: 0.54
  • Average comments per pull request: 0.74
  • Merged pull requests: 247
  • Bot issues: 7
  • Bot pull requests: 276
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • dependabot-preview[bot] (7)
  • weiji14 (5)
  • Bbbigcountry (1)
Pull Request Authors
  • dependabot-preview[bot] (252)
  • weiji14 (55)
  • sourcery-ai[bot] (13)
  • dependabot[bot] (11)
Top Labels
Issue Labels
help wanted (2) feature :rocket: (2) enhancement :sparkles: (2) question :question: (1)
Pull Request Labels
dependencies (283) python (228) skip-changelog (32) enhancement :sparkles: (23) docker :whale: (14) submodules (14) maintenance :toolbox: (12) data :card_file_box: (11) security :lock: (9) feature :rocket: (7) bug :beetle: (2) help wanted (1)

Packages

  • Total packages: 1
  • Total downloads: unknown
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 10
proxy.golang.org: github.com/weiji14/deepicedrain
  • Versions: 10
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 5.4%
Average: 5.6%
Dependent repos count: 5.8%
Last synced: 6 months ago

Dependencies

environment.yml conda
  • cuml 21.10.00.*
  • cuspatial 21.10.00.*
  • geos 3.9.1.*
  • gmt 6.2.0.*
  • graphviz 2.49.1.*
  • gxx_linux-64 11.2.0.*
  • parallel 20210822.*
  • pip 21.2.4.*
  • poetry 1.1.11.*
  • proj 8.0.1.*
  • python 3.8.12.*
poetry.lock pypi
  • 229 dependencies
.github/workflows/docker-build.yml actions
  • actions/checkout v2.2.0 composite
.github/workflows/python-app.yml actions
  • actions/checkout v2.2.0 composite
  • conda-incubator/setup-miniconda v2.1.1 composite
Dockerfile docker
  • base latest build
  • buildpack-deps jammy-scm@sha256 build