Extra convenience methods for common responses

OPeNDAP

[1]:
from erddapy import ERDDAP

e = ERDDAP(server="https://gliders.ioos.us/erddap")
[2]:
from netCDF4 import Dataset

e.constraints = None
e.protocol = "tabledap"
e.dataset_id = "whoi_406-20160902T1700"

opendap_url = e.get_download_url(
    response="opendap",
)

print(opendap_url)
with Dataset(opendap_url) as nc:
    print(nc.summary)
https://gliders.ioos.us/erddap/tabledap/whoi_406-20160902T1700
Slocum glider dataset gathered as part of the TEMPESTS (The Experiment to Measure and Predict East coast STorm Strength), funded by NOAA through CINAR (Cooperative Institute for the North Atlantic Region).

netCDF Climate and Forecast

[3]:
e.response = "nc"
e.variables = ["longitude", "latitude", "temperature", "salinity"]

nc = e.to_ncCF()

print(nc.Conventions)
print(nc["temperature"])
Unidata Dataset Discovery v1.0, COARDS, CF-1.10
<class 'netCDF4.Variable'>
float32 temperature(obs)
    _ChunkSizes: 106
    _FillValue: -999.0
    actual_range: [ 9.9473 22.6177]
    ancillary_variables: qartod_temperature_climatological_flag qartod_temperature_flat_line_flag qartod_temperature_gross_range_flag qartod_temperature_rate_of_change_flag qartod_temperature_spike_flag temperature_qc
    colorBarMaximum: 32.0
    colorBarMinimum: 0.0
    coordinates: time latitude longitude depth
    instrument: instrument_ctd
    ioos_category: Temperature
    long_name: Sea Water Temperature
    observation_type: measured
    platform: platform
    standard_name: sea_water_temperature
    units: Celsius
    valid_max: 40.0
    valid_min: -5.0
unlimited dimensions:
current shape = (54245,)
filling on

xarray

[4]:
ds = e.to_xarray()

ds
[4]:
<xarray.Dataset> Size: 672kB
Dimensions:          (trajectory: 1, profile: 525, obs: 54245)
Coordinates:
  * trajectory       (trajectory) object 8B 'whoi_406-20160902T1700'
    time             (profile) datetime64[ns] 4kB ...
    longitude        (profile) float64 4kB ...
    latitude         (profile) float64 4kB ...
    depth            (obs) float32 217kB ...
Dimensions without coordinates: profile, obs
Data variables:
    profile_id       (profile) float64 4kB ...
    trajectoryIndex  (profile) int32 2kB ...
    rowSize          (profile) int32 2kB ...
    temperature      (obs) float32 217kB ...
    salinity         (obs) float32 217kB ...
Attributes: (12/56)
    acknowledgment:                This deployment supported by NOAA through ...
    cdm_data_type:                 TrajectoryProfile
    cdm_profile_variables:         time_uv,lat_uv,lon_uv,u,v,profile_id,time,...
    cdm_trajectory_variables:      trajectory,wmo_id
    comment:                       Glider operatored by Woods Hole Oceanograp...
    contributor_name:              Robert Todd, Larry George, Patrick Deane, ...
    ...                            ...
    subsetVariables:               wmo_id,trajectory,profile_id,time,latitude...
    summary:                       Slocum glider dataset gathered as part of ...
    time_coverage_end:             2016-09-20T13:32:33Z
    time_coverage_start:           2016-09-02T17:05:38Z
    title:                         whoi_406-20160902T1700
    Westernmost_Easting:           -71.54982816987487

iris

[5]:
import warnings

# Iris warnings are quire verbose!
with warnings.catch_warnings():
    warnings.simplefilter("ignore")
    cubes = e.to_iris()

print(cubes)
0: sea_water_practical_salinity / (1)  (-- : 54245)
1: The trajectory to which this profile is associated. / (unknown) (-- : 525)
2: Trajectory Name / (unknown)         (-- : 1)
3: Number of Observations for this Profile / (unknown) (-- : 525)
4: Profile ID / (unknown)              (-- : 525)
5: sea_water_temperature / (Celsius)   (-- : 54245)
6: time / (seconds since 1970-01-01T00:00:00Z) (-- : 525)
7: latitude / (degrees)                (-- : 525)
8: longitude / (degrees)               (-- : 525)
[6]:
cubes.extract_cube("sea_water_temperature")
[6]:
Sea Water Temperature (Celsius) --
Shape 54245
Auxiliary coordinates
depth x
Attributes
Conventions 'Unidata Dataset Discovery v1.0, COARDS, CF-1.10'
Easternmost_Easting np.float64(-70.67537291773046)
Metadata_Conventions 'Unidata Dataset Discovery v1.0, COARDS, CF-1.6'
Northernmost_Northing np.float64(41.120018298037856)
Southernmost_Northing np.float64(40.257794149155615)
Westernmost_Easting np.float64(-71.54982816987487)
_ChunkSizes np.int32(106)
acknowledgment 'This deployment supported by NOAA through the Cooperative Institute for ...'
actual_range array([ 9.9473, 22.6177], dtype=float32)
cdm_data_type 'TrajectoryProfile'
cdm_profile_variables 'time_uv,lat_uv,lon_uv,u,v,profile_id,time,latitude,longitude'
cdm_trajectory_variables 'trajectory,wmo_id'
colorBarMaximum np.float64(32.0)
colorBarMinimum np.float64(0.0)
comment 'Glider operatored by Woods Hole Oceanographic Institution'
contributor_name 'Robert Todd, Larry George, Patrick Deane, Sean Whalen, John Kerfoot'
contributor_role 'Principal Investigator, pilot and technician, technician, technician, data ...'
creator_email 'rtodd@whoi.edu'
creator_name 'Robert Todd'
creator_url 'gliders.whoi.edu'
date_created '2016-09-09T22:06:05Z'
date_issued '2016-09-09T22:06:05Z'
featureType 'TrajectoryProfile'
format_version '/tmp/IOOS_Glider_NetCDF_v2.0-qartod.nc'
geospatial_lat_max np.float64(41.120018298037856)
geospatial_lat_min np.float64(40.257794149155615)
geospatial_lat_units 'degrees_north'
geospatial_lon_max np.float64(-70.67537291773046)
geospatial_lon_min np.float64(-71.54982816987487)
geospatial_lon_units 'degrees_east'
geospatial_vertical_max np.float32(98.05)
geospatial_vertical_min np.float32(2.49)
geospatial_vertical_positive #x27;down'
geospatial_vertical_units 'm'
gts_ingest 'true'
history '2016-09-09T22:06:05Z /home/kerfoot/slocum/matlab/spt/export/nc/IOOS/DAC/writeQartodGliderFlatNc.m%standard ...'
id 'whoi_406-20160905T0304'
infoUrl 'https://gliders.ioos.us/erddap/'
institution 'Woods Hole Oceanographic Institution'
instrument 'instrument_ctd'
ioos_category 'Temperature'
ioos_dac_checksum '6e67c5e2c364def562bb32242dec8fd5'
ioos_dac_completed 'True'
keywords 'AUVS > Autonomous Underwater Vehicles, Earth Science > Oceans > Ocean Pressure ...'
keywords_vocabulary 'GCMD Science Keywords'
license 'This data may be redistributed and used without restriction. Data provided ...'
naming_authority 'edu.rutgers.marine'
observation_type 'measured'
platform 'platform'
platform_type 'Slocum Glider'
project 'TEMPESTS'
publisher_email 'kerfoot@marine.rutgers.edu'
publisher_name 'John Kerfoot'
publisher_url 'https://rucool/marine.rutgers.edu'
references 'https://ioos.noaa.gov/wp-content/uploads/2015/10/Manual-for-QC-of-Glid ...'
sea_name 'Mid-Atlantic Bight'
source 'Observational data from a profiling glider'
sourceUrl '(local files)'
standard_name_vocabulary 'CF-v25'
subsetVariables 'wmo_id,trajectory,profile_id,time,latitude,longitude'
summary 'Slocum glider dataset gathered as part of the TEMPESTS (The Experiment ...'
time_coverage_end '2016-09-20T13:32:33Z'
time_coverage_start '2016-09-02T17:05:38Z'
title 'whoi_406-20160902T1700'
valid_max np.float32(40.0)
valid_min np.float32(-5.0)