A-New-BellHope / bellhopcuda

CUDA and C++ port of BELLHOP / BELLHOP3D underwater acoustics simulator
GNU General Public License v3.0
60 stars 7 forks source link

arrival run can generate not only *.arr but also *.ray (for associated eigenrays) #35

Closed sblockhartzzero closed 1 month ago

sblockhartzzero commented 2 months ago

I would like to request the following enhancement: an arrival run can generate not only the .arr file but also the .ray file (for the associated eigenrays).

For some context, I'll describe how this enhancement would be useful for us.

We have integrated a model of the surface bubble layer (SBL) into our propagation modeling. The SBL has two effects upon the propagation: 1) it modifies the sound speed profile in the surface bubble layer, causing upward refraction; 2) it causes depth-dependent attenuation in the surface bubble layer.

In our MATLAB code, we can easily apply the SBL-related modification to the SSP BEFORE calling bellhop. On the other hand, we must apply the depth-dependent attenuation in a post-processing step i.e. AFTER calling bellhop. We do this by integrating the SBL-related attenuation over the path of the ray (using the information in the .ray file). Since we are interested in arrivals, this means that we have to do BOTH an arrival run AND an eigenray run. If we could get the .arr and the .ray (for the eigenrays) in a single bellhop run, that would cut our bellhop runs in half. (In our simulations, we loop over many variables, calling bellhop thousands of times. So, this enhancement would save us some time on simulations.)