Skip to content

axiom-data-science/intake-coops

Repository files navigation

intake-coops

License:MIT

Python Package Index

Intake interface to NOAA CO-OPS data

Uses the noaa_coops package to read in NOAA CO-OPS data.

Currently limited to currents only with limited selections. Returns an xarray Dataset, but there are intake Sources for both DataFrame and xarray.

This is intake v1 still.


Project based on the cookiecutter science project template.

Installation

PyPI

>>> pip install intake-coops

Local installation

Clone from github (HTTPS or SSH)

>>> git clone https://github.com/axiom-data-science/intake-coops.git

Install environment file

>>> conda env create -f environment.yml

Activate new environment

>>> conda activate intake-coops

Install package locally in package directory

>>> pip install -e .

Example Usage

If you input to intake.open_coops_cat() the keyword argument process_adcp=True, the ADCP Dataset will contain velocity on u and v components, along- and across-channel components, and along- and across-channel subtidal signal (processed with pl33 tidal filter, also included).

import intake_coops

stations = ["COI0302", "COI0512"]
cat = intake_coops.COOPSCatalogReader(stations).read()

# sources in catalog
print(list(cat))

# look at a source
print(cat["COI0302"])

# read in data to a Dataset
ds = cat["COI0302"].read()
ds
<xarray.Dataset> Size: 3MB
Dimensions:    (t: 8399, depth: 13)
Coordinates:
  * t          (t) datetime64[ns] 67kB 2003-07-16T00:08:00 ... 2003-08-19T23:...
  * depth      (depth) float64 104B 0.03 1.04 2.04 3.02 ... 10.03 11.03 12.04
    longitude  float64 8B -149.9
    latitude   float64 8B 61.27
Data variables:
    b          (t, depth) float64 873kB 13.0 12.0 11.0 10.0 ... 4.0 3.0 2.0 1.0
    d          (t, depth) float64 873kB 22.0 44.0 55.0 ... 211.0 211.0 212.0
    s          (t, depth) float64 873kB 37.1 55.6 45.4 21.3 ... 83.0 79.2 76.0

Development

To also develop this package, install additional packages with:

$ conda install --file requirements-dev.txt

To then check code before committing and pushing it to github, locally run

$ pre-commit run --all-files