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

CTD Transects (GWA): Six repeat transects in Cook InletΒΆ

The Kachemak Bay Research Reserve (KBRR) and NOAA Kasitsna Bay Laboratory jointly work to complete oceanographic monitoring in Kachemak Bay and lower Cook Inlet, in order to provide the physical data needed for comprehensive restoration monitoring in the Exxon Valdez oil spill (EVOS) affected area. This project utilized small boat oceanographic and plankton surveys at existing KBRR water quality monitoring stations to assess spatial, seasonal and inter-annual variability in water mass movement. In addition, this work leveraged information from previous oceanographic surveys in the region, provided environmental information that aided a concurrent Gulf Watch benthic monitoring project, and benefited from a new NOAA ocean circulation model for Cook Inlet.

Surveys are conducted annually along five primary transects; two in Kachemak Bay and three in lower Cook Inlet, Alaska. Oceanographic data were collected via vertical CTD casts from surface to bottom, zooplankton and phytoplankton tows were made in the upper water column, and seabird and marine mammal observations were performed opportunistically. We also collect meteorological data and water quality measurements in Homer Harbor and Anchor Point year-round at stations as part of our National Estuarine Research Reserve (NERR) System-wide Monitoring program in Seldovia and Homer harbors, and in ice-free months at a mooring near the head of Kachemak Bay.

Project files and further description can be found here: https://gulf-of-alaska.portal.aoos.org/#metadata/4e28304c-22a1-4976-8881-7289776e4173/project.

cat = intake.open_catalog(cic.utils.cat_path("ctd_transects_gwa"))

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_3-2012-05-02',
 'transect_3-2012-07-29',
 'transect_3-2012-10-29',
 'transect_3-2013-04-20',
 'transect_3-2013-07-19',
 'transect_3-2013-11-08',
 'transect_3-2014-04-11',
 'transect_3-2014-07-22',
 'transect_3-2014-10-13',
 'transect_3-2015-02-22',
 'transect_3-2015-04-12',
 'transect_3-2015-11-04',
 'transect_3-2016-02-14',
 'transect_3-2016-04-11',
 'transect_3-2016-08-29',
 'transect_3-2017-04-19',
 'transect_3-2017-07-25',
 'transect_3-2018-06-25',
 'transect_3-2018-07-26',
 'transect_3-2018-09-13',
 'transect_3-2019-02-08',
 'transect_3-2019-05-14',
 'transect_3-2019-07-25',
 'transect_3-2019-09-16',
 'transect_3-2020-07-29',
 'transect_3-2021-04-16',
 'transect_3-2021-07-16',
 'transect_4-2012-05-02',
 'transect_4-2012-05-31',
 'transect_4-2012-06-05_A',
 'transect_4-2012-06-05_B',
 'transect_4-2012-07-31',
 'transect_4-2012-08-15',
 'transect_4-2012-10-29',
 'transect_4-2013-02-12',
 'transect_4-2013-04-21',
 'transect_4-2013-06-06',
 'transect_4-2013-07-19',
 'transect_4-2013-10-29',
 'transect_4-2014-02-15',
 'transect_4-2014-04-11',
 'transect_4-2014-07-21',
 'transect_4-2014-08-13',
 'transect_4-2014-10-13',
 'transect_4-2015-02-12',
 'transect_4-2015-02-24',
 'transect_4-2015-04-08',
 'transect_4-2015-08-14',
 'transect_4-2015-09-24',
 'transect_4-2015-10-19',
 'transect_4-2015-11-03',
 'transect_4-2015-11-04',
 'transect_4-2015-12-10',
 'transect_4-2016-02-09',
 'transect_4-2016-04-11',
 'transect_4-2016-07-27',
 'transect_4-2016-10-13',
 'transect_4-2016-12-13',
 'transect_4-2017-04-20',
 'transect_4-2017-07-25',
 'transect_4-2017-10-17',
 'transect_4-2018-04-23',
 'transect_4-2018-06-25',
 'transect_4-2018-07-24',
 'transect_4-2018-09-13',
 'transect_4-2019-02-07',
 'transect_4-2019-05-14',
 'transect_4-2019-07-25',
 'transect_4-2019-09-16',
 'transect_4-2020-02-14',
 'transect_4-2020-07-23',
 'transect_4-2020-09-21',
 'transect_4-2021-02-17',
 'transect_4-2021-04-16',
 'transect_4-2021-07-16',
 'transect_4-2021-09-17',
 'transect_4-2022-03-01',
 'transect_4-2022-04-13',
 'transect_4-2022-07-23',
 'transect_4-2023-02-18',
 'transect_4-2023-05-13',
 'transect_4-2023-07-25',
 'transect_4-2023-09-15',
 'transect_4-2024-03-06',
 'transect_4-2024-04-04',
 'transect_4-2024-07-19',
 'transect_4-2024-09-27',
 'transect_6-2012-05-03',
 'transect_6-2012-07-30',
 'transect_6-2012-10-28',
 'transect_6-2013-04-19',
 'transect_6-2013-07-21',
 'transect_6-2013-11-06',
 'transect_6-2014-04-06',
 'transect_6-2014-07-23',
 'transect_6-2014-10-18',
 'transect_6-2015-02-23',
 'transect_6-2015-04-08',
 'transect_6-2015-08-14',
 'transect_6-2016-02-15',
 'transect_6-2016-04-10',
 'transect_6-2016-08-31',
 'transect_6-2016-12-12',
 'transect_6-2017-04-18',
 'transect_6-2017-07-26',
 'transect_6-2017-11-02',
 'transect_6-2018-07-18',
 'transect_6-2018-09-17',
 'transect_6-2019-02-08',
 'transect_6-2019-05-12',
 'transect_6-2019-07-25',
 'transect_6-2020-07-24',
 'transect_6-2020-09-20',
 'transect_6-2021-02-16',
 'transect_6-2021-04-14',
 'transect_6-2021-07-21',
 'transect_6-2021-10-05',
 'transect_6-2022-02-28',
 'transect_6-2022-04-12',
 'transect_6-2022-07-21',
 'transect_6-2023-03-08',
 'transect_6-2023-05-12',
 'transect_6-2023-07-24',
 'transect_6-2023-09-13',
 'transect_6-2024-04-03',
 'transect_6-2024-07-18',
 'transect_6-2024-09-27',
 'transect_7-2012-07-30',
 'transect_7-2012-10-28',
 'transect_7-2013-04-20',
 'transect_7-2013-07-18',
 'transect_7-2014-02-17',
 'transect_7-2014-04-07',
 'transect_7-2014-07-24',
 'transect_7-2014-10-17',
 'transect_7-2014-10-18',
 'transect_7-2015-02-24',
 'transect_7-2015-04-13',
 'transect_7-2015-08-14',
 'transect_7-2016-02-16',
 'transect_7-2016-08-30',
 'transect_7-2016-12-13',
 'transect_7-2017-04-19',
 'transect_7-2017-07-26',
 'transect_7-2017-11-02',
 'transect_7-2018-03-27',
 'transect_7-2018-07-18',
 'transect_7-2018-09-17',
 'transect_7-2019-02-08',
 'transect_7-2019-05-12',
 'transect_7-2019-07-25',
 'transect_7-2019-09-19',
 'transect_7-2020-07-24',
 'transect_7-2020-09-20',
 'transect_7-2021-02-16',
 'transect_7-2021-04-14',
 'transect_7-2021-07-21',
 'transect_7-2021-10-05',
 'transect_7-2022-02-28',
 'transect_7-2022-04-12',
 'transect_7-2022-07-21',
 'transect_7-2023-03-08',
 'transect_7-2023-05-12',
 'transect_7-2023-07-24',
 'transect_7-2023-09-13',
 'transect_7-2024-04-03',
 'transect_7-2024-07-18',
 'transect_7-2024-09-27',
 'transect_9-2012-02-14',
 'transect_9-2012-03-14',
 'transect_9-2012-04-10',
 'transect_9-2012-04-26',
 'transect_9-2012-05-31_A',
 'transect_9-2012-05-31_B',
 'transect_9-2012-06-05_A',
 'transect_9-2012-06-05_B',
 'transect_9-2012-06-27',
 'transect_9-2012-07-02',
 'transect_9-2012-07-21',
 'transect_9-2012-08-03',
 'transect_9-2012-08-15',
 'transect_9-2012-08-26',
 'transect_9-2012-08-31',
 'transect_9-2012-09-21_A',
 'transect_9-2012-09-21_B',
 'transect_9-2012-09-21_C',
 'transect_9-2012-09-21_D',
 'transect_9-2012-09-21_E',
 'transect_9-2012-10-12',
 'transect_9-2012-10-29',
 'transect_9-2013-01-04',
 'transect_9-2013-02-12',
 'transect_9-2013-03-15',
 'transect_9-2013-04-21',
 'transect_9-2013-05-21',
 'transect_9-2013-06-06',
 'transect_9-2013-06-19',
 'transect_9-2013-06-28',
 'transect_9-2013-07-05',
 'transect_9-2013-07-09',
 'transect_9-2013-07-22',
 'transect_9-2013-08-07',
 'transect_9-2013-08-30',
 'transect_9-2013-09-25',
 'transect_9-2013-10-29',
 'transect_9-2013-12-03',
 'transect_9-2014-01-09',
 'transect_9-2014-02-15',
 'transect_9-2014-03-28',
 'transect_9-2014-04-11',
 'transect_9-2014-05-28',
 'transect_9-2014-06-18',
 'transect_9-2014-07-21',
 'transect_9-2014-08-13',
 'transect_9-2014-10-19',
 'transect_9-2014-11-25',
 'transect_9-2014-12-17',
 'transect_9-2015-01-16',
 'transect_9-2015-02-12',
 'transect_9-2015-02-24',
 'transect_9-2015-03-31',
 'transect_9-2015-04-08',
 'transect_9-2015-05-28',
 'transect_9-2015-06-26',
 'transect_9-2015-07-10',
 'transect_9-2015-07-29',
 'transect_9-2015-08-14',
 'transect_9-2015-09-04',
 'transect_9-2015-09-24',
 'transect_9-2015-10-19',
 'transect_9-2015-11-04',
 'transect_9-2015-12-10',
 'transect_9-2016-01-07',
 'transect_9-2016-02-09',
 'transect_9-2016-04-07',
 'transect_9-2016-05-12',
 'transect_9-2016-06-16',
 'transect_9-2016-07-27',
 'transect_9-2016-09-23',
 'transect_9-2016-10-13',
 'transect_9-2016-11-10',
 'transect_9-2016-12-13',
 'transect_9-2017-01-11',
 'transect_9-2017-02-07',
 'transect_9-2017-03-28',
 'transect_9-2017-04-20',
 'transect_9-2017-05-30',
 'transect_9-2017-06-28',
 'transect_9-2017-07-24',
 'transect_9-2017-08-24',
 'transect_9-2017-09-22',
 'transect_9-2017-10-17',
 'transect_9-2017-11-07',
 'transect_9-2017-12-14',
 'transect_9-2018-01-17',
 'transect_9-2018-03-02',
 'transect_9-2018-03-27',
 'transect_9-2018-04-23',
 'transect_9-2018-05-24',
 'transect_9-2018-06-22',
 'transect_9-2018-07-24',
 'transect_9-2018-08-23',
 'transect_9-2018-09-13',
 'transect_9-2018-10-17',
 'transect_9-2018-11-08',
 'transect_9-2018-12-06',
 'transect_9-2019-02-07',
 'transect_9-2019-03-19',
 'transect_9-2019-04-24',
 'transect_9-2019-05-14',
 'transect_9-2019-06-19',
 'transect_9-2019-07-23',
 'transect_9-2019-09-16',
 'transect_9-2019-10-30',
 'transect_9-2019-11-15',
 'transect_9-2019-12-12',
 'transect_9-2020-02-06',
 'transect_9-2020-03-18',
 'transect_9-2020-06-04',
 'transect_9-2020-07-24',
 'transect_9-2020-08-14',
 'transect_9-2020-09-21',
 'transect_9-2020-10-15',
 'transect_9-2020-12-28',
 'transect_9-2021-01-13',
 'transect_9-2021-02-17',
 'transect_9-2021-03-23',
 'transect_9-2021-04-16',
 'transect_9-2021-05-06',
 'transect_9-2021-06-21',
 'transect_9-2021-07-16',
 'transect_9-2021-08-17',
 'transect_9-2021-09-17',
 'transect_9-2021-10-21',
 'transect_9-2021-11-14',
 'transect_9-2021-12-18',
 'transect_9-2022-01-31',
 'transect_9-2022-03-01',
 'transect_9-2022-03-22',
 'transect_9-2022-04-13',
 'transect_9-2022-05-23',
 'transect_9-2022-06-24',
 'transect_9-2022-07-23',
 'transect_9-2022-08-24',
 'transect_9-2023-01-18',
 'transect_9-2023-02-18',
 'transect_9-2023-03-28',
 'transect_9-2023-04-22',
 'transect_9-2023-05-13',
 'transect_9-2023-06-23',
 'transect_9-2023-07-25',
 'transect_9-2023-08-22',
 'transect_9-2023-09-15',
 'transect_9-2023-10-25',
 'transect_9-2023-11-24',
 'transect_9-2023-12-15',
 'transect_9-2024-01-19',
 'transect_9-2024-03-06',
 'transect_9-2024-04-04',
 'transect_9-2024-05-14',
 'transect_9-2024-06-13',
 'transect_9-2024-07-19',
 'transect_9-2024-08-26',
 'transect_9-2024-09-26',
 'transect_9-2024-10-10',
 'transect_9-2024-11-21',
 'transect_9-2024-12-18',
 'transect_AlongBay-2012-08-15',
 'transect_AlongBay-2013-02-12',
 'transect_AlongBay-2013-02-13_A',
 'transect_AlongBay-2013-02-13_B',
 'transect_AlongBay-2013-06-06',
 'transect_AlongBay-2014-03-28',
 'transect_AlongBay-2014-05-28',
 'transect_AlongBay-2014-08-14',
 'transect_AlongBay-2015-07-10',
 'transect_AlongBay-2015-08-14',
 'transect_AlongBay-2016-01-07',
 'transect_AlongBay-2016-05-12',
 'transect_AlongBay-2016-06-16',
 'transect_AlongBay-2016-07-27',
 'transect_AlongBay-2017-01-11',
 'transect_AlongBay-2017-02-07',
 'transect_AlongBay-2017-03-28',
 'transect_AlongBay-2017-04-20',
 'transect_AlongBay-2017-05-30',
 'transect_AlongBay-2017-06-28',
 'transect_AlongBay-2017-07-24',
 'transect_AlongBay-2017-07-26',
 'transect_AlongBay-2017-08-24',
 'transect_AlongBay-2017-09-22',
 'transect_AlongBay-2017-10-20',
 'transect_AlongBay-2017-11-02',
 'transect_AlongBay-2017-11-07',
 'transect_AlongBay-2017-12-14',
 'transect_AlongBay-2018-01-17',
 'transect_AlongBay-2018-03-02',
 'transect_AlongBay-2018-03-27',
 'transect_AlongBay-2018-04-23',
 'transect_AlongBay-2018-05-24',
 'transect_AlongBay-2018-06-22',
 'transect_AlongBay-2018-07-18',
 'transect_AlongBay-2018-08-23',
 'transect_AlongBay-2018-09-17',
 'transect_AlongBay-2018-10-17',
 'transect_AlongBay-2018-11-08',
 'transect_AlongBay-2018-12-06',
 'transect_AlongBay-2019-02-07',
 'transect_AlongBay-2019-03-19',
 'transect_AlongBay-2019-04-24',
 'transect_AlongBay-2019-05-14',
 'transect_AlongBay-2019-06-19',
 'transect_AlongBay-2019-07-23',
 'transect_AlongBay-2019-10-30',
 'transect_AlongBay-2019-11-15',
 'transect_AlongBay-2019-12-12',
 'transect_AlongBay-2020-02-06',
 'transect_AlongBay-2020-03-18',
 'transect_AlongBay-2020-06-04',
 'transect_AlongBay-2020-07-08',
 'transect_AlongBay-2020-07-23',
 'transect_AlongBay-2020-08-14',
 'transect_AlongBay-2020-09-20',
 'transect_AlongBay-2020-10-15',
 'transect_AlongBay-2020-12-28',
 'transect_AlongBay-2021-01-13',
 'transect_AlongBay-2021-02-16',
 'transect_AlongBay-2021-03-23',
 'transect_AlongBay-2021-04-14',
 'transect_AlongBay-2021-04-16',
 'transect_AlongBay-2021-05-06',
 'transect_AlongBay-2021-06-21',
 'transect_AlongBay-2021-07-21',
 'transect_AlongBay-2021-08-17',
 'transect_AlongBay-2021-10-04',
 'transect_AlongBay-2021-10-05',
 'transect_AlongBay-2021-10-21',
 'transect_AlongBay-2021-11-14',
 'transect_AlongBay-2021-12-18',
 'transect_AlongBay-2022-01-31',
 'transect_AlongBay-2022-02-28',
 'transect_AlongBay-2022-03-21',
 'transect_AlongBay-2022-04-12',
 'transect_AlongBay-2022-05-23',
 'transect_AlongBay-2022-06-24',
 'transect_AlongBay-2022-07-21',
 'transect_AlongBay-2022-08-24',
 'transect_AlongBay-2023-01-18',
 'transect_AlongBay-2023-02-16',
 'transect_AlongBay-2023-03-08',
 'transect_AlongBay-2023-03-28',
 'transect_AlongBay-2023-04-21',
 'transect_AlongBay-2023-05-12',
 'transect_AlongBay-2023-06-23',
 'transect_AlongBay-2023-07-24',
 'transect_AlongBay-2023-08-22',
 'transect_AlongBay-2023-09-13',
 'transect_AlongBay-2023-10-25',
 'transect_AlongBay-2023-11-24',
 'transect_AlongBay-2023-12-15',
 'transect_AlongBay-2024-01-19',
 'transect_AlongBay-2024-03-07',
 'transect_AlongBay-2024-04-03',
 'transect_AlongBay-2024-05-14',
 'transect_AlongBay-2024-06-13',
 'transect_AlongBay-2024-07-18',
 'transect_AlongBay-2024-08-26',
 'transect_AlongBay-2024-09-26',
 'transect_AlongBay-2024-09-27',
 'transect_AlongBay-2024-10-10',
 'transect_AlongBay-2024-11-21',
 'transect_AlongBay-2024-12-18']

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_3-2012-10-29
Date_Time Latitude_DD Longitude_DD Transect Visit StationN Bottom.Depth Depth Temperature_ITS90_DegC Salinity_PSU distance [km]
32575 2012-10-29 08:55:00 60.007 -152.567 3 2012-10-29 S_1 24.0 1 6.7863 27.9602 0.000000
32576 2012-10-29 08:55:00 60.007 -152.567 3 2012-10-29 S_1 24.0 2 6.9447 28.1183 0.000000
32577 2012-10-29 08:55:00 60.007 -152.567 3 2012-10-29 S_1 24.0 3 7.0266 28.2535 0.000000
32578 2012-10-29 08:55:00 60.007 -152.567 3 2012-10-29 S_1 24.0 4 7.0571 28.3245 0.000000
32579 2012-10-29 08:55:00 60.007 -152.567 3 2012-10-29 S_1 24.0 5 7.1067 28.4068 0.000000
... ... ... ... ... ... ... ... ... ... ... ...
33159 2012-10-29 13:30:00 59.780 -151.905 3 2012-10-29 S_16 14.0 8 7.0947 30.6770 44.899899
33160 2012-10-29 13:30:00 59.780 -151.905 3 2012-10-29 S_16 14.0 9 7.0950 30.6764 44.899899
33161 2012-10-29 13:30:00 59.780 -151.905 3 2012-10-29 S_16 14.0 10 7.0951 30.6776 44.899899
33162 2012-10-29 13:30:00 59.780 -151.905 3 2012-10-29 S_16 14.0 11 7.0947 30.6780 44.899899
33163 2012-10-29 13:30:00 59.780 -151.905 3 2012-10-29 S_16 14.0 12 7.0942 30.6768 44.899899

589 rows Γ— 11 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']