# Range-Dependent SSP File

If you select option 'Q' (quadrilateral elements) for the SSP interpolation, BELLHOP will read a range-dependent SSP from an SSPFIL. The format of the SSPFIL is as follows:

#### Range-dependent SSP

Syntax:

NPROFILES
RPROF( 1 ) RPROF( 2 ) ... RPROF( NPROFILES )
C( 1, 1 ) C( 1, 2 ) ... C( 1, NPROFILES )
C( 2, 1 ) C( 2, 2 ) ... C( 2, NPROFILES )
.
.
.
C( NZ, 1 ) C( NZ, 2 ) ... C( NZ, NPROFILES )

Description:

NPROFILES: Number of profiles.
NZ: Number of depth points where SSP is sampled
RPROF(): Range of each profile in km.
C(): Sound speed. c( iz, iprof ) is the sound speed at the depth point, iz, in profile, iprof.

Example:

8
0.0 12.5 25.0 37.5 50.0 75.0 100.0 125.0
1536 1536 1536 1536 1536 1536 1536 1536
1506 1508.75 1511.5 1514.25 1517 1520 1524 1528
1503 1503 1503 1502.75 1502.5 1502 1502 1502
1508 1507 1506 1505 1504 1503 1501.5 1500
1508 1506.6 1505 1503.75 1502.5 1500.5 1499 1497
1497 1497 1497 1497 1497 1497 1497 1497
1500 1500 1500 1500 1500 1500 1500 1500
1512 1512 1512 1512 1512 1512 1512 1512
1528 1528 1528 1528 1528 1528 1528 1528
1545 1545 1545 1545 1545 1545 1545 1545

Note: The main BELLHOP envfil must contain a dummy SSP with NZ depth points. Those depths points are used to interpret the depths in the above SSP matrix.

The vector of profile ranges must increase strictly monotonically.

See the example in at/tests/Gulf. Note that the SSP is NOT extrapolated outside the domain of ranges. If you trace rays to ranges outside that domain, you will get an error message. That limit for tracing rays is controlled by rBox. Keep in mind also that BELLHOP will trace rays to negative 'ranges' if the launch angles go to the left or if boundary interactions cause the rays to reverse.