Ocean Noise Explorer Documentation

ONE Logo

The Ocean Data Lab at the University of Washington has developed Ocean Noise Explorer (ONE), a web-based interactive ocean soundscape that will enable users to visualize and explore a wide variety of underwater noise metrics and other related data products. The raw data used in this project is collected by the Regional Cabled Array and the Coastal Endurance Array of the Ocean Observatories Initiative (OOI). The raw data is processed by OOIPY, a Python library developed by our team, to calculate different data products that are required for a comprehensive ocean soundscape analysis.

Features

The Ocean Noise Explorer interface consists of a geographical map of the Pacific Ocean off the coast of Oregon and displays the locations of the Hydrophones set up on the seafloors. There are 9 different hydrophone locations, each with different products:

  1. Axial Base

  2. Central Caldera

  3. Eastern Caldera

  4. Slope Base

  5. Oregon Offshore

  6. Oregon Shelf

  7. Southern Hydrate

  8. Axial Ashes

  9. Axial International

The different types of hydrophone data products available are:

  1. Low Frequency Hydrophones

  2. Broadband Hydrophones

  3. CTD Data

  4. OBS Data

  5. Meteorological Data

Data Visualization Options

1. Low Frequency Spectrogram

Low frequency spectrograms are pre-computed and saved locally. This method is best for looking at long time frames (like months or years). The spectrograms are calculated using a 1 hour Welch-median PSD estimate. The Welch estimate uses a Hann window, 1024 FFT points and 50 % overlap.

Users can select the time interval of their choice (till the minute level) and a corresponding interactive plot is charted out. This plot can be zoomed in or zoomed out, focussing on specific axes, timeframes etc. depending on the user requirements.

2. Short Term Spectrogram

Short Term Spectrograms are generated by pulling the specific time-series data from the OOI server and computing the spectrogram. This allows the user to specify the input parameters to the Welch PSD estimate, but is limited to smaller time frames (like days or hours).

Users can select the time interval of their choice (less than 24 hours), and some other paarmeters such as the averaging time (10-100 seconds is ideal), Overlap percentage (1-100) and N per segment param (1-1024 data points per segment). These parameter values have certain interdependencies that need to be adhered to as well, which can be seen on the screen. A corresponding interactive plot is charted out, at a much more granular level. This plot can be zoomed in or zoomed out, focussing on specific axes, timeframes etc. depending on the user requirements.

3. Broadband Spectrogram

Broadband spectrograms are computed by downloading the data from the OOI server and computing the spectrogram locally. The data is downloaded using the python package OOIPY. The input parameters for the Welch PSD estimate can be provided by the user. Because the broadband hydrophone data takes up a lot of memory (1.8 GB per hour), this method is only suitable for short durations of data (like minutes and seconds).

Users can select the time interval of their choice (5-10 minutes is ideal), type of broadband hydrophone by depth (Seafloor/Shallow) and some other parameters such as the averaging time (1 second - 1hour), Overlap percentage (1-100) and N per segment param (4096 data points per segment by default). These parameter values have certain interdependencies that need to be adhered to as well, which can be seen on the screen. A corresponding interactive plot is charted out, at a much more granular level. This plot can be zoomed in or zoomed out, focussing on specific axes, timeframes etc. depending on the user requirements.

4. SPDF

SPDFs are calculated from the long-term spectrograms by computing histograms for each frequency bin. Plotting the histogram values as a function of frequency and spectral level gives the desired SPDFs.

5. Octave Band

The boxes of the plot are generated by using the minimum, first quartile value(lower line), median, third quartile value(upper line), maximum. Outliers(values that are above the upper line and below the lower line are hidden).

6. OBS Charts

The OBS data is from the z-channel of the OBS. the spectrograms are pre-computed and saved locally. This allows for the longer term data to be visualized. The spectrograms are calculated using a 1 hour Welch-median PSD estimate. The Welch estimate uses a Hann window, 1024 FFT points and 50 % overlap. We can create Low Frequency Spectrograms, Octave Bands and SPDF from OBS Data.

7. Wind and Rain Graph

Wind Graph (at zero degree, wind direction is eastward): 1. If “Wind Magnitude” is selected, the wind speed is calculated throught the following formula:

wind magnitude = np.sqrt((eastward_wind_velocity)**2 + (northward_wind_velocity)**2)
  1. If “Wind Angle” is selected, the wind speed is calculated throught the following formula:

wind angle = np.arctan2(northward_wind_velocity, eastward_wind_velocity)

Rain Graph: for the precipitation rate, two major operations are performed: 1. Time frames where sampling period changes are removed 2. Siphoning events are removed

8. CTD Chart

Speed of sound with depth vs time

How to Setup Ocean Noise Explorer

Ocean Noise Explorer can be accessed via the source Github repository. The following steps can assist in properly setting up the application.

  1. Clone the repository to your local system:

git clone https://github.com/Ocean-Data-Lab/Ocean-Noise-Explorer.git
  1. Going into the cloned repository, create a virtual environment and activate it:

python3 -m venv venv
source ./venv/bin/activate
  1. Download the required dependencies:

pip install -r requirements.txt

4. Download required data in order to run this repository: firstly, create a folder called “require_data” inside the repository, and then go to https://drive.google.com/drive/folders/1NzQRFaB9cfzlMJgZGWvBUMI-WSHEasrR?usp=sharing, there are two folders (“CTD” and “WindRainGraph”) in the drive,go ahead and download these two folders and place them within the “require_data” folder inside this repository.

5. Finally, the precomputed OBS Spectrograms can be accessed from this drive link: https://drive.google.com/file/d/16HK4SfR3vjd5rLfZQlzXijR-ETnkKcam/view?usp=sharing. Please download and unzip this folder and add it to the root folder.

  1. Run the Project:

python3 app.py
  1. Open this URL in a web browser:

http://127.0.0.1:5000

Tech Stack

  1. Backend: Python Flask

  2. Frontend: React(the build file produced from the Frontend code in https://github.com/Ocean-Data-Lab/Website-Frontend)