Awesome
colocate
Easy access to oceanographic data co-located in space and time via Python
Preview/Run:
ERDDAP colocate.ipynb:
ERDDAP colocate-dev.ipyb:
<img src="img/colocate_datashader.png" alt="colocate example map plot" style="width: 200px, align: center" />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
- The Irish Marine Institute has developed a keyword search across existing ERDDAP servers
- OHW18 built a search interface for one ERDDAP server
- yodapy: https://github.com/cormorack/yodapy
Proposed methods/tools
Background reading
Optional: links to manuscripts or technical documents for more in-depth analysis.