colocate

February 5, 2021 · View on GitHub

Easy access to oceanographic data co-located in space and time via Python

Preview/Run:

ERDDAP colocate.ipynb:

binder nbviewer

ERDDAP colocate-dev.ipyb:

binder nbviewer

colocate example map plot

Installation:

Install with conda:

git clone https://github.com/ioos/colocate.git
cd colocate
conda env create -f environment.yml
conda activate colocate

Run via command line:

erddap-co-locate

Run in Jupyter notebook:

jupyter notebook &

Run in JupyterLab:

This step may be necessary for ipyleaflet and HoloViz to run correctly in JupyterLab. Run the following on the command line with the 'colocate' conda environment active:

jupyter labextension install @jupyter-widgets/jupyterlab-manager
jupyter labextension install jupyter-leaflet
jupyter labextension install @pyviz/jupyterlab_pyviz

Then, start JupyterLab:

jupyter-lab &

Run with voila:

voila colocate.ipynb --enable_nbextensions=True --VoilaConfiguration.file_whitelist="['.*']"

Local Development:

If you want to develop locally, clone from GitHub, cd to the cloned repository root directory, and run pip install as follows:

git clone https://github.com/ioos/colocate.git
cd colocate
pip install -e . --no-deps --force-reinstall

OceanHackWeek 2019 'co-locators' Project

Description of the original OceanHackWeek 2019 project that led to the development of this module.

The problem

Co-locate oceanographic data (served via ERDDAP) by establishing constraints to use as data server query filters.

Submit the identical filter criteria to all ERDDAP servers indexed by the awesome-erddap project and visualize the results.

Application example

A user is interested in all the available oceanographic data in a region where an eddy just formed. They provide the geospatial bounds of the region and a temporal range and get an aggregated response of all available data.

Collaborators:

NameYear
Mathew Biddle2019
Sophie Chu2019
Yeray Santana Falcon2019
Molly James2019
Pedro Magaña2019
Jazlyn Natalie2019
Laura Gomez Navarro2019
Shikhar Rai2019
Micah Wengren2019
Jacqueline Tay2020
Mike Morley2020
Yuta Norden2020

Specific tasks

  • Collect temporal bounds.
  • Collect spatial bounds.
  • Collect keywords?
  • Build query url.
  • Do the search.
  • Evaluate the response.
  • Manage response.
  • Geospatial plotting.
  • Temporal plotting.
  • Link back to dataset on erddap server.
  • Aggregated download?

Existing methods

Proposed methods/tools

Background reading

Optional: links to manuscripts or technical documents for more in-depth analysis.