Procedure | Location | Procedure Type | Description |
---|---|---|---|
AddArr | ArrMod | Subroutine | Adds an arrival to the arrival data structure |
AddArr3D | ArrMod | Subroutine | Adds the amplitude and delay for an ARRival into a matrix of same. |
Analytic | sspmod | Subroutine | $ IF ( x( 2 ) < 5000.0 ) THEN $ ELSE $ ! Homogeneous half-space $ xt = 2.0 * ( 5000.0 - 1300.0 ) / 1300.0 $ c = C0 * ( 1.0 + 0.00737 * ( xt - 1.0 + EXP( -xt ) ) ) $ cimag = 0.0 $ cz = 0.0 $ czz = 0.0 $ END IF |
Analytic3D | sspmod | Subroutine | $ IF ( x( 3 ) .LT. 5000.0 ) THEN $ ELSE ! HOMOGENEOUS HALF-SPACE $ W = 2.0 * ( 5000.0 - 1300.0 ) / 1300.0 $ c = c0*( 1.0 + 0.00737 * ( W - 1.0 + EXP( -W ) ) ) $ gradc( 2 ) = 0.0 $ gradc( 3 ) = 0.0 $ czz = 0.0 $ cyz = 0.0 $ END IF |
AnalyticCosh | sspmod | Subroutine | |
ApplyContribution | Influence3D | Subroutine | |
ApplyContribution | Influence | Subroutine | Applies beam contribution to pressure field |
BellhopCore | BELLHOP3D | Subroutine | Core subroutine to run Bellhop algorithm |
BellhopCore | BELLHOP | Subroutine | Core subroutine to run Bellhop algorithm |
BranchCut | Influence | Subroutine | Checks for a branch cut crossing and updates KMAH accordingly |
cCubic | sspmod | Subroutine | Cubic spline interpolation for sound speed |
cLinear | sspmod | Subroutine | c-linear interpolation of SSP data |
ComputeBdryTangentNormal | bdrymod | Subroutine | |
ComputeBdryTangentNormal | bdry3Dmod | Subroutine | $ write( , * ) 'ix=1', Bdry( 1, : )%kappa_xx $ write( , * ) 'ix=1', Bdry( 1, : )%kappa_xy $ write( , * ) 'ix=1', Bdry( 1, : )%kappa_yy $ write( , * ) 'iy=1', Bdry( :, 1 )%kappa_xx $ write( , * ) 'iy=1', Bdry( :, 1 )%kappa_xy $ write( , * ) 'iy=1', Bdry( :, 1 )%kappa_yy $ write( , * ) 'D' $ write( , * ) Bdry( :, : )%z_xx $ write( , * ) Bdry( :, : )%z_xy $ write( , * ) Bdry( :, : )%z_yy $ $ write( , * ) 'kappa' $ write( , * ) Bdry( :, : )%kappa_xx $ write( , * ) Bdry( :, : )%kappa_xy $ write( , * ) Bdry( :, : )%kappa_yy |
ComputeDeltaPQ | Step3DMod | Subroutine | |
ConeFormulas2D | Cone | Subroutine | analytic formula for the conical seamount |
ConeFormulas3D | Cone | Subroutine | analytic formula for the conical seamount |
cPCHIP | sspmod | Subroutine | PCHIP for interpolation of sound speed |
CRCI | AttenMod | Function | |
cross_product | cross_products | Interface | |
cross_product_dble | cross_products | Function | Computes 3D cross product of double precision vectors |
cross_product_sngl | cross_products | Function | Computes 3D cross product of single precision vectors |
CSPLINE | splinec | Subroutine | |
Distances2D | BELLHOP | Subroutine | Calculates the distances to the boundaries |
Distances3D | BELLHOP3D | Subroutine | Computes distances from ray to boundaries |
ERROUT | FatalError | Subroutine | Outputs error message and terminates program |
EvaluateSSP | sspmod | Subroutine | Evaluates sound speed profile at given location |
EvaluateSSP2D | sspmod | Subroutine | Converts cartesian gradients to polar |
EvaluateSSP3D | sspmod | Subroutine | |
FinalPhase | Influence | Subroutine | |
fprime_interior | pchipmod | Function | |
fprime_interior_Cmplx | pchipmod | Function | |
fprime_left_end | pchipmod | Function | |
fprime_left_end_Cmplx | pchipmod | Function | |
fprime_right_end | pchipmod | Function | |
fprime_right_end_Cmplx | pchipmod | Function | |
Franc_Garr | AttenMod | Function | |
GetBotSeg | bdrymod | Subroutine | |
GetBotSeg3D | bdry3Dmod | Subroutine | Gets the Bottom segment info |
GetTopSeg | bdrymod | Subroutine | |
GetTopSeg3D | bdry3Dmod | Subroutine | Gets the Top segment info |
h_del | pchipmod | Subroutine | |
Hermite | Influence | Function | |
Hexahedral | sspmod | Subroutine | Trilinear hexahedral interpolation of SSP data |
IncPhaseIfCaustic | Influence | Subroutine | phase shifts at caustics |
Influence3DGeoGaussianCart | Influence3D | Subroutine | Geometrically-spreading beams with a Gaussian-shaped beam |
Influence3DGeoGaussianRayCen | Influence3D | Subroutine | Geometrically-spreading beams with a hat-shaped beam in ray-centered coordinates |
Influence3DGeoHatCart | Influence3D | Subroutine | Geometrically-spreading beams with a hat-shaped beam |
Influence3DGeoHatRayCen | Influence3D | Subroutine | Geometrically-spreading beams with a hat-shaped beam in ray-centered coordinates |
InfluenceCervenyCart | Influence | Subroutine | Paraxial (Cerveny-style) beams in Cartesian coordinates |
InfluenceCervenyRayCen | Influence | Subroutine | Paraxial (Cerveny-style) beams in ray-centered coordinates |
InfluenceGeoGaussianCart | Influence | Subroutine | Geometric, Gaussian beams in Cartesian coordintes |
InfluenceGeoHatCart | Influence | Subroutine | Geometric, hat-shaped beams in Cartesisan coordinates |
InfluenceGeoHatRayCen | Influence | Subroutine | Geometrically-spreading beams with a hat-shaped beam in ray-centered coordinates |
InfluenceSGB | Influence | Subroutine | Bucker's Simple Gaussian Beams in Cartesian coordinates |
InterpolateIRC | RefCoef | Subroutine | |
InterpolateReflectionCoefficient | RefCoef | Subroutine | |
IsAtCaustic | Influence | Function | |
monotonic | monotonicMod | Interface | |
monotonic_dble | monotonicMod | Function | Tests if double precision vector is monotonically increasing |
monotonic_sngl | monotonicMod | Function | Tests if single precision vector is monotonically increasing |
n2Linear | sspmod | Subroutine | Linear interpolation for squared buoyancy frequency |
OceanToRayX | BELLHOP3D | Function | Transform ocean coordinates to ray coordinates |
OpenOutputFiles | ReadEnvironmentBell | Subroutine | Opens output files based on run type |
PCHIP | pchipmod | Subroutine | |
PickEpsilon | BELLHOP3D | Subroutine | |
PickEpsilon | BELLHOP | Function | Picks the optimum value for epsilon |
Poly | PolyMod | Interface | |
PolyC | PolyMod | Function | |
PolyR | PolyMod | Function | |
PolyZ | PolyMod | Function | |
Quad | sspmod | Subroutine | Quadrilateral interpolation for sound speed profiles |
RayNormal | RayNormals | Subroutine | |
RayNormal_unit | RayNormals | Subroutine | |
RayToOceanT | BELLHOP3D | Function | Transform ray tangent to ocean tangent coordinates |
RayToOceanX | BELLHOP3D | Function | Transform ray coordinates to ocean coordinates |
ReadATI | bdrymod | Subroutine | Reads in the top altimetry |
ReadATI3D | bdry3Dmod | Subroutine | |
ReadBTY | bdrymod | Subroutine | Reads in the bottom bathymetry |
ReadBTY3D | bdry3Dmod | Subroutine | Reads in the bottom bathymetry |
ReadEnvironment | ReadEnvironmentBell | Subroutine | Reads and parses the main environment file |
ReadfreqVec | SourceReceiverPositions | Subroutine | |
ReadHeader | RWSHDFile | Subroutine | |
ReadPat | beampattern | Subroutine | Reads a source beam pattern file ( |
ReadRayBearingAngles | anglemod | Subroutine | |
ReadRayElevationAngles | anglemod | Subroutine | |
ReadRcvrBearings | SourceReceiverPositions | Subroutine | |
ReadRcvrRanges | SourceReceiverPositions | Subroutine | |
ReadReflectionCoefficient | RefCoef | Subroutine | |
ReadRunType | ReadEnvironmentBell | Subroutine | Reads and validates the run type parameters |
ReadSSP | sspmod | Subroutine | Reads SSP data from the environmental file and convert to Nepers/m |
ReadSxSy | SourceReceiverPositions | Subroutine | |
ReadSzRz | SourceReceiverPositions | Subroutine | $ IF ( .NOT. monotonic( Pos%sz, Pos%NSz ) ) THEN $ CALL ERROUT( 'SzRzRMod', 'Source depths are not monotonically increasing' ) $ END IF $ $ IF ( .NOT. monotonic( Pos%rz, Pos%NRz ) ) THEN $ CALL ERROUT( 'SzRzRMod', 'Receiver depths are not monotonically increasing' ) $ END IF |
ReadTopOpt | ReadEnvironmentBell | Subroutine | |
ReadVector | SourceReceiverPositions | Subroutine | |
ReduceStep2D | Step | Subroutine | |
ReduceStep3D | Step3DMod | Subroutine | |
Reflect2D | ReflectMod | Subroutine | !! use kappa_xx or z_xx? |
Reflect2D | BELLHOP | Subroutine | |
Reflect3D | Reflect3DMod | Subroutine | ! not sure if cn2 needs a sign flip also $ IF ( BotTop == 'TOP' ) THEN $ cn1jump = -cn1jump ! flip sign for top reflection $ cn2jump = -cn2jump ! flip sign for top reflection $ END IF |
RToIR | SourceReceiverPositions | Function | ! Assumes Pos%r is a vector of equally spaced points |
ScaleBeam | Influence3D | Subroutine | Scaling for geometric beams |
ScalePressure | Influence | Subroutine | Scale the pressure field |
ScalePressure3D | Influence3D | Subroutine | Scale the pressure field |
Sort | SortMod | Interface | |
Sort_cmplx | SortMod | Subroutine | Subroutine to perform an insertion sort on a vector (complex, double) |
Sort_dble | SortMod | Subroutine | Subroutine to perform an insertion sort on a vector (double) |
Sort_sngl | SortMod | Subroutine | Subroutine to perform an insertion sort on a vector (single) |
SPLINE | splinec | Function | |
SPLINEALL | splinec | Subroutine | |
SPLINEX | splinec | Function | |
SPLINEXX | splinec | Function | |
Step2D | Step | Subroutine | |
Step2D | BELLHOP3D | Subroutine | ! this needs modifying like the full 3D version to handle jumps in the x-y direction |
Step3D | Step3DMod | Subroutine | ! what if we cross isegx, isegy, or isegz at the same time? |
StepToBdry2D | Step | Subroutine | |
StepToBdry3D | Step3DMod | Subroutine | |
SubTab | SubTabulate | Interface | |
SubTab_dble | SubTabulate | Subroutine | Subtabulate array |
SubTab_sngl | SubTabulate | Subroutine | Subtabulate array |
TopBot | ReadEnvironmentBell | Subroutine | Handles top and bottom boundary conditions |
TraceRay2D | BELLHOP3D | Subroutine | |
TraceRay2D | BELLHOP | Subroutine | Traces the beam corresponding to a particular take-off angle |
TraceRay3D | BELLHOP3D | Subroutine | Traces the beam corresponding to a particular take off angle |
Update3DXSegmentT | sspmod | Subroutine | |
Update3DYSegmentT | sspmod | Subroutine | |
Update3DZSegmentT | sspmod | Subroutine | |
UpdateDepthSegmentT | sspmod | Subroutine | |
UpdateRangeSegmentT | sspmod | Subroutine | |
UpdateRayPQ | Step3DMod | Subroutine | |
VSPLINE | splinec | Subroutine | |
WriteArrivalsASCII | ArrMod | Subroutine | Writes arrival data in ASCII format |
WriteArrivalsASCII3D | ArrMod | Subroutine | Writes the arrival data (Amplitude, delay for each eigenray); ASCII output file |
WriteArrivalsBinary | ArrMod | Subroutine | Writes arrival data in binary format |
WriteArrivalsBinary3D | ArrMod | Subroutine | Writes the arrival data (amplitude, delay for each eigenray); Binary output file |
WriteField | RWSHDFile | Subroutine | |
WriteHeader | RWSHDFile | Subroutine | |
WriteRay2D | WriteRay | Subroutine | The 2D version is for ray traces in (r,z) coordinates |
WriteRay3D | WriteRay | Subroutine | The 3D version is for ray traces in (x,y,z) coordinates |