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

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']