Giter Site home page Giter Site logo

weiji14 / deepicedrain Goto Github PK

View Code? Open in Web Editor NEW
28.0 2.0 8.0 30.33 MB

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

License: GNU Lesser General Public License v3.0

Dockerfile 0.03% Jupyter Notebook 91.54% Python 2.68% Shell 5.70% Makefile 0.01% Gherkin 0.05%
intake binder python3 jupyter-lab big-data antarctica ice-sheet hdf5 zarr pygmt

deepicedrain's Introduction

Kia Ora πŸ‘‹

I am a Geospatial Data Scientist from Malaysia πŸ‡²πŸ‡Ύ working remotely and thinking about where to go next! My background is in Geography, with a particular interest in Earth Observation using satellites πŸ›°οΈ, having done cool research on Antarctic ice dynamics during my PhD in Aotearoa/New Zealand πŸ₯. Specifically, I work on applying Deep Learning methods to Remote Sensing datasets, keeping busy on the leading edge of data-driven research in the Earth Sciences.

These are some of the hats I wear:

I'm currently:

  • πŸ¦€ Learning Rust, and trying to get into the GeoRust ecosystem
  • ☯️ Developing a Python package called zen3geo for building Earth Observation and geospatial data pipelines
  • πŸ”­ Making open source contributions to the Pytorch ecosystem and Pangeo community, all in the PyData world!

Want to connect?

  • πŸ’» I'm open to building partnerships with folks working on open geospatial tools, specifically with a Remote Sensing focus, so reach out!
  • πŸ“« Track me on Mastodon as @weiji14, or find some other links on my website
  • πŸ‘€ Be sure to check out my cool Computer Vision projects:

⚑ Fun fact: I was brought up trilingual, and am fluent in English, δΈ­ζ–‡ & Bahasa Melayu.

deepicedrain's People

Contributors

dependabot-preview[bot] avatar dependabot[bot] avatar weiji14 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

deepicedrain's Issues

NZ Antarctic Science Conference 2021 poster

Hi πŸ‘‹

If you've noticed my poster at the 2021 Antarctic Science Conference, here's the place to find out more! Feel free to look around the repository, ask any questions or leave a comment below πŸ˜„

NZASC2021 DeepIceDrain poster

For more details, I recommend checking out Chapter 4 of my recently submitted PhD thesis at https://github.com/weiji14/phdthesis/releases/tag/v0.5.0.

The poster itself was made on Libreoffice Draw Version 6.1.5.2 using the #BetterPoster style. The figures/maps were created using PyGMT v0.2.1. Code to reproduce the figures are available in this repository and also at a sister repository over at https://github.com/weiji14/nzasc2021.

Design a better structure for the Antarctic regions bounding box polygon container

Scattered across deepicedrain's various scripts is a 'regions' variable (also 'ice_boundaries', 'drainage_basins', etc) that holds a geographical bounding box and/or polygon which is needed for spatial subseting and plotting operations. However this is getting really messy/unwieldy and should be vendored off at some point to a package like regionmask.

This 'regions' container should hold Antarctic geographical boundaries (both a Polygon and BoundingBox) and have a 'placename' (e.g. "amundsen_sea_embayment") and 'full name' (e.g. "Amundsen Sea Embayment") attribute.

Related: d2b0199, 85b6ffa, #190

Dependabot can't resolve your Python dependency files

Dependabot can't resolve your Python dependency files.

As a result, Dependabot couldn't update your dependencies.

The error Dependabot encountered was:

Creating virtualenv deepicedrain-zVe-mzmo-py3.8 in /home/dependabot/.cache/pypoetry/virtualenvs
Updating dependencies
Resolving dependencies...

[SolverProblemError]
Because xrviz (0.1.4) depends on xarray (>=0.14.1)
 and no versions of xrviz match >0.1.4,<0.2.0, xrviz (>=0.1.4,<0.2.0) requires xarray (>=0.14.1).
So, because deepicedrain depends on both xrviz (^0.1.4) and xarray (0.12.4.dev547+g6f6aae7d git), version solving failed.

If you think the above is an error on Dependabot's side please don't hesitate to get in touch - we'll do whatever we can to fix it.

View the update logs.

Dependabot can't resolve your Python dependency files

Dependabot can't resolve your Python dependency files.

As a result, Dependabot couldn't update your dependencies.

The error Dependabot encountered was:

Creating virtualenv deepicedrain-pzgPX--m-py3.8 in /home/dependabot/.cache/pypoetry/virtualenvs
Updating dependencies
Resolving dependencies...

  PackageNotFound

  Package dask (2.26.0) not found.

  at /usr/local/.pyenv/versions/3.8.9/lib/python3.8/site-packages/poetry/repositories/pool.py:144 in package
      140β”‚                     self._packages.append(package)
      141β”‚ 
      142β”‚                     return package
      143β”‚ 
    β†’ 144β”‚         raise PackageNotFound("Package {} ({}) not found.".format(name, version))
      145β”‚ 
      146β”‚     def find_packages(
      147β”‚         self, dependency,
      148β”‚     ):

If you think the above is an error on Dependabot's side please don't hesitate to get in touch - we'll do whatever we can to fix it.

View the update logs.

Dependabot can't resolve your Python dependency files

Dependabot can't resolve your Python dependency files.

As a result, Dependabot couldn't update your dependencies.

The error Dependabot encountered was:

Creating virtualenv deepicedrain-PEqzzY3q-py3.8 in /home/dependabot/.cache/pypoetry/virtualenvs
Updating dependencies
Resolving dependencies...

  PackageNotFound

  Package dask (0.18.0) not found.

  at /usr/local/.pyenv/versions/3.8.9/lib/python3.8/site-packages/poetry/repositories/pool.py:144 in package
      140β”‚                     self._packages.append(package)
      141β”‚ 
      142β”‚                     return package
      143β”‚ 
    β†’ 144β”‚         raise PackageNotFound("Package {} ({}) not found.".format(name, version))
      145β”‚ 
      146β”‚     def find_packages(
      147β”‚         self, dependency,
      148β”‚     ):

If you think the above is an error on Dependabot's side please don't hesitate to get in touch - we'll do whatever we can to fix it.

View the update logs.

Dependabot couldn't find a Dockerfile for this project

Dependabot couldn't find a Dockerfile for this project.

Dependabot requires a Dockerfile to evaluate your project's current Docker dependencies. It had expected to find one at the path: /Dockerfile.

If this isn't a Docker project, or if it is a library, you may wish to disable updates for it from within Dependabot.

Add Cryosat-2 (CryoTEMPO-EOLIS) Swath Thematic Point Product

Just found out about the β€œCryoTEMPO-EOLIS: Elevation Over Land Ice from Swath” project, Looks like a more accessible way of getting Cryosat-2 radar altimetry data, though it's still pretty limited for the Antarctic (currently 2020 May only).

Specifically, the Swath Thematic Point Product (EOLIS POINTS) appears to be a promising dataset that should nicely compliment the ICESat-2 point cloud processing in this repo. Should look into it in the long-term (read: early 2021 after my PhD).

CryoTEMPO-EOLI Antarctic 100km grid cell coverage

Point Product Parameter definitions

References:

Reading multiple ICESat-2 ATL11 point cloud data nicely via Zarr

Gathering some notes on how best to read multiple ICESat-2 ATL11 data (basically a point cloud) in a user friendly way, with metadata preserved!

TLDR: Be able to do xr.open_mfdataset("ATL11_*.h5", engine="zarr", ...).

Inspired by the blog post "Cloud-Performant NetCDF4/HDF5 Reading with the Zarr Library". Zarr is an amazing project, and I really like the .zmetadata json file which can be opened with a text editor and tell you stuff about the data. The dream would be to read HDF5 files in an out-of-core manner with Zarr like speed/abilities (through the .zmetadata pointer).

Jupyter notebook demo can be found at https://github.com/rsignell-usgs/hurricane-ike-water-levels/blob/master/coawst_3ways.ipynb. See also discussion thread at zarr-developers/zarr-python#535 on "Using the Zarr library to read HDF5".

Main hurdles to get through, dependent on upstream, there's two 'separate' parts:

Current situation in that I do HDF5 -> Zarr conversion, and read from that. It would be nice to stick to the original HDF5 data source (though I might need to flatten the nested ICESat-2 ATL11 data structure). Note that I'm not necessarily after raw speed, I just prefer readability (i.e. having xarray's wonderful annotated metadata).

Other open Issues/Pull Requests:

Blog posts:

You can tell I had way too many tabs open on my browser πŸ˜†

Dependabot can't resolve your Python dependency files

Dependabot can't resolve your Python dependency files.

As a result, Dependabot couldn't update your dependencies.

The error Dependabot encountered was:

Creating virtualenv deepicedrain-aZZz2Wvc-py3.8 in /home/dependabot/.cache/pypoetry/virtualenvs
Updating dependencies
Resolving dependencies...

  PackageNotFound

  Package dask (2.9.0) not found.

  at /usr/local/.pyenv/versions/3.8.9/lib/python3.8/site-packages/poetry/repositories/pool.py:144 in package
      140β”‚                     self._packages.append(package)
      141β”‚ 
      142β”‚                     return package
      143β”‚ 
    β†’ 144β”‚         raise PackageNotFound("Package {} ({}) not found.".format(name, version))
      145β”‚ 
      146β”‚     def find_packages(
      147β”‚         self, dependency,
      148β”‚     ):

If you think the above is an error on Dependabot's side please don't hesitate to get in touch - we'll do whatever we can to fix it.

View the update logs.

Continuous subglacial lake detection in Antarctica

Find new active subglacial lakes in Antarctica automatically when new ICESat-2 datasets are available!

Processing Pipeline:

  • Step 1. Setup a scheduled Continuous Integration service to detect when new data releases are available
  • Step 2. If new data found, run the data processing pipeline
    • I.e. atl06_to_atl11, ..., atlxi_dhdt.py
    • πŸ€” How to only run only a 'diff' between data releases instead of everything?
  • Step 3. Generate maps of new subglacial lake locations
    • Will need to run some cluster analysis, generate hydropotential contours, do image differencing, or something along those lines
    • Include metadata information such as estimated lake area/volume, amount drained/filled, etc
    • ❓ What other remote sensing information might help with this, and what should the output look like?

Open to ideas/suggestions, especially on the points with emojis above ⬆️.

References:

  • Fricker, H. A., Scambos, T. A., Bindschadler, R., & Padman, L. (2007). An Active Subglacial Water System in West Antarctica Mapped from Space. Science, 315(5818), 1544–1548. https://doi.org/10.1126/science.1136897
  • Siegfried, M. R., & Fricker, H. A. (2018). Thirteen years of subglacial lake activity in Antarctica from multi-mission satellite altimetry. Annals of Glaciology, 1–14. https://doi.org/10.1017/aog.2017.36
  • Smith, B. E., Fricker, H. A., Joughin, I. R., & Tulaczyk, S. (2009). An inventory of active subglacial lakes in Antarctica detected by ICESat (2003–2008). Journal of Glaciology, 55(192), 573–595. https://doi.org/10.3189/002214309789470879

Dependabot can't resolve your Python dependency files

Dependabot can't resolve your Python dependency files.

As a result, Dependabot couldn't update your dependencies.

The error Dependabot encountered was:

Creating virtualenv deepicedrain-jvHdo1ed-py3.8 in /home/dependabot/.cache/pypoetry/virtualenvs
Updating dependencies
Resolving dependencies...

  PackageNotFound

  Package dask (2.18.1) not found.

  at /usr/local/.pyenv/versions/3.8.8/lib/python3.8/site-packages/poetry/repositories/pool.py:144 in package
      140β”‚                     self._packages.append(package)
      141β”‚ 
      142β”‚                     return package
      143β”‚ 
    β†’ 144β”‚         raise PackageNotFound("Package {} ({}) not found.".format(name, version))
      145β”‚ 
      146β”‚     def find_packages(
      147β”‚         self, dependency,
      148β”‚     ):

If you think the above is an error on Dependabot's side please don't hesitate to get in touch - we'll do whatever we can to fix it.

View the update logs.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.