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

Drifters (EPSCoR)ΒΆ

Alaska EPSCoR Drifter Deployment

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

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
['44',
 '45',
 '46',
 '47',
 '48',
 '49',
 '50',
 '51',
 '52',
 '53',
 '54',
 '55',
 '56',
 '57',
 '58',
 '59',
 '61',
 '62',
 '63',
 '64',
 '65',
 '66',
 '67',
 '68',
 '69',
 '70',
 '71',
 '72',
 '73',
 '74',
 '75',
 '76']

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
46
time lon lat depth deployment org drifter platform_uuid sea_water_temperature sea_water_salinity location_id h3_id
0 2022-07-21 19:10:00.000000000 -152.03712 59.31295 1 20 epscor 46 e67497cc-cd26-57d7-aeed-3b9f92f8acd2 \N \N 59.31295-152.03712 621713441802059775
1 2022-07-21 19:20:00.000000000 -152.03647 59.31211 1 20 epscor 46 e67497cc-cd26-57d7-aeed-3b9f92f8acd2 \N \N 59.31211-152.03647 621713441802092543
2 2022-07-21 19:30:00.000000000 -152.03596 59.31092 1 20 epscor 46 e67497cc-cd26-57d7-aeed-3b9f92f8acd2 \N \N 59.31092-152.03596 621713441802256383
3 2022-07-21 19:40:00.000000000 -152.03575 59.30944 1 20 epscor 46 e67497cc-cd26-57d7-aeed-3b9f92f8acd2 \N \N 59.30944-152.03575 621713441801043967
4 2022-07-21 19:50:00.000000000 -152.03544 59.30723 1 20 epscor 46 e67497cc-cd26-57d7-aeed-3b9f92f8acd2 \N \N 59.30723-152.03544 621713441801240575
... ... ... ... ... ... ... ... ... ... ... ... ...
2857 2022-08-10 15:20:00.000000000 -151.25387 59.67379 1 20 epscor 46 e67497cc-cd26-57d7-aeed-3b9f92f8acd2 \N \N 59.67379-151.25387 621713474181365759
2858 2022-08-10 15:30:00.000000000 -151.25386 59.67381 1 20 epscor 46 e67497cc-cd26-57d7-aeed-3b9f92f8acd2 \N \N 59.67381-151.25386 621713474181365759
2859 2022-08-10 15:40:00.000000000 -151.25384 59.67381 1 20 epscor 46 e67497cc-cd26-57d7-aeed-3b9f92f8acd2 \N \N 59.67381-151.25384 621713474181365759
2860 2022-08-10 15:50:00.000000000 -151.25382 59.67381 1 20 epscor 46 e67497cc-cd26-57d7-aeed-3b9f92f8acd2 \N \N 59.67381-151.25382 621713474181365759
2861 2022-08-10 16:00:00.000000000 -151.25381 59.67381 1 20 epscor 46 e67497cc-cd26-57d7-aeed-3b9f92f8acd2 \N \N 59.67381-151.25381 621713474181365759

2862 rows Γ— 12 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']