SkillAgentSearch skills...

Acoustics

My functions for acoustic modeling in MATLAB. These functions can read environmental hydrography from HYCOM, topography from GEBCO, and incorporate these variables directly into the acoustic models BELLHOP and KRAKEN to streamline the process of modeling propagations in a variety of realistic ocean environments.

Install / Use

/learn @MadelineSprague/Acoustics
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

acoustics

My functions for acoustic modeling in MATLAB. These functions can read environmental hydrography from HYCOM, topography from GEBCO, and incorporate these variables directly into the acoustic models BELLHOP and KRAKEN to streamline the process of modeling propagations in a variety of realistic ocean environments.

The main user functions are hycom_bh (HYCOM-BELLHOP) and hycom_kr (HYCOM-KRAKEN). These functions are intended to be used initially over lat/lon bounds at a given time, which determines the regional hydrography loaded from a HYCOM THREDDS server. From there, the functions will prompt the user for various aspects of the propagation scenario: source depth, frequency, directionality, bottom parameters, and so on. From there the model will run and plot the relevant outputs (either ray paths, transmission loss, or arrivals at simulated receivers), additionally outputting a MATLAB struct of propagation parameters that can be edited and re-run for easy reproducibility.

necessary installations

These functions make use of several MATLAB packages:

  • The acoustic toolbox, which contains BELLHOP, KRAKEN, and various other acoustic propagation models. The toolbox can be downloaded from http://oalib.hlsresearch.com/AcousticsToolbox/
  • The Gibbs SeaWater (GSW) oceanographic toolbox, used for calculation of various seawater variables, which can be obtained from https://www.teos-10.org/pubs/gsw/html/gsw_contents.html
  • cmocean, a package of beautiful and accessible colormaps for oceanography: https://matplotlib.org/cmocean/
  • m_map, a MATLAB mapping package from which I pull a couple of functions: https://www.eoas.ubc.ca/~rich/map.html#download

Additionally there are three data files used within these functions:

  • The General Bathymetric Chart of the Oceans (GEBCO) grid from which I access topography in the functions gebco_bathy and gebco_bathy_3d. I've verified that these functions will work with the 2023 GEBCO sub-ice topo/bathy grid which can be downloaded from https://www.gebco.net/data_and_products/gridded_bathymetry_data/.
  • hycom_sec and hycom_sec_3d, the functions that load hydrography for hycom_kr and hycom_bh, have the option to interpolate hydrography from self-constructed climatology files if the user inputs the time as 'summer' or 'winter'. These files were generally constructed for my own purposes to model idealized seasonal conditions, and they are generated by the script HYCOM_climatology.m. They may be useful for comparison between seasons and for bypassing the often sluggish step of pulling hydrography data from the HYCOM THREDDS server for a given date. If you wish to use them, download the two files HYCOM_summer.mat and HYCOM_winter.mat from https://drive.google.com/drive/folders/1KRive9wzkvciGOFBvmyYt7vjjYkDRW54?usp=sharing. (This is my own Google Drive; if there is a way I can upload files this large to my Github repository without paying for a subscription, please tell me, because I am not experienced with Github!)
View on GitHub
GitHub Stars8
CategoryDevelopment
Updated4mo ago
Forks1

Languages

MATLAB

Security Score

67/100

Audited on Nov 16, 2025

No findings