import intake
import hvplot.pandas
import hvplot.xarray
import cook_inlet_catalogs as cic
import holoviews as hv
Moorings (UAF): Kodiak Island, Peterson Bay¶
Moorings from UAF
cat = intake.open_catalog(cic.utils.cat_path("moorings_uaf"))
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
['peterson-bay-ak-gnss-r', 'uaf_ocean_acidification_resea_ko']
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
peterson-bay-ak-gnss-r
[Errno 13] Permission denied: '/home/kristen'
If your filenames are too long, input only a few variablesto return or input into cache kwargs `same_names=False`
---------------------------------------------------------------------------
UnboundLocalError Traceback (most recent call last)
Cell In[5], line 7
4 dataset_id = dataset_ids[0]
5 print(dataset_id)
----> 7 dd = cat[dataset_id].read()
8 dd
File ~/checkouts/readthedocs.org/user_builds/cook-inlet-catalogs/conda/stable/lib/python3.11/site-packages/intake/readers/readers.py:121, in BaseReader.read(self, *args, **kwargs)
119 kw.update(kwargs)
120 args = kw.pop("args", ()) or args
--> 121 return self._read(*args, **kw)
File ~/checkouts/readthedocs.org/user_builds/cook-inlet-catalogs/conda/stable/lib/python3.11/site-packages/intake_erddap/erddap.py:191, in TableDAPReader._read(self, server, dataset_id, variables, mask_failed_qartod, dropna, cache_kwargs, open_kwargs, constraints, **kw)
187 dataframe: pd.DataFrame = e.to_pandas(
188 requests_kwargs={"timeout": 60}, **open_kwargs
189 )
190 if mask_failed_qartod:
--> 191 dataframe = self.run_mask_failed_qartod(dataframe)
192 if dropna:
193 dataframe = self.run_dropna(dataframe)
UnboundLocalError: cannot access local variable 'dataframe' where it is not associated with a value
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)