What’s New

v0.1.2 (15 May 2020)

Features and front-end API

  • New index fetcher to explore and work with meta-data (#6). By K. Balem.
from argopy import IndexFetcher as ArgoIndexFetcher
idx = ArgoIndexFetcher().float(6902746)
idx.to_dataframe()
idx.plot('trajectory')

The index fetcher can manage caching and works with both Erddap and localftp data sources. It is basically the same as the data fetcher, but do not load measurements, only meta-data. This can be very usefull when looking for regional sampling or trajectories.

Tip

Performance: we recommand to use the localftp data source when working this index fetcher because the erddap data source currently suffers from poor performances. This is linked to #16 and is being addressed by Ifremer.

The index fetcher comes with basic plotting functionalities with the argopy.IndexFetcher.plot() method to rapidly visualise measurement distributions by DAC, latitude/longitude and floats type.

Warning

The design of plotting and visualisation features in argopy is constantly evolving, so this may change in future releases.

Breaking changes with previous versions

  • The backend option in data fetchers and the global option datasrc have been renamed to src. This makes the code more coherent (ec6b32e).

Code management

v0.1.1 (3 Apr. 2020)

Features and front-end API

  • Added new data fetcher backend localftp in DataFetcher (c5f7cb6):
from argopy import DataFetcher as ArgoDataFetcher
argo_loader = ArgoDataFetcher(backend='localftp', path_ftp='/data/Argo/ftp_copy')
argo_loader.float(6902746).to_xarray()
  • Introduced global OPTIONS to set values for: cache folder, dataset (eg:phy or bgc), local ftp path, data fetcher (erddap or localftp) and user level (standard or expert). Can be used in context with (83ccfb5):
with argopy.set_options(mode='expert', datasrc='erddap'):
    ds = argopy.DataFetcher().float(3901530).to_xarray()
  • Added a argopy.tutorial module to be able to load sample data for documentation and unit testing (4af09b5):
ftproot, flist = argopy.tutorial.open_dataset('localftp')
txtfile = argopy.tutorial.open_dataset('weekly_index_prof')
  • Improved xarray argo accessor. Added methods for casting data types, to filter variables according to data mode, to filter variables according to quality flags. Useful methods to transform collection of points into collection of profiles, and vice versa (14cda55):
ds = argopy.DataFetcher().float(3901530).to_xarray() # get a collection of points
dsprof = ds.argo.point2profile() # transform to profiles
ds = dsprof.argo.profile2point() # transform to points
  • Changed License from MIT to Apache (25f90c9)

Internal machinery

  • Add __all__ to control from argopy import * (83ccfb5)
  • All data fetchers inherit from class ArgoDataFetcherProto in proto.py (44f45a5)
  • Data fetchers use default options from global OPTIONS
  • In Erddap fetcher: methods to cast data type, to filter by data mode and by QC flags are now delegated to the xarray argo accessor methods.
  • Data fetchers methods to filter variables according to user mode are using variable lists defined in utilities.
  • argopy.utilities augmented with listing functions of: backends, standard variables and multiprofile files variables.
  • Introduce custom errors in errors.py (2563c9f)
  • Front-end API ArgoDataFetcher uses a more general way of auto-discovering fetcher backend and their access points. Turned of the deployments access point, waiting for the index fetcher to do that.
  • Improved xarray argo accessor. More reliable point2profile and data type casting with cast_type

Code management

  • Add CI with github actions (ecbf9ba)
  • Contribution guideline for data fetchers (b332495)
  • Improve unit testing (all along commits)
  • Introduce code coverage (b490ab5)
  • Added explicit support for python 3.6 , 3.7 and 3.8 (58f60fe)

v0.1.0 (17 Mar. 2020)

  • Initial release.
  • Erddap data fetcher