Install the last release with conda:
conda install -c conda-forge argopyor pip:
pip install argopyor conda:
conda install -c conda-forge argopyBut since this is a young library in active development, use direct install from this repo to benefit from the latest version:
pip install git+http://github.com/euroargodev/argopy.git@masterThe argopy library is tested to work under most OS (Linux, Mac) and with python versions 3.7 and 3.8.
Import the data fetcher:
from argopy import DataFetcher as ArgoDataFetcherand 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().dataBy 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')Argo index are returned as pandas dataframe. Index fetchers works similarly to data fetchers.
Load the Argo index fetcher:
from argopy import IndexFetcher as ArgoIndexFetcherthen, 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().indexNote 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')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') See the documentation page for more examples.
See milestone here: https://github.com/euroargodev/argopy/milestone/3

