\SPARC\ (SACLANTCEN Pulse Acoustic Research Code) is an experimental
time-marched FFP. It treats problems with broadband or transient
sources, that is, pulses. The environmental file is patterned after
that used for \KRAKEN\ and \SCOOTER. The mathematical basis and
numerical algorithm is described in:
Michael B. Porter, ``The Time-Marched FFP for Modeling Acoustic
Pulse Propagation,'' J. Acoust. Soc. Amer.
87, 2013--2023 (1990).
\begin{verbatim}
Files:
Name Unit Description
Input
*.ENV 1 ENVironmental data
*.STS 10 Source Time Series
Output
*.PRT 6 PRinT file
*.GRN 20 GReen's function
*.RTS 35 Receiver Time Series
---------------------------------------------------------
EXAMPLE AND DESCRIPTION OF ENV FILE:
'Munk profile'
5.0
2
'NVWS'
500 0.0 5000.0
0.0 1548.52 0.0 1.0 0.0 0.0
200.0 1530.29 /
250.0 1526.69 /
400.0 1517.78 /
600.0 1509.49 /
800.0 1504.30 /
1000.0 1501.38 /
1200.0 1500.14 /
1400.0 1500.12 /
1600.0 1501.02 /
1800.0 1502.57 /
2000.0 1504.62 /
2200.0 1507.02 /
2400.0 1509.69 /
2600.0 1512.55 /
2800.0 1515.56 /
3000.0 1518.67 /
3200.0 1521.85 /
3400.0 1525.10 /
3600.0 1528.38 /
3800.0 1531.70 /
4000.0 1535.04 /
4200.0 1538.39 /
4400.0 1541.76 /
4600.0 1545.14 /
4800.0 1548.52 /
5000.0 1551.91 /
500 0.0 10000.0
5000.0 1551.91 0.0 1.00 1.0 0.0
10000.0 /
'R' 0.0
1500.0 1550.0
10.0 ! RMAX (km)
1 ! NSD
250.0 / ! SD(1:NSD) (m)
26 ! NRD
0.0 5000.0 / ! RD(1:NRD) (m)
'PH' ! PULSE
0.0 15.0 ! FMIN FMAX (Hz)
1 ! NRR
60.0 0.200 / ! RR(1:NRR) (km)
6 ! NTOUT
1.0 3.0 5.0 10.0 20.0 30.0 ! TOUT(1:NTOUT) (s)
-0.1 0.9 0.0 0.0 0.0 ! TSTART (s) TMULT ALPHA BETA V (m/s)
The input structure is identical to KRAKEN except for
additional option in line 4 and 4 additional lines at the end.
OPT(4:4): Type of calculation
'S' for Snapshot.
FIELDS must be run afterwards to convert the
'.GRN' file to a '.SHD' file containing the pressure field.
The shade file can then be plotted using PLOTFIELD.
'R' for Range stack (horizontal array).
The time series is written in a '.RTS'
(Receiver Time Series) file which can be plotted using
PLOTTS
'D' for Depth stack (vertical array).
The resulting time series can also be plotted using PLOTTS.
Additional lines:
(1) - SOURCE PULSE INFORMATION:
Syntax: PULSE
FMIN FMAX
Description:
PULSE(1:1): Type of interpolation to be used for the SSP
'P' Pseudo-Gaussian
'R' Ricker wavelet
'A' Approximate Ricker wavelet
'S' Single sine
'H' Hanning weighted four sine
'N' N-wave
'G' Gaussian
'F' From a '.STS' (Source Time Series) file.
'B' From a '.STS' file Backwards
PULSE(2:2): Hilbert transforming.
'H' perform a Hilbert transform of the source
'N' don't
Hilbert transforming is used to eliminate
the left travelling wave.
PULSE(3:3): Source sign flipping.
'+' don't flip it (recommended)
'-' flip it
PULSE(4:4): Source filtering.
'L' low cut filter
'H' high cut filter
'B' both high and low cut filter
'N' no cut
FMIN: Low cut frequency (Hz)
FMAX: High cut frequency (Hz).
This should be no higher than necessary
since the CPU costs are
proportional to the bandwidth.
(3) - RECEIVER RANGES
Syntax: NRR
RR(1:NRR)
Description:
NRR: Number of receiver ranges
RR(): Receiver ranges (km)
This line is ignored unless option 'R' has been selected for a
range-stack.
(3) - OUTPUT TIMES
Syntax: NTOUT
TOUT(1:NTOUT)
Description:
NTOUT: Number of output times
TOUT(): Output times (s)
(3) - TIME INTEGRATION PARAMETERS
Syntax: TSTART TMULT ALPHA BETA V
Description:
TSTART: Starting time for the march. This should always be
earlier than the time at which the source begins to
rise.
TMULT: Time step multiplier. Specifying TMULT = 1.0 means
that the maximum stable time step is used.
ALPHA: Lumping parameter
BETA: Explicitness parameter
V: Convection velocity
\end{verbatim}
A good check of convergence can be done by running an isovelocity
problem with a gaussian pulse. The pulse should, of course, be
undistorted at the receivers. Remember that Hilbert transforming the
source causes it to rise early so TSTART has to be adjusted accordingly.
It's a good habit to plot the source function using PLOTTS before
running SPARC. This is done by providing the same source information
to PLOTTS that is used to drive SPARC. Thus, if you are using
a pseudo-gaussian pulse in SPARC you specify a pseudo-gaussian
in PLOTTS and look at the time series.