| Module | Source File | Description |
|---|---|---|
| anglemod | angleMod.f90 | Provides angle calculations and coordinate transformations |
| ArrMod | ArrMod.f90 | Management of acoustic arrival data including storage, sorting, and output formatting |
| AttenMod | AttenMod.f90 | Acoustic attenuation calculations including volume attenuation formulas and unit conversions |
| bdry3Dmod | bdry3DMod.f90 | 3D boundary handling for complex altimetry and bathymetry with spatial interpolation |
| bdrymod | bdryMod.f90 | Boundary handling for altimetry (top) and bathymetry (bottom) with interpolation capabilities |
| beampattern | beampattern.f90 | Source beam pattern handling including loading, interpolation, and angular weighting |
| bellhopMod | bellhopMod.f90 | Main BELLHOP module containing global variables, data structures, and types for acoustic ray tracing |
| Cone | Cone.f90 | Provides cone formulas for 3D beam computations |
| cross_products | cross_products.f90 | Provides a 3D cross product function for both single and double reals |
| FatalError | FatalError.f90 | Provides |
| Influence | influence.f90 | Computes beam contributions to complex pressure fields using various beam weighting approaches |
| Influence3D | influence3D.f90 | 3D beam influence calculations with complex pressure field contributions and spatial weighting |
| MathConstants | MathConstants.f90 | Provides maths constants such as |
| monotonicMod | monotonicMod.f90 | Provides interface to test whether an input vector is strictly monotonically increasing |
| pchipmod | pchipMod.f90 | Subroutines and functions related to the calculation of the Piecewise Cubic Hermite Interpolating Polynomial (PCHIP) |
| PolyMod | PolyMod.f90 | Polynomial approximation and evaluation routines for numerical analysis |
| RayNormals | RayNormals.f90 | Provides ray normal vector calculations |
| ReadEnvironmentBell | ReadEnvironmentBell.f90 | Provides environment file reading and initialization |
| RefCoef | RefCoef.f90 | Provides reflection coefficient data |
| Reflect3DMod | Reflect3DMod.f90 | 3D ray reflection computations at boundaries with complex geometry and loss calculations |
| ReflectMod | ReflectMod.f90 | Ray reflection computations at acoustic boundaries with loss and phase calculations |
| RWSHDFile | RWSHDFile.f90 | Shade file I/O operations including binary format handling for acoustic field data |
| SortMod | SortMod.f90 | Provides an interface for performing an insertion sort on a vector |
| SourceReceiverPositions | SourceReceiverPositions.f90 | Reads in source depths, receiver depths, receiver ranges, and receiver bearings |
| splinec | splinec.f90 | Cubic spline interpolation functions and procedures |
| sspmod | sspMod.f90 | Sound speed profile handling with interpolation, derivatives, and environment management |
| Step | Step.f90 | Ray propagation with adaptive step size control and boundary interaction handling |
| Step3DMod | Step3DMod.f90 | 3D ray propagation with adaptive step control and complex boundary interactions |
| SubTabulate | subtabulate.f90 | Provides "subtabulation" functions (single and double) for creating interpolated ranges |
| WriteRay | WriteRay.f90 | Ray data compression, formatting, and output to ray files with selective point retention |