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

Moorings (CDIP): Lower and Central Cook Inlet, Kodiak Island

Moorings from AOOS/CDIP

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

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
['aoos_204', 'central-cook-inlet-175', 'edu_ucsd_cdip_236']

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
edu_ucsd_cdip_236
time latitude longitude z sea_water_temperature
1 2017-09-28 22:05:00+00:00 57.4795 -151.6953 0.0 9.080017
2 2017-09-28 22:10:00+00:00 57.4795 -151.6953 0.0 9.080017
3 2017-09-28 22:15:00+00:00 57.4795 -151.6953 0.0 9.080017
4 2017-09-28 22:20:00+00:00 57.4795 -151.6953 0.0 9.080017
5 2017-09-28 22:25:00+00:00 57.4795 -151.6953 0.0 9.080017
... ... ... ... ... ...
279112 2021-09-25 15:28:20+00:00 57.4795 -151.6953 0.0 9.500000
279114 2021-09-25 15:58:20+00:00 57.4795 -151.6953 0.0 9.500000
279116 2021-09-25 16:28:20+00:00 57.4795 -151.6953 0.0 9.500000
279118 2021-09-25 16:58:20+00:00 57.4795 -151.6953 0.0 9.500000
279120 2021-09-25 17:58:20+00:00 57.4795 -151.6953 0.0 5.550000

245777 rows × 5 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)
['data']