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

CTD Transects (UAF): Repeated in central Cook InletΒΆ

Observations of hydrography and currents in central Cook Inlet, Alaska during diurnal and semidiurnal tidal cycles

Surface-to-bottom measurements of temperature, salinity, and transmissivity, as well as measurements of surface currents (vessel drift speeds) were acquired along an east-west section in central Cook Inlet, Alaska during a 26-hour period on 9-10 August 2003. These measurements are used to describe the evolution of frontal features (tide rips) and physical properties along this section during semidiurnal and diurnal tidal cycles. The observation that the amplitude of surface currents is a function of water depth is used to show that strong frontal features occur in association with steep bathymetry. The positions and strengths of these fronts vary with the semidiurnal tide. The presence of freshwater gradients alters the phase and duration of tidal currents across the section. Where mean density-driven flow is northward (along the eastern shore and near Kalgin Island), the onset of northward tidal flow (flood tide) occurs earlier and has longer duration than the onset and duration of northward tidal flow where mean density-driven flow is southward (in the shipping channel). Conversely, where mean density-driven flow is southward (in the shipping channel), the onset of southward tidal flow (ebb tide) occurs earlier and has longer duration than the onset and duration of southward tidal flow along the eastern shore and near Kalgin Island.

Observations of hydrography and currents in central Cook Inlet, Alaska during diurnal and semidiurnal tidal cycles Stephen R. Okkonen Institute of Marine Science University of Alaska Fairbanks Report: https://www.circac.org/wp-content/uploads/Okkonen_2005_hydrography-and-currents-in-Cook-Inlet.pdf

cat = intake.open_catalog(cic.utils.cat_path("ctd_transects_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
['Transect_01',
 'Transect_02',
 'Transect_03',
 'Transect_04',
 'Transect_05',
 'Transect_06',
 'Transect_07',
 'Transect_08',
 'Transect_09']

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
Transect_03
date_time Cruise Station Type Lat Lon Temperature Conductivity Pressure trans [v] Sal [PSU] transect distance [km]
0 2003-08-10 01:35:00 NaN 28 c 60.482917 -151.335600 15.4032 3.25646 0.207 0.5267 25.4877 3 0.000000
1 2003-08-10 01:35:00 NaN 28 c 60.482917 -151.335600 15.3904 3.25640 0.244 0.2567 25.4954 3 0.000000
2 2003-08-10 01:35:00 NaN 28 c 60.482917 -151.335600 15.3842 3.25643 0.351 0.1404 25.4997 3 0.000000
3 2003-08-10 01:35:00 NaN 28 c 60.482917 -151.335600 15.3812 3.25643 0.463 0.1448 25.5015 3 0.000000
4 2003-08-10 01:35:00 NaN 28 c 60.482917 -151.335600 15.3801 3.25662 0.577 0.4591 25.5038 3 0.000000
... ... ... ... ... ... ... ... ... ... ... ... ... ...
4726 2003-08-10 04:06:00 NaN 43 c 60.483883 -151.800183 13.5374 3.35967 5.555 1.5450 27.6789 3 25.556467
4727 2003-08-10 04:06:00 NaN 43 c 60.483883 -151.800183 13.5375 3.35964 5.690 1.5408 27.6784 3 25.556467
4728 2003-08-10 04:06:00 NaN 43 c 60.483883 -151.800183 13.5374 3.35966 5.827 1.5387 27.6787 3 25.556467
4729 2003-08-10 04:06:00 NaN 43 c 60.483883 -151.800183 13.5375 3.35964 5.915 1.5456 27.6784 3 25.556467
4730 2003-08-10 04:06:00 NaN 43 c 60.483883 -151.800183 13.5377 3.35967 5.955 1.5303 27.6785 3 25.556467

4731 rows Γ— 13 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)
['salt', 'temp']