The input file

The general structure of the input file (hereafter called INFIL) can be better understood if one thinks of it as composed of blocks; each block describes a particular element of the waveguide, from top to bottom. In order to provide a friendly view of the INFIL the blocks are separated with a long line, which is ignored by the model. The structure of the INFIL is as follows:

Source Block
Altimetry Block
Sound Speed Block
Objects Block
Bathymetry Block
Array Block
Output Block

The Title is a character string, which is written in the LOGFIL (the file with the *.log extension).

The structure of each block is as follows:

Source Block:

ds ray step
rx,zx source coordinates
rbox(1),rbox(2) range box
freqx source frequency
nthtas number of launching angles
theta(1), theta(nthtas) first and last launching angles
Optionally, the user can set $ds$ to zero; in such case TRACEO uses the ranges of the rbox to calculate a preliminary step.

Altimetry Block:

atype surface type
aptype surface properties
aitype interpolation type
atiu attenuation units
nati number of surface coordinates

atype can be one of the following characters:

'A' absorbent surface
'E' elastic surface
'R' rigid surface
'V' vacuum over surface

aptype can be one of the following characters:

'H' homogeneous surface
'N' non-homogeneous surface

aitype can be one of the following strings:

'FL' flat surface
'SL' surface with a slope
'2P' piecewise linear interpolation
'3P' piecewise parabolic interpolation
'4P' piecewise cubic interpolation

atiu can be one of the following characters:

'F' dB/kHz
'M' dB/meter
'N' dB/neper
'Q' Q factor
'W' dB/$\lambda$
(same units used by Bellhop; for specific details regarding the definitions of these units see [2]).

nati is the number of surafce coordinates.

For aptype = 'H' the properties and coordinates of the surface are specified as follows:

Alternatively, for aptype = 'N' the properties and coordinates of the surface are specified as:

Sound Speed Block:

cdist type of sound speed distribution
cclass class of sound speed
nr0,nz0 number or points in range, number of points in depth
cdist can be one of the following strings:
'c(z,z)' sound speed profile $c = c(z)$
'c(r,z)' sound speed field $c = c(r,z)$
For a sound speed field both range and depth derivatives are calculated using a bi-dimensional barycentric parabolic interpolator, on the grid of nr0$\times$nz0 points. For a sound speed profile all range derivatives are zero; depth derivatives are calculated depending on the value of cclass, which can be one of the following strings:
'ISOV' isovelocity profile
'LINP' linear profile
'PARP' parabolic profile
'EXPP' exponential profile
'N2LP' $n^2$-linear profile
'ISQP' inverse-square gradient profile
'MUNK' Munk profile
'TABL' tabulated profile
All but the last cclass describe analytical profiles, whose derivatives can be calculated explicitely. The parameters of those profiles can be specified through a simple list of the form
Here it follows a description of each analytical profile: The combination cdist = 'c(z,z)' and cclass = 'TABL' requires the sound profile to be specified as follows:
The specification cdist = 'c(r,z)' (a sound speed field) should be followed by cclass = 'TABL', otherwise the program stops execution; the sound speed field should be specified as follows:
c(1,1) c(1,2) ... c(1,nr0)
c(2,1) c(2,2) ... c(2,nr0)
c(3,1) c(3,2) ... c(3,nr0)
c(nz0,1) c(nz0,2) ... c(nz0,nr0)
When specifying the sound speed profile or field it is highly recommended to use an evenly spaced grid, avoiding vertical segments where a smooth variation is followed by an isovelocity layer. Including such segments introduce unrealistic artifacts, which result from the calculation of inaccurate sound speed gradients.

After the Sound Speed Block it should follow the single line

which indicates the number of objects defined inside the waveguide. If nobj = 0 the Objects Block is empty; otherwise (with nobj $>$ 0) the INFIL should contain the following line
which describes the method of interpolation ('2P', '3P' or '4P', no other types are allowed), to be applied to the boundaries of all objects. For each object it should be defined an Object Block with the following structure:
otype object type
obju attenuation units
no number of coordinates
ocp(i), ocs(i), orho(i) ... Object $c_p$, $c_s$, etc.
otype and obju are the same as those indicated for the Altimetry Block. The list above shows that the upper and lower boundaries of the object are sampled along a common range interval.

Bathymetry Block: the structure of this block is identical to the structure of the Altimetry Block.

Array Block:

artype array type
nra nza number of hydrophones along range and depth
r(1) r(2) .... r(nra) hydrophones ranges
z(1) z(2) .... z(nza) hydrophones depths
The option artype can correspond to one of the following strings:
'RRY' Rectangular aRray
'HRY' Horizontal arRay
'VRY' Vertical arRay
'LRY' Linear arRay
The option artype = 'LRY' requires that nra = nza.

Output Block:

outype output type
miss eigenray parameter

The option outype defines the type of output and can correspond to one of the following strings:

'RCO' output Ray COordinates;
'ARI' output All Ray information;
'ERF' output Eigenrays (use Regula Falsi);
'EPR' output Eigenrays (use PRoximity method);
'ADR' output Amplitudes and Delays (use Regula falsi);
'ADP' output Amplitudes and Delays (use Proximity method);
'CPR' output Coherent acoustic PRessure;
'CTL' output Coherent Transmission Loss;
'PVL' output coherent Particle VeLocity;
'PAV' output Coherent acoustic Pressure And Particle velocity.

The miss parameter is used as a threshold to find eigenrays and to calculate arrivals.

Orlando Camargo Rodríguez 2012-06-21