Skip to main content

A python library for Argo data beginners and experts

Project description

argopy logo Argo data python library

Documentation Status build codecov Requirements Status

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.

Several python packages exist: we are currently in the process of analysing how to merge these libraries toward a single powerfull tool.
List your tool here !

Click here to badge and play with argopy before you even install it (thanks Pangeo).

Install

Install the last release with pip:

pip install argopy

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

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

The argopy library should work under all OS (Linux, Mac and Windows) and with python versions 3.6, 3.7 and 3.8.

Usage

Fetching Argo Data

Init the default data fetcher like:

from argopy import DataFetcher as ArgoDataFetcher
argo_loader = ArgoDataFetcher()

and then, request data for a specific space/time domain:

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

for profiles of a given float:

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

or for one or a collection of floats:

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

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:

ds = ArgoDataFetcher().profile(6902746, 34).to_xarray()
df = ds.to_dataframe()

or to export it to files:

ds = argo_loader.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')

Argo Index Fetcher

Index object is returned as a pandas dataframe.

Init the fetcher:

    from argopy import IndexFetcher as ArgoIndexFetcher

    index_loader = ArgoIndexFetcher()
    index_loader = ArgoIndexFetcher(backend='erddap')    
    #Local ftp backend 
    #index_loader = ArgoIndexFetcher(backend='localftp',path_ftp='/path/to/your/argo/ftp/',index_file='ar_index_global_prof.txt')

and then, set the index request index for a domain:

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

or for a collection of floats:

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

then you can see you index as a pandas dataframe or a xarray dataset :

    idx.to_dataframe()
    idx.to_xarray()

For plottings methods, you'll need matplotlib, cartopy and seaborn installed (they're not in requirements).
For plotting the map of your query :

    idx.plot('trajectory)    

index_traj

For plotting the distribution of DAC or profiler type of the indexed profiles :

    idx.plot('dac')    
    idx.plot('profiler')`

dac

Development roadmap

We aim to provide high level helper methods to load Argo data and meta-data from:

  • Ifremer erddap
  • local copy of the GDAC ftp folder
  • Index files
  • any other usefull access point to Argo data ?

We also aim to provide high level helper methods to visualise and plot Argo data and meta-data:

  • Map with trajectories
  • Waterfall plots
  • T/S diagram
  • etc !

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.3.tar.gz (37.1 kB view details)

Uploaded Source

Built Distributions

argopy-0.1.3-py3.6.egg (46.1 kB view details)

Uploaded Source

argopy-0.1.3-py3-none-any.whl (51.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: argopy-0.1.3.tar.gz
  • Upload date:
  • Size: 37.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/44.0.0.post20200106 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.6.7

File hashes

Hashes for argopy-0.1.3.tar.gz
Algorithm Hash digest
SHA256 f004f555ad4cae5ea40a27b7821eb793966a535b69396acf8003b53178104265
MD5 111a397d9fd4cf654a8aba8db46b806e
BLAKE2b-256 5f78c46c9bafa4cb6d4fc094da1b762c2b70a402912fb4ec4b0e3cb92baf79b3

See more details on using hashes here.

File details

Details for the file argopy-0.1.3-py3.6.egg.

File metadata

  • Download URL: argopy-0.1.3-py3.6.egg
  • Upload date:
  • Size: 46.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/44.0.0.post20200106 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.6.7

File hashes

Hashes for argopy-0.1.3-py3.6.egg
Algorithm Hash digest
SHA256 7f7820faedd16012f94c74dbeaa7030b1176ecaff31848702b084145fbde0496
MD5 4501b70693e1f38d0ccab03fe84c28ab
BLAKE2b-256 87c9dd7579387b8ea0b4c80d12cad1d1d8c6a9a8cdca3c09a25761a9a596b184

See more details on using hashes here.

File details

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

File metadata

  • Download URL: argopy-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 51.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/44.0.0.post20200106 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.6.7

File hashes

Hashes for argopy-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 8ba81f97c6616a729ac75cf1f3237f12c0833db9ca7a42683b39696d1dd21e49
MD5 5e750a32be2d88c26993158b4ebda7af
BLAKE2b-256 a8cab571acb8825c1f88fadc966747bce0dff99813a7c3c2f47f3c2a58aa82b9

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