Skip to main content

A python library for Argo data beginners and experts

Project description

argopy logo argopy is a python library that aims to ease Argo data access, visualisation and manipulation for regular users as well as Argo experts and operators
Documentation JOSS
Documentation
Gitter
Usage License Python version
pypi dwn conda dwn
Release PyPI Conda
Development tests in FREE envtests in DEV envcodecov
lifecycle
Documentation Status
Data sources Erddap status Argovis status
Profile count
Statuspage

Install

Install the last release with conda:

conda install -c conda-forge argopy

or pip:

pip install argopy

But since this is a young library in active development, use direct installation from this repo to benefit from the latest version:

pip install git+http://github.com/euroargodev/argopy.git@master

The argopy library is tested to work under most OS (Linux, Mac, Windows) and with python versions 3.7 and 3.8.

Usage

badge

Fetching Argo Data

Import the data fetcher:

from argopy import DataFetcher as ArgoDataFetcher

and then, set it up to request data for a specific space/time domain:

argo_loader = ArgoDataFetcher().region([-85,-45,10.,20.,0,10.])
argo_loader = ArgoDataFetcher().region([-85,-45,10.,20.,0,1000.,'2012-01','2012-12'])

for profiles of a given float:

argo_loader = ArgoDataFetcher().profile(6902746, 34)
argo_loader = ArgoDataFetcher().profile(6902746, np.arange(12,45))
argo_loader = ArgoDataFetcher().profile(6902746, [1,12])

or for one or a collection of floats:

argo_loader = ArgoDataFetcher().float(6902746)
argo_loader = ArgoDataFetcher().float([6902746, 6902747, 6902757, 6902766])

Once your fetcher is initialized you can trigger fetch/load data like this:

ds = argo_loader.to_xarray()  # or:
ds = argo_loader.load().data

By default fetched data are returned in memory as xarray.DataSet. From there, it is easy to convert it to other formats like a Pandas dataframe:

df = ArgoDataFetcher().profile(6902746, 34).load().data.to_dataframe()

or to export it to files:

ds = ArgoDataFetcher().region([-85,-45,10.,20.,0,100.]).to_xarray()
ds.to_netcdf('my_selection.nc')
# or by profiles:
ds.argo.point2profile().to_netcdf('my_selection.nc')

Fetching only Argo index

Argo index are returned as pandas dataframe. Index fetchers works similarly to data fetchers.

Load the Argo index fetcher:

    from argopy import IndexFetcher as ArgoIndexFetcher

then, set it up to request index for a specific space/time domain:

    index_loader = ArgoIndexFetcher().region([-85,-45,10.,20.])
    index_loader = ArgoIndexFetcher().region([-85,-45,10.,20.,'2012-01','2014-12'])

or for one or a collection of floats:

    index_loader = ArgoIndexFetcher().float(6902746)
    index_loader = ArgoIndexFetcher().float([6902746, 6902747, 6902757, 6902766])   

Once your fetcher is initialized you can trigger fetch/load index like this:

    df = index_loader.to_dataframe()  # or
    df = index_loader.load().index

Note that like the data fetcher, the index fetcher can use different sources, a local copy of the GDAC ftp for instance:

    index_fetcher = ArgoIndexFetcher(src='localftp', path_ftp='/path/to/your/argo/ftp/', index_file='ar_index_global_prof.txt')

Visualisation

For plottings methods, you'll need matplotlib and possibly cartopy and seaborn installed. Argo Data and Index fetchers provide direct plotting methods, for instance:

    ArgoDataFetcher().float([6902745, 6902746]).plot('trajectory')    

index_traj

See the documentation page for more examples.

Development roadmap

See milestone here: https://github.com/euroargodev/argopy/milestone/3

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

argopy-0.1.10.tar.gz (96.6 kB view details)

Uploaded Source

Built Distribution

argopy-0.1.10-py3-none-any.whl (119.1 kB view details)

Uploaded Python 3

File details

Details for the file argopy-0.1.10.tar.gz.

File metadata

  • Download URL: argopy-0.1.10.tar.gz
  • Upload date:
  • Size: 96.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.11.2 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.10.2

File hashes

Hashes for argopy-0.1.10.tar.gz
Algorithm Hash digest
SHA256 18cdffd9e1f5837f8ae5a50ea380ea9964dfaf3c1a0b31fe8f0b5c5cb8ef8da9
MD5 f2755d19bcf37d1f30e2f44d1d8060eb
BLAKE2b-256 98316b4c589fb0320a050edb665b3a06d3ef3768085382244db19a050cba4dcb

See more details on using hashes here.

File details

Details for the file argopy-0.1.10-py3-none-any.whl.

File metadata

  • Download URL: argopy-0.1.10-py3-none-any.whl
  • Upload date:
  • Size: 119.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.11.2 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.10.2

File hashes

Hashes for argopy-0.1.10-py3-none-any.whl
Algorithm Hash digest
SHA256 36864b0884e6c0a610234f66405f13d172bb9fcf00e8e849fcbdce01a6889b4b
MD5 826a8e424c38f8959732403e98abe782
BLAKE2b-256 2b502bdfcfa0d658869a193eae4170216ab3b2f1a192612ba9fe323edbaaa5c1

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page