Home

Awesome

Build Status Build status Coverage Status CodeFactor License: MIT

yodapy

Your Ocean Data Access in Python (YODAPY)

Installation

pip install yodapy

Install directly from github

For developers and testers:

pip install git+https://github.com/cormorack/yodapy.git

Implication of installing yodapy in a Jupyter notebook environment

In a Jupyter environment the operating system is a static image; which has a certain set of packages installed. Let's assume this does not include yodapy or that it includes an older version of yodapy and I am interested in a more recent version. If I install a new (say yodapy) package during a notebook session: That does not register in the stored static image. The only thing that persists in my computing environment is my home directory. This includes code, repos, data, ancillary files and so on; but it does not include Python packages that I install on the fly.

This suggests a question: Can I put some installation commands in my .cshrc file so that it runs automatically whenever I start up a new image?

Development

git clone https://github.com/cormorack/yodapy.git
cd yodapy
conda create -n yodapy -c conda-forge --yes python=3.6 --file requirements.txt --file requirements-dev.txt
source activate yodapy
pip install -e .

Credentials

To obtain credentials you are obliged to register at the OOI data portal. Select the Log In dropdown and click Register. Fill out and submit the form and you will automatically be logged in. Click on your email ID (upper right) to visit/edit your profile. This profile now includes your credentials. You should click on the button Refresh API Token to get a stable token; and then make a note of both your username (format OOIAPI-XXXXXXXXXXXXXX) and your token (format XXXXXXXXXXX). They are used in what follows.

To start using yodapy for the ooi datasource, you will need to setup your credential file. This will only need be set one time.

>>> from yodapy.utils.creds import set_credentials_file
>>> set_credentials_file(data_source='ooi', username='MyName', token='My secret token')

Example running the program

>>> from yodapy.datasources import OOI
>>> ooi = OOI()
>>> ooi.search(region='cabled', site='axial base shallow profiler', node='shallow profiler', instrument='CTD')
>>> ooi.view_instruments()
>>> ooi.data_availability()
>>> begin_date = '2018-01-01'
>>> end_date = '2018-01-02'
>>> ooi.request_data(begin_date=begin_date, end_date=end_date)
>>> ooi.check_status()
Request Completed
>>> ds_list = ooi.to_xarray()