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

Moorings (KBNERR): Historical, Kachemak Bay

Historical moorings from Kachemak Bay National Estuarine Research Reserve (KBNERR)

More information: https://accs.uaa.alaska.edu/kbnerr/

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

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
['kacbcwq', 'kacdlwq', 'kachowq', 'kacpgwq', 'kacsewq']

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
kachowq
DateTimeStamp Temp Sal Depth lat lon
0 2001-07-12 07:45:00 8.1 31.9 7.47 59.60232 -151.41
1 2001-07-12 08:15:00 8.3 31.8 7.15 59.60232 -151.41
2 2001-07-12 08:30:00 10.2 29.6 6.99 59.60232 -151.41
3 2001-07-12 08:45:00 10.9 28.4 6.81 59.60232 -151.41
4 2001-07-12 09:00:00 11.8 27.3 6.63 59.60232 -151.41
... ... ... ... ... ... ...
29849 2002-11-20 10:30:00 7.0 29.9 5.91 59.60232 -151.41
29850 2002-11-20 11:00:00 7.2 30.0 6.51 59.60232 -151.41
29851 2002-11-20 11:30:00 7.0 29.9 7.12 59.60232 -151.41
29852 2002-11-20 12:00:00 7.4 30.1 7.70 59.60232 -151.41
29853 2002-11-20 12:30:00 7.4 30.0 8.24 59.60232 -151.41

29854 rows × 6 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']