GeoOperations - jejjohnson/ml4eo GitHub Wiki

Core Operations

  • Input
  • Split
  • Apply
  • Combine

Core Operations in xarray


  • Functions - Unary Binary, etc
  • Grouped Computations
  • Windowed Computations

High-Level Operations

Window Operations

  • Coarsen - block windows of fixed length
  • Rolling - Sliding windows of fixed length

Group Operations

  • GroupBy
  • Resample

Agnostic Operations

  • Apply uFunc

Recipes

  • Interpolation
  • Climatology
  • Anomalies
  • Regridding
  • Fill-NANs
  • Calculating Exceedences
  • Discretization

Detailed Operations


Resampling

This will be useful for selecting the min/max values of a time series possibly over a given threshold.


Coarsen

This will be useful for selecting the min/max values of a spatial field possibly over a given threshold.


Rolling

This is useful for capturing events with memory.

  • Calculating heatwaves with rolling - gist

Counting Exceedences

This will be a string of operations but we essentially want a workflow to count the number of occurrences given a specific threshold.


Regions

  • regions and zonal statistics - Notebook

Climatology

  • Calculating Seasonality with selectors and masks - Notebook
  • Removing Climatology with mapping - Notebook
  • Calculating ENSO with xarray - Pythia
  • Simple Example with Hostorical Period - Notebook
  • Simple Climatology - Notebook
  • xcdat for climatologies - Notebook
  • Extended Tutorial - CDS Docs
  • Example of different means (daily, monthly, seasonly, yearly) - geocat docs
  • code with climatology and anomaly abstraction - Geocat

Anomalies

  • Calculating Anomalies with Climatology and Weighted Means - Notebook
  • xcdat for anomalies - Notebook
  • Extended Tutorial - CDS Website
  • Calculating Climatology & Anomalies with Dask - Gist
  • Rainfall Anomalies and Climatology with Dask - Notebook

Interpolation

Synonyms - Regrid, Resample, Reproject

In general, we often need to interpolate data because of various reasons. For example, we may have some messy unstructured data structure which are basically point clouds with arbitrary and we want to move them to a structured data structure.

Resampling - Moving data to a higher or lower resolution

Regridding - Moving data from one grid resolution/composition to different one

Guides

Packages

  • xcdat for horizontal regridding - Notebook
  • xcdat for vertical regridding - Notebook
  • Comparison of Interpolation Methods - xarray, pyinterp, xegrid, scipy - Notebook
  • Simple example with rioxarray & xarray - blog
  • Example with GOES and rioxarray - stackoverflow
  • Pyresample Tutorial - ipynb
  • Example with GOES,pyproj,pyresample,cartopy - ipynb
⚠️ **GitHub.com Fallback** ⚠️