<p>Is far as I can see, all models from the <a href="https://oalib-acoustics.org/models-and-software/acoustics-toolbox/" rel="nofollow noreferrer">Acoustic Toolbox</a> can be easily called from Matlab and Python.</p>
<p>My own preference is Bellhop, but have not used the latest version.</p>
<p>My experience with RAM is that wrong step/grid-size selection (related to frequency) can easily blow up computing time.</p>
<p>I would suggest to only use normal-mode or parabolic-equation based models for low frequencies (&lt; 1kHz) and Bellhop otherwise.</p>

CC BY-SA 4.0
2022-06-30T17:32:16.950Z
2022-07-04T18:41:52.570Z
2022-07-04T18:41:52.570Z
WMXZ
<p>The acoustic models used most often for range dependent environments are the parabolic equation and eigen-rays. The most used implementations of these are RAM and Bellhop, which can be found on the <a href="https://oalib-acoustics.org/" rel="nofollow noreferrer">oalib</a> webpage. Both are Fortran programs, although the input/output uses text files that can be parsed in any programming language.</p>
<p>The choice between PE and eigen-rays depends on a few considerations, but the simplest distinction is eigen-rays are best at high frequencies. I could be wrong, but bottom interaction results from eigen-rays make me nervous. The Bellhop readme has a discussion of some of the considerations when choosing a model.</p>
<p>Lastly, acoustic modelling will always require environmental simplifications, and this is also a major consideration when interpreting the results of the model. It is rare in my experience to see a full 3D acoustic model presented in a conference, because the modelling is difficult and the results are hard to interpret. When starting out, it is often best to focus on one aspect of the experimental environment and see how it effects the result in simple 2D propagation scenarios.</p>

CC BY-SA 4.0
2022-06-30T17:19:01.980Z
Bellhop is really a (gaussian beam) raytracing program.
WMXZ
CC BY-SA 4.0
2022-07-02T00:43:07.357Z
I am not sure that I see the distinction
nedlrichards
CC BY-SA 4.0
2022-07-04T18:47:04.010Z
when you run Bellhop it propagates the sound (beam) and does not need to know Eigen-rays. Sure you can obtain Eigen-rays by iteratively solve for all rays from source to receiver. IFAIK, Schooter of the aolib is a Eigen-ray program
WMXZ
CC BY-SA 4.0
2022-06-30T16:00:53.487Z
2022-06-30T16:00:53.487Z
nedlrichards
<p>I've been wanting to model the acoustic propogation in my study area (a 40 km2 bay) with python/fortran or matlab.
The goal is to see how bathymetry, temperature/density of water, and bottom composition (coral/sand...) affect the propagation.</p>
<p>I've been digging in articles and online but I can't find a tool that works.
Recently I've been trying Kraken with the fortran/matlab acoustic toolbox but to no avail.</p>
<p>Do you know of any easy to use codes/programs that could do the job ?</p>
<p>Thanks</p>

CC BY-SA 4.0
2022-06-29T21:23:32.897Z
Could you specify the study area so the answer can be targeted. Also maybe this question+answer( https://bioacoustics.stackexchange.com/q/67/131) of relevance ?
Thejasvi
CC BY-SA 4.0
2022-06-30T15:18:50.993Z
What do you mean by 'to no avail'. Does the code not work, is it only too slow, or too complicated to use?
WMXZ
<acoustic><propagation><modeling>
Modeling acoustic propagation for underwater environment
# Modeling acoustic propagation for underwater environment

(Asked by: username_0 on 2022-06-29)

I've been wanting to model the acoustic propogation in my study area (a 40 km2 bay) with python/fortran or matlab.
The goal is to see how bathymetry, temperature/density of water, and bottom composition (coral/sand...) affect the propagation.

I've been digging in articles and online but I can't find a tool that works.
Recently I've been trying Kraken with the fortran/matlab acoustic toolbox but to no avail.

Do you know of any easy to use codes/programs that could do the job ?

Thanks

**Tags:** acoustic, propagation, modeling

> **Comments:**
> **username_1**: Could you specify the study area so the answer can be targeted. Also maybe this question+answer( https://bioacoustics.stackexchange.com/q/67/131) of relevance ?  
> **username_2**: What do you mean by 'to no avail'. Does the code not work, is it only too slow, or too complicated to use?  

---

## 2 answers

### Answer by username_2 on 2022-06-30. Score: 5

Is far as I can see, all models from the [Acoustic Toolbox](https://oalib-acoustics.org/models-and-software/acoustics-toolbox/) can be easily called from Matlab and Python.

My own preference is Bellhop, but have not used the latest version.

My experience with RAM is that wrong step/grid-size selection (related to frequency) can easily blow up computing time.

I would suggest to only use normal-mode or parabolic-equation based models for low frequencies (< 1kHz) and Bellhop otherwise.


---

### Answer by username_3 on 2022-06-30. Score: 4

The acoustic models used most often for range dependent environments are the parabolic equation and eigen-rays. The most used implementations of these are RAM and Bellhop, which can be found on the [oalib](https://oalib-acoustics.org/) webpage. Both are Fortran programs, although the input/output uses text files that can be parsed in any programming language.

The choice between PE and eigen-rays depends on a few considerations, but the simplest distinction is eigen-rays are best at high frequencies. I could be wrong, but bottom interaction results from eigen-rays make me nervous. The Bellhop readme has a discussion of some of the considerations when choosing a model.

Lastly, acoustic modelling will always require environmental simplifications, and this is also a major consideration when interpreting the results of the model. It is rare in my experience to see a full 3D acoustic model presented in a conference, because the modelling is difficult and the results are hard to interpret. When starting out, it is often best to focus on one aspect of the experimental environment and see how it effects the result in simple 2D propagation scenarios.

> **Comments:**
> **username_2**: Bellhop is really a (gaussian beam) raytracing program.  
> **username_3**: I am not sure that I see the distinction  
> **username_2**: when you run Bellhop it propagates the sound (beam) and does not need to know Eigen-rays. Sure you can obtain Eigen-rays by iteratively solve for all rays from source to receiver. IFAIK, Schooter of the aolib is a Eigen-ray program  

---

