import intake
import hvplot.pandas
import hvplot.xarray
import cook_inlet_catalogs as cic
import holoviews as hv
Drifters (EPSCoR)ΒΆ
Alaska EPSCoR Drifter Deployment
Several drifters are run at a time.
Data portal: https://ak-epscor.portal.axds.co/
files: https://ak-epscor.portal.axds.co/#metadata/e773c142-c003-4441-a32a-8656e051f630/project/files
Descriptive summary of drifter deployment: https://www.alaska.edu/epscor/about/newsletters/May-2022-feature-current-events.php
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']