Source code for argopy.stores.float.argo_float

"""
If client is online (connected to the web) we work with the 'online' implementation
otherwise we fall back on an offline implementation.

The choice is really meaningful when the client is using a local host. In this case
we don't know if client intends to be online or offline, so we check and implement.

"""

import logging

from ...utils import isconnected


log = logging.getLogger("argopy.stores.ArgoFloat")


if isconnected():
    from .implementations.argo_float_online import ArgoFloatOnline as FloatStore

    log.info("Using ONLINE Argo Float implementation")
else:
    from .implementations.argo_float_offline import ArgoFloatOffline as FloatStore

    log.info("Using OFFLINE Argo Float implementation")


[docs] class ArgoFloat(FloatStore): """Argo GDAC float store This store makes it easy to load/read data for a given float from any GDAC location and netcdf files Examples -------- .. code-block:: python :caption: A float store is instantiated with float WMO number and a host (any access path: local, http, ftp or s3) where float files are to be found. from argopy import ArgoFloat af = ArgoFloat(WMO) # Use argopy 'gdac' option by default af = ArgoFloat(WMO, host='/home/ref-argo/gdac') # Use your local GDAC copy af = ArgoFloat(WMO, host='http') # Shortcut for https://data-argo.ifremer.fr af = ArgoFloat(WMO, host='ftp') # shortcut for ftp://ftp.ifremer.fr/ifremer/argo af = ArgoFloat(WMO, host='s3') # Shortcut for s3://argo-gdac-sandbox/pub .. code-block:: python :caption: Load/read GDAC netcdf files as a :class:`xarray.Dataset` or :class:`netCDF4.Dataset` af.ls_dataset() # Return a dictionary with all available datasets for this float ds = af.open_dataset('prof') # Use keys from the available datasets dictionary ds = af.open_dataset('meta') ds = af.open_dataset('tech') ds = af.open_dataset('Rtraj') ds = af.open_dataset('Sprof') ds = af.open_dataset('Sprof', netCDF4=True) # Return a netCDF4 Dataset instead of an xarray .. code-block:: python :caption: Other attributes and methods af.N_CYCLES # Number of cycles (estimated) af.path # root path for all float datasets af.dac # name of the DAC this float belongs to af.metadata # a dictionary with all available metadata for this file (from netcdf or fleetmonitoring API) af.ls() # list af.path folder content .. code-block:: python :caption: Working with float profiles af.lsprofiles() # list float "profiles" folder content af.describe_profiles() # Pandas DataFrame describing all available float profile files """
[docs] def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs)