import intake
import hvplot.pandas
import hvplot.xarray
import cook_inlet_catalogs as cic
import holoviews as hv

CTD transects: Barabara to Bluff

Repeat CTD transect from Barabara to Bluff Point in Cook Inlet from 2002 to 2003.

cat = intake.open_catalog(cic.utils.cat_path("ctd_transects_barabara_to_bluff_2002_2003"))

Plot all datasets in catalog

dd, ddlabels = cic.utils.combine_datasets_for_map(cat)
dd.hvplot(**cat.metadata["map"]) * ddlabels.hvplot(**cat.metadata["maplabels"])

List available datasets in the catalog

dataset_ids = list(cat)
dataset_ids
['Cruise 1',
 'Cruise 10',
 'Cruise 11',
 'Cruise 2',
 'Cruise 3',
 'Cruise 4',
 'Cruise 5',
 'Cruise 6',
 'Cruise 7',
 'Cruise 8',
 'Cruise 9']

Select one dataset to investigate

try:
    dataset_id = dataset_ids[2]
except:
    dataset_id = dataset_ids[0]
print(dataset_id)

dd = cat[dataset_id].read()
dd
Cruise 11
date_time Station Lat (N) Long (E) Depth (m) Temperature (C) Salinity Fluorometer (V) PAR Cruise Transmissometer (V) Ox (Mg/L) Ox (%sat) distance [km]
0 2003-06-21 11:20:00 OCEAN1 59.49 -151.6498 1.0 9.1208 31.5677 8.9681 894.68 Cruise 11 3.6602 10.12519 107.58179 0.000000
1 2003-06-21 11:20:00 OCEAN1 59.49 -151.6498 2.0 9.0259 31.5591 8.9086 496.11 Cruise 11 3.6512 10.28049 108.99837 0.000000
2 2003-06-21 11:20:00 OCEAN1 59.49 -151.6498 3.0 8.9492 31.5775 10.5105 360.64 Cruise 11 3.6898 10.21563 108.13611 0.000000
3 2003-06-21 11:20:00 OCEAN1 59.49 -151.6498 4.0 8.9424 31.5782 13.9390 266.61 Cruise 11 3.7373 10.18829 107.83071 0.000000
4 2003-06-21 11:20:00 OCEAN1 59.49 -151.6498 5.0 8.9483 31.5769 17.8647 183.73 Cruise 11 3.7310 10.15193 107.45921 0.000000
... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
537 2003-06-21 13:02:00 OCEAN19 59.64 -151.6569 5.0 10.4763 30.2134 16.8106 54.43 Cruise 11 3.2911 10.18404 110.56947 16.715659
538 2003-06-21 13:02:00 OCEAN19 59.64 -151.6569 6.0 10.4424 30.2222 17.2210 40.27 Cruise 11 3.2099 10.08580 109.42708 16.715659
539 2003-06-21 13:02:00 OCEAN19 59.64 -151.6569 7.0 10.1204 30.4197 18.3536 28.83 Cruise 11 3.3562 10.05516 108.45717 16.715659
540 2003-06-21 13:02:00 OCEAN19 59.64 -151.6569 8.0 9.8367 30.5968 14.5509 22.18 Cruise 11 3.7244 10.03980 107.73305 16.715659
541 2003-06-21 13:02:00 OCEAN19 59.64 -151.6569 9.0 9.8200 30.5981 9.3255 17.50 Cruise 11 3.7514 10.00028 107.27018 16.715659

542 rows × 14 columns

Plot one dataset

keys = list(cat[dataset_id].metadata["plots"].keys())
print(keys)

plots = []
for key in keys:
    plot_kwargs = cat[dataset_id].metadata["plots"][key]
    if "clim" in plot_kwargs and isinstance(plot_kwargs["clim"], list):
        plot_kwargs["clim"] = tuple(plot_kwargs["clim"])
    if "dynamic" in plot_kwargs:
        plot_kwargs["dynamic"] = False
    plots.append(cat[dataset_id].ToHvPlot(**plot_kwargs).read())
hv.Layout(plots).cols(1)
['salt', 'temp']