diff --git a/deployment-configs/2018/amlr01-20181216.yml b/deployment-configs/2018/amlr01-20181216.yml index 3d74854..73ffd1c 100644 --- a/deployment-configs/2018/amlr01-20181216.yml +++ b/deployment-configs/2018/amlr01-20181216.yml @@ -1,4 +1,5 @@ metadata: + Metadata_Conventions: Unidata Dataset Discovery v1.0, COARDS, CF-1.8 acknowledgment: This work was supported by funding from NOAA. comment: ' ' contributor_name: Christian Reiss, George Watters, Jennifer Walsh, Anthony Cossio, @@ -8,8 +9,9 @@ metadata: creator_email: nmfs.swfsc.esd-gliders@noaa.gov creator_name: Christian Reiss creator_url: https://www.fisheries.noaa.gov/about/southwest-fisheries-science-center - deployment_id: '1' deployment_name: amlr01-20181216 + disclaimer: This data may be redistributed and used without restriction. Data provided + as is with no expressed or implied assurance of quality assurance or quality control format_version: IOOS_Glider_NetCDF_v2.0.nc glider_instrument_name: slocum glider_model: Teledyne Webb Research Slocum G3 glider @@ -23,14 +25,15 @@ metadata: > Salinity, In Situ Ocean-based platforms > Seaglider, glider, Slocum, trajectory, underwater glider, water, wmo keywords_vocabulary: GCMD Science Keywords - license: This data may be redistributed and used without restriction. Data provided - as is with no expressed or implied assurance of quality assurance or quality control. - Metadata_Conventions: Unidata Dataset Discovery v1.0, COARDS, CF-1.8 + license: These data were produced by NOAA and are not subject to copyright protection + in the United States. NOAA waives any potential copyright and related rights in + thse data worldwide through the Creative Commons Zero 1.0 Universal Public Domain + Dedication (CC0-1.0, https://creativecommons.org/publicdomain/zero/1.0/). metadata_link: https://swfsc.github.io/glider-lab-manual/ naming_authority: gov.noaa.fisheries platform_type: Slocum Glider project: FREEBYRD - publisher_email: sam.woodman@noaa.gov + publisher_email: nmfs.swfsc.esd-gliders@noaa.gov publisher_name: Sam Woodman publisher_url: https://www.fisheries.noaa.gov/about/southwest-fisheries-science-center references: https://swfsc.github.io/glider-lab-manual/, https://github.com/c-proof/pyglider, @@ -48,6 +51,17 @@ metadata: transmission_system: IRIDIUM wmo_id: ' ' glider_devices: + instrument_azfp: + _FillValue: -999 + make_model: ASL Environmental Sciences AZFP 3 Frequency + long_name: Acoustic Zooplankton Fish Profiler + serial_number: '59009' + calibration_date: '2017-12-12' + factory_calibrated: '2017-12-12' + calibration_report: https://github.com/SWFSC/glider-lab/tree/main/calibration-docs + comment: '' + platform: platform + type: instrument instrument_ctd: _FillValue: -999 long_name: Conductivity, Temperature, Depth (CTD) Sensor @@ -81,17 +95,6 @@ glider_devices: comment: '' platform: platform type: instrument - instrument_azfp: - _FillValue: -999 - make_model: ASL Environmental Sciences AZFP 3 Frequency - long_name: Acoustic Zooplankton Fish Profiler - serial_number: '59009' - calibration_date: '2017-12-12' - factory_calibrated: '2017-12-12' - calibration_report: https://github.com/SWFSC/glider-lab/tree/main/calibration-docs - comment: '' - platform: platform - type: instrument netcdf_variables: time: source: sci_m_present_time @@ -195,11 +198,13 @@ netcdf_variables: long_name: CDOM units: ppb instrument: instrument_flbbcd + valid_min: 0.0 backscatter_700: source: sci_flbbcd_bb_units long_name: 700 nm wavelength backscatter units: m-1 sr-1 instrument: instrument_flbbcd + valid_min: 0.0 oxygen_concentration: source: sci_oxy4_oxygen long_name: oxygen concentration @@ -216,6 +221,8 @@ netcdf_variables: units: percent observation_type: measured instrument: instrument_oxygen + valid_min: 0.0 + valid_max: 120.0 water_velocity_eastward: source: m_final_water_vx long_name: mean eastward water velocity in segment @@ -332,3 +339,5 @@ profile_variables: calendar: gregorian units: seconds since 1970-01-01T00:00:00Z observation_type: calculated + instrument_ctd: + comment: placeholder for pyglider profile extraction diff --git a/deployment-configs/2022/amlr08-20220513.yml b/deployment-configs/2022/amlr08-20220513.yml index e025049..8f78bd0 100644 --- a/deployment-configs/2022/amlr08-20220513.yml +++ b/deployment-configs/2022/amlr08-20220513.yml @@ -1,4 +1,5 @@ metadata: + Metadata_Conventions: Unidata Dataset Discovery v1.0, COARDS, CF-1.8 acknowledgment: This work was supported by funding from NOAA. comment: ' ' contributor_name: Christian Reiss, George Watters, Jennifer Walsh, Anthony Cossio, @@ -8,9 +9,9 @@ metadata: creator_email: nmfs.swfsc.esd-gliders@noaa.gov creator_name: Christian Reiss creator_url: https://www.fisheries.noaa.gov/about/southwest-fisheries-science-center - deployment_id: '11' deployment_name: amlr08-20220513 - deployment_min_dt: 2022-05-13 18:57 + disclaimer: This data may be redistributed and used without restriction. Data provided + as is with no expressed or implied assurance of quality assurance or quality control format_version: IOOS_Glider_NetCDF_v2.0.nc glider_instrument_name: slocum glider_model: Teledyne Webb Research Slocum G3 glider @@ -24,15 +25,16 @@ metadata: > Salinity, In Situ Ocean-based platforms > Seaglider, glider, Slocum, trajectory, underwater glider, water, wmo keywords_vocabulary: GCMD Science Keywords - license: This data may be redistributed and used without restriction. Data provided - as is with no expressed or implied assurance of quality assurance or quality control. - Metadata_Conventions: Unidata Dataset Discovery v1.0, COARDS, CF-1.8 + license: These data were produced by NOAA and are not subject to copyright protection + in the United States. NOAA waives any potential copyright and related rights in + thse data worldwide through the Creative Commons Zero 1.0 Universal Public Domain + Dedication (CC0-1.0, https://creativecommons.org/publicdomain/zero/1.0/). metadata_link: https://swfsc.github.io/glider-lab-manual/ naming_authority: gov.noaa.fisheries os_version: '10.6' platform_type: Slocum Glider project: SANDIEGO - publisher_email: sam.woodman@noaa.gov + publisher_email: nmfs.swfsc.esd-gliders@noaa.gov publisher_name: Sam Woodman publisher_url: https://www.fisheries.noaa.gov/about/southwest-fisheries-science-center references: https://swfsc.github.io/glider-lab-manual/, https://github.com/c-proof/pyglider, @@ -40,6 +42,7 @@ metadata: sea_name: Coastal Waters of California source: Observational data from a profiling glider standard_name_vocabulary: CF Standard Name Table v72 + start_date: 20220513T185655 summary: This was a test deployment by the NOAA SWFSC Ecosystem Science Division to test a new WASSOC shadowgraph and Nortek compact echosounder. transmission_system: IRIDIUM @@ -57,6 +60,18 @@ glider_devices: description: Pumped, Continuous Profile Unit Version 2, G-1451 platform: platform type: instrument + instrument_echosounder: + _FillValue: -999 + make_model: Nortek Signature 100 Compact Echosounder + serial_number: '1778' + calibration_date: '' + factory_calibrated: '' + calibration_report: https://github.com/SWFSC/glider-lab/tree/main/calibration-docs + comment: '' + description: Signature 100 compact echosounder for gliders + platform: platform + type: instrument + long_name: Nortek Sig 100 Compact Echosounder instrument_flbbcd: _FillValue: -999 long_name: Optical Backscatter, Chlorophyll, and CDOM Fluorescence Sensor @@ -93,18 +108,6 @@ glider_devices: platform: platform type: instrument long_name: Wassoc Shadowgraph Camera - instrument_echosounder: - _FillValue: -999 - make_model: Nortek Signature 100 Compact Echosounder - serial_number: '1778' - calibration_date: '' - factory_calibrated: '' - calibration_report: https://github.com/SWFSC/glider-lab/tree/main/calibration-docs - comment: '' - description: Signature 100 compact echosounder for gliders - platform: platform - type: instrument - long_name: Nortek Sig 100 Compact Echosounder netcdf_variables: time: source: sci_m_present_time @@ -196,6 +199,7 @@ netcdf_variables: units: ppb observation_type: calculated instrument: instrument_flbbcd + valid_min: 0.0 backscatter_700: source: sci_flbbcd_bb_units long_name: 700 nm wavelength backscatter @@ -203,6 +207,7 @@ netcdf_variables: units: m-1 sr-1 observation_type: calculated instrument: instrument_flbbcd + valid_min: 0.0 oxygen_concentration: source: sci_oxy4_oxygen long_name: oxygen concentration @@ -352,3 +357,5 @@ profile_variables: calendar: gregorian units: seconds since 1970-01-01T00:00:00Z observation_type: calculated + instrument_ctd: + comment: placeholder for pyglider profile extraction diff --git a/deployment-configs/2023/amlr03-20231128.yml b/deployment-configs/2023/amlr03-20231128.yml index 716df8a..0bfbc1b 100644 --- a/deployment-configs/2023/amlr03-20231128.yml +++ b/deployment-configs/2023/amlr03-20231128.yml @@ -1,4 +1,5 @@ metadata: + Metadata_Conventions: Unidata Dataset Discovery v1.0, COARDS, CF-1.8 acknowledgment: This work was supported by funding from NOAA. comment: ' ' contributor_name: Christian Reiss, George Watters, Jennifer Walsh, Anthony Cossio, @@ -8,9 +9,9 @@ metadata: creator_email: nmfs.swfsc.esd-gliders@noaa.gov creator_name: Christian Reiss creator_url: https://www.fisheries.noaa.gov/about/southwest-fisheries-science-center - deployment_id: '1029' - deployment_min_dt: 2023-11-28 20:46 deployment_name: amlr03-20231128 + disclaimer: This data may be redistributed and used without restriction. Data provided + as is with no expressed or implied assurance of quality assurance or quality control format_version: IOOS_Glider_NetCDF_v2.0.nc glider_instrument_name: slocum glider_model: Teledyne Webb Research Slocum G3 glider @@ -24,15 +25,16 @@ metadata: > Salinity, In Situ Ocean-based platforms > Seaglider, glider, Slocum, trajectory, underwater glider, water, wmo keywords_vocabulary: GCMD Science Keywords - license: This data may be redistributed and used without restriction. Data provided - as is with no expressed or implied assurance of quality assurance or quality control. - Metadata_Conventions: Unidata Dataset Discovery v1.0, COARDS, CF-1.8 + license: These data were produced by NOAA and are not subject to copyright protection + in the United States. NOAA waives any potential copyright and related rights in + thse data worldwide through the Creative Commons Zero 1.0 Universal Public Domain + Dedication (CC0-1.0, https://creativecommons.org/publicdomain/zero/1.0/). metadata_link: https://swfsc.github.io/glider-lab-manual/ naming_authority: gov.noaa.fisheries os_version: '8.6' platform_type: Slocum Glider project: FREEBYRD - publisher_email: sam.woodman@noaa.gov + publisher_email: nmfs.swfsc.esd-gliders@noaa.gov publisher_name: Sam Woodman publisher_url: https://www.fisheries.noaa.gov/about/southwest-fisheries-science-center references: https://swfsc.github.io/glider-lab-manual/, https://github.com/c-proof/pyglider, @@ -40,6 +42,7 @@ metadata: sea_name: Southern Ocean source: Observational data from a profiling glider standard_name_vocabulary: CF Standard Name Table v72 + start_date: 2023-11-28 20:46 summary: These data are part of the U.S. Antarctic Marine Living Resources (AMLR) Program Operation FREEBYRD. FREEBYRD is a long term program to replace ship-based surveys with autonomous vehicles to estimate Antarctic krill biomass in support @@ -62,6 +65,18 @@ glider_devices: description: Pumped, Continuous Profile Unit Version 2, G-1451 platform: platform type: instrument + instrument_echosounder: + _FillValue: -999 + make_model: Nortek Signature 100 Compact Echosounder + serial_number: '1783' + calibration_date: '' + factory_calibrated: '' + calibration_report: https://github.com/SWFSC/glider-lab/tree/main/calibration-docs + comment: '' + description: Signature 100 compact echosounder for gliders + platform: platform + type: instrument + long_name: Nortek Sig 100 Compact Echosounder instrument_flbbcd: _FillValue: -999 long_name: Optical Backscatter, Chlorophyll, and CDOM Fluorescence Sensor @@ -74,18 +89,6 @@ glider_devices: description: flurometer, scattering meter, and cdom 301771 platform: platform type: instrument - instrument_oxygen: - _FillValue: -999 - long_name: Oxygen Optode - make_model: Aanderaa Oxygen Optode 4831 - serial_number: '668' - calibration_date: '2016-11-20' - factory_calibrated: '2016-11-20' - calibration_report: https://github.com/SWFSC/glider-lab/tree/main/calibration-docs - comment: '' - description: '' - platform: platform - type: instrument instrument_glidercam: _FillValue: -999 make_model: Williamson and Associates Glidercam @@ -99,18 +102,18 @@ glider_devices: platform: platform type: instrument long_name: Wassoc Glidercam - instrument_echosounder: + instrument_oxygen: _FillValue: -999 - make_model: Nortek Signature 100 Compact Echosounder - serial_number: '1783' - calibration_date: '' - factory_calibrated: '' + long_name: Oxygen Optode + make_model: Aanderaa Oxygen Optode 4831 + serial_number: '668' + calibration_date: '2016-11-20' + factory_calibrated: '2016-11-20' calibration_report: https://github.com/SWFSC/glider-lab/tree/main/calibration-docs comment: '' - description: Signature 100 compact echosounder for gliders + description: '' platform: platform type: instrument - long_name: Nortek Sig 100 Compact Echosounder netcdf_variables: time: source: sci_m_present_time @@ -202,6 +205,7 @@ netcdf_variables: units: ppb observation_type: calculated instrument: instrument_flbbcd + valid_min: 0.0 backscatter_700: source: sci_flbbcd_bb_units long_name: 700 nm wavelength backscatter @@ -209,6 +213,7 @@ netcdf_variables: units: m-1 sr-1 observation_type: calculated instrument: instrument_flbbcd + valid_min: 0.0 oxygen_concentration: source: sci_oxy4_oxygen long_name: oxygen concentration @@ -225,6 +230,8 @@ netcdf_variables: units: percent observation_type: measured instrument: instrument_oxygen + valid_min: 0.0 + valid_max: 120.0 heading: source: m_heading long_name: glider heading angle @@ -356,3 +363,5 @@ profile_variables: calendar: gregorian units: seconds since 1970-01-01T00:00:00Z observation_type: calculated + instrument_ctd: + comment: placeholder for pyglider profile extraction diff --git a/deployment-configs/2023/amlr04-20231128.yml b/deployment-configs/2023/amlr04-20231128.yml index 4b75e6f..91f7a26 100644 --- a/deployment-configs/2023/amlr04-20231128.yml +++ b/deployment-configs/2023/amlr04-20231128.yml @@ -1,4 +1,5 @@ metadata: + Metadata_Conventions: Unidata Dataset Discovery v1.0, COARDS, CF-1.8 acknowledgment: This work was supported by funding from NOAA. comment: ' ' contributor_name: Christian Reiss, George Watters, Jennifer Walsh, Anthony Cossio, @@ -8,9 +9,9 @@ metadata: creator_email: nmfs.swfsc.esd-gliders@noaa.gov creator_name: Christian Reiss creator_url: https://www.fisheries.noaa.gov/about/southwest-fisheries-science-center - deployment_id: '1030' - deployment_min_dt: 2023-11-28 20:10 deployment_name: amlr04-20231128 + disclaimer: This data may be redistributed and used without restriction. Data provided + as is with no expressed or implied assurance of quality assurance or quality control format_version: IOOS_Glider_NetCDF_v2.0.nc glider_instrument_name: slocum glider_model: Teledyne Webb Research Slocum G3 glider @@ -24,15 +25,16 @@ metadata: > Salinity, In Situ Ocean-based platforms > Seaglider, glider, Slocum, trajectory, underwater glider, water, wmo keywords_vocabulary: GCMD Science Keywords - license: This data may be redistributed and used without restriction. Data provided - as is with no expressed or implied assurance of quality assurance or quality control. - Metadata_Conventions: Unidata Dataset Discovery v1.0, COARDS, CF-1.8 + license: These data were produced by NOAA and are not subject to copyright protection + in the United States. NOAA waives any potential copyright and related rights in + thse data worldwide through the Creative Commons Zero 1.0 Universal Public Domain + Dedication (CC0-1.0, https://creativecommons.org/publicdomain/zero/1.0/). metadata_link: https://swfsc.github.io/glider-lab-manual/ naming_authority: gov.noaa.fisheries os_version: '8.6' platform_type: Slocum Glider project: FREEBYRD - publisher_email: sam.woodman@noaa.gov + publisher_email: nmfs.swfsc.esd-gliders@noaa.gov publisher_name: Sam Woodman publisher_url: https://www.fisheries.noaa.gov/about/southwest-fisheries-science-center references: https://swfsc.github.io/glider-lab-manual/, https://github.com/c-proof/pyglider, @@ -40,6 +42,7 @@ metadata: sea_name: Southern Ocean source: Observational data from a profiling glider standard_name_vocabulary: CF Standard Name Table v72 + start_date: 2023-11-28 20:10 summary: transmission_system: IRIDIUM wmo_id: ' ' @@ -56,6 +59,18 @@ glider_devices: description: Pumped, Continuous Profile Unit Version 2, G-1451 platform: platform type: instrument + instrument_echosounder: + _FillValue: -999 + make_model: Nortek Signature 100 Compact Echosounder + serial_number: '1781' + calibration_date: '' + factory_calibrated: '' + calibration_report: https://github.com/SWFSC/glider-lab/tree/main/calibration-docs + comment: '' + description: Signature 100 compact echosounder for gliders + platform: platform + type: instrument + long_name: Nortek Sig 100 Compact Echosounder instrument_flbbcd: _FillValue: -999 long_name: Optical Backscatter, Chlorophyll, and CDOM Fluorescence Sensor @@ -68,18 +83,6 @@ glider_devices: description: flurometer, scattering meter, and cdom 301771 platform: platform type: instrument - instrument_oxygen: - _FillValue: -999 - long_name: Oxygen Optode - make_model: Aanderaa Oxygen Optode 4831 - serial_number: '670' - calibration_date: '2016-11-20' - factory_calibrated: '2016-11-20' - calibration_report: https://github.com/SWFSC/glider-lab/tree/main/calibration-docs - comment: '' - description: '' - platform: platform - type: instrument instrument_glidercam: _FillValue: -999 make_model: Williamson and Associates Glidercam @@ -93,18 +96,18 @@ glider_devices: platform: platform type: instrument long_name: Wassoc Glidercam - instrument_echosounder: + instrument_oxygen: _FillValue: -999 - make_model: Nortek Signature 100 Compact Echosounder - serial_number: '1781' - calibration_date: '' - factory_calibrated: '' + long_name: Oxygen Optode + make_model: Aanderaa Oxygen Optode 4831 + serial_number: '670' + calibration_date: '2016-11-20' + factory_calibrated: '2016-11-20' calibration_report: https://github.com/SWFSC/glider-lab/tree/main/calibration-docs comment: '' - description: Signature 100 compact echosounder for gliders + description: '' platform: platform type: instrument - long_name: Nortek Sig 100 Compact Echosounder netcdf_variables: time: source: sci_m_present_time @@ -196,6 +199,7 @@ netcdf_variables: units: ppb observation_type: calculated instrument: instrument_flbbcd + valid_min: 0.0 backscatter_700: source: sci_flbbcd_bb_units long_name: 700 nm wavelength backscatter @@ -203,6 +207,7 @@ netcdf_variables: units: m-1 sr-1 observation_type: calculated instrument: instrument_flbbcd + valid_min: 0.0 oxygen_concentration: source: sci_oxy4_oxygen long_name: oxygen concentration @@ -219,6 +224,8 @@ netcdf_variables: units: percent observation_type: measured instrument: instrument_oxygen + valid_min: 0.0 + valid_max: 120.0 heading: source: m_heading long_name: glider heading angle @@ -350,3 +357,5 @@ profile_variables: calendar: gregorian units: seconds since 1970-01-01T00:00:00Z observation_type: calculated + instrument_ctd: + comment: placeholder for pyglider profile extraction diff --git a/deployment-configs/2024/amlr01-20241120.yml b/deployment-configs/2024/amlr01-20241120.yml index 05a909a..1a2763f 100644 --- a/deployment-configs/2024/amlr01-20241120.yml +++ b/deployment-configs/2024/amlr01-20241120.yml @@ -1,4 +1,5 @@ metadata: + Metadata_Conventions: Unidata Dataset Discovery v1.0, COARDS, CF-1.8 acknowledgment: This work was supported by funding from NOAA. comment: ' ' contributor_name: George Watters, Christian Reiss, Jennifer Walsh, Anthony Cossio, @@ -8,9 +9,9 @@ metadata: creator_email: nmfs.swfsc.esd-gliders@noaa.gov creator_name: Christian Reiss creator_url: https://www.fisheries.noaa.gov/about/southwest-fisheries-science-center - deployment_id: '1039' - deployment_min_dt: 2024-11-20 20:30 deployment_name: amlr01-20241120 + disclaimer: This data may be redistributed and used without restriction. Data provided + as is with no expressed or implied assurance of quality assurance or quality control format_version: IOOS_Glider_NetCDF_v2.0.nc glider_instrument_name: slocum glider_model: Teledyne Webb Research Slocum G3 glider @@ -24,15 +25,16 @@ metadata: > Salinity, In Situ Ocean-based platforms > Seaglider, glider, Slocum, trajectory, underwater glider, water, wmo keywords_vocabulary: GCMD Science Keywords - license: This data may be redistributed and used without restriction. Data provided - as is with no expressed or implied assurance of quality assurance or quality control. - Metadata_Conventions: Unidata Dataset Discovery v1.0, COARDS, CF-1.8 + license: These data were produced by NOAA and are not subject to copyright protection + in the United States. NOAA waives any potential copyright and related rights in + thse data worldwide through the Creative Commons Zero 1.0 Universal Public Domain + Dedication (CC0-1.0, https://creativecommons.org/publicdomain/zero/1.0/). metadata_link: https://swfsc.github.io/glider-lab-manual/ naming_authority: gov.noaa.fisheries os_version: '8.6' platform_type: Slocum Glider project: FREEBYRD - publisher_email: sam.woodman@noaa.gov + publisher_email: nmfs.swfsc.esd-gliders@noaa.gov publisher_name: Sam Woodman publisher_url: https://www.fisheries.noaa.gov/about/southwest-fisheries-science-center references: https://swfsc.github.io/glider-lab-manual/, https://github.com/c-proof/pyglider, @@ -40,6 +42,7 @@ metadata: sea_name: Southern Ocean source: Observational data from a profiling glider standard_name_vocabulary: CF Standard Name Table v72 + start_date: 2024-11-20 20:30 summary: These data are part of the NOAA Ecosystem Science Division Operation Freebyrd. Operation Freebyrd is for glider surveys in the Southern Ocean around the northern Antarctic Peninsula and South Shetland Islands. Sensors on this glider included @@ -51,6 +54,19 @@ metadata: transmission_system: IRIDIUM wmo_id: ' ' glider_devices: + instrument_azfp: + _FillValue: -999 + make_model: ASL Environmental Sciences AZFP 3 frequency + long_name: Acoustic Zooplankton Fish Profiler + serial_number: '59010' + calibration_date: '2021-04-29' + factory_calibrated: '2021-04-29' + calibration_report: https://github.com/SWFSC/glider-lab/tree/main/calibration-docs + comment: '' + description: 'Acoustic Zooplankton Fish Profiler with three frequencies: 38, 67.5, + and 125 kHz' + platform: platform + type: instrument instrument_ctd: _FillValue: -999 long_name: Conductivity, Temperature, Depth (CTD) Sensor @@ -87,19 +103,6 @@ glider_devices: description: '' platform: platform type: instrument - instrument_azfp: - _FillValue: -999 - make_model: ASL Environmental Sciences AZFP 3 frequency - long_name: Acoustic Zooplankton Fish Profiler - serial_number: '59010' - calibration_date: '2021-04-29' - factory_calibrated: '2021-04-29' - calibration_report: https://github.com/SWFSC/glider-lab/tree/main/calibration-docs - comment: '' - description: 'Acoustic Zooplankton Fish Profiler with three frequencies: 38, 67.5, - and 125 kHz' - platform: platform - type: instrument netcdf_variables: time: source: sci_m_present_time @@ -191,6 +194,7 @@ netcdf_variables: units: ppb observation_type: calculated instrument: instrument_flbbcd + valid_min: 0.0 backscatter_700: source: sci_flbbcd_bb_units long_name: 700 nm wavelength backscatter @@ -198,6 +202,7 @@ netcdf_variables: units: m-1 sr-1 observation_type: calculated instrument: instrument_flbbcd + valid_min: 0.0 oxygen_concentration: source: sci_oxy4_oxygen long_name: oxygen concentration @@ -214,6 +219,8 @@ netcdf_variables: units: percent observation_type: measured instrument: instrument_oxygen + valid_min: 0.0 + valid_max: 120.0 heading: source: m_heading long_name: glider heading angle @@ -345,3 +352,5 @@ profile_variables: calendar: gregorian units: seconds since 1970-01-01T00:00:00Z observation_type: calculated + instrument_ctd: + comment: placeholder for pyglider profile extraction diff --git a/deployment-configs/2024/amlr08-20241120.yml b/deployment-configs/2024/amlr08-20241120.yml index 086be2e..e24cb97 100644 --- a/deployment-configs/2024/amlr08-20241120.yml +++ b/deployment-configs/2024/amlr08-20241120.yml @@ -1,4 +1,5 @@ metadata: + Metadata_Conventions: Unidata Dataset Discovery v1.0, COARDS, CF-1.8 acknowledgment: This work was supported by funding from NOAA. comment: 'This glider suffered a leak in its oil pump four days into the deployment and was unable to pump oil into the nose to surface. It aborted at depth and dispatched @@ -11,9 +12,9 @@ metadata: creator_email: nmfs.swfsc.esd-gliders@noaa.gov creator_name: Christian Reiss creator_url: https://www.fisheries.noaa.gov/about/southwest-fisheries-science-center - deployment_id: '1040' - deployment_min_dt: 2024-11-20 20:57 deployment_name: amlr08-20241120 + disclaimer: This data may be redistributed and used without restriction. Data provided + as is with no expressed or implied assurance of quality assurance or quality control format_version: IOOS_Glider_NetCDF_v2.0.nc glider_instrument_name: slocum glider_model: Teledyne Webb Research Slocum G3 glider @@ -27,15 +28,16 @@ metadata: > Salinity, In Situ Ocean-based platforms > Seaglider, glider, Slocum, trajectory, underwater glider, water, wmo keywords_vocabulary: GCMD Science Keywords - license: This data may be redistributed and used without restriction. Data provided - as is with no expressed or implied assurance of quality assurance or quality control. - Metadata_Conventions: Unidata Dataset Discovery v1.0, COARDS, CF-1.8 + license: These data were produced by NOAA and are not subject to copyright protection + in the United States. NOAA waives any potential copyright and related rights in + thse data worldwide through the Creative Commons Zero 1.0 Universal Public Domain + Dedication (CC0-1.0, https://creativecommons.org/publicdomain/zero/1.0/). metadata_link: https://swfsc.github.io/glider-lab-manual/ naming_authority: gov.noaa.fisheries os_version: '11.0' platform_type: Slocum Glider project: FREEBYRD - publisher_email: sam.woodman@noaa.gov + publisher_email: nmfs.swfsc.esd-gliders@noaa.gov publisher_name: Sam Woodman publisher_url: https://www.fisheries.noaa.gov/about/southwest-fisheries-science-center references: https://swfsc.github.io/glider-lab-manual/, https://github.com/c-proof/pyglider, @@ -43,6 +45,7 @@ metadata: sea_name: Southern Ocean source: Observational data from a profiling glider standard_name_vocabulary: CF Standard Name Table v72 + start_date: 2024-11-20 20:57 summary: These data are part of the NOAA Ecosystem Science Division Operation Freebyrd. Operation Freebyrd is for glider surveys in the Southern Ocean around the northern Antarctic Peninsula and South Shetland Islands. Sensors on this glider included @@ -68,6 +71,18 @@ glider_devices: description: Pumped, Continuous Profile Unit Version 2, G-1451 platform: platform type: instrument + instrument_echosounder: + _FillValue: -999 + make_model: Nortek Signature 100 Compact Echosounder + serial_number: '1778' + calibration_date: '' + factory_calibrated: '' + calibration_report: https://github.com/SWFSC/glider-lab/tree/main/calibration-docs + comment: '' + description: Signature 100 compact echosounder for gliders + platform: platform + type: instrument + long_name: Nortek Sig 100 Compact Echosounder instrument_flbbcd: _FillValue: -999 long_name: Optical Backscatter, Chlorophyll, and CDOM Fluorescence Sensor @@ -92,18 +107,6 @@ glider_devices: description: '' platform: platform type: instrument - instrument_echosounder: - _FillValue: -999 - make_model: Nortek Signature 100 Compact Echosounder - serial_number: '1778' - calibration_date: '' - factory_calibrated: '' - calibration_report: https://github.com/SWFSC/glider-lab/tree/main/calibration-docs - comment: '' - description: Signature 100 compact echosounder for gliders - platform: platform - type: instrument - long_name: Nortek Sig 100 Compact Echosounder netcdf_variables: time: source: sci_m_present_time @@ -195,6 +198,7 @@ netcdf_variables: units: ppb observation_type: calculated instrument: instrument_flbbcd + valid_min: 0.0 backscatter_700: source: sci_flbbcd_bb_units long_name: 700 nm wavelength backscatter @@ -202,6 +206,7 @@ netcdf_variables: units: m-1 sr-1 observation_type: calculated instrument: instrument_flbbcd + valid_min: 0.0 oxygen_concentration: source: sci_oxy4_oxygen long_name: oxygen concentration @@ -218,6 +223,8 @@ netcdf_variables: units: percent observation_type: measured instrument: instrument_oxygen + valid_min: 0.0 + valid_max: 120.0 heading: source: m_heading long_name: glider heading angle @@ -349,3 +356,5 @@ profile_variables: calendar: gregorian units: seconds since 1970-01-01T00:00:00Z observation_type: calculated + instrument_ctd: + comment: placeholder for pyglider profile extraction diff --git a/deployment-configs/2024/calanus-20241019.yml b/deployment-configs/2024/calanus-20241019.yml index 9e6b4e8..b94953a 100644 --- a/deployment-configs/2024/calanus-20241019.yml +++ b/deployment-configs/2024/calanus-20241019.yml @@ -1,4 +1,5 @@ metadata: + Metadata_Conventions: Unidata Dataset Discovery v1.0, COARDS, CF-1.8 acknowledgment: This work was supported by funding from NOAA. comment: 'The oxygen sensor failed in the afternoon of 1 Nov 2024, and no oxygen data was collected after this time. Additionally, several of the delayed data @@ -13,9 +14,9 @@ metadata: creator_email: nmfs.swfsc.esd-gliders@noaa.gov creator_name: Christian Reiss creator_url: https://www.fisheries.noaa.gov/about/southwest-fisheries-science-center - deployment_id: '1034' - deployment_min_dt: '2024-10-19 17:37:00' deployment_name: calanus-20241019 + disclaimer: This data may be redistributed and used without restriction. Data provided + as is with no expressed or implied assurance of quality assurance or quality control format_version: IOOS_Glider_NetCDF_v2.0.nc glider_instrument_name: slocum glider_model: Teledyne Webb Research Slocum G3 glider @@ -29,15 +30,16 @@ metadata: > Salinity, In Situ Ocean-based platforms > Seaglider, glider, Slocum, trajectory, underwater glider, water, wmo keywords_vocabulary: GCMD Science Keywords - license: This data may be redistributed and used without restriction. Data provided - as is with no expressed or implied assurance of quality assurance or quality control. - Metadata_Conventions: Unidata Dataset Discovery v1.0, COARDS, CF-1.8 + license: These data were produced by NOAA and are not subject to copyright protection + in the United States. NOAA waives any potential copyright and related rights in + thse data worldwide through the Creative Commons Zero 1.0 Universal Public Domain + Dedication (CC0-1.0, https://creativecommons.org/publicdomain/zero/1.0/). metadata_link: https://swfsc.github.io/glider-lab-manual/ naming_authority: gov.noaa.fisheries os_version: '11.01' platform_type: Slocum Glider project: ECOSWIM - publisher_email: sam.woodman@noaa.gov + publisher_email: nmfs.swfsc.esd-gliders@noaa.gov publisher_name: Sam Woodman publisher_url: https://www.fisheries.noaa.gov/about/southwest-fisheries-science-center references: https://swfsc.github.io/glider-lab-manual/, https://github.com/c-proof/pyglider, @@ -45,6 +47,7 @@ metadata: sea_name: Coastal Waters of California source: Observational data from a profiling glider standard_name_vocabulary: CF Standard Name Table v72 + start_date: '2024-10-19 17:37:00' summary: These data are part of the NOAA Ecosystem Science Division Operation ECOSWIM. ECOSWIM is for glider surveys in the California Current Ecosystem off of Humboldt and Morro Bay, California, and in the Southern California waters of the Pacific @@ -65,6 +68,18 @@ glider_devices: description: Pumped, Continuous Profile Unit Version 2, G-1451 platform: platform type: instrument + instrument_echosounder: + _FillValue: -999 + make_model: Nortek Signature 100 Compact Echosounder + serial_number: '1781' + calibration_date: '' + factory_calibrated: '' + calibration_report: https://github.com/SWFSC/glider-lab/tree/main/calibration-docs + comment: '' + description: Signature 100 compact echosounder for gliders + platform: platform + type: instrument + long_name: Nortek Sig 100 Compact Echosounder instrument_flbbcd: _FillValue: -999 long_name: Optical Backscatter, Chlorophyll, and CDOM Fluorescence Sensor @@ -89,18 +104,6 @@ glider_devices: description: '' platform: platform type: instrument - instrument_echosounder: - _FillValue: -999 - make_model: Nortek Signature 100 Compact Echosounder - serial_number: '1781' - calibration_date: '' - factory_calibrated: '' - calibration_report: https://github.com/SWFSC/glider-lab/tree/main/calibration-docs - comment: '' - description: Signature 100 compact echosounder for gliders - platform: platform - type: instrument - long_name: Nortek Sig 100 Compact Echosounder netcdf_variables: time: source: sci_m_present_time @@ -192,6 +195,7 @@ netcdf_variables: units: ppb observation_type: calculated instrument: instrument_flbbcd + valid_min: 0.0 backscatter_700: source: sci_flbbcd_bb_units long_name: 700 nm wavelength backscatter @@ -199,6 +203,7 @@ netcdf_variables: units: m-1 sr-1 observation_type: calculated instrument: instrument_flbbcd + valid_min: 0.0 oxygen_concentration: source: sci_oxy4_oxygen long_name: oxygen concentration @@ -215,6 +220,8 @@ netcdf_variables: units: percent observation_type: measured instrument: instrument_oxygen + valid_min: 0.0 + valid_max: 120.0 heading: source: m_heading long_name: glider heading angle @@ -346,3 +353,5 @@ profile_variables: calendar: gregorian units: seconds since 1970-01-01T00:00:00Z observation_type: calculated + instrument_ctd: + comment: placeholder for pyglider profile extraction diff --git a/deployment-configs/2024/george-20240530.yml b/deployment-configs/2024/george-20240530.yml index 1a773f3..93fbc74 100644 --- a/deployment-configs/2024/george-20240530.yml +++ b/deployment-configs/2024/george-20240530.yml @@ -1,4 +1,5 @@ metadata: + Metadata_Conventions: Unidata Dataset Discovery v1.0, COARDS, CF-1.8 acknowledgment: This work was supported by funding from NOAA. comment: ' ' contributor_name: Christian Reiss, George Watters, Jennifer Walsh, Anthony Cossio, @@ -8,9 +9,9 @@ metadata: creator_email: nmfs.swfsc.esd-gliders@noaa.gov creator_name: Christian Reiss creator_url: https://www.fisheries.noaa.gov/about/southwest-fisheries-science-center - deployment_id: '1032' - deployment_min_dt: 2024-05-30 18:22 deployment_name: george-20240530 + disclaimer: This data may be redistributed and used without restriction. Data provided + as is with no expressed or implied assurance of quality assurance or quality control format_version: IOOS_Glider_NetCDF_v2.0.nc glider_instrument_name: slocum glider_model: Teledyne Webb Research Slocum G3 glider @@ -24,15 +25,16 @@ metadata: > Salinity, In Situ Ocean-based platforms > Seaglider, glider, Slocum, trajectory, underwater glider, water, wmo keywords_vocabulary: GCMD Science Keywords - license: This data may be redistributed and used without restriction. Data provided - as is with no expressed or implied assurance of quality assurance or quality control. - Metadata_Conventions: Unidata Dataset Discovery v1.0, COARDS, CF-1.8 + license: These data were produced by NOAA and are not subject to copyright protection + in the United States. NOAA waives any potential copyright and related rights in + thse data worldwide through the Creative Commons Zero 1.0 Universal Public Domain + Dedication (CC0-1.0, https://creativecommons.org/publicdomain/zero/1.0/). metadata_link: https://swfsc.github.io/glider-lab-manual/ naming_authority: gov.noaa.fisheries os_version: '11.0' platform_type: Slocum Glider project: REFOCUS - publisher_email: sam.woodman@noaa.gov + publisher_email: nmfs.swfsc.esd-gliders@noaa.gov publisher_name: Sam Woodman publisher_url: https://www.fisheries.noaa.gov/about/southwest-fisheries-science-center references: https://swfsc.github.io/glider-lab-manual/, https://github.com/c-proof/pyglider, @@ -40,6 +42,7 @@ metadata: sea_name: Coastal Waters of California source: Observational data from a profiling glider standard_name_vocabulary: CF Standard Name Table v72 + start_date: 2024-05-30 18:22 summary: transmission_system: IRIDIUM wmo_id: ' ' @@ -171,6 +174,8 @@ netcdf_variables: units: percent observation_type: measured instrument: instrument_oxygen + valid_min: 0.0 + valid_max: 120.0 heading: source: m_heading long_name: glider heading angle @@ -302,3 +307,5 @@ profile_variables: calendar: gregorian units: seconds since 1970-01-01T00:00:00Z observation_type: calculated + instrument_ctd: + comment: placeholder for pyglider profile extraction diff --git a/deployment-configs/2024/george-20240907.yml b/deployment-configs/2024/george-20240907.yml index f61f4f5..7bf701d 100644 --- a/deployment-configs/2024/george-20240907.yml +++ b/deployment-configs/2024/george-20240907.yml @@ -1,4 +1,5 @@ metadata: + Metadata_Conventions: Unidata Dataset Discovery v1.0, COARDS, CF-1.8 acknowledgment: This work was supported by funding from NOAA. comment: ' ' contributor_name: Christian Reiss, George Watters, Jennifer Walsh, Anthony Cossio, @@ -8,9 +9,9 @@ metadata: creator_email: nmfs.swfsc.esd-gliders@noaa.gov creator_name: Christian Reiss creator_url: https://www.fisheries.noaa.gov/about/southwest-fisheries-science-center - deployment_id: '1033' - deployment_min_dt: 2024-09-07 19:17 deployment_name: george-20240907 + disclaimer: This data may be redistributed and used without restriction. Data provided + as is with no expressed or implied assurance of quality assurance or quality control format_version: IOOS_Glider_NetCDF_v2.0.nc glider_instrument_name: slocum glider_model: Teledyne Webb Research Slocum G3 glider @@ -24,15 +25,16 @@ metadata: > Salinity, In Situ Ocean-based platforms > Seaglider, glider, Slocum, trajectory, underwater glider, water, wmo keywords_vocabulary: GCMD Science Keywords - license: This data may be redistributed and used without restriction. Data provided - as is with no expressed or implied assurance of quality assurance or quality control. - Metadata_Conventions: Unidata Dataset Discovery v1.0, COARDS, CF-1.8 + license: These data were produced by NOAA and are not subject to copyright protection + in the United States. NOAA waives any potential copyright and related rights in + thse data worldwide through the Creative Commons Zero 1.0 Universal Public Domain + Dedication (CC0-1.0, https://creativecommons.org/publicdomain/zero/1.0/). metadata_link: https://swfsc.github.io/glider-lab-manual/ naming_authority: gov.noaa.fisheries os_version: '11.0' platform_type: Slocum Glider project: REFOCUS - publisher_email: sam.woodman@noaa.gov + publisher_email: nmfs.swfsc.esd-gliders@noaa.gov publisher_name: Sam Woodman publisher_url: https://www.fisheries.noaa.gov/about/southwest-fisheries-science-center references: https://swfsc.github.io/glider-lab-manual/, https://github.com/c-proof/pyglider, @@ -40,6 +42,7 @@ metadata: sea_name: Coastal Waters of California source: Observational data from a profiling glider standard_name_vocabulary: CF Standard Name Table v72 + start_date: 2024-09-07 19:17 summary: transmission_system: IRIDIUM wmo_id: ' ' @@ -183,6 +186,7 @@ netcdf_variables: units: ppb observation_type: calculated instrument: instrument_flbbcd + valid_min: 0.0 backscatter_700: source: sci_flbbcd_bb_units long_name: 700 nm wavelength backscatter @@ -190,6 +194,7 @@ netcdf_variables: units: m-1 sr-1 observation_type: calculated instrument: instrument_flbbcd + valid_min: 0.0 oxygen_concentration: source: sci_oxy4_oxygen long_name: oxygen concentration @@ -206,6 +211,8 @@ netcdf_variables: units: percent observation_type: measured instrument: instrument_oxygen + valid_min: 0.0 + valid_max: 120.0 heading: source: m_heading long_name: glider heading angle @@ -337,3 +344,5 @@ profile_variables: calendar: gregorian units: seconds since 1970-01-01T00:00:00Z observation_type: calculated + instrument_ctd: + comment: placeholder for pyglider profile extraction diff --git a/deployment-configs/2025/amlr02-20251123.yml b/deployment-configs/2025/amlr02-20251123.yml index b31429e..8bc88d4 100644 --- a/deployment-configs/2025/amlr02-20251123.yml +++ b/deployment-configs/2025/amlr02-20251123.yml @@ -1,4 +1,5 @@ metadata: + Metadata_Conventions: Unidata Dataset Discovery v1.0, COARDS, CF-1.8 acknowledgment: This work was supported by funding from NOAA. comment: glider had an aft leak and was recovered early contributor_name: Heidi Taylor, Jennifer Walsh, Anthony Cossio, Tegan Murray, Samuel @@ -8,8 +9,9 @@ metadata: creator_email: nmfs.swfsc.esd-gliders@noaa.gov creator_name: Kourtney Burger creator_url: https://www.fisheries.noaa.gov/about/southwest-fisheries-science-center - deployment_id: '1052' deployment_name: amlr02-20251123 + disclaimer: This data may be redistributed and used without restriction. Data provided + as is with no expressed or implied assurance of quality assurance or quality control format_version: IOOS_Glider_NetCDF_v2.0.nc glider_instrument_name: slocum glider_model: Teledyne Webb Research Slocum G3 glider @@ -23,15 +25,16 @@ metadata: > Salinity, In Situ Ocean-based platforms > Seaglider, glider, Slocum, trajectory, underwater glider, water, wmo keywords_vocabulary: GCMD Science Keywords - license: This data may be redistributed and used without restriction. Data provided - as is with no expressed or implied assurance of quality assurance or quality control. - Metadata_Conventions: Unidata Dataset Discovery v1.0, COARDS, CF-1.8 + license: These data were produced by NOAA and are not subject to copyright protection + in the United States. NOAA waives any potential copyright and related rights in + thse data worldwide through the Creative Commons Zero 1.0 Universal Public Domain + Dedication (CC0-1.0, https://creativecommons.org/publicdomain/zero/1.0/). metadata_link: https://swfsc.github.io/glider-lab-manual/ naming_authority: gov.noaa.fisheries os_version: '8.6' platform_type: Slocum Glider project: FREEBYRD - publisher_email: sam.woodman@noaa.gov + publisher_email: nmfs.swfsc.esd-gliders@noaa.gov publisher_name: Sam Woodman publisher_url: https://www.fisheries.noaa.gov/about/southwest-fisheries-science-center references: https://swfsc.github.io/glider-lab-manual/, https://github.com/c-proof/pyglider, @@ -60,6 +63,18 @@ glider_devices: description: Pumped, Continuous Profile Unit Version 2, G-1451 platform: platform type: instrument + instrument_echosounder: + _FillValue: -999 + make_model: Nortek Signature 100 Compact Echosounder + serial_number: '107475' + calibration_date: '2025-07-29' + factory_calibrated: '' + calibration_report: https://github.com/SWFSC/glider-lab/tree/main/calibration-docs + comment: '' + description: Signature 100 compact echosounder for gliders + platform: platform + type: instrument + long_name: Nortek Sig 100 Compact Echosounder instrument_flbbcd: _FillValue: -999 long_name: Optical Backscatter, Chlorophyll, and CDOM Fluorescence Sensor @@ -72,18 +87,6 @@ glider_devices: description: flurometer, scattering meter, and cdom 301771 platform: platform type: instrument - instrument_oxygen: - _FillValue: -999 - long_name: Oxygen Optode - make_model: Aanderaa Oxygen Optode 4831 - serial_number: '947' - calibration_date: '2021-02-14' - factory_calibrated: '2021-02-14' - calibration_report: https://github.com/SWFSC/glider-lab/tree/main/calibration-docs - comment: '' - description: '' - platform: platform - type: instrument instrument_glidercam: _FillValue: -999 make_model: Williamson and Associates Glidercam @@ -97,18 +100,18 @@ glider_devices: platform: platform type: instrument long_name: Wassoc Glidercam - instrument_echosounder: + instrument_oxygen: _FillValue: -999 - make_model: Nortek Signature 100 Compact Echosounder - serial_number: '107475' - calibration_date: '2025-07-29' - factory_calibrated: '' + long_name: Oxygen Optode + make_model: Aanderaa Oxygen Optode 4831 + serial_number: '947' + calibration_date: '2021-02-14' + factory_calibrated: '2021-02-14' calibration_report: https://github.com/SWFSC/glider-lab/tree/main/calibration-docs comment: '' - description: Signature 100 compact echosounder for gliders + description: '' platform: platform type: instrument - long_name: Nortek Sig 100 Compact Echosounder netcdf_variables: time: source: sci_m_present_time @@ -200,6 +203,7 @@ netcdf_variables: units: ppb observation_type: calculated instrument: instrument_flbbcd + valid_min: 0.0 backscatter_700: source: sci_flbbcd_bb_units long_name: 700 nm wavelength backscatter @@ -207,6 +211,7 @@ netcdf_variables: units: m-1 sr-1 observation_type: calculated instrument: instrument_flbbcd + valid_min: 0.0 oxygen_concentration: source: sci_oxy4_oxygen long_name: oxygen concentration @@ -223,6 +228,8 @@ netcdf_variables: units: percent observation_type: measured instrument: instrument_oxygen + valid_min: 0.0 + valid_max: 120.0 heading: source: m_heading long_name: glider heading angle @@ -354,3 +361,5 @@ profile_variables: calendar: gregorian units: seconds since 1970-01-01T00:00:00Z observation_type: calculated + instrument_ctd: + comment: placeholder for pyglider profile extraction diff --git a/deployment-configs/2025/calanus-20250617.yml b/deployment-configs/2025/calanus-20250617.yml index 6604cac..a11f2fd 100644 --- a/deployment-configs/2025/calanus-20250617.yml +++ b/deployment-configs/2025/calanus-20250617.yml @@ -1,4 +1,5 @@ metadata: + Metadata_Conventions: Unidata Dataset Discovery v1.0, COARDS, CF-1.8 acknowledgment: This work was supported by funding from NOAA. comment: ' ' contributor_name: Anthony Cossio, Jennifer Walsh, Tegan Murray, Jacob Partida, Samuel @@ -8,9 +9,9 @@ metadata: creator_email: nmfs.swfsc.esd-gliders@noaa.gov creator_name: Anthony Cossio creator_url: https://www.fisheries.noaa.gov/about/southwest-fisheries-science-center - deployment_id: '1038' - deployment_min_dt: 2025-06-18 00:53 deployment_name: calanus-20250617 + disclaimer: This data may be redistributed and used without restriction. Data provided + as is with no expressed or implied assurance of quality assurance or quality control format_version: IOOS_Glider_NetCDF_v2.0.nc glider_instrument_name: slocum glider_model: Teledyne Webb Research Slocum G3 glider @@ -24,15 +25,16 @@ metadata: > Salinity, In Situ Ocean-based platforms > Seaglider, glider, Slocum, trajectory, underwater glider, water, wmo keywords_vocabulary: GCMD Science Keywords - license: This data may be redistributed and used without restriction. Data provided - as is with no expressed or implied assurance of quality assurance or quality control. - Metadata_Conventions: Unidata Dataset Discovery v1.0, COARDS, CF-1.8 + license: These data were produced by NOAA and are not subject to copyright protection + in the United States. NOAA waives any potential copyright and related rights in + thse data worldwide through the Creative Commons Zero 1.0 Universal Public Domain + Dedication (CC0-1.0, https://creativecommons.org/publicdomain/zero/1.0/). metadata_link: https://swfsc.github.io/glider-lab-manual/ naming_authority: gov.noaa.fisheries os_version: '11.05' platform_type: Slocum Glider project: ECOSWIM - publisher_email: sam.woodman@noaa.gov + publisher_email: nmfs.swfsc.esd-gliders@noaa.gov publisher_name: Sam Woodman publisher_url: https://www.fisheries.noaa.gov/about/southwest-fisheries-science-center references: https://swfsc.github.io/glider-lab-manual/, https://github.com/c-proof/pyglider, @@ -40,6 +42,7 @@ metadata: sea_name: Coastal Waters of California source: Observational data from a profiling glider standard_name_vocabulary: CF Standard Name Table v72 + start_date: 2025-06-18 00:53 summary: These data are part of the NOAA Ecosystem Science Division Operation ECOSWIM. ECOSWIM is for glider surveys in the California Current Ecosystem off of Humboldt and Morro Bay, California, and in the Southern California waters of the Pacific @@ -60,6 +63,18 @@ glider_devices: description: Pumped, Continuous Profile Unit Version 2, G-1451 platform: platform type: instrument + instrument_echosounder: + _FillValue: -999 + make_model: Nortek Signature 100 Compact Echosounder + serial_number: '1781' + calibration_date: '' + factory_calibrated: '' + calibration_report: https://github.com/SWFSC/glider-lab/tree/main/calibration-docs + comment: '' + description: Signature 100 compact echosounder for gliders + platform: platform + type: instrument + long_name: Nortek Sig 100 Compact Echosounder instrument_flbbcd: _FillValue: -999 long_name: Optical Backscatter, Chlorophyll, and CDOM Fluorescence Sensor @@ -84,18 +99,6 @@ glider_devices: description: '' platform: platform type: instrument - instrument_echosounder: - _FillValue: -999 - make_model: Nortek Signature 100 Compact Echosounder - serial_number: '1781' - calibration_date: '' - factory_calibrated: '' - calibration_report: https://github.com/SWFSC/glider-lab/tree/main/calibration-docs - comment: '' - description: Signature 100 compact echosounder for gliders - platform: platform - type: instrument - long_name: Nortek Sig 100 Compact Echosounder netcdf_variables: time: source: sci_m_present_time @@ -187,6 +190,7 @@ netcdf_variables: units: ppb observation_type: calculated instrument: instrument_flbbcd + valid_min: 0.0 backscatter_700: source: sci_flbbcd_bb_units long_name: 700 nm wavelength backscatter @@ -194,6 +198,7 @@ netcdf_variables: units: m-1 sr-1 observation_type: calculated instrument: instrument_flbbcd + valid_min: 0.0 oxygen_concentration: source: sci_oxy4_oxygen long_name: oxygen concentration @@ -210,6 +215,8 @@ netcdf_variables: units: percent observation_type: measured instrument: instrument_oxygen + valid_min: 0.0 + valid_max: 120.0 heading: source: m_heading long_name: glider heading angle @@ -341,3 +348,5 @@ profile_variables: calendar: gregorian units: seconds since 1970-01-01T00:00:00Z observation_type: calculated + instrument_ctd: + comment: placeholder for pyglider profile extraction diff --git a/deployment-configs/2025/risso-20250414.yml b/deployment-configs/2025/risso-20250414.yml index 8fbeb93..07226e3 100644 --- a/deployment-configs/2025/risso-20250414.yml +++ b/deployment-configs/2025/risso-20250414.yml @@ -1,4 +1,5 @@ metadata: + Metadata_Conventions: Unidata Dataset Discovery v1.0, COARDS, CF-1.8 acknowledgment: This work was supported by funding from NOAA. comment: ' ' contributor_name: Christian Reiss, George Watters, Anthony Cossio, Jennifer Walsh, @@ -8,9 +9,9 @@ metadata: creator_email: nmfs.swfsc.esd-gliders@noaa.gov creator_name: Christian Reiss creator_url: https://www.fisheries.noaa.gov/about/southwest-fisheries-science-center - deployment_id: '1037' - deployment_min_dt: '2025-04-14 18:45:00' deployment_name: risso-20250414 + disclaimer: This data may be redistributed and used without restriction. Data provided + as is with no expressed or implied assurance of quality assurance or quality control format_version: IOOS_Glider_NetCDF_v2.0.nc glider_instrument_name: slocum glider_model: Teledyne Webb Research Slocum G3 glider @@ -24,15 +25,16 @@ metadata: > Salinity, In Situ Ocean-based platforms > Seaglider, glider, Slocum, trajectory, underwater glider, water, wmo keywords_vocabulary: GCMD Science Keywords - license: This data may be redistributed and used without restriction. Data provided - as is with no expressed or implied assurance of quality assurance or quality control. - Metadata_Conventions: Unidata Dataset Discovery v1.0, COARDS, CF-1.8 + license: These data were produced by NOAA and are not subject to copyright protection + in the United States. NOAA waives any potential copyright and related rights in + thse data worldwide through the Creative Commons Zero 1.0 Universal Public Domain + Dedication (CC0-1.0, https://creativecommons.org/publicdomain/zero/1.0/). metadata_link: https://swfsc.github.io/glider-lab-manual/ naming_authority: gov.noaa.fisheries os_version: '11.04' platform_type: Slocum Glider project: SANDIEGO - publisher_email: sam.woodman@noaa.gov + publisher_email: nmfs.swfsc.esd-gliders@noaa.gov publisher_name: Sam Woodman publisher_url: https://www.fisheries.noaa.gov/about/southwest-fisheries-science-center references: https://swfsc.github.io/glider-lab-manual/, https://github.com/c-proof/pyglider, @@ -40,6 +42,7 @@ metadata: sea_name: Coastal Waters of California source: Observational data from a profiling glider standard_name_vocabulary: CF Standard Name Table v72 + start_date: '2025-04-14 18:45:00' summary: These data are part of the NOAA Ecosystem Science Division Operation SANDIEGO. SANDIEGO is for glider surveys in the California Current Ecosystem in the Southern California Bight off San Diego, CA. The main objectives of this deployment were @@ -66,6 +69,20 @@ glider_devices: description: Pumped, Continuous Profile Unit Version 2, G-1451 platform: platform type: instrument + instrument_dmon: + _FillValue: -999 + make_model: Woods Hole Oceanographic Institution DMON + serial_number: '65' + calibration_date: '' + factory_calibrated: '' + calibration_report: https://github.com/SWFSC/glider-lab/tree/main/calibration-docs + comment: '' + description: Digital Acoustic Monitoring Passive Acoustics Monitoring (PAM) sensor, + with built-in hydrophone + references: https://robots4whales.whoi.edu/ + platform: platform + type: instrument + long_name: WHOI Digital Acoustic Monitoring Instrument DMON instrument_flbbcd: _FillValue: -999 long_name: Optical Backscatter, Chlorophyll, and CDOM Fluorescence Sensor @@ -102,20 +119,6 @@ glider_devices: platform: platform type: instrument long_name: Photosynthetically Active Radiation (PAR) Sensor - instrument_dmon: - _FillValue: -999 - make_model: Woods Hole Oceanographic Institution DMON - serial_number: '65' - calibration_date: '' - factory_calibrated: '' - calibration_report: https://github.com/SWFSC/glider-lab/tree/main/calibration-docs - comment: '' - description: Digital Acoustic Monitoring Passive Acoustics Monitoring (PAM) sensor, - with built-in hydrophone - references: https://robots4whales.whoi.edu/ - platform: platform - type: instrument - long_name: WHOI Digital Acoustic Monitoring Instrument DMON netcdf_variables: time: source: sci_m_present_time @@ -207,6 +210,7 @@ netcdf_variables: units: ppb observation_type: calculated instrument: instrument_flbbcd + valid_min: 0.0 backscatter_700: source: sci_flbbcd_bb_units long_name: 700 nm wavelength backscatter @@ -214,6 +218,7 @@ netcdf_variables: units: m-1 sr-1 observation_type: calculated instrument: instrument_flbbcd + valid_min: 0.0 oxygen_concentration: source: sci_oxy4_oxygen long_name: oxygen concentration @@ -230,6 +235,8 @@ netcdf_variables: units: percent observation_type: measured instrument: instrument_oxygen + valid_min: 0.0 + valid_max: 120.0 par: source: sci_bsipar_par long_name: sci_bsipar_par @@ -238,7 +245,7 @@ netcdf_variables: observation_type: measured instrument: instrument_par valid_min: 0.0 - valid_max: 2000.0 + valid_max: 3500.0 m_depth: source: m_depth long_name: glider measured depth @@ -377,3 +384,5 @@ profile_variables: calendar: gregorian units: seconds since 1970-01-01T00:00:00Z observation_type: calculated + instrument_ctd: + comment: placeholder for pyglider profile extraction diff --git a/deployment-configs/2025/stenella-20250414.yml b/deployment-configs/2025/stenella-20250414.yml index 5922cc6..64a705b 100644 --- a/deployment-configs/2025/stenella-20250414.yml +++ b/deployment-configs/2025/stenella-20250414.yml @@ -1,4 +1,5 @@ metadata: + Metadata_Conventions: Unidata Dataset Discovery v1.0, COARDS, CF-1.8 acknowledgment: This work was supported by funding from NOAA. comment: ' ' contributor_name: Christian Reiss, George Watters, Anthony Cossio, Jennifer Walsh, @@ -8,9 +9,9 @@ metadata: creator_email: nmfs.swfsc.esd-gliders@noaa.gov creator_name: Christian Reiss creator_url: https://www.fisheries.noaa.gov/about/southwest-fisheries-science-center - deployment_id: '1036' - deployment_min_dt: '2025-04-14 18:05:00' deployment_name: stenella-20250414 + disclaimer: This data may be redistributed and used without restriction. Data provided + as is with no expressed or implied assurance of quality assurance or quality control format_version: IOOS_Glider_NetCDF_v2.0.nc glider_instrument_name: slocum glider_model: Teledyne Webb Research Slocum G3 glider @@ -24,15 +25,16 @@ metadata: > Salinity, In Situ Ocean-based platforms > Seaglider, glider, Slocum, trajectory, underwater glider, water, wmo keywords_vocabulary: GCMD Science Keywords - license: This data may be redistributed and used without restriction. Data provided - as is with no expressed or implied assurance of quality assurance or quality control. - Metadata_Conventions: Unidata Dataset Discovery v1.0, COARDS, CF-1.8 + license: These data were produced by NOAA and are not subject to copyright protection + in the United States. NOAA waives any potential copyright and related rights in + thse data worldwide through the Creative Commons Zero 1.0 Universal Public Domain + Dedication (CC0-1.0, https://creativecommons.org/publicdomain/zero/1.0/). metadata_link: https://swfsc.github.io/glider-lab-manual/ naming_authority: gov.noaa.fisheries os_version: '11.04' platform_type: Slocum Glider project: SANDIEGO - publisher_email: sam.woodman@noaa.gov + publisher_email: nmfs.swfsc.esd-gliders@noaa.gov publisher_name: Sam Woodman publisher_url: https://www.fisheries.noaa.gov/about/southwest-fisheries-science-center references: https://swfsc.github.io/glider-lab-manual/, https://github.com/c-proof/pyglider, @@ -40,6 +42,7 @@ metadata: sea_name: Coastal Waters of California source: Observational data from a profiling glider standard_name_vocabulary: CF Standard Name Table v72 + start_date: '2025-04-14 18:05:00' summary: "These data are part of the NOAA Ecosystem Science Division Operation SANDIEGO.\ \ SANDIEGO is for glider surveys in the California Current Ecosystem in the Southern\ \ California Bight off San Diego, CA. The main objectives of this deployment were\ @@ -79,6 +82,20 @@ glider_devices: description: flurometer, scattering meter, and cdom 301771 platform: platform type: instrument + instrument_hydrophone: + _FillValue: -999 + make_model: High Tech Inc HTI-99-HF/Differential + serial_number: '856196' + calibration_date: '2024-11-20' + factory_calibrated: '2024-11-20' + calibration_report: https://github.com/SWFSC/glider-lab/tree/main/calibration-docs + comment: '' + description: Hydrophone for WISPR, Differential Preamplifier Type. Note that the + WISPR does not have a built-in hydrophone, and thus the glider carries both + a WISPR instrument and a hydrophone instrument + platform: platform + type: instrument + long_name: Hydrophone for WISPR instrument_oxygen: _FillValue: -999 long_name: Oxygen Optode @@ -117,20 +134,6 @@ glider_devices: platform: platform type: instrument long_name: 'WISPR Passive Acoustic Monitoring System ' - instrument_hydrophone: - _FillValue: -999 - make_model: High Tech Inc HTI-99-HF/Differential - serial_number: '856196' - calibration_date: '2024-11-20' - factory_calibrated: '2024-11-20' - calibration_report: https://github.com/SWFSC/glider-lab/tree/main/calibration-docs - comment: '' - description: Hydrophone for WISPR, Differential Preamplifier Type. Note that the - WISPR does not have a built-in hydrophone, and thus the glider carries both - a WISPR instrument and a hydrophone instrument - platform: platform - type: instrument - long_name: Hydrophone for WISPR netcdf_variables: time: source: sci_m_present_time @@ -222,6 +225,7 @@ netcdf_variables: units: ppb observation_type: calculated instrument: instrument_flbbcd + valid_min: 0.0 backscatter_700: source: sci_flbbcd_bb_units long_name: 700 nm wavelength backscatter @@ -229,6 +233,7 @@ netcdf_variables: units: m-1 sr-1 observation_type: calculated instrument: instrument_flbbcd + valid_min: 0.0 oxygen_concentration: source: sci_oxy4_oxygen long_name: oxygen concentration @@ -245,6 +250,8 @@ netcdf_variables: units: percent observation_type: measured instrument: instrument_oxygen + valid_min: 0.0 + valid_max: 120.0 par: source: sci_bsipar_par long_name: sci_bsipar_par @@ -253,7 +260,7 @@ netcdf_variables: observation_type: measured instrument: instrument_par valid_min: 0.0 - valid_max: 2000.0 + valid_max: 3500.0 m_depth: source: m_depth long_name: glider measured depth @@ -392,3 +399,5 @@ profile_variables: calendar: gregorian units: seconds since 1970-01-01T00:00:00Z observation_type: calculated + instrument_ctd: + comment: placeholder for pyglider profile extraction diff --git a/deployment-configs/2025/unit_1024-20250224.yml b/deployment-configs/2025/unit_1024-20250224.yml index 85d066d..ff95631 100644 --- a/deployment-configs/2025/unit_1024-20250224.yml +++ b/deployment-configs/2025/unit_1024-20250224.yml @@ -1,4 +1,5 @@ metadata: + Metadata_Conventions: Unidata Dataset Discovery v1.0, COARDS, CF-1.8 acknowledgment: This work was supported by funding from NOAA. comment: This glider leaked from the aft section approximately 36 hours after deployment and was recovered approximately 48 hours after deployment. @@ -9,9 +10,9 @@ metadata: creator_email: nmfs.swfsc.esd-gliders@noaa.gov creator_name: Christian Reiss creator_url: https://www.fisheries.noaa.gov/about/southwest-fisheries-science-center - deployment_id: '1035' - deployment_min_dt: 2025-02-24 22:18 deployment_name: unit_1024-20250224 + disclaimer: This data may be redistributed and used without restriction. Data provided + as is with no expressed or implied assurance of quality assurance or quality control format_version: IOOS_Glider_NetCDF_v2.0.nc glider_instrument_name: slocum glider_model: Teledyne Webb Research Slocum G3 glider @@ -25,15 +26,16 @@ metadata: > Salinity, In Situ Ocean-based platforms > Seaglider, glider, Slocum, trajectory, underwater glider, water, wmo keywords_vocabulary: GCMD Science Keywords - license: This data may be redistributed and used without restriction. Data provided - as is with no expressed or implied assurance of quality assurance or quality control. - Metadata_Conventions: Unidata Dataset Discovery v1.0, COARDS, CF-1.8 + license: These data were produced by NOAA and are not subject to copyright protection + in the United States. NOAA waives any potential copyright and related rights in + thse data worldwide through the Creative Commons Zero 1.0 Universal Public Domain + Dedication (CC0-1.0, https://creativecommons.org/publicdomain/zero/1.0/). metadata_link: https://swfsc.github.io/glider-lab-manual/ naming_authority: gov.noaa.fisheries os_version: '11.04' platform_type: Slocum Glider project: SANDIEGO - publisher_email: sam.woodman@noaa.gov + publisher_email: nmfs.swfsc.esd-gliders@noaa.gov publisher_name: Sam Woodman publisher_url: https://www.fisheries.noaa.gov/about/southwest-fisheries-science-center references: https://swfsc.github.io/glider-lab-manual/, https://github.com/c-proof/pyglider, @@ -41,6 +43,7 @@ metadata: sea_name: Coastal Waters of California source: Observational data from a profiling glider standard_name_vocabulary: CF Standard Name Table v72 + start_date: 2025-02-24 22:18 summary: "These data are part of the NOAA Ecosystem Science Division Operation SANDIEGO.\ \ SANDIEGO is for glider surveys in the California Current Ecosystem in the Southern\ \ California Bight off San Diego, CA. The main objective of this deployment was\ @@ -76,6 +79,20 @@ glider_devices: description: flurometer, scattering meter, and cdom 301771 platform: platform type: instrument + instrument_hydrophone: + _FillValue: -999 + make_model: High Tech Inc HTI-99-HF/Differential + serial_number: '856196' + calibration_date: '2024-11-20' + factory_calibrated: '2024-11-20' + calibration_report: https://github.com/SWFSC/glider-lab/tree/main/calibration-docs + comment: '' + description: Hydrophone for WISPR, Diferential Preamplifier Type. Note that the + WISPR does not have a built-in hydrophone, and thus the glider carries both + a WISPR instrument and a hydrophone instrument + platform: platform + type: instrument + long_name: Hydrophone for WISPR instrument_par: _FillValue: -999 make_model: Biospherical Instruments QSP-2155 @@ -102,20 +119,6 @@ glider_devices: platform: platform type: instrument long_name: 'WISPR Passive Acoustic Monitoring System ' - instrument_hydrophone: - _FillValue: -999 - make_model: High Tech Inc HTI-99-HF/Differential - serial_number: '856196' - calibration_date: '2024-11-20' - factory_calibrated: '2024-11-20' - calibration_report: https://github.com/SWFSC/glider-lab/tree/main/calibration-docs - comment: '' - description: Hydrophone for WISPR, Diferential Preamplifier Type. Note that the - WISPR does not have a built-in hydrophone, and thus the glider carries both - a WISPR instrument and a hydrophone instrument - platform: platform - type: instrument - long_name: Hydrophone for WISPR netcdf_variables: time: source: sci_m_present_time @@ -207,6 +210,7 @@ netcdf_variables: units: ppb observation_type: calculated instrument: instrument_flbbcd + valid_min: 0.0 backscatter_700: source: sci_flbbcd_bb_units long_name: 700 nm wavelength backscatter @@ -214,6 +218,7 @@ netcdf_variables: units: m-1 sr-1 observation_type: calculated instrument: instrument_flbbcd + valid_min: 0.0 par: source: sci_bsipar_par long_name: sci_bsipar_par @@ -222,7 +227,7 @@ netcdf_variables: observation_type: measured instrument: instrument_par valid_min: 0.0 - valid_max: 2000.0 + valid_max: 3500.0 heading: source: m_heading long_name: glider heading angle @@ -354,3 +359,5 @@ profile_variables: calendar: gregorian units: seconds since 1970-01-01T00:00:00Z observation_type: calculated + instrument_ctd: + comment: placeholder for pyglider profile extraction diff --git a/deployment-configs/2026/amlr08-20260321.yml b/deployment-configs/2026/amlr08-20260321.yml index 4e76339..15dfe3b 100644 --- a/deployment-configs/2026/amlr08-20260321.yml +++ b/deployment-configs/2026/amlr08-20260321.yml @@ -1,4 +1,5 @@ metadata: + Metadata_Conventions: Unidata Dataset Discovery v1.0, COARDS, CF-1.8 acknowledgment: This work was supported by funding from NOAA. comment: 'Shadowgraph damaged during deployment, same glider was redeployed with new shadowgraph on 3/27/2026 (deployment ID: amlr08-20260327)' @@ -7,11 +8,11 @@ metadata: contributor_role: Principal Investigator, Glider Pilot, Glider Pilot, Glider Pilot, Glider Pilot, Glider Pilot, Data Manager creator_email: nmfs.swfsc.esd-gliders@noaa.gov - creator_name: Kourtney Burger + creator_name: NOAA SWFSC Ecosystem Science Division Glider Team creator_url: https://www.fisheries.noaa.gov/about/southwest-fisheries-science-center - deployment_id: '1046' - deployment_min_dt: 2026-03-21 17:02 deployment_name: amlr08-20260321 + disclaimer: This data may be redistributed and used without restriction. Data provided + as is with no expressed or implied assurance of quality assurance or quality control format_version: IOOS_Glider_NetCDF_v2.0.nc glider_instrument_name: slocum glider_model: Teledyne Webb Research Slocum G3 glider @@ -25,15 +26,16 @@ metadata: > Salinity, In Situ Ocean-based platforms > Seaglider, glider, Slocum, trajectory, underwater glider, water, wmo keywords_vocabulary: GCMD Science Keywords - license: This data may be redistributed and used without restriction. Data provided - as is with no expressed or implied assurance of quality assurance or quality control. - Metadata_Conventions: Unidata Dataset Discovery v1.0, COARDS, CF-1.8 + license: These data were produced by NOAA and are not subject to copyright protection + in the United States. NOAA waives any potential copyright and related rights in + thse data worldwide through the Creative Commons Zero 1.0 Universal Public Domain + Dedication (CC0-1.0, https://creativecommons.org/publicdomain/zero/1.0/). metadata_link: https://swfsc.github.io/glider-lab-manual/ naming_authority: gov.noaa.fisheries os_version: '11.06' platform_type: Slocum Glider project: SANDIEGO - publisher_email: sam.woodman@noaa.gov + publisher_email: nmfs.swfsc.esd-gliders@noaa.gov publisher_name: Sam Woodman publisher_url: https://www.fisheries.noaa.gov/about/southwest-fisheries-science-center references: https://swfsc.github.io/glider-lab-manual/, https://github.com/c-proof/pyglider, @@ -41,6 +43,7 @@ metadata: sea_name: Coastal Waters of California source: Observational data from a profiling glider standard_name_vocabulary: CF Standard Name Table v72 + start_date: 2026-03-21 17:02 summary: These data are part of the NOAA Ecosystem Science Division CalCOFI Operation. The main objective of this deployment was to test a new Shadowgraph model (SG-V3-02, Williamson & Associates (Wassoc)) to obtain imagery of the plankton community @@ -189,6 +192,7 @@ netcdf_variables: units: ppb observation_type: calculated instrument: instrument_flbbcd + valid_min: 0.0 backscatter_700: source: sci_flbbcd_bb_units long_name: 700 nm wavelength backscatter @@ -196,6 +200,7 @@ netcdf_variables: units: m-1 sr-1 observation_type: calculated instrument: instrument_flbbcd + valid_min: 0.0 oxygen_concentration: source: sci_oxy4_oxygen long_name: oxygen concentration @@ -212,6 +217,8 @@ netcdf_variables: units: percent observation_type: measured instrument: instrument_oxygen + valid_min: 0.0 + valid_max: 120.0 heading: source: m_heading long_name: glider heading angle @@ -343,3 +350,5 @@ profile_variables: calendar: gregorian units: seconds since 1970-01-01T00:00:00Z observation_type: calculated + instrument_ctd: + comment: placeholder for pyglider profile extraction diff --git a/deployment-configs/2026/amlr08-20260327.yml b/deployment-configs/2026/amlr08-20260327.yml index c55f13e..29d622e 100644 --- a/deployment-configs/2026/amlr08-20260327.yml +++ b/deployment-configs/2026/amlr08-20260327.yml @@ -1,4 +1,5 @@ metadata: + Metadata_Conventions: Unidata Dataset Discovery v1.0, COARDS, CF-1.8 acknowledgment: This work was supported by funding from NOAA. comment: ' ' contributor_name: Heidi Taylor, Jennifer Walsh, Anthony Cossio, Tegan Murray, Kourtney @@ -6,11 +7,11 @@ metadata: contributor_role: Principal Investigator, Glider Pilot, Glider Pilot, Glider Pilot, Glider Pilot, Glider Pilot, Data Manager creator_email: nmfs.swfsc.esd-gliders@noaa.gov - creator_name: Kourtney Burger + creator_name: NOAA SWFSC Ecosystem Science Division Glider Team creator_url: https://www.fisheries.noaa.gov/about/southwest-fisheries-science-center - deployment_id: '1047' - deployment_min_dt: 2026-03-27 00:00 deployment_name: amlr08-20260327 + disclaimer: This data may be redistributed and used without restriction. Data provided + as is with no expressed or implied assurance of quality assurance or quality control format_version: IOOS_Glider_NetCDF_v2.0.nc glider_instrument_name: slocum glider_model: Teledyne Webb Research Slocum G3 glider @@ -24,15 +25,16 @@ metadata: > Salinity, In Situ Ocean-based platforms > Seaglider, glider, Slocum, trajectory, underwater glider, water, wmo keywords_vocabulary: GCMD Science Keywords - license: This data may be redistributed and used without restriction. Data provided - as is with no expressed or implied assurance of quality assurance or quality control. - Metadata_Conventions: Unidata Dataset Discovery v1.0, COARDS, CF-1.8 + license: These data were produced by NOAA and are not subject to copyright protection + in the United States. NOAA waives any potential copyright and related rights in + thse data worldwide through the Creative Commons Zero 1.0 Universal Public Domain + Dedication (CC0-1.0, https://creativecommons.org/publicdomain/zero/1.0/). metadata_link: https://swfsc.github.io/glider-lab-manual/ naming_authority: gov.noaa.fisheries os_version: '11.06' platform_type: Slocum Glider project: SANDIEGO - publisher_email: sam.woodman@noaa.gov + publisher_email: nmfs.swfsc.esd-gliders@noaa.gov publisher_name: Sam Woodman publisher_url: https://www.fisheries.noaa.gov/about/southwest-fisheries-science-center references: https://swfsc.github.io/glider-lab-manual/, https://github.com/c-proof/pyglider, @@ -40,6 +42,7 @@ metadata: sea_name: Coastal Waters of California source: Observational data from a profiling glider standard_name_vocabulary: CF Standard Name Table v72 + start_date: 2026-03-27 00:00 summary: These data are part of the NOAA Ecosystem Science Division CalCOFI Operation. The main objective of this deployment was to use a new Shadowgraph model (SG-V3-02, Williamson & Associates (Wassoc)) to obtain imagery of the plankton community @@ -188,6 +191,7 @@ netcdf_variables: units: ppb observation_type: calculated instrument: instrument_flbbcd + valid_min: 0.0 backscatter_700: source: sci_flbbcd_bb_units long_name: 700 nm wavelength backscatter @@ -195,6 +199,7 @@ netcdf_variables: units: m-1 sr-1 observation_type: calculated instrument: instrument_flbbcd + valid_min: 0.0 oxygen_concentration: source: sci_oxy4_oxygen long_name: oxygen concentration @@ -211,6 +216,8 @@ netcdf_variables: units: percent observation_type: measured instrument: instrument_oxygen + valid_min: 0.0 + valid_max: 120.0 heading: source: m_heading long_name: glider heading angle @@ -342,3 +349,5 @@ profile_variables: calendar: gregorian units: seconds since 1970-01-01T00:00:00Z observation_type: calculated + instrument_ctd: + comment: placeholder for pyglider profile extraction diff --git a/deployment-configs/2026/amlr30-20260114.yml b/deployment-configs/2026/amlr30-20260114.yml index efb1e29..7796a6b 100644 --- a/deployment-configs/2026/amlr30-20260114.yml +++ b/deployment-configs/2026/amlr30-20260114.yml @@ -1,16 +1,17 @@ metadata: + Metadata_Conventions: Unidata Dataset Discovery v1.0, COARDS, CF-1.8 acknowledgment: This work was supported by funding from NOAA. comment: glider dropped its emergency weight and was recovered early - contributor_name: Heidi Taylor, Jennifer Walsh, Anthony Cossio, Tegan Murray, Samuel - Woodman + contributor_name: Heidi Taylor, Jennifer Walsh, Anthony Cossio, Tegan Murray, Kourtney + Burger, Cara Wilson, Samuel Woodman contributor_role: Principal Investigator, Glider Pilot, Glider Pilot, Glider Pilot, - Data Manager + Glider Pilot, Glider Pilot, Data Manager creator_email: nmfs.swfsc.esd-gliders@noaa.gov - creator_name: Kourtney Burger + creator_name: NOAA SWFSC Ecosystem Science Division Glider Team creator_url: https://www.fisheries.noaa.gov/about/southwest-fisheries-science-center - deployment_id: '1051' - deployment_min_dt: 2026-01-14 20:06 deployment_name: amlr30-20260114 + disclaimer: This data may be redistributed and used without restriction. Data provided + as is with no expressed or implied assurance of quality assurance or quality control format_version: IOOS_Glider_NetCDF_v2.0.nc glider_instrument_name: slocum glider_model: Teledyne Webb Research Slocum G3 glider @@ -24,15 +25,16 @@ metadata: > Salinity, In Situ Ocean-based platforms > Seaglider, glider, Slocum, trajectory, underwater glider, water, wmo keywords_vocabulary: GCMD Science Keywords - license: This data may be redistributed and used without restriction. Data provided - as is with no expressed or implied assurance of quality assurance or quality control. - Metadata_Conventions: Unidata Dataset Discovery v1.0, COARDS, CF-1.8 + license: These data were produced by NOAA and are not subject to copyright protection + in the United States. NOAA waives any potential copyright and related rights in + thse data worldwide through the Creative Commons Zero 1.0 Universal Public Domain + Dedication (CC0-1.0, https://creativecommons.org/publicdomain/zero/1.0/). metadata_link: https://swfsc.github.io/glider-lab-manual/ naming_authority: gov.noaa.fisheries os_version: '11.04' platform_type: Slocum Glider project: FREEBYRD - publisher_email: sam.woodman@noaa.gov + publisher_email: nmfs.swfsc.esd-gliders@noaa.gov publisher_name: Sam Woodman publisher_url: https://www.fisheries.noaa.gov/about/southwest-fisheries-science-center references: https://swfsc.github.io/glider-lab-manual/, https://github.com/c-proof/pyglider, @@ -40,6 +42,7 @@ metadata: sea_name: Southern Ocean source: Observational data from a profiling glider standard_name_vocabulary: CF Standard Name Table v72 + start_date: 2026-01-14 20:06 summary: These data are part of the NOAA Ecosystem Science Division Operation Freebyrd. Operation Freebyrd is for glider surveys in the Southern Ocean around the northern Antarctic Peninsula and South Shetland Islands. Sensors on this glider included @@ -188,6 +191,7 @@ netcdf_variables: units: ppb observation_type: calculated instrument: instrument_flbbcd + valid_min: 0.0 backscatter_700: source: sci_flbbcd_bb_units long_name: 700 nm wavelength backscatter @@ -195,6 +199,7 @@ netcdf_variables: units: m-1 sr-1 observation_type: calculated instrument: instrument_flbbcd + valid_min: 0.0 oxygen_concentration: source: sci_oxy4_oxygen long_name: oxygen concentration @@ -211,6 +216,8 @@ netcdf_variables: units: percent observation_type: measured instrument: instrument_oxygen + valid_min: 0.0 + valid_max: 120.0 heading: source: m_heading long_name: glider heading angle @@ -342,3 +349,5 @@ profile_variables: calendar: gregorian units: seconds since 1970-01-01T00:00:00Z observation_type: calculated + instrument_ctd: + comment: placeholder for pyglider profile extraction diff --git a/deployment-configs/2026/calanus-20260403.yml b/deployment-configs/2026/calanus-20260403.yml index 1d4b59b..ab3798c 100644 --- a/deployment-configs/2026/calanus-20260403.yml +++ b/deployment-configs/2026/calanus-20260403.yml @@ -1,16 +1,17 @@ metadata: + Metadata_Conventions: Unidata Dataset Discovery v1.0, COARDS, CF-1.8 acknowledgment: This work was supported by funding from NOAA. comment: ' ' - contributor_name: Christian Reiss, George Watters, Jennifer Walsh, Anthony Cossio, - Tegan Murray, Samuel Woodman - contributor_role: Principal Investigator, Principal Investigator, Glider Pilot, + contributor_name: Heidi Taylor, Jennifer Walsh, Anthony Cossio, Tegan Murray, Kourtney + Burger, Cara Wilson, Samuel Woodman + contributor_role: Principal Investigator, Glider Pilot, Glider Pilot, Glider Pilot, Glider Pilot, Glider Pilot, Data Manager creator_email: nmfs.swfsc.esd-gliders@noaa.gov - creator_name: Christian Reiss + creator_name: NOAA SWFSC Ecosystem Science Division Glider Team creator_url: https://www.fisheries.noaa.gov/about/southwest-fisheries-science-center - deployment_id: '1048' - deployment_min_dt: 2026-04-03 17:36 deployment_name: calanus-20260403 + disclaimer: This data may be redistributed and used without restriction. Data provided + as is with no expressed or implied assurance of quality assurance or quality control format_version: IOOS_Glider_NetCDF_v2.0.nc glider_instrument_name: slocum glider_model: Teledyne Webb Research Slocum G3 glider @@ -24,15 +25,16 @@ metadata: > Salinity, In Situ Ocean-based platforms > Seaglider, glider, Slocum, trajectory, underwater glider, water, wmo keywords_vocabulary: GCMD Science Keywords - license: This data may be redistributed and used without restriction. Data provided - as is with no expressed or implied assurance of quality assurance or quality control. - Metadata_Conventions: Unidata Dataset Discovery v1.0, COARDS, CF-1.8 + license: These data were produced by NOAA and are not subject to copyright protection + in the United States. NOAA waives any potential copyright and related rights in + thse data worldwide through the Creative Commons Zero 1.0 Universal Public Domain + Dedication (CC0-1.0, https://creativecommons.org/publicdomain/zero/1.0/). metadata_link: https://swfsc.github.io/glider-lab-manual/ naming_authority: gov.noaa.fisheries os_version: '11.06' platform_type: Slocum Glider project: CALCOFI - publisher_email: sam.woodman@noaa.gov + publisher_email: nmfs.swfsc.esd-gliders@noaa.gov publisher_name: Sam Woodman publisher_url: https://www.fisheries.noaa.gov/about/southwest-fisheries-science-center references: https://swfsc.github.io/glider-lab-manual/, https://github.com/c-proof/pyglider, @@ -40,6 +42,7 @@ metadata: sea_name: Coastal Waters of California source: Observational data from a profiling glider standard_name_vocabulary: CF Standard Name Table v72 + start_date: 20260403T173632 summary: transmission_system: IRIDIUM wmo_id: ' ' @@ -183,6 +186,7 @@ netcdf_variables: units: ppb observation_type: calculated instrument: instrument_flbbcd + valid_min: 0.0 backscatter_700: source: sci_flbbcd_bb_units long_name: 700 nm wavelength backscatter @@ -190,6 +194,7 @@ netcdf_variables: units: m-1 sr-1 observation_type: calculated instrument: instrument_flbbcd + valid_min: 0.0 oxygen_concentration: source: sci_oxy4_oxygen long_name: oxygen concentration @@ -206,6 +211,8 @@ netcdf_variables: units: percent observation_type: measured instrument: instrument_oxygen + valid_min: 0.0 + valid_max: 120.0 heading: source: m_heading long_name: glider heading angle @@ -337,3 +344,5 @@ profile_variables: calendar: gregorian units: seconds since 1970-01-01T00:00:00Z observation_type: calculated + instrument_ctd: + comment: placeholder for pyglider profile extraction diff --git a/deployment-configs/2026/calanus-20260824.yml b/deployment-configs/2026/calanus-20260824.yml index be222b1..0107c9c 100644 --- a/deployment-configs/2026/calanus-20260824.yml +++ b/deployment-configs/2026/calanus-20260824.yml @@ -1,15 +1,17 @@ metadata: + Metadata_Conventions: Unidata Dataset Discovery v1.0, COARDS, CF-1.8 acknowledgment: This work was supported by funding from NOAA. comment: El Nino 2026 contributor_name: Heidi Taylor, Jennifer Walsh, Anthony Cossio, Tegan Murray, Kourtney - Burger, Cara Wilson, Greta ODea, Samuel Woodman + Burger, Cara Wilson, Samuel Woodman contributor_role: Principal Investigator, Glider Pilot, Glider Pilot, Glider Pilot, - Glider Pilot, Glider Pilot, Glider Pilot, Data Manager + Glider Pilot, Glider Pilot, Data Manager creator_email: nmfs.swfsc.esd-gliders@noaa.gov - creator_name: Kourtney Burger + creator_name: NOAA SWFSC Ecosystem Science Division Glider Team creator_url: https://www.fisheries.noaa.gov/about/southwest-fisheries-science-center - deployment_id: '1053' deployment_name: calanus-20260824 + disclaimer: This data may be redistributed and used without restriction. Data provided + as is with no expressed or implied assurance of quality assurance or quality control format_version: IOOS_Glider_NetCDF_v2.0.nc glider_instrument_name: slocum glider_model: Teledyne Webb Research Slocum G3 glider @@ -23,15 +25,16 @@ metadata: > Salinity, In Situ Ocean-based platforms > Seaglider, glider, Slocum, trajectory, underwater glider, water, wmo keywords_vocabulary: GCMD Science Keywords - license: This data may be redistributed and used without restriction. Data provided - as is with no expressed or implied assurance of quality assurance or quality control. - Metadata_Conventions: Unidata Dataset Discovery v1.0, COARDS, CF-1.8 + license: These data were produced by NOAA and are not subject to copyright protection + in the United States. NOAA waives any potential copyright and related rights in + thse data worldwide through the Creative Commons Zero 1.0 Universal Public Domain + Dedication (CC0-1.0, https://creativecommons.org/publicdomain/zero/1.0/). metadata_link: https://swfsc.github.io/glider-lab-manual/ naming_authority: gov.noaa.fisheries os_version: '11.08' platform_type: Slocum Glider project: CALCOFI - publisher_email: sam.woodman@noaa.gov + publisher_email: nmfs.swfsc.esd-gliders@noaa.gov publisher_name: Sam Woodman publisher_url: https://www.fisheries.noaa.gov/about/southwest-fisheries-science-center references: https://swfsc.github.io/glider-lab-manual/, https://github.com/c-proof/pyglider, @@ -39,6 +42,7 @@ metadata: sea_name: Coastal Waters of California source: Observational data from a profiling glider standard_name_vocabulary: CF Standard Name Table v72 + start_date: 2026-08-24 18:47 summary: "This glider was deployed as the first of several month long deployments\ \ as part of a targeted sampling program to monitor the evolution and ecosystem\ \ impacts of a predicted \"very strong\" El Ni\xF1o. It was deployed along CalCOFI\ @@ -52,7 +56,6 @@ metadata: o impacts, verify ocean models, and inform dynamic ocean management frameworks." transmission_system: IRIDIUM wmo_id: ' ' - deployment_min_dt: 2026-08-24 18:47 glider_devices: instrument_ctd: _FillValue: -999 @@ -193,6 +196,7 @@ netcdf_variables: units: ppb observation_type: calculated instrument: instrument_flbbcd + valid_min: 0.0 backscatter_700: source: sci_flbbcd_bb_units long_name: 700 nm wavelength backscatter @@ -200,6 +204,7 @@ netcdf_variables: units: m-1 sr-1 observation_type: calculated instrument: instrument_flbbcd + valid_min: 0.0 oxygen_concentration: source: sci_oxy4_oxygen long_name: oxygen concentration @@ -216,6 +221,8 @@ netcdf_variables: units: percent observation_type: measured instrument: instrument_oxygen + valid_min: 0.0 + valid_max: 120.0 heading: source: m_heading long_name: glider heading angle @@ -348,4 +355,4 @@ profile_variables: units: seconds since 1970-01-01T00:00:00Z observation_type: calculated instrument_ctd: - comment: placeholder + comment: placeholder for pyglider profile extraction diff --git a/deployment-configs/2026/capex987-20260128.yml b/deployment-configs/2026/capex987-20260128.yml index d16d457..e40b4fb 100644 --- a/deployment-configs/2026/capex987-20260128.yml +++ b/deployment-configs/2026/capex987-20260128.yml @@ -1,17 +1,18 @@ metadata: + Metadata_Conventions: Unidata Dataset Discovery v1.0, COARDS, CF-1.8 acknowledgment: This work was supported by funding from NOAA. This data was collected in collaboration with Teledyne Webb Research and JASCO Applied Sciences. comment: Underwater Glider Challange 2026 (aka Glider Rodeo) contributor_name: Heidi Taylor, Jennifer Walsh, Anthony Cossio, Tegan Murray, Kourtney - Burger, Samuel Woodman + Burger, Cara Wilson, Samuel Woodman contributor_role: Principal Investigator, Glider Pilot, Glider Pilot, Glider Pilot, - Glider Pilot, Data Manager + Glider Pilot, Glider Pilot, Data Manager creator_email: nmfs.swfsc.esd-gliders@noaa.gov - creator_name: Kourtney Burger + creator_name: NOAA SWFSC Ecosystem Science Division Glider Team creator_url: https://www.fisheries.noaa.gov/about/southwest-fisheries-science-center - deployment_id: capex987_20260128 - deployment_min_dt: '2026-01-29 03:45:00' deployment_name: capex987-20260128 + disclaimer: This data may be redistributed and used without restriction. Data provided + as is with no expressed or implied assurance of quality assurance or quality control format_version: IOOS_Glider_NetCDF_v2.0.nc glider_instrument_name: slocum glider_model: Teledyne Webb Research Slocum G3S glider @@ -24,15 +25,16 @@ metadata: > Salinity, In Situ Ocean-based platforms > Seaglider, glider, Slocum, trajectory, underwater glider, water, wmo keywords_vocabulary: GCMD Science Keywords - license: This data may be redistributed and used without restriction. Data provided - as is with no expressed or implied assurance of quality assurance or quality control. - Metadata_Conventions: Unidata Dataset Discovery v1.0, COARDS, CF-1.8 + license: These data were produced by NOAA and are not subject to copyright protection + in the United States. NOAA waives any potential copyright and related rights in + thse data worldwide through the Creative Commons Zero 1.0 Universal Public Domain + Dedication (CC0-1.0, https://creativecommons.org/publicdomain/zero/1.0/). metadata_link: https://swfsc.github.io/glider-lab-manual/ naming_authority: gov.noaa.fisheries os_version: '11.07' platform_type: Slocum Glider project: GLIDERRODEO - publisher_email: sam.woodman@noaa.gov + publisher_email: nmfs.swfsc.esd-gliders@noaa.gov publisher_name: Sam Woodman publisher_url: https://www.fisheries.noaa.gov/about/southwest-fisheries-science-center references: https://swfsc.github.io/glider-lab-manual/, https://github.com/c-proof/pyglider, @@ -40,6 +42,7 @@ metadata: sea_name: North Pacific Ocean source: Observational data from a profiling glider standard_name_vocabulary: CF Standard Name Table v72 + start_date: '2026-01-29 03:45:00' summary: These data are part of the NOAA Fisheries 2026 Underwater Glider Challenge. This was a two-week field trial off the coast of Hawaii to evaluate gliders equipped with passive acoustic monitoring (PAM) and assess how these platforms can be used @@ -48,17 +51,6 @@ metadata: transmission_system: IRIDIUM wmo_id: ' ' glider_devices: - instrument_ctd: - _FillValue: -999 - long_name: RBRlegato3 - make_model: RBRlegato3 - serial_number: '205806' - factory_calibrated: '2020-12-05' - calibration_date: '2020-12-05' - comment: flow through - description: '' - platform: platform - type: instrument instrument_OceanObserver: _FillValue: -999 serial_number: '1195' @@ -70,6 +62,17 @@ glider_devices: hydrophone has it own instrument description. platform: platform type: instrument + instrument_ctd: + _FillValue: -999 + long_name: RBRlegato3 + make_model: RBRlegato3 + serial_number: '205806' + factory_calibrated: '2020-12-05' + calibration_date: '2020-12-05' + comment: flow through + description: '' + platform: platform + type: instrument instrument_hydrophone: _FillValue: -999 long_name: Hydrophone for WISPR @@ -279,3 +282,5 @@ profile_variables: calendar: gregorian units: seconds since 1970-01-01T00:00:00Z observation_type: calculated + instrument_ctd: + comment: placeholder for pyglider profile extraction diff --git a/deployment-configs/2026/risso-20260128.yml b/deployment-configs/2026/risso-20260128.yml index 3ba6c8d..73553d8 100644 --- a/deployment-configs/2026/risso-20260128.yml +++ b/deployment-configs/2026/risso-20260128.yml @@ -1,4 +1,5 @@ metadata: + Metadata_Conventions: Unidata Dataset Discovery v1.0, COARDS, CF-1.8 acknowledgment: This work was supported by funding from NOAA. comment: ' ' contributor_name: Heidi Taylor, Jennifer Walsh, Anthony Cossio, Tegan Murray, Kourtney @@ -6,11 +7,11 @@ metadata: contributor_role: Principal Investigator, Glider Pilot, Glider Pilot, Glider Pilot, Glider Pilot, Glider Pilot, Data Manager creator_email: nmfs.swfsc.esd-gliders@noaa.gov - creator_name: Kourtney Burger + creator_name: NOAA SWFSC Ecosystem Science Division Glider Team creator_url: https://www.fisheries.noaa.gov/about/southwest-fisheries-science-center - deployment_id: '1049' - deployment_min_dt: '2026-01-28 23:17:00' deployment_name: risso-20260128 + disclaimer: This data may be redistributed and used without restriction. Data provided + as is with no expressed or implied assurance of quality assurance or quality control format_version: IOOS_Glider_NetCDF_v2.0.nc glider_instrument_name: slocum glider_model: Teledyne Webb Research Slocum G3 glider @@ -24,15 +25,16 @@ metadata: > Salinity, In Situ Ocean-based platforms > Seaglider, glider, Slocum, trajectory, underwater glider, water, wmo keywords_vocabulary: GCMD Science Keywords - license: This data may be redistributed and used without restriction. Data provided - as is with no expressed or implied assurance of quality assurance or quality control. - Metadata_Conventions: Unidata Dataset Discovery v1.0, COARDS, CF-1.8 + license: These data were produced by NOAA and are not subject to copyright protection + in the United States. NOAA waives any potential copyright and related rights in + thse data worldwide through the Creative Commons Zero 1.0 Universal Public Domain + Dedication (CC0-1.0, https://creativecommons.org/publicdomain/zero/1.0/). metadata_link: https://swfsc.github.io/glider-lab-manual/ naming_authority: gov.noaa.fisheries os_version: '11.04' platform_type: Slocum Glider project: GLIDERRODEO - publisher_email: sam.woodman@noaa.gov + publisher_email: nmfs.swfsc.esd-gliders@noaa.gov publisher_name: Sam Woodman publisher_url: https://www.fisheries.noaa.gov/about/southwest-fisheries-science-center references: https://swfsc.github.io/glider-lab-manual/, https://github.com/c-proof/pyglider, @@ -40,6 +42,7 @@ metadata: sea_name: North Pacific Ocean source: Observational data from a profiling glider standard_name_vocabulary: CF Standard Name Table v72 + start_date: '2026-01-28 23:17:00' summary: These data are part of the NOAA Fisheries 2026 Underwater Glider Challenge. This was a two-week field trial off the coast of Hawaii to evaluate gliders equipped with passive acoustic monitoring (PAM) and assess how these platforms can be used @@ -62,6 +65,20 @@ glider_devices: description: Pumped, Continuous Profile Unit Version 2, G-1451 platform: platform type: instrument + instrument_dmon: + _FillValue: -999 + make_model: Woods Hole Oceanographic Institution DMON + serial_number: '65' + calibration_date: '' + factory_calibrated: '' + calibration_report: https://github.com/SWFSC/glider-lab/tree/main/calibration-docs + comment: '' + description: Digital Acoustic Monitoring Passive Acoustics Monitoring (PAM) sensor, + with built-in hydrophone + references: https://robots4whales.whoi.edu/ + platform: platform + type: instrument + long_name: WHOI Digital Acoustic Monitoring Instrument DMON instrument_flbbcd: _FillValue: -999 long_name: Optical Backscatter, Chlorophyll, and CDOM Fluorescence Sensor @@ -98,20 +115,6 @@ glider_devices: platform: platform type: instrument long_name: Photosynthetically Active Radiation (PAR) Sensor - instrument_dmon: - _FillValue: -999 - make_model: Woods Hole Oceanographic Institution DMON - serial_number: '65' - calibration_date: '' - factory_calibrated: '' - calibration_report: https://github.com/SWFSC/glider-lab/tree/main/calibration-docs - comment: '' - description: Digital Acoustic Monitoring Passive Acoustics Monitoring (PAM) sensor, - with built-in hydrophone - references: https://robots4whales.whoi.edu/ - platform: platform - type: instrument - long_name: WHOI Digital Acoustic Monitoring Instrument DMON netcdf_variables: time: source: sci_m_present_time @@ -203,6 +206,7 @@ netcdf_variables: units: ppb observation_type: calculated instrument: instrument_flbbcd + valid_min: 0.0 backscatter_700: source: sci_flbbcd_bb_units long_name: 700 nm wavelength backscatter @@ -210,6 +214,7 @@ netcdf_variables: units: m-1 sr-1 observation_type: calculated instrument: instrument_flbbcd + valid_min: 0.0 oxygen_concentration: source: sci_oxy4_oxygen long_name: oxygen concentration @@ -226,6 +231,8 @@ netcdf_variables: units: percent observation_type: measured instrument: instrument_oxygen + valid_min: 0.0 + valid_max: 120.0 par: source: sci_bsipar_par long_name: sci_bsipar_par @@ -234,7 +241,7 @@ netcdf_variables: observation_type: measured instrument: instrument_par valid_min: 0.0 - valid_max: 2000.0 + valid_max: 3500.0 m_depth: source: m_depth long_name: glider measured depth @@ -373,3 +380,5 @@ profile_variables: calendar: gregorian units: seconds since 1970-01-01T00:00:00Z observation_type: calculated + instrument_ctd: + comment: placeholder for pyglider profile extraction diff --git a/deployment-configs/2026/stenella-20260128.yml b/deployment-configs/2026/stenella-20260128.yml index 67735e9..459094b 100644 --- a/deployment-configs/2026/stenella-20260128.yml +++ b/deployment-configs/2026/stenella-20260128.yml @@ -1,4 +1,5 @@ metadata: + Metadata_Conventions: Unidata Dataset Discovery v1.0, COARDS, CF-1.8 acknowledgment: This work was supported by funding from NOAA. comment: ' ' contributor_name: Heidi Taylor, Jennifer Walsh, Anthony Cossio, Tegan Murray, Kourtney @@ -6,11 +7,11 @@ metadata: contributor_role: Principal Investigator, Glider Pilot, Glider Pilot, Glider Pilot, Glider Pilot, Glider Pilot, Data Manager creator_email: nmfs.swfsc.esd-gliders@noaa.gov - creator_name: Kourtney Burger + creator_name: NOAA SWFSC Ecosystem Science Division Glider Team creator_url: https://www.fisheries.noaa.gov/about/southwest-fisheries-science-center - deployment_id: '1050' - deployment_min_dt: '2026-01-28 20:11:00' deployment_name: stenella-20260128 + disclaimer: This data may be redistributed and used without restriction. Data provided + as is with no expressed or implied assurance of quality assurance or quality control format_version: IOOS_Glider_NetCDF_v2.0.nc glider_instrument_name: slocum glider_model: Teledyne Webb Research Slocum G3 glider @@ -24,15 +25,16 @@ metadata: > Salinity, In Situ Ocean-based platforms > Seaglider, glider, Slocum, trajectory, underwater glider, water, wmo keywords_vocabulary: GCMD Science Keywords - license: This data may be redistributed and used without restriction. Data provided - as is with no expressed or implied assurance of quality assurance or quality control. - Metadata_Conventions: Unidata Dataset Discovery v1.0, COARDS, CF-1.8 + license: These data were produced by NOAA and are not subject to copyright protection + in the United States. NOAA waives any potential copyright and related rights in + thse data worldwide through the Creative Commons Zero 1.0 Universal Public Domain + Dedication (CC0-1.0, https://creativecommons.org/publicdomain/zero/1.0/). metadata_link: https://swfsc.github.io/glider-lab-manual/ naming_authority: gov.noaa.fisheries os_version: '11.04' platform_type: Slocum Glider project: GLIDERRODEO - publisher_email: sam.woodman@noaa.gov + publisher_email: nmfs.swfsc.esd-gliders@noaa.gov publisher_name: Sam Woodman publisher_url: https://www.fisheries.noaa.gov/about/southwest-fisheries-science-center references: https://swfsc.github.io/glider-lab-manual/, https://github.com/c-proof/pyglider, @@ -40,6 +42,7 @@ metadata: sea_name: North Pacific Ocean source: Observational data from a profiling glider standard_name_vocabulary: CF Standard Name Table v72 + start_date: '2026-01-28 20:11:00' summary: These data are part of the NOAA Fisheries 2026 Underwater Glider Challenge. This was a two-week field trial off the coast of Hawaii to evaluate gliders equipped with passive acoustic monitoring (PAM) and assess how these platforms can be used @@ -77,6 +80,20 @@ glider_devices: description: flurometer, scattering meter, and cdom 301771 platform: platform type: instrument + instrument_hydrophone: + _FillValue: -999 + make_model: High Tech Inc HTI-99-HF/Differential + serial_number: '856196' + calibration_date: '2024-11-20' + factory_calibrated: '2024-11-20' + calibration_report: https://github.com/SWFSC/glider-lab/tree/main/calibration-docs + comment: '' + description: Hydrophone for WISPR, Differential Preamplifier Type. Note that the + WISPR does not have a built-in hydrophone, and thus the glider carries both + a WISPR instrument and a hydrophone instrument + platform: platform + type: instrument + long_name: Hydrophone for WISPR instrument_oxygen: _FillValue: -999 long_name: Oxygen Optode @@ -115,20 +132,6 @@ glider_devices: platform: platform type: instrument long_name: 'WISPR Passive Acoustic Monitoring System ' - instrument_hydrophone: - _FillValue: -999 - make_model: High Tech Inc HTI-99-HF/Differential - serial_number: '856196' - calibration_date: '2024-11-20' - factory_calibrated: '2024-11-20' - calibration_report: https://github.com/SWFSC/glider-lab/tree/main/calibration-docs - comment: '' - description: Hydrophone for WISPR, Differential Preamplifier Type. Note that the - WISPR does not have a built-in hydrophone, and thus the glider carries both - a WISPR instrument and a hydrophone instrument - platform: platform - type: instrument - long_name: Hydrophone for WISPR netcdf_variables: time: source: sci_m_present_time @@ -220,6 +223,7 @@ netcdf_variables: units: ppb observation_type: calculated instrument: instrument_flbbcd + valid_min: 0.0 backscatter_700: source: sci_flbbcd_bb_units long_name: 700 nm wavelength backscatter @@ -227,6 +231,7 @@ netcdf_variables: units: m-1 sr-1 observation_type: calculated instrument: instrument_flbbcd + valid_min: 0.0 oxygen_concentration: source: sci_oxy4_oxygen long_name: oxygen concentration @@ -243,6 +248,8 @@ netcdf_variables: units: percent observation_type: measured instrument: instrument_oxygen + valid_min: 0.0 + valid_max: 120.0 par: source: sci_bsipar_par long_name: sci_bsipar_par @@ -251,7 +258,7 @@ netcdf_variables: observation_type: measured instrument: instrument_par valid_min: 0.0 - valid_max: 2000.0 + valid_max: 3500.0 m_depth: source: m_depth long_name: glider measured depth @@ -390,3 +397,5 @@ profile_variables: calendar: gregorian units: seconds since 1970-01-01T00:00:00Z observation_type: calculated + instrument_ctd: + comment: placeholder for pyglider profile extraction diff --git a/deployment-configs/2026/unit_1024-20260309.yml b/deployment-configs/2026/unit_1024-20260309.yml index fb83314..a73fc3a 100644 --- a/deployment-configs/2026/unit_1024-20260309.yml +++ b/deployment-configs/2026/unit_1024-20260309.yml @@ -1,16 +1,17 @@ metadata: + Metadata_Conventions: Unidata Dataset Discovery v1.0, COARDS, CF-1.8 acknowledgment: This work was supported by funding from NOAA. comment: WASSOC shadowgraph (SG-V3-02) 24 hour test deployment contributor_name: Heidi Taylor, Jennifer Walsh, Anthony Cossio, Tegan Murray, Kourtney - Burger, Samuel Woodman + Burger, Cara Wilson, Samuel Woodman contributor_role: Principal Investigator, Glider Pilot, Glider Pilot, Glider Pilot, - Glider Pilot, Data Manager + Glider Pilot, Glider Pilot, Data Manager creator_email: nmfs.swfsc.esd-gliders@noaa.gov - creator_name: Kourtney Burger + creator_name: NOAA SWFSC Ecosystem Science Division Glider Team creator_url: https://www.fisheries.noaa.gov/about/southwest-fisheries-science-center - deployment_id: '1044' - deployment_min_dt: '2026-03-09 18:53:00' deployment_name: unit_1024-20260309 + disclaimer: This data may be redistributed and used without restriction. Data provided + as is with no expressed or implied assurance of quality assurance or quality control format_version: IOOS_Glider_NetCDF_v2.0.nc glider_instrument_name: slocum glider_model: Teledyne Webb Research Slocum G3 glider @@ -24,15 +25,16 @@ metadata: > Salinity, In Situ Ocean-based platforms > Seaglider, glider, Slocum, trajectory, underwater glider, water, wmo keywords_vocabulary: GCMD Science Keywords - license: This data may be redistributed and used without restriction. Data provided - as is with no expressed or implied assurance of quality assurance or quality control. - Metadata_Conventions: Unidata Dataset Discovery v1.0, COARDS, CF-1.8 + license: These data were produced by NOAA and are not subject to copyright protection + in the United States. NOAA waives any potential copyright and related rights in + thse data worldwide through the Creative Commons Zero 1.0 Universal Public Domain + Dedication (CC0-1.0, https://creativecommons.org/publicdomain/zero/1.0/). metadata_link: https://swfsc.github.io/glider-lab-manual/ naming_authority: gov.noaa.fisheries os_version: '11.06' platform_type: Slocum Glider project: SANDIEGO - publisher_email: sam.woodman@noaa.gov + publisher_email: nmfs.swfsc.esd-gliders@noaa.gov publisher_name: Sam Woodman publisher_url: https://www.fisheries.noaa.gov/about/southwest-fisheries-science-center references: https://swfsc.github.io/glider-lab-manual/, https://github.com/c-proof/pyglider, @@ -40,6 +42,7 @@ metadata: sea_name: Coastal Waters of California source: Observational data from a profiling glider standard_name_vocabulary: CF Standard Name Table v72 + start_date: '2026-03-09 18:53:00' summary: These data are part of the NOAA Ecosystem Science Division.The main objective of this deployment was to test a new Shadowgraph model (SG-V3-02, Williamson & Associates (Wassoc)) to obtain imagery of the plankton community in the Southern @@ -188,6 +191,7 @@ netcdf_variables: units: ppb observation_type: calculated instrument: instrument_flbbcd + valid_min: 0.0 backscatter_700: source: sci_flbbcd_bb_units long_name: 700 nm wavelength backscatter @@ -195,6 +199,7 @@ netcdf_variables: units: m-1 sr-1 observation_type: calculated instrument: instrument_flbbcd + valid_min: 0.0 oxygen_concentration: source: sci_oxy4_oxygen long_name: oxygen concentration @@ -211,6 +216,8 @@ netcdf_variables: units: percent observation_type: measured instrument: instrument_oxygen + valid_min: 0.0 + valid_max: 120.0 heading: source: m_heading long_name: glider heading angle @@ -342,3 +349,5 @@ profile_variables: calendar: gregorian units: seconds since 1970-01-01T00:00:00Z observation_type: calculated + instrument_ctd: + comment: placeholder for pyglider profile extraction diff --git a/deployment-configs/2026/unit_1024-20260316.yml b/deployment-configs/2026/unit_1024-20260316.yml index 4656f57..525b8b4 100644 --- a/deployment-configs/2026/unit_1024-20260316.yml +++ b/deployment-configs/2026/unit_1024-20260316.yml @@ -1,16 +1,17 @@ metadata: + Metadata_Conventions: Unidata Dataset Discovery v1.0, COARDS, CF-1.8 acknowledgment: This work was supported by funding from NOAA. comment: glider was recovered early due to an aft leak contributor_name: Heidi Taylor, Jennifer Walsh, Anthony Cossio, Tegan Murray, Kourtney - Burger, Samuel Woodman + Burger, Cara Wilson, Samuel Woodman contributor_role: Principal Investigator, Glider Pilot, Glider Pilot, Glider Pilot, - Glider Pilot, Data Manager + Glider Pilot, Glider Pilot, Data Manager creator_email: nmfs.swfsc.esd-gliders@noaa.gov - creator_name: Kourtney Burger + creator_name: NOAA SWFSC Ecosystem Science Division Glider Team creator_url: https://www.fisheries.noaa.gov/about/southwest-fisheries-science-center - deployment_id: '1045' - deployment_min_dt: '2026-03-16 17:59:00' deployment_name: unit_1024-20260316 + disclaimer: This data may be redistributed and used without restriction. Data provided + as is with no expressed or implied assurance of quality assurance or quality control format_version: IOOS_Glider_NetCDF_v2.0.nc glider_instrument_name: slocum glider_model: Teledyne Webb Research Slocum G3 glider @@ -24,15 +25,16 @@ metadata: > Salinity, In Situ Ocean-based platforms > Seaglider, glider, Slocum, trajectory, underwater glider, water, wmo keywords_vocabulary: GCMD Science Keywords - license: This data may be redistributed and used without restriction. Data provided - as is with no expressed or implied assurance of quality assurance or quality control. - Metadata_Conventions: Unidata Dataset Discovery v1.0, COARDS, CF-1.8 + license: These data were produced by NOAA and are not subject to copyright protection + in the United States. NOAA waives any potential copyright and related rights in + thse data worldwide through the Creative Commons Zero 1.0 Universal Public Domain + Dedication (CC0-1.0, https://creativecommons.org/publicdomain/zero/1.0/). metadata_link: https://swfsc.github.io/glider-lab-manual/ naming_authority: gov.noaa.fisheries os_version: '11.06' platform_type: Slocum Glider project: SANDIEGO - publisher_email: sam.woodman@noaa.gov + publisher_email: nmfs.swfsc.esd-gliders@noaa.gov publisher_name: Sam Woodman publisher_url: https://www.fisheries.noaa.gov/about/southwest-fisheries-science-center references: https://swfsc.github.io/glider-lab-manual/, https://github.com/c-proof/pyglider, @@ -40,6 +42,7 @@ metadata: sea_name: Coastal Waters of California source: Observational data from a profiling glider standard_name_vocabulary: CF Standard Name Table v72 + start_date: '2026-03-16 17:59:00' summary: These data are part of the NOAA Ecosystem Science Division.The main objective of this deployment was to use a new Shadowgraph model (SG-V3-02, Williamson & Associates (Wassoc)) to obtain imagery of the plankton community in the Southern @@ -188,6 +191,7 @@ netcdf_variables: units: ppb observation_type: calculated instrument: instrument_flbbcd + valid_min: 0.0 backscatter_700: source: sci_flbbcd_bb_units long_name: 700 nm wavelength backscatter @@ -195,6 +199,7 @@ netcdf_variables: units: m-1 sr-1 observation_type: calculated instrument: instrument_flbbcd + valid_min: 0.0 oxygen_concentration: source: sci_oxy4_oxygen long_name: oxygen concentration @@ -211,6 +216,8 @@ netcdf_variables: units: percent observation_type: measured instrument: instrument_oxygen + valid_min: 0.0 + valid_max: 120.0 heading: source: m_heading long_name: glider heading angle @@ -342,3 +349,5 @@ profile_variables: calendar: gregorian units: seconds since 1970-01-01T00:00:00Z observation_type: calculated + instrument_ctd: + comment: placeholder for pyglider profile extraction diff --git a/deployment-scripts/2022/amlr08-20220513-delayed.py b/deployment-scripts/2022/amlr08-20220513-delayed.py index ec736f9..418e3ab 100644 --- a/deployment-scripts/2022/amlr08-20220513-delayed.py +++ b/deployment-scripts/2022/amlr08-20220513-delayed.py @@ -4,7 +4,7 @@ import xarray as xr from esdglider.slocum import pipeline -from esdglider import aa, gcp, imagery, paths, plots, qartod +from esdglider import aa, gcp, imagery, paths, plots, qartod, utils logger = logging.getLogger(__name__) @@ -15,41 +15,15 @@ write_nc = True ### Consistent variables -# Define directories home = Path.home() -mnt_path = home / "mnt-gcs" -cac_path = home / "standard-glider-files" / "Cache" -config_path = home / "glider-lab" / "deployment-configs" - -# Bucket names and paths logs_bucket_name = "swfscesd-glider-logs" -data_in_bucket_name = "swfscesd-glider-deployments-data-in" -data_out_bucket_name = "swfscesd-glider-deployments-data-out" -imagery_in_bucket_name = "swfscesd-glider-imagery-data-in" -imagery_meta_bucket_name = "swfscesd-glider-imagery-metadata" -aa_in_bucket_name = "swfscesd-glider-active-acoustics-data-in" - -logs_path = mnt_path / logs_bucket_name -data_in_path = mnt_path / data_in_bucket_name -data_out_path = mnt_path / data_out_bucket_name -imagery_in_path = mnt_path / imagery_in_bucket_name -imagery_meta_path = mnt_path / imagery_meta_bucket_name -aa_in_path = mnt_path / aa_in_bucket_name - -# Misc -file_info = f"https://github.com/SWFSC/glider-lab: {Path(__file__).name}" -log_file_name = f"{deployment_name}-{mode}.log" +logs_path = home / "mnt-gcs" / logs_bucket_name +file_info, log_file_name = paths.get_file_info(Path(__file__)) #------------------------------------------------------------------------------ if __name__ == "__main__": - # Mount the buckets gcp.gcs_mount_bucket(logs_bucket_name, logs_path, ro=False) - gcp.gcs_mount_bucket(data_in_bucket_name, data_in_path, ro=True) - gcp.gcs_mount_bucket(data_out_bucket_name, data_out_path, ro=False) - gcp.gcs_mount_bucket(imagery_in_bucket_name, imagery_in_path, ro=True) - gcp.gcs_mount_bucket(imagery_meta_bucket_name, imagery_meta_path, ro=True) - logging.basicConfig( filename=logs_path / log_file_name, filemode="w", @@ -65,12 +39,10 @@ glider_paths = paths.get_path_glider( deployment_name = deployment_name, mode = mode, - config_path = config_path, - data_in_path = data_in_path, - data_out_path = data_out_path, - cac_path = cac_path, + home_path = home, ) - + gcp.gcs_mount_bucket(paths.data_in_bucket_name, glider_paths["data_in_path"], ro=True) + gcp.gcs_mount_bucket(paths.data_out_bucket_name, glider_paths["data_out_path"], ro=False) #-------------------------------------------------------------------------- ### Timeseries and gridded netCDF generation logger.info("Generating timeseries netCDF files---------------------") @@ -110,21 +82,12 @@ tssci = xr.load_dataset(outname_dict["outname_tssci"]) logger.info("Active Acoustics---------------------") - aa_paths = paths.get_path_aa( - deployment_name, - mode, - aa_in_path=aa_in_path, - data_out_path=data_out_path, - ) + aa_paths = paths.get_path_aa(deployment_name, mode, home_path=home) aa.ancillary_echoview(tssci, aa_paths) logger.info("Imagery---------------------") - img_paths = paths.get_path_imagery( - deployment_name = deployment_name, - imagery_in_path = imagery_in_path, - imagery_meta_path = imagery_meta_path, - data_out_path = data_out_path, - ) + img_paths = paths.get_path_imagery(deployment_name, home_path=home) + gcp.gcs_mount_bucket(paths.imagery_meta_bucket_name, img_paths["imagery_meta_path"], ro=True) imagery.imagery_timeseries(tssci, img_paths) #-------------------------------------------------------------------------- @@ -139,11 +102,13 @@ ) #-------------------------------------------------------------------------- - # ### Generate profile netCDF files for the DAC - # glider.ngdac_profiles( - # outname_dict["outname_tssci"], paths['profdir'], paths['deploymentyaml'], - # force=True - # ) + ### Generate profile netCDF files for the DAC + utils.create_ngdac_profiles( + inname=outname_dict["outname_tssci"], + outdir=glider_paths["ngdacdir"], + deploymentyaml=glider_paths["deploymentyaml"], + force=True, + ) #-------------------------------------------------------------------------- logger.info("Completed scheduled processing") diff --git a/deployment-scripts/2024/calanus-20241019-delayed.py b/deployment-scripts/2024/calanus-20241019-delayed.py index c40fd60..668504c 100644 --- a/deployment-scripts/2024/calanus-20241019-delayed.py +++ b/deployment-scripts/2024/calanus-20241019-delayed.py @@ -9,7 +9,7 @@ logger = logging.getLogger(__name__) -### Variables for user to update +# Variables for user to update deployment_name = "calanus-20241019" mode = "delayed" write_nc = True @@ -18,35 +18,15 @@ "interrupt": 120, } -### Consistent variables -# Define directories +# Consistent variables home = Path.home() -mnt_path = home / "mnt-gcs" -cac_path = home / "standard-glider-files" / "Cache" -config_path = home / "glider-lab" / "deployment-configs" - -# Bucket names and paths logs_bucket_name = "swfscesd-glider-logs" -data_in_bucket_name = "swfscesd-glider-deployments-data-in" -data_out_bucket_name = "swfscesd-glider-deployments-data-out" -aa_in_bucket_name = "swfscesd-glider-active-acoustics-data-in" - -logs_path = mnt_path / logs_bucket_name -data_in_path = mnt_path / data_in_bucket_name -data_out_path = mnt_path / data_out_bucket_name -aa_in_path = mnt_path / aa_in_bucket_name - -# Misc -file_info = f"https://github.com/SWFSC/glider-lab: {Path(__file__).stem}" -log_file_name = f"{Path(__file__).stem}.log" +logs_path = home / "mnt-gcs" / logs_bucket_name +file_info, log_file_name = paths.get_file_info(Path(__file__)) #------------------------------------------------------------------------------ if __name__ == "__main__": - # Mount the deployments bucket, and generate paths dictionary - gcp.gcs_mount_bucket(logs_bucket_name, logs_path, ro=False) - gcp.gcs_mount_bucket(data_in_bucket_name, data_in_path, ro=True) - gcp.gcs_mount_bucket(data_out_bucket_name, data_out_path, ro=False) - + gcp.gcs_mount_bucket(logs_bucket_name, logs_path, ro=False) logging.basicConfig( filename=logs_path / log_file_name, filemode="w", @@ -62,11 +42,10 @@ glider_paths = paths.get_path_glider( deployment_name = deployment_name, mode = mode, - config_path = config_path, - data_in_path = data_in_path, - data_out_path = data_out_path, - cac_path = cac_path, + home_path = home, ) + gcp.gcs_mount_bucket(paths.data_in_bucket_name, glider_paths["data_in_path"], ro=True) + gcp.gcs_mount_bucket(paths.data_out_bucket_name, glider_paths["data_out_path"], ro=False) #-------------------------------------------------------------------------- ### Timeseries and gridded netCDF generation @@ -108,21 +87,6 @@ tsraw["profile_index"].loc[ {"time": slice("2024-11-01 18:18", "2024-11-01 18:19")} ] = 356.5 - # tseng["profile_index"].loc[ - # {"time": slice("2024-11-01 18:18", "2024-11-01 18:19")} - # ] = 356.5 - # tssci["profile_index"].loc[ - # {"time": slice("2024-11-01 18:18", "2024-11-01 18:19")} - # ] = 356.5 - - # # Finish raw dataset work - # prof_summ = prof.calc_profile_summary(tsraw, "measured_depth") - # prof_summ.to_csv(glider_paths["profsummpath"], index=False) - # prof.check_profiles(prof_summ) - # tsraw.to_netcdf( - # outname_tsraw, - # encoding={'time': pipeline.time_encoding} - # ) # Drop specific bogus sci values, from when sci computer reset timesci_bad_start = np.datetime64("2024-11-01 18:25:00") @@ -184,12 +148,7 @@ tssci = xr.load_dataset(outname_dict["outname_tssci"]) logger.info("Active Acoustics---------------------") - aa_paths = paths.get_path_aa( - deployment_name, - mode, - aa_in_path=aa_in_path, - data_out_path=data_out_path, - ) + aa_paths = paths.get_path_aa(deployment_name, mode, home_path=home) aa.ancillary_echoview(tssci, aa_paths) #-------------------------------------------------------------------------- diff --git a/deployment-scripts/2024/george-20240530-delayed.py b/deployment-scripts/2024/george-20240530-delayed.py index a4970bd..6279838 100644 --- a/deployment-scripts/2024/george-20240530-delayed.py +++ b/deployment-scripts/2024/george-20240530-delayed.py @@ -58,7 +58,7 @@ config_path = config_path, data_in_path = data_in_path, data_out_path = data_out_path, - cac_path = cac_path, + cache_path = cac_path, ) ### Generate netCDF files and plots diff --git a/deployment-scripts/2024/george-20240907-delayed.py b/deployment-scripts/2024/george-20240907-delayed.py index 3aeb29a..a0015c4 100644 --- a/deployment-scripts/2024/george-20240907-delayed.py +++ b/deployment-scripts/2024/george-20240907-delayed.py @@ -60,7 +60,7 @@ config_path = config_path, data_in_path = data_in_path, data_out_path = data_out_path, - cac_path = cac_path, + cache_path = cac_path, ) # Generate timeseries and gridded netCDF files diff --git a/deployment-scripts/2025/calanus-20250617-delayed.py b/deployment-scripts/2025/calanus-20250617-delayed.py index 1c80c12..437b217 100644 --- a/deployment-scripts/2025/calanus-20250617-delayed.py +++ b/deployment-scripts/2025/calanus-20250617-delayed.py @@ -71,7 +71,7 @@ config_path = config_path, data_in_path = data_in_path, data_out_path = data_out_path, - cac_path = cac_path, + cache_path = cac_path, ) #-------------------------------------------------------------------------- diff --git a/deployment-scripts/2025/risso-20250414-delayed.py b/deployment-scripts/2025/risso-20250414-delayed.py index c79dae7..09d724f 100644 --- a/deployment-scripts/2025/risso-20250414-delayed.py +++ b/deployment-scripts/2025/risso-20250414-delayed.py @@ -18,32 +18,15 @@ } ### Consistent variables -# Define directories home = Path.home() -mnt_path = home / "mnt-gcs" -cac_path = home / "standard-glider-files" / "Cache" -config_path = home / "glider-lab" / "deployment-configs" - -# Bucket names and paths logs_bucket_name = "swfscesd-glider-logs" -data_in_bucket_name = "swfscesd-glider-deployments-data-in" -data_out_bucket_name = "swfscesd-glider-deployments-data-out" - -logs_path = mnt_path / logs_bucket_name -data_in_path = mnt_path / data_in_bucket_name -data_out_path = mnt_path / data_out_bucket_name - -# Misc -file_info = f"https://github.com/SWFSC/glider-lab: {Path(__file__).stem}" -log_file_name = f"{Path(__file__).stem}.log" +logs_path = home / "mnt-gcs" / logs_bucket_name +file_info, log_file_name = paths.get_file_info(Path(__file__)) #------------------------------------------------------------------------------ if __name__ == "__main__": gcp.gcs_mount_bucket(logs_bucket_name, logs_path, ro=False) - gcp.gcs_mount_bucket(data_in_bucket_name, data_in_path, ro=True) - gcp.gcs_mount_bucket(data_out_bucket_name, data_out_path, ro=False) - logging.basicConfig( filename=logs_path / log_file_name, filemode="w", @@ -56,14 +39,9 @@ print(f"Writing logs to {logs_path / log_file_name}") logger.info("Generating glider paths") - glider_paths = paths.get_path_glider( - deployment_name = deployment_name, - mode = mode, - config_path = config_path, - data_in_path = data_in_path, - data_out_path = data_out_path, - cac_path = cac_path, - ) + glider_paths = paths.get_path_glider(deployment_name, mode, home_path=home) + gcp.gcs_mount_bucket(paths.data_in_bucket_name, glider_paths["data_in_path"], ro=True) + gcp.gcs_mount_bucket(paths.data_out_bucket_name, glider_paths["data_out_path"], ro=False) #-------------------------------------------------------------------------- ### Timeseries and gridded netCDF generation diff --git a/deployment-scripts/2025/stenella-20250414-delayed.py b/deployment-scripts/2025/stenella-20250414-delayed.py index 04f5afb..9ef97cb 100644 --- a/deployment-scripts/2025/stenella-20250414-delayed.py +++ b/deployment-scripts/2025/stenella-20250414-delayed.py @@ -59,7 +59,7 @@ config_path = config_path, data_in_path = data_in_path, data_out_path = data_out_path, - cac_path = cac_path, + cache_path = cac_path, ) #-------------------------------------------------------------------------- diff --git a/deployment-scripts/2025/unit_1024-20250224-delayed.py b/deployment-scripts/2025/unit_1024-20250224-delayed.py index 7f7aad3..7abddfa 100644 --- a/deployment-scripts/2025/unit_1024-20250224-delayed.py +++ b/deployment-scripts/2025/unit_1024-20250224-delayed.py @@ -1,44 +1,31 @@ import logging from pathlib import Path -# import xarray as xr -from esdglider import gcp, paths, plots, utils from esdglider.slocum import pipeline +import xarray as xr +from esdglider import gcp, paths, plots, qartod, utils + logger = logging.getLogger(__name__) ### Variables for user to update deployment_name = "unit_1024-20250224" mode = "delayed" write_nc = True +prof_args = { + "stall": 2, + "interrupt": 120, +} ### Consistent variables -# Define directories home = Path.home() -mnt_path = home / "mnt-gcs" -cac_path = home / "standard-glider-files" / "Cache" -config_path = home / "glider-lab" / "deployment-configs" - -# Bucket names and paths logs_bucket_name = "swfscesd-glider-logs" -data_in_bucket_name = "swfscesd-glider-deployments-data-in" -data_out_bucket_name = "swfscesd-glider-deployments-data-out" - -logs_path = mnt_path / logs_bucket_name -data_in_path = mnt_path / data_in_bucket_name -data_out_path = mnt_path / data_out_bucket_name - -# Misc -file_info = f"https://github.com/SWFSC/glider-lab: {Path(__file__).stem}" -log_file_name = f"{Path(__file__).stem}.log" - +logs_path = home / "mnt-gcs" / logs_bucket_name +file_info, log_file_name = paths.get_file_info(Path(__file__)) if __name__ == "__main__": # Mount the buckets gcp.gcs_mount_bucket(logs_bucket_name, logs_path, ro=False) - gcp.gcs_mount_bucket(data_in_bucket_name, data_in_path, ro=True) - gcp.gcs_mount_bucket(data_out_bucket_name, data_out_path, ro=False) - logging.basicConfig( filename=logs_path / log_file_name, filemode="w", @@ -48,17 +35,13 @@ ) logging.captureWarnings(True) logger.info("Beginning scheduled processing for %s", file_info) - + print(f"Writing logs to {logs_path / log_file_name}") + logger.info("Generating glider paths") # Generate glider paths - glider_paths = paths.get_path_glider( - deployment_name = deployment_name, - mode = mode, - config_path = config_path, - data_in_path = data_in_path, - data_out_path = data_out_path, - cac_path = cac_path, - ) + glider_paths = paths.get_path_glider(deployment_name, mode, home_path=home) + gcp.gcs_mount_bucket(paths.data_in_bucket_name, glider_paths["data_in_path"], ro=True) + gcp.gcs_mount_bucket(paths.data_out_bucket_name, glider_paths["data_out_path"], ro=False) #-------------------------------------------------------------------------- ### Timeseries and gridded netCDF generation @@ -72,22 +55,23 @@ write_eng=write_nc, write_sci=write_nc, file_info=file_info, - stall=2, - interrupt=120, + prof_args=prof_args, ) - # # Recalculate flbbcd values and correct cdom, if necessary - # if write_nc: - # logger.info("Correcting data---------------------") - # pipeline.correct_flbbcd_raw_sci(glider_paths=glider_paths) - # pipeline.correct_cdom_raw_sci(glider_paths=glider_paths) - - # # Correct profiles, and make other adjustments to netCDF files - # if write_nc: - # logger.info("Adjusting datasets, after review---------------------") - # # tsraw = xr.load_dataset(outname_dict["outname_tsraw"]) - # tseng = xr.load_dataset(outname_dict["outname_tseng"]) - # tssci = xr.load_dataset(outname_dict["outname_tssci"]) + if write_nc: + logger.info("Adjusting datasets, after review---------------------") + tssci = xr.load_dataset(outname_dict_ts["outname_tssci"]) + tssci = utils.correct_par(tssci) + tssci.to_netcdf(outname_dict_ts["outname_tssci"]) + + # Create qc variables for science netCDF files, after corrections + if write_nc: + logger.info("Generating qc flags---------------------") + qartod.run_qartod_qc( + input_file=outname_dict_ts["outname_tssci"], + output_file=outname_dict_ts["outname_tssci"], + overwrite_qc=True + ) logger.info("Generating gridded netCDF files---------------------") outname_dict_gr = pipeline.generate_gridded( diff --git a/deployment-scripts/2026/amlr08-20260321-delayed.py b/deployment-scripts/2026/amlr08-20260321-delayed.py index 0dd8141..3c1b24f 100644 --- a/deployment-scripts/2026/amlr08-20260321-delayed.py +++ b/deployment-scripts/2026/amlr08-20260321-delayed.py @@ -1,9 +1,12 @@ import logging from pathlib import Path -# import numpy as np import xarray as xr -from esdglider import gcp, imagery, paths, plots, slocum, utils # type: ignore +from esdglider.slocum import pipeline + +from esdglider import gcp, imagery, paths, plots, qartod, utils + +logger = logging.getLogger(__name__) ### Variables for user to update deployment_name = "amlr08-20260321" @@ -11,36 +14,15 @@ write_nc = True ### Consistent variables -# Define directories home = Path.home() -mnt_path = home / "gcs-mnt" -cac_path = home / "standard-glider-files" / "Cache" -config_path = home / "glider-lab" / "deployment-configs" - -# Bucket names and paths logs_bucket_name = "swfscesd-glider-logs" -data_in_bucket_name = "swfscesd-glider-deployments-data-in" -data_out_bucket_name = "swfscesd-glider-deployments-data-out" -imagery_in_bucket_name = "swfscesd-glider-imagery-data-in" -imagery_meta_bucket_name = "swfscesd-glider-imagery-metadata" +logs_path = home / "mnt-gcs" / logs_bucket_name +file_info, log_file_name = paths.get_file_info(Path(__file__)) -logs_path = mnt_path / logs_bucket_name -data_in_path = mnt_path / data_in_bucket_name -data_out_path = mnt_path / data_out_bucket_name -imagery_in_path = mnt_path / imagery_in_bucket_name -imagery_meta_path = mnt_path / imagery_meta_bucket_name - -# Misc -file_info = f"https://github.com/SWFSC/glider-lab: {Path(__file__).name}" -log_file_name = f"{deployment_name}-{mode}.log" +#------------------------------------------------------------------------------ if __name__ == "__main__": gcp.gcs_mount_bucket(logs_bucket_name, logs_path, ro=False) - gcp.gcs_mount_bucket(data_in_bucket_name, data_in_path, ro=True) - gcp.gcs_mount_bucket(data_out_bucket_name, data_out_path, ro=False) - gcp.gcs_mount_bucket(imagery_in_bucket_name, imagery_in_path, ro=True) - gcp.gcs_mount_bucket(imagery_meta_bucket_name, imagery_meta_path, ro=True) - logging.basicConfig( filename=logs_path / log_file_name, filemode="w", @@ -49,26 +31,30 @@ datefmt="%Y-%m-%d %H:%M:%S", ) logging.captureWarnings(True) - logging.info("Beginning scheduled processing for %s", file_info) + logger.info("Beginning scheduled processing for %s", file_info) + print(f"Writing logs to {logs_path / log_file_name}") # Generate glider paths + logger.info("Generating glider paths") glider_paths = paths.get_path_glider( deployment_name = deployment_name, mode = mode, - config_path = config_path, - data_in_path = data_in_path, - data_out_path = data_out_path, - cac_path = cac_path, + home_path = home, ) + gcp.gcs_mount_bucket(paths.data_in_bucket_name, glider_paths["data_in_path"], ro=True) + gcp.gcs_mount_bucket(paths.data_out_bucket_name, glider_paths["data_out_path"], ro=False) - # Generate timeseries and gridded netCDF files - outname_dict = slocum.binary_to_nc( - deployment_name=deployment_name, + + #-------------------------------------------------------------------------- + ### Timeseries and gridded netCDF generation + logger.info("Generating timeseries netCDF files---------------------") + outname_dict_ts = pipeline.generate_timeseries( + deployment_name = deployment_name, mode=mode, glider_paths=glider_paths, write_raw=write_nc, - write_timeseries=write_nc, - write_gridded=write_nc, + write_eng=write_nc, + write_sci=write_nc, file_info=file_info, ) @@ -79,35 +65,52 @@ # tseng = xr.load_dataset(outname_dict["outname_tseng"]) # tssci = xr.load_dataset(outname_dict["outname_tssci"]) - ### Sensor-specific processing - tssci = xr.load_dataset(outname_dict["outname_tssci"]) - # tseng = xr.load_dataset(outname_dict["outname_tseng"]) - # g5sci = xr.load_dataset(outname_dict["outname_5m"]) - - # Imagery - img_paths = paths.get_path_imagery( - deployment_name = deployment_name, - imagery_in_path = imagery_in_path, - imagery_meta_path = imagery_meta_path, - data_out_path = data_out_path, + + # Create qc variables for science netCDF files, after corrections + if write_nc: + logger.info("Generating qc flags---------------------") + qartod.run_qartod_qc( + input_file=outname_dict_ts["outname_tssci"], + output_file=outname_dict_ts["outname_tssci"], + overwrite_qc=True + ) + + logger.info("Generating gridded netCDF files---------------------") + outname_dict_gr = pipeline.generate_gridded( + glider_paths=glider_paths, + write_gridded=write_nc, ) + + outname_dict = outname_dict_ts | outname_dict_gr + + #-------------------------------------------------------------------------- + ### Ancillary data products + tssci = xr.load_dataset(outname_dict["outname_tssci"]) + + logger.info("Imagery---------------------") + img_paths = paths.get_path_imagery(deployment_name, home_path=home) + gcp.gcs_mount_bucket(paths.imagery_meta_bucket_name, img_paths["imagery_meta_path"], ro=True) imagery.imagery_timeseries(tssci, img_paths) - # ### Plots - # etopo_path = home / "ETOPO_2022_v1_15s_N45W135_erddap.nc" - # plots.esd_all_plots( - # outname_dict, - # crs="Mercator", - # base_path=glider_paths["plotdir"], - # bar_file=etopo_path, - # ) + + #-------------------------------------------------------------------------- + ### Plots + logger.info("Generating plots---------------------") + etopo_path = home / "ETOPO_2022_v1_15s_N45W135_erddap.nc" + plots.esd_all_plots( + outname_dict, + crs="Mercator", + base_path=glider_paths["plotdir"], + bar_file=str(etopo_path), + ) + #-------------------------------------------------------------------------- ### Generate profile netCDF files for the DAC - # glider.ngdac_profiles( - # outname_dict["outname_tssci"], - # glider_paths['profdir'], - # glider_paths['deploymentyaml'], - # force=True, - # ) - - logging.info("Completed scheduled processing") + utils.create_ngdac_profiles( + inname=outname_dict["outname_tssci"], + outdir=glider_paths["ngdacdir"], + deploymentyaml=glider_paths["deploymentyaml"], + force=True, + ) + + logger.info("Completed scheduled processing") diff --git a/deployment-scripts/2026/amlr08-20260327-delayed.py b/deployment-scripts/2026/amlr08-20260327-delayed.py index 4444e0d..235df83 100644 --- a/deployment-scripts/2026/amlr08-20260327-delayed.py +++ b/deployment-scripts/2026/amlr08-20260327-delayed.py @@ -1,9 +1,12 @@ import logging from pathlib import Path -# import numpy as np import xarray as xr -from esdglider import gcp, imagery, paths, plots, slocum, utils # type: ignore +from esdglider.slocum import pipeline + +from esdglider import gcp, imagery, paths, plots, qartod, utils + +logger = logging.getLogger(__name__) ### Variables for user to update deployment_name = "amlr08-20260327" @@ -11,36 +14,15 @@ write_nc = True ### Consistent variables -# Define directories home = Path.home() -mnt_path = home / "gcs-mnt" -cac_path = home / "standard-glider-files" / "Cache" -config_path = home / "glider-lab" / "deployment-configs" - -# Bucket names and paths logs_bucket_name = "swfscesd-glider-logs" -data_in_bucket_name = "swfscesd-glider-deployments-data-in" -data_out_bucket_name = "swfscesd-glider-deployments-data-out" -imagery_in_bucket_name = "swfscesd-glider-imagery-data-in" -imagery_meta_bucket_name = "swfscesd-glider-imagery-metadata" +logs_path = home / "mnt-gcs" / logs_bucket_name +file_info, log_file_name = paths.get_file_info(Path(__file__)) -logs_path = mnt_path / logs_bucket_name -data_in_path = mnt_path / data_in_bucket_name -data_out_path = mnt_path / data_out_bucket_name -imagery_in_path = mnt_path / imagery_in_bucket_name -imagery_meta_path = mnt_path / imagery_meta_bucket_name - -# Misc -file_info = f"https://github.com/SWFSC/glider-lab: {Path(__file__).name}" -log_file_name = f"{deployment_name}-{mode}.log" +#------------------------------------------------------------------------------ if __name__ == "__main__": gcp.gcs_mount_bucket(logs_bucket_name, logs_path, ro=False) - gcp.gcs_mount_bucket(data_in_bucket_name, data_in_path, ro=True) - gcp.gcs_mount_bucket(data_out_bucket_name, data_out_path, ro=False) - gcp.gcs_mount_bucket(imagery_in_bucket_name, imagery_in_path, ro=True) - gcp.gcs_mount_bucket(imagery_meta_bucket_name, imagery_meta_path, ro=True) - logging.basicConfig( filename=logs_path / log_file_name, filemode="w", @@ -49,26 +31,30 @@ datefmt="%Y-%m-%d %H:%M:%S", ) logging.captureWarnings(True) - logging.info("Beginning scheduled processing for %s", file_info) + logger.info("Beginning scheduled processing for %s", file_info) + print(f"Writing logs to {logs_path / log_file_name}") # Generate glider paths + logger.info("Generating glider paths") glider_paths = paths.get_path_glider( deployment_name = deployment_name, mode = mode, - config_path = config_path, - data_in_path = data_in_path, - data_out_path = data_out_path, - cac_path = cac_path, + home_path = home, ) + gcp.gcs_mount_bucket(paths.data_in_bucket_name, glider_paths["data_in_path"], ro=True) + gcp.gcs_mount_bucket(paths.data_out_bucket_name, glider_paths["data_out_path"], ro=False) - # Generate timeseries and gridded netCDF files - outname_dict = slocum.binary_to_nc( - deployment_name=deployment_name, + + #-------------------------------------------------------------------------- + ### Timeseries and gridded netCDF generation + logger.info("Generating timeseries netCDF files---------------------") + outname_dict_ts = pipeline.generate_timeseries( + deployment_name = deployment_name, mode=mode, glider_paths=glider_paths, write_raw=write_nc, - write_timeseries=write_nc, - write_gridded=write_nc, + write_eng=write_nc, + write_sci=write_nc, file_info=file_info, ) @@ -79,35 +65,52 @@ # tseng = xr.load_dataset(outname_dict["outname_tseng"]) # tssci = xr.load_dataset(outname_dict["outname_tssci"]) - ### Sensor-specific processing - tssci = xr.load_dataset(outname_dict["outname_tssci"]) - # tseng = xr.load_dataset(outname_dict["outname_tseng"]) - # g5sci = xr.load_dataset(outname_dict["outname_5m"]) - - # Imagery - img_paths = paths.get_path_imagery( - deployment_name = deployment_name, - imagery_in_path = imagery_in_path, - imagery_meta_path = imagery_meta_path, - data_out_path = data_out_path, + + # Create qc variables for science netCDF files, after corrections + if write_nc: + logger.info("Generating qc flags---------------------") + qartod.run_qartod_qc( + input_file=outname_dict_ts["outname_tssci"], + output_file=outname_dict_ts["outname_tssci"], + overwrite_qc=True + ) + + logger.info("Generating gridded netCDF files---------------------") + outname_dict_gr = pipeline.generate_gridded( + glider_paths=glider_paths, + write_gridded=write_nc, ) + + outname_dict = outname_dict_ts | outname_dict_gr + + #-------------------------------------------------------------------------- + ### Ancillary data products + tssci = xr.load_dataset(outname_dict["outname_tssci"]) + + logger.info("Imagery---------------------") + img_paths = paths.get_path_imagery(deployment_name, home_path=home) + gcp.gcs_mount_bucket(paths.imagery_meta_bucket_name, img_paths["imagery_meta_path"], ro=True) imagery.imagery_timeseries(tssci, img_paths) - # ### Plots - # etopo_path = home / "ETOPO_2022_v1_15s_N45W135_erddap.nc" - # plots.esd_all_plots( - # outname_dict, - # crs="Mercator", - # base_path=glider_paths["plotdir"], - # bar_file=etopo_path, - # ) + + #-------------------------------------------------------------------------- + ### Plots + logger.info("Generating plots---------------------") + etopo_path = home / "ETOPO_2022_v1_15s_N45W135_erddap.nc" + plots.esd_all_plots( + outname_dict, + crs="Mercator", + base_path=glider_paths["plotdir"], + bar_file=str(etopo_path), + ) + #-------------------------------------------------------------------------- ### Generate profile netCDF files for the DAC - # glider.ngdac_profiles( - # outname_dict["outname_tssci"], - # glider_paths['profdir'], - # glider_paths['deploymentyaml'], - # force=True, - # ) - - logging.info("Completed scheduled processing") + utils.create_ngdac_profiles( + inname=outname_dict["outname_tssci"], + outdir=glider_paths["ngdacdir"], + deploymentyaml=glider_paths["deploymentyaml"], + force=True, + ) + + logger.info("Completed scheduled processing") diff --git a/deployment-scripts/2026/amlr30-20260114-delayed.py b/deployment-scripts/2026/amlr30-20260114-delayed.py index 423caac..262867b 100644 --- a/deployment-scripts/2026/amlr30-20260114-delayed.py +++ b/deployment-scripts/2026/amlr30-20260114-delayed.py @@ -5,7 +5,7 @@ import xarray as xr from esdglider.slocum import pipeline -from esdglider import gcp, imagery, paths, plots, qartod +from esdglider import gcp, imagery, paths, plots, qartod, utils logger = logging.getLogger(__name__) @@ -20,36 +20,15 @@ } ### Consistent variables -# Define directories home = Path.home() -mnt_path = home / "mnt-gcs" -cac_path = home / "standard-glider-files" / "Cache" -config_path = home / "glider-lab" / "deployment-configs" - -# Bucket names and paths logs_bucket_name = "swfscesd-glider-logs" -data_in_bucket_name = "swfscesd-glider-deployments-data-in" -data_out_bucket_name = "swfscesd-glider-deployments-data-out" -imagery_in_bucket_name = "swfscesd-glider-imagery-data-in" -imagery_meta_bucket_name = "swfscesd-glider-imagery-metadata" - -logs_path = mnt_path / logs_bucket_name -data_in_path = mnt_path / data_in_bucket_name -data_out_path = mnt_path / data_out_bucket_name -imagery_in_path = mnt_path / imagery_in_bucket_name -imagery_meta_path = mnt_path / imagery_meta_bucket_name +logs_path = home / "mnt-gcs" / logs_bucket_name +file_info, log_file_name = paths.get_file_info(Path(__file__)) -# Misc -file_info = f"https://github.com/SWFSC/glider-lab: {Path(__file__).name}" -log_file_name = f"{deployment_name}-{mode}.log" +#------------------------------------------------------------------------------ if __name__ == "__main__": gcp.gcs_mount_bucket(logs_bucket_name, logs_path, ro=False) - gcp.gcs_mount_bucket(data_in_bucket_name, data_in_path, ro=True) - gcp.gcs_mount_bucket(data_out_bucket_name, data_out_path, ro=False) - # gcp.gcs_mount_bucket(imagery_in_bucket_name, imagery_in_path, ro=True) - # gcp.gcs_mount_bucket(imagery_meta_bucket_name, imagery_meta_path, ro=True) - logging.basicConfig( filename=logs_path / log_file_name, filemode="w", @@ -62,14 +41,15 @@ print(f"Writing logs to {logs_path / log_file_name}") # Generate glider paths + logger.info("Generating glider paths") glider_paths = paths.get_path_glider( deployment_name = deployment_name, mode = mode, - config_path = config_path, - data_in_path = data_in_path, - data_out_path = data_out_path, - cac_path = cac_path, + home_path = home, ) + gcp.gcs_mount_bucket(paths.data_in_bucket_name, glider_paths["data_in_path"], ro=True) + gcp.gcs_mount_bucket(paths.data_out_bucket_name, glider_paths["data_out_path"], ro=False) + #-------------------------------------------------------------------------- ### Timeseries and gridded netCDF generation @@ -102,26 +82,6 @@ {"time": slice("2026-01-25 01:51", "2026-01-25 01:55")} ] = 182 - # # Finish raw dataset work - # prof_summ = utils.calc_profile_summary(tsraw, "depth_measured") - # prof_summ.to_csv(glider_paths["profsummpath"], index=False) - # utils.check_profiles(prof_summ) - # tsraw.to_netcdf( - # outname_dict_ts["outname_tsraw"], - # encoding={'time': pipeline.time_encoding} - # ) - - # # Apply new profiles to sci and eng - # tseng = utils.join_profiles(tseng, prof_summ, **prof_kwargs) - # tssci = utils.join_profiles(tssci, prof_summ, **prof_kwargs) - # tseng.to_netcdf( - # outname_dict_ts["outname_tseng"], - # encoding={'time': pipeline.time_encoding} - # ) - # tssci.to_netcdf( - # outname_dict_ts["outname_tssci"], - # encoding={'time': pipeline.time_encoding} - # ) pipeline.complete_profile_correction( tsraw=tsraw, tseng=xr.load_dataset(outname_dict_ts["outname_tseng"]), @@ -140,7 +100,7 @@ ) - # Generate gridded netCDF files + logger.info("Generating gridded netCDF files---------------------") outname_dict_gr = pipeline.generate_gridded( glider_paths=glider_paths, write_gridded=write_nc, @@ -148,20 +108,23 @@ outname_dict = outname_dict_ts | outname_dict_gr - ### Sensor-specific processing + #-------------------------------------------------------------------------- + ### Ancillary data products tssci = xr.load_dataset(outname_dict["outname_tssci"]) - - # Imagery - img_paths = paths.get_path_imagery( - deployment_name = deployment_name, - imagery_in_path = imagery_in_path, - imagery_meta_path = imagery_meta_path, - data_out_path = data_out_path, - ) + + logger.info("Imagery---------------------") + img_paths = paths.get_path_imagery(deployment_name, home_path=home) + gcp.gcs_mount_bucket(paths.imagery_meta_bucket_name, img_paths["imagery_meta_path"], ro=True) imagery.imagery_timeseries(tssci, img_paths) + #-------------------------------------------------------------------------- ### Plots - plots.esd_all_plots(outname_dict, crs=None, base_path=glider_paths["plotdir"]) + logger.info("Generating plots---------------------") + plots.esd_all_plots( + outname_dict, + crs=None, + base_path=glider_paths["plotdir"], + ) plots.sci_surface_map_loop( xr.load_dataset(outname_dict["outname_gr5m"]), crs="Mercator", @@ -170,12 +133,14 @@ figsize_y=8.5, ) + #-------------------------------------------------------------------------- ### Generate profile netCDF files for the DAC - # glider.ngdac_profiles( - # outname_dict["outname_tssci"], - # glider_paths['profdir'], - # glider_paths['deploymentyaml'], - # force=True, - # ) + utils.create_ngdac_profiles( + inname=outname_dict["outname_tssci"], + outdir=glider_paths["ngdacdir"], + deploymentyaml=glider_paths["deploymentyaml"], + force=True, + ) + #-------------------------------------------------------------------------- logger.info("Completed scheduled processing") diff --git a/deployment-scripts/2026/calanus-20260403-delayed.py b/deployment-scripts/2026/calanus-20260403-delayed.py index 688a78d..727e970 100644 --- a/deployment-scripts/2026/calanus-20260403-delayed.py +++ b/deployment-scripts/2026/calanus-20260403-delayed.py @@ -4,7 +4,7 @@ import xarray as xr from esdglider.slocum import pipeline -from esdglider import gcp, imagery, paths, plots, qartod +from esdglider import gcp, imagery, paths, plots, qartod, utils logger = logging.getLogger(__name__) @@ -12,45 +12,20 @@ deployment_name = "calanus-20260403" mode = "delayed" # "delayed" or "rt" write_nc = True # Write NC files? -use_m_depth = False # Was the CTD ever turned off? profile_args = { "shake": 15 -} +} ### Consistent variables -# Define directories home = Path.home() -mnt_path = home / "mnt-gcs" -cac_path = home / "standard-glider-files" / "Cache" -config_path = home / "glider-lab" / "deployment-configs" - -# Bucket names and paths logs_bucket_name = "swfscesd-glider-logs" -data_in_bucket_name = "swfscesd-glider-deployments-data-in" -data_out_bucket_name = "swfscesd-glider-deployments-data-out" -## aa_in_bucket_name = "swfscesd-glider-active-acoustics-data-in" -imagery_in_bucket_name = "swfscesd-glider-imagery-data-in" -imagery_meta_bucket_name = "swfscesd-glider-imagery-metadata" - -logs_path = mnt_path / logs_bucket_name -data_in_path = mnt_path / data_in_bucket_name -data_out_path = mnt_path / data_out_bucket_name -# aa_in_path = mnt_path / aa_in_bucket_name -imagery_in_path = mnt_path / imagery_in_bucket_name -imagery_meta_path = mnt_path / imagery_meta_bucket_name - -# Misc -file_info = f"https://github.com/SWFSC/glider-lab: {Path(__file__).stem}" -log_file_name = f"{Path(__file__).stem}.log" +logs_path = home / "mnt-gcs" / logs_bucket_name +file_info, log_file_name = paths.get_file_info(Path(__file__)) #------------------------------------------------------------------------------ if __name__ == "__main__": gcp.gcs_mount_bucket(logs_bucket_name, logs_path, ro=False) - gcp.gcs_mount_bucket(data_in_bucket_name, data_in_path, ro=True) - gcp.gcs_mount_bucket(data_out_bucket_name, data_out_path, ro=False) - gcp.gcs_mount_bucket(imagery_meta_bucket_name, imagery_meta_path, ro=True) - logging.basicConfig( filename=logs_path / log_file_name, filemode="w", @@ -62,16 +37,15 @@ logger.info("Beginning scheduled processing for %s", file_info) print(f"Writing logs to {logs_path / log_file_name}") - logger.info("Generating glider paths") # Generate glider paths + logger.info("Generating glider paths") glider_paths = paths.get_path_glider( deployment_name = deployment_name, mode = mode, - config_path = config_path, - data_in_path = data_in_path, - data_out_path = data_out_path, - cac_path = cac_path, + home_path = home, ) + gcp.gcs_mount_bucket(paths.data_in_bucket_name, glider_paths["data_in_path"], ro=True) + gcp.gcs_mount_bucket(paths.data_out_bucket_name, glider_paths["data_out_path"], ro=False) #-------------------------------------------------------------------------- @@ -137,12 +111,8 @@ tssci = xr.load_dataset(outname_dict["outname_tssci"]) logger.info("Imagery---------------------") - img_paths = paths.get_path_imagery( - deployment_name = deployment_name, - imagery_in_path = imagery_in_path, - imagery_meta_path = imagery_meta_path, - data_out_path = data_out_path, - ) + img_paths = paths.get_path_imagery(deployment_name, home_path=home) + gcp.gcs_mount_bucket(paths.imagery_meta_bucket_name, img_paths["imagery_meta_path"], ro=True) imagery.imagery_timeseries(tssci, img_paths) #-------------------------------------------------------------------------- @@ -157,13 +127,13 @@ ) #-------------------------------------------------------------------------- - # ### Generate profile netCDF files for the DAC - # glider.ngdac_profiles( - # outname_dict["outname_tssci"], - # glider_paths['profdir'], - # glider_paths['deploymentyaml'], - # force=True, - # ) + ### Generate profile netCDF files for the DAC + utils.create_ngdac_profiles( + inname=outname_dict["outname_tssci"], + outdir=glider_paths["ngdacdir"], + deploymentyaml=glider_paths["deploymentyaml"], + force=True, + ) #-------------------------------------------------------------------------- logger.info("Completed scheduled processing") diff --git a/deployment-scripts/2026/calanus-20260824-rt.py b/deployment-scripts/2026/calanus-20260824-rt.py index 2a25719..5fdcf20 100644 --- a/deployment-scripts/2026/calanus-20260824-rt.py +++ b/deployment-scripts/2026/calanus-20260824-rt.py @@ -1,3 +1,9 @@ +# Script for scraping and processing near real-time data from calanus-20260824 +# To complete, within cloud shell, and run the following +# ./rclone_install.sh +# rlone copy gcp-prod:swfscesd-glider-deployments-data-out/2026/calanus-20260824/plots/rt "drive-smw:Data Shares/esd-glider-data-share/calanus-20260824/plots-rt" --progress +# rclone copy gcp-prod:swfscesd-glider-deployments-data-out/2026/calanus-20260824/processed-L1/calanus-20260824-rt-sci.nc "drive-smw:Data Shares/esd-glider-data-share/calanus-20260824/" --progress + import logging # import numpy as np @@ -6,8 +12,7 @@ from esdglider.slocum import pipeline, rt -# import esdglider.profiles as prof -from esdglider import gcp, paths, plots, qartod +from esdglider import gcp, paths, plots, qartod, utils logger = logging.getLogger(__name__) @@ -19,32 +24,16 @@ prof_args = {} # Named optional parameters for finding profiles ### Consistent variables -# Define directories home = Path.home() -mnt_path = home / "mnt-gcs" -cac_path = home / "standard-glider-files" / "Cache" -config_path = home / "glider-lab" / "deployment-configs" - -# Bucket names and paths logs_bucket_name = "swfscesd-glider-logs" -data_in_bucket_name = "swfscesd-glider-deployments-data-in" -data_out_bucket_name = "swfscesd-glider-deployments-data-out" - -logs_path = mnt_path / logs_bucket_name -data_in_path = mnt_path / data_in_bucket_name -data_out_path = mnt_path / data_out_bucket_name - -# Misc -file_info = f"https://github.com/SWFSC/glider-lab: {Path(__file__).name}" -log_file_name = f"{Path(__file__).stem}.log" +logs_path = home / "mnt-gcs" / logs_bucket_name +file_info, log_file_name = paths.get_file_info(Path(__file__)) #------------------------------------------------------------------------------ if __name__ == "__main__": gcp.gcs_mount_bucket(logs_bucket_name, logs_path, ro=False) - gcp.gcs_mount_bucket(data_in_bucket_name, data_in_path, ro=True) - gcp.gcs_mount_bucket(data_out_bucket_name, data_out_path, ro=False) - + logging.basicConfig( filename=logs_path / log_file_name, filemode="w", @@ -60,21 +49,21 @@ glider_paths = paths.get_path_glider( deployment_name = deployment_name, mode = mode, - config_path = config_path, - data_in_path = data_in_path, - data_out_path = data_out_path, - cac_path = cac_path, + home_path = home, ) + gcp.gcs_mount_bucket(paths.data_in_bucket_name, glider_paths["data_in_path"], ro=True) + gcp.gcs_mount_bucket(paths.data_out_bucket_name, glider_paths["data_out_path"], ro=False) + logger.info("Rsyncing nrt files from SFMC to GCP---------------------") rt.scrape_sfmc( - deployment_name, - "swfscesd-glider-deployments-data-in", - "/home/user/sfmc", - "ggn-nmfs-swfscesd-prod-1", - "sfmc-swoodman" + deployment_name=deployment_name, + bucket_name=paths.data_in_bucket_name, + sfmc_path=str(home / "sfmc"), + cache_path=glider_paths["cacdir"], + gcpproject_id="ggn-nmfs-swfscesd-prod-1", + secret_id="sfmc-swoodman" ) - #-------------------------------------------------------------------------- ### Timeseries and gridded netCDF generation logger.info("Generating timeseries netCDF files---------------------") @@ -102,12 +91,12 @@ # {"time": slice("2026-02-01 09:05", "2026-02-01 09:16:10")} # ] = 397 - # pipeline.complete_profile_correction( - # tsraw=tsraw, - # tseng=xr.load_dataset(outname_dict_ts["outname_tseng"]), - # tssci=xr.load_dataset(outname_dict_ts["outname_tssci"]), - # glider_paths=glider_paths, - # ) + # pipeline.complete_profile_correction( + # tsraw=tsraw, + # tseng=xr.load_dataset(outname_dict_ts["outname_tseng"]), + # tssci=xr.load_dataset(outname_dict_ts["outname_tssci"]), + # glider_paths=glider_paths, + # ) # Create qc variables for science netCDF files, after corrections if write_nc: @@ -127,28 +116,6 @@ outname_dict = outname_dict_ts | outname_dict_gr - #-------------------------------------------------------------------------- - # ### Ancillary data products - # tssci = xr.load_dataset(outname_dict["outname_tssci"]) - - # logger.info("Active Acoustics---------------------") - # aa_paths = paths.get_path_aa( - # deployment_name, - # mode, - # aa_in_path=aa_in_path, - # data_out_path=data_out_path, - # ) - # aa.ancillary_echoview(tssci, aa_paths) - - # logger.info("Imagery---------------------") - # img_paths = paths.get_path_imagery( - # deployment_name = deployment_name, - # imagery_in_path = imagery_in_path, - # imagery_meta_path = imagery_meta_path, - # data_out_path = data_out_path, - # ) - # imagery.imagery_timeseries(tssci, img_paths) - #-------------------------------------------------------------------------- ### Plots logger.info("Generating plots---------------------") @@ -161,13 +128,13 @@ ) #-------------------------------------------------------------------------- - # ### Generate profile netCDF files for the DAC - # core.ngdac_profiles( - # outname_dict["outname_tssci"], - # glider_paths['profdir'], - # glider_paths['deploymentyaml'], - # force=True, - # ) + ### Generate profile netCDF files for the DAC + utils.create_ngdac_profiles( + inname=outname_dict["outname_tssci"], + outdir=glider_paths["ngdacdir"], + deploymentyaml=glider_paths["deploymentyaml"], + force=True, + ) #-------------------------------------------------------------------------- logger.info("Completed scheduled processing") diff --git a/deployment-scripts/2026/capex987-20260128-delayed.py b/deployment-scripts/2026/capex987-20260128-delayed.py index dec09de..bc594d4 100644 --- a/deployment-scripts/2026/capex987-20260128-delayed.py +++ b/deployment-scripts/2026/capex987-20260128-delayed.py @@ -1,12 +1,12 @@ import logging from pathlib import Path +# import esdglider.profiles as prof # import numpy as np import xarray as xr +from esdglider.slocum import pipeline, rt -from esdglider import aa, gcp, imagery, paths, plots, utils -from esdglider.slocum import core, pipeline -import esdglider.profiles as prof +from esdglider import gcp, imagery, paths, plots, qartod, utils logger = logging.getLogger(__name__) @@ -23,7 +23,7 @@ # Change for local paths home = Path("D:/esd data structure/") # mnt_path = home / "gcs-mnt" -cac_path = "D:/esd data structure/cache/" +cache_path = "D:/esd data structure/cache/" config_path = "deployment-configs/" # Bucket names and paths @@ -38,18 +38,12 @@ data_in_path = Path(data_in_bucket_name) data_out_path = Path(data_out_bucket_name) -# Misc -file_info = f"https://github.com/SWFSC/glider-lab: {Path(__file__).name}" -log_file_name = f"capex987-20260128-delayed.log" +file_info, log_file_name = paths.get_file_info(Path(__file__)) + #------------------------------------------------------------------------------ if __name__ == "__main__": - # gcp.gcs_mount_bucket(logs_bucket_name, logs_path, ro=False) - # gcp.gcs_mount_bucket(data_in_bucket_name, data_in_path, ro=True) - # gcp.gcs_mount_bucket(data_out_bucket_name, data_out_path, ro=False) - # gcp.gcs_mount_bucket(aa_in_bucket_name, aa_in_path, ro=True) - # gcp.gcs_mount_bucket(imagery_in_bucket_name, imagery_in_path, ro=True) - # gcp.gcs_mount_bucket(imagery_meta_bucket_name, imagery_meta_path, ro=True) + gcp.gcs_mount_bucket(logs_bucket_name, logs_path, ro=False) logging.basicConfig( filename=logs_path / log_file_name, @@ -61,15 +55,16 @@ logging.captureWarnings(True) # logger.info("Beginning scheduled processing for %s", file_info) logger.info("Beginning scheduled processing for %s", deployment_name) + print(f"Writing logs to {logs_path / log_file_name}") - logger.info("Generating glider paths") + logger.info("Generating glider paths---------------------") glider_paths = paths.get_path_glider( deployment_name = deployment_name, mode = mode, config_path = config_path, data_in_path = data_in_path, data_out_path = data_out_path, - cac_path = cac_path, + cache_path = cache_path, ) @@ -126,7 +121,7 @@ tseng, tssci, glider_paths, - prof_args=prof_args, + # prof_args=prof_args, ) # prof_summ = prof.calc_profile_summary(tsraw, "depth_measured") # prof_summ.to_csv(glider_paths["profsummpath"], index=False) @@ -249,13 +244,12 @@ #-------------------------------------------------------------------------- ### Generate profile netCDF files for the DAC - # glider.ngdac_profiles( - core.ngdac_profiles( - outname_dict["outname_tssci"], - glider_paths['profdir'], - glider_paths['deploymentyaml'], - force=True, - ) + # utils.create_ngdac_profiles( + # inname=outname_dict["outname_tssci"], + # outdir=glider_paths["ngdacdir"], + # deploymentyaml=glider_paths["deploymentyaml"], + # force=True, + # ) #-------------------------------------------------------------------------- logger.info("Completed scheduled processing") diff --git a/deployment-scripts/2026/risso-20260128-delayed.py b/deployment-scripts/2026/risso-20260128-delayed.py index 5ff2e5b..b8c1ca3 100644 --- a/deployment-scripts/2026/risso-20260128-delayed.py +++ b/deployment-scripts/2026/risso-20260128-delayed.py @@ -6,7 +6,7 @@ from esdglider.slocum import pipeline -from esdglider import gcp, paths, plots, qartod +from esdglider import gcp, paths, plots, qartod, utils logger = logging.getLogger(__name__) @@ -17,35 +17,14 @@ sci_use_m_depth = True ### Consistent variables -# Define directories home = Path.home() -mnt_path = home / "gcs-mnt" -mnt_path = home / "mnt-gcs" -cac_path = home / "standard-glider-files" / "Cache" -config_path = home / "glider-lab" / "deployment-configs" - -# Bucket names and paths logs_bucket_name = "swfscesd-glider-logs" -data_in_bucket_name = "swfscesd-glider-deployments-data-in" -data_out_bucket_name = "swfscesd-glider-deployments-data-out" -# aa_bucket_name = "swfscesd-glider-active-acoustics-data-in" -# imagery_in_bucket_name = "swfscesd-glider-imagery-data-in" -# imagery_meta_bucket_name = "swfscesd-glider-imagery-metadata" - -logs_path = mnt_path / logs_bucket_name -data_in_path = mnt_path / data_in_bucket_name -data_out_path = mnt_path / data_out_bucket_name - -# Misc -file_info = f"https://github.com/SWFSC/glider-lab: {Path(__file__).name}" -log_file_name = f"{deployment_name}-{mode}.log" +logs_path = home / "mnt-gcs" / logs_bucket_name +file_info, log_file_name = paths.get_file_info(Path(__file__)) #------------------------------------------------------------------------------ if __name__ == "__main__": - gcp.gcs_mount_bucket(logs_bucket_name, logs_path, ro=False) - gcp.gcs_mount_bucket(data_in_bucket_name, data_in_path, ro=True) - gcp.gcs_mount_bucket(data_out_bucket_name, data_out_path, ro=False) - + gcp.gcs_mount_bucket(logs_bucket_name, logs_path, ro=False) logging.basicConfig( filename=logs_path / log_file_name, filemode="w", @@ -62,11 +41,11 @@ glider_paths = paths.get_path_glider( deployment_name = deployment_name, mode = mode, - config_path = config_path, - data_in_path = data_in_path, - data_out_path = data_out_path, - cac_path = cac_path, + home_path = home, ) + gcp.gcs_mount_bucket(paths.data_in_bucket_name, glider_paths["data_in_path"], ro=True) + gcp.gcs_mount_bucket(paths.data_out_bucket_name, glider_paths["data_out_path"], ro=False) + #-------------------------------------------------------------------------- # ### Timeseries and gridded netCDF generation @@ -121,16 +100,15 @@ # outname_dict = outname_dict_ts | outname_dict_gr - #-------------------------------------------------------------------------- - # ### Ancillary data products - - - # ## Plots + ### Plots + # logger.info("Generating plots---------------------") + # etopo_path = home / "ETOPO_2022_v1_15s_N45W135_erddap.nc" # plots.esd_all_plots( # outname_dict, # crs="Mercator", # base_path=glider_paths["plotdir"], + # bar_file=str(etopo_path), # ) ### Generate profile netCDF files for the DAC diff --git a/deployment-scripts/2026/stenella-20260128-delayed.py b/deployment-scripts/2026/stenella-20260128-delayed.py index 06aea8d..df9bd32 100644 --- a/deployment-scripts/2026/stenella-20260128-delayed.py +++ b/deployment-scripts/2026/stenella-20260128-delayed.py @@ -6,7 +6,7 @@ import xarray as xr from esdglider.slocum import pipeline -from esdglider import gcp, paths, plots, qartod +from esdglider import gcp, paths, plots, qartod, utils logger = logging.getLogger(__name__) @@ -24,32 +24,14 @@ ### Consistent variables -# Define directories home = Path.home() -mnt_path = home / "gcs-mnt" -mnt_path = home / "mnt-gcs" -cac_path = home / "standard-glider-files" / "Cache" -config_path = home / "glider-lab" / "deployment-configs" - -# Bucket names and paths logs_bucket_name = "swfscesd-glider-logs" -data_in_bucket_name = "swfscesd-glider-deployments-data-in" -data_out_bucket_name = "swfscesd-glider-deployments-data-out" - -logs_path = mnt_path / logs_bucket_name -data_in_path = mnt_path / data_in_bucket_name -data_out_path = mnt_path / data_out_bucket_name - -# Misc -file_info = f"https://github.com/SWFSC/glider-lab: {Path(__file__).name}" -log_file_name = f"{Path(__file__).stem}.log" +logs_path = home / "mnt-gcs" / logs_bucket_name +file_info, log_file_name = paths.get_file_info(Path(__file__)) #------------------------------------------------------------------------------ if __name__ == "__main__": gcp.gcs_mount_bucket(logs_bucket_name, logs_path, ro=False) - gcp.gcs_mount_bucket(data_in_bucket_name, data_in_path, ro=True) - gcp.gcs_mount_bucket(data_out_bucket_name, data_out_path, ro=False) - logging.basicConfig( filename=logs_path / log_file_name, filemode="w", @@ -66,11 +48,11 @@ glider_paths = paths.get_path_glider( deployment_name = deployment_name, mode = mode, - config_path = config_path, - data_in_path = data_in_path, - data_out_path = data_out_path, - cac_path = cac_path, + home_path = home, ) + gcp.gcs_mount_bucket(paths.data_in_bucket_name, glider_paths["data_in_path"], ro=True) + gcp.gcs_mount_bucket(paths.data_out_bucket_name, glider_paths["data_out_path"], ro=False) + #-------------------------------------------------------------------------- # ### Timeseries and gridded netCDF generation @@ -155,13 +137,13 @@ ) #-------------------------------------------------------------------------- - # ### Generate profile netCDF files for the DAC - # core.ngdac_profiles( - # outname_dict["outname_tssci"], - # glider_paths['profdir'], - # glider_paths['deploymentyaml'], - # force=True, - # ) + ### Generate profile netCDF files for the DAC + utils.create_ngdac_profiles( + inname=outname_dict["outname_tssci"], + outdir=glider_paths["ngdacdir"], + deploymentyaml=glider_paths["deploymentyaml"], + force=True, + ) #-------------------------------------------------------------------------- logger.info("Completed scheduled processing") diff --git a/deployment-scripts/2026/unit_1024-20260309-delayed.py b/deployment-scripts/2026/unit_1024-20260309-delayed.py index a395ee1..f99a649 100644 --- a/deployment-scripts/2026/unit_1024-20260309-delayed.py +++ b/deployment-scripts/2026/unit_1024-20260309-delayed.py @@ -2,9 +2,10 @@ from pathlib import Path import xarray as xr -from esdglider import gcp, imagery, paths, plots, utils from esdglider.slocum import pipeline +from esdglider import gcp, imagery, paths, plots, qartod, utils + logger = logging.getLogger(__name__) ### Variables for user to update @@ -13,35 +14,15 @@ write_nc = True ### Consistent variables -# Define directories home = Path.home() -mnt_path = home / "mnt-gcs" -cac_path = home / "standard-glider-files" / "Cache" -config_path = home / "glider-lab" / "deployment-configs" - -# Bucket names and paths logs_bucket_name = "swfscesd-glider-logs" -data_in_bucket_name = "swfscesd-glider-deployments-data-in" -data_out_bucket_name = "swfscesd-glider-deployments-data-out" -imagery_meta_bucket_name = "swfscesd-glider-imagery-metadata" - -logs_path = mnt_path / logs_bucket_name -data_in_path = mnt_path / data_in_bucket_name -data_out_path = mnt_path / data_out_bucket_name -imagery_meta_path = mnt_path / imagery_meta_bucket_name - -# Misc -file_info = f"https://github.com/SWFSC/glider-lab: {Path(__file__).stem}" -log_file_name = f"{Path(__file__).stem}.log" +logs_path = home / "mnt-gcs" / logs_bucket_name +file_info, log_file_name = paths.get_file_info(Path(__file__)) +#------------------------------------------------------------------------------ if __name__ == "__main__": - # Mount the buckets gcp.gcs_mount_bucket(logs_bucket_name, logs_path, ro=False) - gcp.gcs_mount_bucket(data_in_bucket_name, data_in_path, ro=True) - gcp.gcs_mount_bucket(data_out_bucket_name, data_out_path, ro=False) - gcp.gcs_mount_bucket(imagery_meta_bucket_name, imagery_meta_path, ro=True) - logging.basicConfig( filename=logs_path / log_file_name, filemode="w", @@ -51,16 +32,18 @@ ) logging.captureWarnings(True) logger.info("Beginning scheduled processing for %s", file_info) + print(f"Writing logs to {logs_path / log_file_name}") + # Generate glider paths logger.info("Generating glider paths") glider_paths = paths.get_path_glider( deployment_name = deployment_name, mode = mode, - config_path = config_path, - data_in_path = data_in_path, - data_out_path = data_out_path, - cac_path = cac_path, + home_path = home, ) + gcp.gcs_mount_bucket(paths.data_in_bucket_name, glider_paths["data_in_path"], ro=True) + gcp.gcs_mount_bucket(paths.data_out_bucket_name, glider_paths["data_out_path"], ro=False) + #-------------------------------------------------------------------------- ### Timeseries and gridded netCDF generation @@ -80,7 +63,15 @@ if write_nc: logger.info("Correcting data---------------------") pipeline.correct_cdom_raw_sci(glider_paths=glider_paths) - + + # Create qc variables for science netCDF files, after corrections + if write_nc: + logger.info("Generating qc flags---------------------") + qartod.run_qartod_qc( + input_file=outname_dict_ts["outname_tssci"], + output_file=outname_dict_ts["outname_tssci"], + overwrite_qc=True + ) logger.info("Generating gridded netCDF files---------------------") outname_dict_gr = pipeline.generate_gridded( @@ -94,13 +85,9 @@ ### Ancillary data products tssci = xr.load_dataset(outname_dict["outname_tssci"]) - # Imagery - img_paths = paths.get_path_imagery( - deployment_name = deployment_name, - imagery_in_path = "", - imagery_meta_path = imagery_meta_path, - data_out_path = data_out_path, - ) + logger.info("Imagery---------------------") + img_paths = paths.get_path_imagery(deployment_name, home_path=home) + gcp.gcs_mount_bucket(paths.imagery_meta_bucket_name, img_paths["imagery_meta_path"], ro=True) imagery.imagery_timeseries(tssci, img_paths) #-------------------------------------------------------------------------- @@ -115,13 +102,13 @@ ) #-------------------------------------------------------------------------- - # ### Generate profile netCDF files for the DAC - # glider.ngdac_profiles( - # outname_dict["outname_tssci"], - # glider_paths['profdir'], - # glider_paths['deploymentyaml'], - # force=True, - # ) + ### Generate profile netCDF files for the DAC + utils.create_ngdac_profiles( + inname=outname_dict["outname_tssci"], + outdir=glider_paths["ngdacdir"], + deploymentyaml=glider_paths["deploymentyaml"], + force=True, + ) #-------------------------------------------------------------------------- logger.info("Completed scheduled processing") diff --git a/deployment-scripts/2026/unit_1024-20260316-delayed.py b/deployment-scripts/2026/unit_1024-20260316-delayed.py index 70d7a39..3e8ca22 100644 --- a/deployment-scripts/2026/unit_1024-20260316-delayed.py +++ b/deployment-scripts/2026/unit_1024-20260316-delayed.py @@ -2,9 +2,10 @@ from pathlib import Path import xarray as xr -from esdglider import gcp, imagery, paths, plots, utils from esdglider.slocum import pipeline +from esdglider import gcp, imagery, paths, plots, qartod, utils + logger = logging.getLogger(__name__) ### Variables for user to update @@ -13,35 +14,15 @@ write_nc = True ### Consistent variables -# Define directories home = Path.home() -mnt_path = home / "mnt-gcs" -cac_path = home / "standard-glider-files" / "Cache" -config_path = home / "glider-lab" / "deployment-configs" - -# Bucket names and paths logs_bucket_name = "swfscesd-glider-logs" -data_in_bucket_name = "swfscesd-glider-deployments-data-in" -data_out_bucket_name = "swfscesd-glider-deployments-data-out" -imagery_meta_bucket_name = "swfscesd-glider-imagery-metadata" - -logs_path = mnt_path / logs_bucket_name -data_in_path = mnt_path / data_in_bucket_name -data_out_path = mnt_path / data_out_bucket_name -imagery_meta_path = mnt_path / imagery_meta_bucket_name - -# Misc -file_info = f"https://github.com/SWFSC/glider-lab: {Path(__file__).stem}" -log_file_name = f"{Path(__file__).stem}.log" +logs_path = home / "mnt-gcs" / logs_bucket_name +file_info, log_file_name = paths.get_file_info(Path(__file__)) +#------------------------------------------------------------------------------ if __name__ == "__main__": - # Mount the buckets gcp.gcs_mount_bucket(logs_bucket_name, logs_path, ro=False) - gcp.gcs_mount_bucket(data_in_bucket_name, data_in_path, ro=True) - gcp.gcs_mount_bucket(data_out_bucket_name, data_out_path, ro=False) - gcp.gcs_mount_bucket(imagery_meta_bucket_name, imagery_meta_path, ro=True) - logging.basicConfig( filename=logs_path / log_file_name, filemode="w", @@ -51,16 +32,18 @@ ) logging.captureWarnings(True) logger.info("Beginning scheduled processing for %s", file_info) + print(f"Writing logs to {logs_path / log_file_name}") + # Generate glider paths logger.info("Generating glider paths") glider_paths = paths.get_path_glider( deployment_name = deployment_name, mode = mode, - config_path = config_path, - data_in_path = data_in_path, - data_out_path = data_out_path, - cac_path = cac_path, + home_path = home, ) + gcp.gcs_mount_bucket(paths.data_in_bucket_name, glider_paths["data_in_path"], ro=True) + gcp.gcs_mount_bucket(paths.data_out_bucket_name, glider_paths["data_out_path"], ro=False) + #-------------------------------------------------------------------------- ### Timeseries and gridded netCDF generation @@ -81,6 +64,14 @@ logger.info("Correcting data---------------------") pipeline.correct_cdom_raw_sci(glider_paths=glider_paths) + # Create qc variables for science netCDF files, after corrections + if write_nc: + logger.info("Generating qc flags---------------------") + qartod.run_qartod_qc( + input_file=outname_dict_ts["outname_tssci"], + output_file=outname_dict_ts["outname_tssci"], + overwrite_qc=True + ) logger.info("Generating gridded netCDF files---------------------") outname_dict_gr = pipeline.generate_gridded( @@ -94,13 +85,9 @@ ### Ancillary data products tssci = xr.load_dataset(outname_dict["outname_tssci"]) - # Imagery - img_paths = paths.get_path_imagery( - deployment_name = deployment_name, - imagery_in_path = "", - imagery_meta_path = imagery_meta_path, - data_out_path = data_out_path, - ) + logger.info("Imagery---------------------") + img_paths = paths.get_path_imagery(deployment_name, home_path=home) + gcp.gcs_mount_bucket(paths.imagery_meta_bucket_name, img_paths["imagery_meta_path"], ro=True) imagery.imagery_timeseries(tssci, img_paths) #-------------------------------------------------------------------------- @@ -115,13 +102,13 @@ ) #-------------------------------------------------------------------------- - # ### Generate profile netCDF files for the DAC - # glider.ngdac_profiles( - # outname_dict["outname_tssci"], - # glider_paths['profdir'], - # glider_paths['deploymentyaml'], - # force=True, - # ) + ### Generate profile netCDF files for the DAC + utils.create_ngdac_profiles( + inname=outname_dict["outname_tssci"], + outdir=glider_paths["ngdacdir"], + deploymentyaml=glider_paths["deploymentyaml"], + force=True, + ) #-------------------------------------------------------------------------- logger.info("Completed scheduled processing") \ No newline at end of file diff --git a/deployment-scripts/glider-YYYYmmdd-template.py b/deployment-scripts/glider-YYYYmmdd-template.py index 533c829..664f6be 100644 --- a/deployment-scripts/glider-YYYYmmdd-template.py +++ b/deployment-scripts/glider-YYYYmmdd-template.py @@ -1,12 +1,11 @@ import logging +from pathlib import Path +# import esdglider.profiles as prof # import numpy as np # import xarray as xr -from pathlib import Path - -from esdglider.slocum import pipeline +from esdglider.slocum import pipeline, rt -# import esdglider.profiles as prof from esdglider import aa, gcp, imagery, paths, plots, qartod, utils logger = logging.getLogger(__name__) @@ -19,41 +18,16 @@ prof_args = {} # Named optional parameters for finding profiles ### Consistent variables -# Define directories home = Path.home() mnt_path = home / "mnt-gcs" -cac_path = home / "standard-glider-files" / "Cache" -config_path = home / "glider-lab" / "deployment-configs" - -# Bucket names and paths logs_bucket_name = "swfscesd-glider-logs" -data_in_bucket_name = "swfscesd-glider-deployments-data-in" -data_out_bucket_name = "swfscesd-glider-deployments-data-out" -# aa_in_bucket_name = "swfscesd-glider-active-acoustics-data-in" -# imagery_in_bucket_name = "swfscesd-glider-imagery-data-in" -# imagery_meta_bucket_name = "swfscesd-glider-imagery-metadata" - logs_path = mnt_path / logs_bucket_name -data_in_path = mnt_path / data_in_bucket_name -data_out_path = mnt_path / data_out_bucket_name -# aa_in_path = mnt_path / aa_in_bucket_name -# imagery_in_path = mnt_path / imagery_in_bucket_name -# imagery_meta_path = mnt_path / imagery_meta_bucket_name - -# Misc -file_info = f"https://github.com/SWFSC/glider-lab: {Path(__file__).name}" -log_file_name = f"{Path(__file__).stem}.log" +file_info, log_file_name = paths.get_file_info(Path(__file__)) #------------------------------------------------------------------------------ if __name__ == "__main__": gcp.gcs_mount_bucket(logs_bucket_name, logs_path, ro=False) - gcp.gcs_mount_bucket(data_in_bucket_name, data_in_path, ro=True) - gcp.gcs_mount_bucket(data_out_bucket_name, data_out_path, ro=False) - # gcp.gcs_mount_bucket(aa_in_bucket_name, aa_in_path, ro=True) - # gcp.gcs_mount_bucket(imagery_in_bucket_name, imagery_in_path, ro=True) - # gcp.gcs_mount_bucket(imagery_meta_bucket_name, imagery_meta_path, ro=True) - logging.basicConfig( filename=logs_path / log_file_name, filemode="w", @@ -65,16 +39,25 @@ logger.info("Beginning scheduled processing for %s", file_info) print(f"Writing logs to {logs_path / log_file_name}") - logger.info("Generating glider paths") + logger.info("Generating glider paths---------------------") glider_paths = paths.get_path_glider( deployment_name = deployment_name, mode = mode, - config_path = config_path, - data_in_path = data_in_path, - data_out_path = data_out_path, - cac_path = cac_path, + home_path = home, ) + gcp.gcs_mount_bucket(paths.data_in_bucket_name, glider_paths["data_in_path"], ro=True) + gcp.gcs_mount_bucket(paths.data_out_bucket_name, glider_paths["data_out_path"], ro=False) + #-------------------------------------------------------------------------- + # logger.info("Rsyncing nrt files from SFMC to GCP---------------------") + # rt.scrape_sfmc( + # deployment_name=deployment_name, + # bucket_name=paths.data_in_bucket_name, + # sfmc_path=str(home / "sfmc"), + # cache_path=glider_paths["cacdir"], + # gcpproject_id="ggn-nmfs-swfscesd-prod-1", + # secret_id="sfmc-swoodman" + # ) #-------------------------------------------------------------------------- ### Timeseries and gridded netCDF generation @@ -88,7 +71,7 @@ write_sci=write_nc, sci_use_m_depth=sci_use_m_depth, file_info=file_info, - #prof_args=prof_args, + prof_args=prof_args, ) # # Recalculate flbbcd values and correct cdom, if necessary @@ -139,21 +122,12 @@ # tssci = xr.load_dataset(outname_dict["outname_tssci"]) # logger.info("Active Acoustics---------------------") - # aa_paths = paths.get_path_aa( - # deployment_name, - # mode, - # aa_in_path=aa_in_path, - # data_out_path=data_out_path, - # ) + # aa_paths = paths.get_path_aa(deployment_name, mode, home_path=home) # aa.ancillary_echoview(tssci, aa_paths) # logger.info("Imagery---------------------") - # img_paths = paths.get_path_imagery( - # deployment_name = deployment_name, - # imagery_in_path = imagery_in_path, - # imagery_meta_path = imagery_meta_path, - # data_out_path = data_out_path, - # ) + # img_paths = paths.get_path_imagery(deployment_name, home_path=home) + # gcp.gcs_mount_bucket(paths.imagery_meta_bucket_name, img_paths["imagery_meta_path"], ro=True) # imagery.imagery_timeseries(tssci, img_paths) #-------------------------------------------------------------------------- @@ -180,13 +154,13 @@ # figsize_y=8.5, # ) - #-------------------------------------------------------------------------- + # -------------------------------------------------------------------------- # ### Generate profile netCDF files for the DAC - # core.ngdac_profiles( - # outname_dict["outname_tssci"], - # glider_paths['profdir'], - # glider_paths['deploymentyaml'], - # force=True, + # utils.create_ngdac_profiles( + # inname=outname_dict["outname_tssci"], + # outdir=glider_paths["ngdacdir"], + # deploymentyaml=glider_paths["deploymentyaml"], + # force=True, # ) #--------------------------------------------------------------------------