Skip to main content

A python library for Argo data beginners and experts

Project description

argopy logo Argo data python library

Documentation Status Github Action Status codecov Requirements Status Gitter

Profile count

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. Documentation is at https://argopy.readthedocs.io/en/latest/

Several python packages exist: we continuously try to build on these libraries to provide you with a single powerfull tool.
List your tool here !

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 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

badge

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

Our next two big steps are:

  1. To consolidate fetching of large request as rapidely as possible #28
  2. To provide Bio-geochemical variables

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 (local and online)
  • Argovis
  • Online GDAC ftp
  • any other usefull access point to Argo data ?

We also aim to provide tutorial and 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.6.tar.gz (201.3 kB view details)

Uploaded Source

Built Distribution

argopy-0.1.6-py3-none-any.whl (74.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: argopy-0.1.6.tar.gz
  • Upload date:
  • Size: 201.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.4.0.post20200518 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.6.10

File hashes

Hashes for argopy-0.1.6.tar.gz
Algorithm Hash digest
SHA256 627065bd75e72b19ed23d74ec858e4de2d3cec287659c1ea769ccb89073c305b
MD5 175d17c4205d04e043de9e2fc29bf693
BLAKE2b-256 f1408d45eb9b8bd8ba48d1bb2ae31ef1fe83a2686589cf34ddaaa4672e4919f9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: argopy-0.1.6-py3-none-any.whl
  • Upload date:
  • Size: 74.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.4.0.post20200518 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.6.10

File hashes

Hashes for argopy-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 23e047794045e28f9efceae9bedbdb99042d832915c495946f0f0b1d13ebbd04
MD5 1f9b55cd1434ee4e84263e2cddb80453
BLAKE2b-256 19e5a9255c63eed1e216253856dd158ee26cecdd63937cc88b6ba1352a39f03f

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