/colocate

Co-locate oceanographic data by establishing constraints

Primary LanguageJupyter NotebookMIT LicenseMIT

colocate

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:

Name Year
Mathew Biddle 2019
Sophie Chu 2019
Yeray Santana Falcon 2019
Molly James 2019
Pedro Magaña 2019
Jazlyn Natalie 2019
Laura Gomez Navarro 2019
Shikhar Rai 2019
Micah Wengren 2019
Jacqueline Tay 2020
Mike Morley 2020
Yuta Norden 2020

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.