Accessing trajectory data#

First, import libraries:

import numpy as np
import xarray as xr
import netCDF4
from matplotlib import pyplot as plt
%matplotlib inline
Rtraj = xr.open_dataset('../../Data/6901254/6901254_Rtraj.nc')
Rtraj
<xarray.Dataset>
Dimensions:                              (N_PARAM: 3, N_MEASUREMENT: 4289, N_CYCLE: 66, N_HISTORY: 1043)
Dimensions without coordinates: N_PARAM, N_MEASUREMENT, N_CYCLE, N_HISTORY
Data variables: (12/102)
    DATA_TYPE                            object b'Argo trajectory '
    FORMAT_VERSION                       object b'3.1 '
    HANDBOOK_VERSION                     object b'1.2 '
    REFERENCE_DATE_TIME                  object b'19500101000000'
    DATE_CREATION                        object b'20190115112520'
    DATE_UPDATE                          object b'20200625131710'
    ...                                   ...
    HISTORY_PARAMETER                    (N_HISTORY) object b'               ...
    HISTORY_PREVIOUS_VALUE               (N_HISTORY) float32 nan nan ... nan nan
    HISTORY_INDEX_DIMENSION              (N_HISTORY) object nan nan ... nan nan
    HISTORY_START_INDEX                  (N_HISTORY) float64 nan nan ... nan nan
    HISTORY_STOP_INDEX                   (N_HISTORY) float64 nan nan ... nan nan
    HISTORY_QCTEST                       (N_HISTORY) object b'               ...
Attributes:
    title:                        Argo float trajectory file
    institution:                  CORIOLIS
    source:                       Argo float
    history:                      2019-01-15T11:25:20Z creation; 2020-06-25T1...
    references:                   http://www.argodatamgt.org/Documentation
    user_manual_version:          3.1
    Conventions:                  Argo-3.1 CF-1.6
    featureType:                  trajectory
    decoder_version:              CODA_035b
    comment_on_resolution:        JULD and PRES variable resolutions depend o...
    comment_on_measurement_code:  Meaning of some specific measurement codes ...
import cartopy.crs as ccrs
import cartopy



fig,ax = plt.subplots(figsize=(10,10),subplot_kw={'projection': ccrs.PlateCarree()})
ax.plot(Rtraj.LONGITUDE,Rtraj.LATITUDE,'ob')
ax.plot(Rtraj.LONGITUDE[~np.isnan(Rtraj.LONGITUDE)],Rtraj.LATITUDE[~np.isnan(Rtraj.LATITUDE)],'-b')
ax.plot(Rtraj.LONGITUDE[0],Rtraj.LATITUDE[0],'ok')
ax.plot(Rtraj.LONGITUDE[-1],Rtraj.LATITUDE[-1],'sk')

ax.add_feature(cartopy.feature.LAND)
ax.add_feature(cartopy.feature.COASTLINE, edgecolor='white')
ax.set_title(f"Data from {Rtraj.PLATFORM_NUMBER.values.astype(str)}")
ax.gridlines(draw_labels=True, dms=True, x_inline=False, y_inline=False);
../../_images/99b13ec92ec3ee39504de763b5a718feda8f07117f93d64ab567deaf6f50b5f2.png
fig,ax = plt.subplots(figsize=(10,10))
sc=ax.scatter(Rtraj.PSAL,Rtraj.TEMP,c=Rtraj.PRES)
ax.set_title(f"Vertical Salinity section for float {Rtraj.PLATFORM_NUMBER.astype(str).values}")
ax.set_xlabel(f"{Rtraj.PSAL.long_name}")
ax.set_ylabel(f"{Rtraj.TEMP.long_name}")
fig.colorbar(sc);
../../_images/762a5cea1a006f2eac3e4d1e47239d610cd8154083fae7af62b3874c4082f509.png
fig,ax = plt.subplots(figsize=(15,8))
ax.plot(Rtraj.JULD,Rtraj.PRES,'-')
sc=ax.scatter(Rtraj.JULD,Rtraj.PRES,c=Rtraj.TEMP)
ax.set_xlabel(f"{Rtraj.JULD.standard_name}")
ax.set_ylabel(f"{Rtraj.PRES.long_name}")
ax.invert_yaxis()
fig.colorbar(sc);
../../_images/1312ef5d8b05b3467d3117da24db67df54fda10a07a47822d24cc44067d5a634.png
fig,ax = plt.subplots(figsize=(15,8))
ax.plot(Rtraj.JULD,Rtraj.MEASUREMENT_CODE,'o');
../../_images/a92f6124b6ef5e70f124ec6cb2de60a3d3647e4ed82784198d862e625847b22d.png