Fetching Argo data#
To access Argo data, you need to use a data fetcher. You can import and instantiate the default argopy data fetcher like this:
In [1]: from argopy import DataFetcher as ArgoDataFetcher
In [2]: argo_loader = ArgoDataFetcher()
In [3]: argo_loader
Out[3]:
<datafetcher.erddap> 'No access point initialised'
Available access points: float, profile, region
Performances: cache=False, parallel=False
User mode: standard
Dataset: phy
Then, you can request data for a specific space/time domain, for a given float or for a given vertical profile.
If you fetch a lot of data, you may want to look at the Performances section.
For a space/time domain#
Use the fetcher access point argopy.DataFetcher.region()
to specify a domain and chain with the argopy.DataFetcher.to_xarray()
to get the data returned as xarray.Dataset
.
For instance, to retrieve data from 75W to 45W, 20N to 30N, 0db to 10db and from January to May 2011:
In [4]: ds = argo_loader.region([-75, -45, 20, 30, 0, 10, '2011-01-01', '2011-06']).to_xarray()
In [5]: ds
Out[5]:
<xarray.Dataset>
Dimensions: (N_POINTS: 998)
Coordinates:
* N_POINTS (N_POINTS) int64 0 1 2 3 4 5 ... 993 994 995 996 997
LATITUDE (N_POINTS) float64 24.54 24.54 25.04 ... 24.96 24.96
LONGITUDE (N_POINTS) float64 -45.14 -45.14 ... -50.4 -50.4
TIME (N_POINTS) datetime64[ns] 2011-01-01T11:49:19 ... ...
Data variables: (12/13)
CONFIG_MISSION_NUMBER (N_POINTS) int32 1 1 1 1 1 1 1 1 ... 1 1 2 2 2 2 1 1
CYCLE_NUMBER (N_POINTS) int32 23 23 10 10 10 10 ... 2 10 10 38 38
DATA_MODE (N_POINTS) <U1 'D' 'D' 'D' 'D' ... 'D' 'D' 'D' 'D'
DIRECTION (N_POINTS) <U1 'A' 'A' 'A' 'A' ... 'A' 'A' 'A' 'A'
PLATFORM_NUMBER (N_POINTS) int32 1901463 1901463 ... 1901463 1901463
POSITION_QC (N_POINTS) int32 1 1 1 1 1 1 1 1 ... 1 1 1 1 1 1 1 1
... ...
PRES_QC (N_POINTS) int32 1 1 1 1 1 1 1 1 ... 1 1 1 1 1 1 1 1
PSAL (N_POINTS) float64 37.45 37.45 37.28 ... 37.08 37.05
PSAL_QC (N_POINTS) int32 1 1 1 1 1 1 1 1 ... 1 1 1 1 1 1 1 1
TEMP (N_POINTS) float64 24.08 24.08 24.03 ... 25.1 24.79
TEMP_QC (N_POINTS) int32 1 1 1 1 1 1 1 1 ... 1 1 1 1 1 1 1 1
TIME_QC (N_POINTS) int32 1 1 1 1 1 1 1 1 ... 1 1 1 1 1 1 1 1
Attributes:
DATA_ID: ARGO
DOI: http://doi.org/10.17882/42182
Fetched_from: https://erddap.ifremer.fr/erddap
Fetched_by: docs
Fetched_date: 2023/03/28
Fetched_constraints: [x=-75.00/-45.00; y=20.00/30.00; z=0.0/10.0; t=2011...
Fetched_uri: ['https://erddap.ifremer.fr/erddap/tabledap/ArgoFlo...
history: Variables filtered according to DATA_MODE; Variable...
Note that:
the constraints on time is not mandatory: if not specified, the fetcher will return all data available in this region.
the last time bound is exclusive: that’s why here we specify June to retrieve data collected in May.
For one or more floats#
If you know the Argo float unique identifier number called a WMO number you can use the fetcher access point argopy.DataFetcher.float()
to specify the float WMO platform number and chain with the argopy.DataFetcher.to_xarray()
to get the data returned as xarray.Dataset
.
For instance, to retrieve data for float WMO 6902746:
In [6]: ds = argo_loader.float(6902746).to_xarray()
In [7]: ds
Out[7]:
<xarray.Dataset>
Dimensions: (N_POINTS: 12518)
Coordinates:
* N_POINTS (N_POINTS) int64 0 1 2 3 ... 12514 12515 12516 12517
LATITUDE (N_POINTS) float64 20.08 20.08 20.08 ... 16.67 16.67
LONGITUDE (N_POINTS) float64 -60.17 -60.17 ... -77.13 -77.13
TIME (N_POINTS) datetime64[ns] 2017-07-06T14:49:00 ... ...
Data variables: (12/13)
CONFIG_MISSION_NUMBER (N_POINTS) int32 1 1 1 1 1 1 1 1 ... 3 3 3 3 3 3 3 3
CYCLE_NUMBER (N_POINTS) int32 1 1 1 1 1 1 ... 117 117 117 117 117
DATA_MODE (N_POINTS) <U1 'D' 'D' 'D' 'D' ... 'D' 'D' 'D' 'D'
DIRECTION (N_POINTS) <U1 'D' 'D' 'D' 'D' ... 'A' 'A' 'A' 'A'
PLATFORM_NUMBER (N_POINTS) int32 6902746 6902746 ... 6902746 6902746
POSITION_QC (N_POINTS) int32 1 1 1 1 1 1 1 1 ... 1 1 1 1 1 1 1 1
... ...
PRES_QC (N_POINTS) int32 1 1 1 1 1 1 1 1 ... 1 1 1 1 1 1 1 1
PSAL (N_POINTS) float64 36.06 36.06 36.06 ... 34.97 34.97
PSAL_QC (N_POINTS) int32 1 1 1 1 1 1 1 1 ... 1 1 1 1 1 1 1 1
TEMP (N_POINTS) float64 28.04 28.03 28.02 ... 4.254 4.238
TEMP_QC (N_POINTS) int32 1 1 1 1 1 1 1 1 ... 1 1 1 1 1 1 1 1
TIME_QC (N_POINTS) int32 1 1 1 1 1 1 1 1 ... 1 1 1 1 1 1 1 1
Attributes:
DATA_ID: ARGO
DOI: http://doi.org/10.17882/42182
Fetched_from: https://erddap.ifremer.fr/erddap
Fetched_by: docs
Fetched_date: 2023/03/28
Fetched_constraints: phy;WMO6902746
Fetched_uri: ['https://erddap.ifremer.fr/erddap/tabledap/ArgoFlo...
history: Variables filtered according to DATA_MODE; Variable...
To fetch data for a collection of floats, input them in a list:
In [8]: ds = argo_loader.float([6902746, 6902755]).to_xarray()
In [9]: ds
Out[9]:
<xarray.Dataset>
Dimensions: (N_POINTS: 30952)
Coordinates:
* N_POINTS (N_POINTS) int64 0 1 2 3 ... 30948 30949 30950 30951
LATITUDE (N_POINTS) float64 20.08 20.08 20.08 ... 43.23 43.23
LONGITUDE (N_POINTS) float64 -60.17 -60.17 ... -27.75 -27.75
TIME (N_POINTS) datetime64[ns] 2017-07-06T14:49:00 ... ...
Data variables: (12/13)
CONFIG_MISSION_NUMBER (N_POINTS) int32 1 1 1 1 1 1 1 1 ... 2 2 2 2 2 2 2 2
CYCLE_NUMBER (N_POINTS) int32 1 1 1 1 1 1 ... 173 173 173 173 173
DATA_MODE (N_POINTS) <U1 'D' 'D' 'D' 'D' ... 'A' 'A' 'A' 'A'
DIRECTION (N_POINTS) <U1 'D' 'D' 'D' 'D' ... 'A' 'A' 'A' 'A'
PLATFORM_NUMBER (N_POINTS) int32 6902746 6902746 ... 6902755 6902755
POSITION_QC (N_POINTS) int32 1 1 1 1 1 1 1 1 ... 1 1 1 1 1 1 1 1
... ...
PRES_QC (N_POINTS) int32 1 1 1 1 1 1 1 1 ... 1 1 1 1 1 1 1 1
PSAL (N_POINTS) float32 36.06 36.06 36.06 ... 34.94 34.94
PSAL_QC (N_POINTS) int32 1 1 1 1 1 1 1 1 ... 1 1 1 1 1 1 1 1
TEMP (N_POINTS) float32 28.04 28.03 28.02 ... 3.658 3.628
TEMP_QC (N_POINTS) int32 1 1 1 1 1 1 1 1 ... 1 1 1 1 1 1 1 1
TIME_QC (N_POINTS) int32 1 1 1 1 1 1 1 1 ... 1 1 1 1 1 1 1 1
Attributes:
DATA_ID: ARGO
DOI: http://doi.org/10.17882/42182
Fetched_from: https://erddap.ifremer.fr/erddap
Fetched_by: docs
Fetched_date: 2023/03/28
Fetched_constraints: phy;WMO6902746;WMO6902755
Fetched_uri: ['https://erddap.ifremer.fr/erddap/tabledap/ArgoFlo...
history: Variables filtered according to DATA_MODE; Variable...
For one or more profiles#
Use the fetcher access point argopy.DataFetcher.profile()
to specify the float WMO platform number and the profile cycle number to retrieve profiles for, then chain with the argopy.DataFetcher.to_xarray()
to get the data returned as xarray.Dataset
.
For instance, to retrieve data for the 12th profile of float WMO 6902755:
In [10]: ds = argo_loader.profile(6902755, 12).to_xarray()
In [11]: ds
Out[11]:
<xarray.Dataset>
Dimensions: (N_POINTS: 107)
Coordinates:
* N_POINTS (N_POINTS) int64 0 1 2 3 4 5 ... 102 103 104 105 106
LATITUDE (N_POINTS) float64 63.68 63.68 63.68 ... 63.68 63.68
LONGITUDE (N_POINTS) float64 -28.81 -28.81 ... -28.81 -28.81
TIME (N_POINTS) datetime64[ns] 2018-10-19T23:52:00 ... ...
Data variables: (12/13)
CONFIG_MISSION_NUMBER (N_POINTS) int32 2 2 2 2 2 2 2 2 ... 2 2 2 2 2 2 2 2
CYCLE_NUMBER (N_POINTS) int32 12 12 12 12 12 12 ... 12 12 12 12 12
DATA_MODE (N_POINTS) <U1 'D' 'D' 'D' 'D' ... 'D' 'D' 'D' 'D'
DIRECTION (N_POINTS) <U1 'A' 'A' 'A' 'A' ... 'A' 'A' 'A' 'A'
PLATFORM_NUMBER (N_POINTS) int32 6902755 6902755 ... 6902755 6902755
POSITION_QC (N_POINTS) int32 1 1 1 1 1 1 1 1 ... 1 1 1 1 1 1 1 1
... ...
PRES_QC (N_POINTS) int32 1 1 1 1 1 1 1 1 ... 1 1 1 1 1 1 1 1
PSAL (N_POINTS) float64 34.87 34.87 34.87 ... 34.94 34.94
PSAL_QC (N_POINTS) int32 1 1 1 1 1 1 1 1 ... 1 1 1 1 1 1 1 1
TEMP (N_POINTS) float64 7.598 7.599 7.602 ... 3.549 3.536
TEMP_QC (N_POINTS) int32 1 1 1 1 1 1 1 1 ... 1 1 1 1 1 1 1 1
TIME_QC (N_POINTS) int32 1 1 1 1 1 1 1 1 ... 1 1 1 1 1 1 1 1
Attributes:
DATA_ID: ARGO
DOI: http://doi.org/10.17882/42182
Fetched_from: https://erddap.ifremer.fr/erddap
Fetched_by: docs
Fetched_date: 2023/03/28
Fetched_constraints: phy;WMO6902755_CYC12
Fetched_uri: ['https://erddap.ifremer.fr/erddap/tabledap/ArgoFlo...
history: Variables filtered according to DATA_MODE; Variable...
To fetch data for more than one profile, input them in a list:
In [12]: ds = argo_loader.profile(6902755, [3, 12]).to_xarray()
In [13]: ds
Out[13]:
<xarray.Dataset>
Dimensions: (N_POINTS: 215)
Coordinates:
* N_POINTS (N_POINTS) int64 0 1 2 3 4 5 ... 210 211 212 213 214
LATITUDE (N_POINTS) float64 59.72 59.72 59.72 ... 63.68 63.68
LONGITUDE (N_POINTS) float64 -31.24 -31.24 ... -28.81 -28.81
TIME (N_POINTS) datetime64[ns] 2018-07-22T00:03:00 ... ...
Data variables: (12/13)
CONFIG_MISSION_NUMBER (N_POINTS) int32 2 2 2 2 2 2 2 2 ... 2 2 2 2 2 2 2 2
CYCLE_NUMBER (N_POINTS) int32 3 3 3 3 3 3 3 ... 12 12 12 12 12 12
DATA_MODE (N_POINTS) <U1 'D' 'D' 'D' 'D' ... 'D' 'D' 'D' 'D'
DIRECTION (N_POINTS) <U1 'A' 'A' 'A' 'A' ... 'A' 'A' 'A' 'A'
PLATFORM_NUMBER (N_POINTS) int32 6902755 6902755 ... 6902755 6902755
POSITION_QC (N_POINTS) int32 1 1 1 1 1 1 1 1 ... 1 1 1 1 1 1 1 1
... ...
PRES_QC (N_POINTS) int32 1 1 1 1 1 1 1 1 ... 1 1 1 1 1 1 1 1
PSAL (N_POINTS) float64 34.76 34.76 34.76 ... 34.94 34.94
PSAL_QC (N_POINTS) int32 1 1 1 1 1 1 1 1 ... 1 1 1 1 1 1 1 1
TEMP (N_POINTS) float64 8.742 8.743 8.744 ... 3.549 3.536
TEMP_QC (N_POINTS) int32 1 1 1 1 1 1 1 1 ... 1 1 1 1 1 1 1 1
TIME_QC (N_POINTS) int32 1 1 1 1 1 1 1 1 ... 1 1 1 1 1 1 1 1
Attributes:
DATA_ID: ARGO
DOI: http://doi.org/10.17882/42182
Fetched_from: https://erddap.ifremer.fr/erddap
Fetched_by: docs
Fetched_date: 2023/03/28
Fetched_constraints: phy;WMO6902755_CYC3_CYC12
Fetched_uri: ['https://erddap.ifremer.fr/erddap/tabledap/ArgoFlo...
history: Variables filtered according to DATA_MODE; Variable...