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

CTD Transects, Moored CTD (CMI KBNERR): Six repeat, one single transect, one moored CTD

Seasonality of Boundary Conditions for Cook Inlet, Alaska

During 2004 to 2006 we collected hydrographic measurements along transect lines crossing: 1) Kennedy Entrance and Stevenson Entrance from Port Chatham to Shuyak Island; 2) Shelikof Strait from Shuyak Island to Cape Douglas; 3) Cook Inlet from Red River to Anchor Point; 4) Kachemak Bay from Barbara Point to Bluff Point, and 5) the Forelands from East Foreland to West Foreland. During the third year we added two additional lines; 6) Cape Douglas to Cape Adams, and 7) Magnet Rock to Mount Augustine. The sampling in 2006 focused on the differences in properties during the spring and neap tide periods.

CTD profiles 2004-2005 - CMI UAF seems to be transect 5 of this project.

Part of the project: Seasonality of Boundary Conditions for Cook Inlet, Alaska Steve Okkonen Principal Investigator Co-principal Investigators: Scott Pegau Susan Saupe Final Report OCS Study MMS 2009-041 August 2009 Report: https://researchworkspace.com/files/39885971/2009_041.pdf

alt text
cat = intake.open_catalog(cic.utils.cat_path("ctd_transects_cmi_kbnerr"))

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
['Cruise_00-Line_4',
 'Cruise_01-Line_1',
 'Cruise_01-Line_2',
 'Cruise_01-Line_3',
 'Cruise_01-Line_4',
 'Cruise_02-Line_1',
 'Cruise_02-Line_2',
 'Cruise_02-Line_3',
 'Cruise_02-Line_4',
 'Cruise_03-Line_1',
 'Cruise_03-Line_2',
 'Cruise_03-Line_3',
 'Cruise_03-Line_4',
 'Cruise_05-Line_1',
 'Cruise_05-Line_2',
 'Cruise_05-Line_3',
 'Cruise_05-Line_4',
 'Cruise_06-Line_1',
 'Cruise_06-Line_2',
 'Cruise_06-Line_3',
 'Cruise_06-Line_4',
 'Cruise_07-Line_1',
 'Cruise_07-Line_2',
 'Cruise_07-Line_3',
 'Cruise_07-Line_4',
 'Cruise_08-Line_1',
 'Cruise_08-Line_2',
 'Cruise_08-Line_3',
 'Cruise_08-Line_4',
 'Cruise_09-Line_1',
 'Cruise_09-Line_2',
 'Cruise_09-Line_3',
 'Cruise_09-Line_4',
 'Cruise_10-Line_1',
 'Cruise_10-Line_2',
 'Cruise_10-Line_3',
 'Cruise_10-Line_4',
 'Cruise_11-Line_1',
 'Cruise_11-Line_2',
 'Cruise_11-Line_3',
 'Cruise_11-Line_4',
 'Cruise_12-Line_1',
 'Cruise_12-Line_2',
 'Cruise_12-Line_3',
 'Cruise_12-Line_4',
 'Cruise_13-Line_1',
 'Cruise_13-Line_3',
 'Cruise_13-Line_4',
 'Cruise_13-Line_6',
 'Cruise_13-Line_7',
 'Cruise_14-Line_1',
 'Cruise_14-Line_2',
 'Cruise_14-Line_3',
 'Cruise_14-Line_4',
 'Cruise_14-Line_6',
 'Cruise_14-Line_7',
 'Cruise_15-Line_1',
 'Cruise_15-Line_3',
 'Cruise_15-Line_4',
 'Cruise_15-Line_6',
 'Cruise_15-Line_7',
 'Cruise_16-Line_1',
 'Cruise_16-Line_2',
 'Cruise_16-Line_3',
 'Cruise_16-Line_4',
 'Cruise_16-Line_6',
 'Cruise_16-Line_7',
 'Kbay_timeseries',
 'sue_shelikof']

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
Cruise_01-Line_2
date_time Cruise Station Type Longitude [degrees_east] Latitude [degrees_north] Bot. Depth [m] Temperature [C] Depth [m] Salinity [psu] line distance [km]
0 2004-04-19 15:21:00 1 38 C -153.240 58.8383 36 2.4944 1.981 30.6818 2 0.00000
1 2004-04-19 15:21:00 1 38 C -153.240 58.8383 36 2.4666 2.972 30.6870 2 0.00000
2 2004-04-19 15:21:00 1 38 C -153.240 58.8383 36 2.4768 3.963 30.6865 2 0.00000
3 2004-04-19 15:21:00 1 38 C -153.240 58.8383 36 2.4138 4.953 30.6976 2 0.00000
4 2004-04-19 15:21:00 1 38 C -153.240 58.8383 36 2.3904 5.944 30.7273 2 0.00000
... ... ... ... ... ... ... ... ... ... ... ... ...
2115 2004-04-19 23:10:00 1 23 C -152.633 58.6133 31 4.6239 26.746 31.8852 2 43.64199
2116 2004-04-19 23:10:00 1 23 C -152.633 58.6133 31 4.6176 27.736 31.8870 2 43.64199
2117 2004-04-19 23:10:00 1 23 C -152.633 58.6133 31 4.6182 28.727 31.8868 2 43.64199
2118 2004-04-19 23:10:00 1 23 C -152.633 58.6133 31 4.6087 29.717 31.8892 2 43.64199
2119 2004-04-19 23:10:00 1 23 C -152.633 58.6133 31 4.6087 30.708 31.8894 2 43.64199

2120 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)
['salt', 'temp']