Uncalibrated Data

We will need to capture information regarding if the data has been calibrated or not. Chuck has compiled a list of files that are calibrated with or without the associated calibration files. Files that aren't mentioned should be treated as 'uncalibrated' and that string can be found in the echodata sonar beam group.

Spreadsheet: https://docs.google.com/spreadsheets/d/1GpR1pu0ERfWlxDsQSDP9eOm94hRD_asy/edit#gid=1728447211

import boto3, os
import echopype as ep
from botocore.client import Config, UNSIGNED
s3 = boto3.client('s3', config=Config(signature_version=UNSIGNED))
print(f"echopype version: {ep.__version__}") # echopype version: 0.7.0
input_bucket = "noaa-wcsd-pds"
input_key = "data/raw/Albatross_Iv/AL0502/EK60/L0001-D20050201-T131836-EK60.raw"
row_split = input_key.split(os.sep)
ship, cruise, sensor, filename = row_split[-4:]
s3.download_file(Bucket=input_bucket, Key=input_key, Filename=filename)
echodata = ep.open_raw(filename, sonar_model='EK60')
print(echodata)
ds_Sv = ep.calibrate.compute_Sv(echodata)
print(ds_Sv)

For PC1504:

>>> import boto3, os >>> import echopype as ep >>> from botocore.client import Config, UNSIGNED >>> s3 = boto3.client('s3', config=Config(signature_version=UNSIGNED)) >>> print(f"echopype version: {ep.__version__}") # echopype version: 0.7.0 echopype version: 0.7.0 >>> input_bucket = "noaa-wcsd-pds" >>> input_key = "data/raw/Pisces/PC1504/EK60/PC1504_EK60_GOM-D20150824-T210724.raw" >>> row_split = input_key.split(os.sep) >>> ship, cruise, sensor, filename = row_split[-4:] >>> s3.download_file(Bucket=input_bucket, Key=input_key, Filename=filename) >>> echodata = ep.open_raw(filename, sonar_model='EK60') >>> print(echodata) <EchoData: standardized raw data from Internal Memory> Top-level: contains metadata about the SONAR-netCDF4 file format. ├── Environment: contains information relevant to acoustic propagation through water. ├── Platform: contains information about the platform on which the sonar is installed. │ └── NMEA: contains information specific to the NMEA protocol. ├── Provenance: contains metadata about how the SONAR-netCDF4 version of the data were obtained. ├── Sonar: contains sonar system metadata and sonar beam groups. │ └── Beam_group1: contains backscatter power (uncalibrated) and other beam or channel-specific data, including split-beam angle data when they exist. └── Vendor_specific: contains vendor-specific information about the sonar and the data.

and for AL0502:

>>> import boto3, os >>> import echopype as ep >>> from botocore.client import Config, UNSIGNED >>> s3 = boto3.client('s3', config=Config(signature_version=UNSIGNED)) >>> print(f"echopype version: {ep.__version__}") # echopype version: 0.7.0 echopype version: 0.7.0 >>> input_bucket = "noaa-wcsd-pds" >>> input_key = "data/raw/Albatross_Iv/AL0502/EK60/L0001-D20050201-T131836-EK60.raw" >>> row_split = input_key.split(os.sep) >>> ship, cruise, sensor, filename = row_split[-4:] >>> s3.download_file(Bucket=input_bucket, Key=input_key, Filename=filename) >>> echodata = ep.open_raw(filename, sonar_model='EK60') >>> print(echodata) <EchoData: standardized raw data from Internal Memory> Top-level: contains metadata about the SONAR-netCDF4 file format. ├── Environment: contains information relevant to acoustic propagation through water. ├── Platform: contains information about the platform on which the sonar is installed. │ └── NMEA: contains information specific to the NMEA protocol. ├── Provenance: contains metadata about how the SONAR-netCDF4 version of the data were obtained. ├── Sonar: contains sonar system metadata and sonar beam groups. │ └── Beam_group1: contains backscatter power (uncalibrated) and other beam or channel-specific data, including split-beam angle data when they exist. └── Vendor_specific: contains vendor-specific information about the sonar and the data.

Notes on calibration of EK60 data:

See also:

References

Last updated

Was this helpful?