Project name: erdappy-griddap: Accessing gridded oceanographic data in near real time
Student: Callum Rollo
Organization: Integrated Ocean Observing System (IOOS)
Mentors:
- Mathew Biddle
- Filipe Fernandes
- Micah Wengren
I worked with IOOS to add griddap support to the erddapy package. This was completed successfully, making troves of gridded oceanographic and atmospheric data accessible via Python. I also added a multi-server search function and a demonstration notebook to increase ease of data discovery and access.
Alongside my work on erddapy, I worked to create a first release of gliderpy. This package is a wrapper around erddapy that makes glider data stored on ERDDAP servers easy to find, download and inter-compare. Gliderpy is now available on PyPI and conda-forge. I also successfully added multi-dataset download capability.
Selected contributions to erddapy
- Added griddap support
- Implemented ERDDAP standards for griddap default settings
- Improved server name matching
- Wrote Griddap demontration notebook
- Added griddap documentation and examples
- Added Multi-server dataset search
- Adding type hints and f-strings
- Check that variables and constraints are not null before generating url
- Check for dataset id before sending metadata request
- Use default griddap stride of 1
Selected contributions to gliderpy
- Improved server name matching
- Standardised variable names
- Created GitHub action to publish on PyPI
- Added gliderpy to conda-forge
- Implemented search for datasets within user defined bounds
- Enabled downloading data from multiple datasets
- Add documentation of multi-dataset download to demo notebook
- Added project description to readme
- Fix pre-commit with correct versions of libraries
- Updated ERDDAP server address and switched to https
- Use API token to push releases to PyPI
- Disable flake8 check on long url
Capability for griddap and multi-dataset search and download have been successfully added, but could be more efficiently implemented. Future work could focus on reducing the number of requests made during the data search and download processes, and more local caching to reduce wait times for repeated searches. Gliderpy would benefit from improved plotting functionality to improve data visualisation.