User manual for SWAMP. CW propagation 

 



           

    The form of the input file  “SWAMP.IN” for the SWAMP benchmark version is presented in  Figure 4.8. Only the accuracy control parameter ph1=1/ph has

an effect on the  algorithm determination of  the optimal step size dr  in range.  It is defaulted to be 0.5 if you choose anything less than 0.5.  ph1 determines the maximum percentage change in depth  for  dh, which determines in part the step size dr.   A value of 1.0 means that dh is  1% of the water column depth, h, at that point. A value of  2.0 would be 1/ph1 (in %), or 1/2 % , or 1/200.  A value of 4 would mean 1/400.  This assures that the percent change will be no greater than  1/ph1.  It could even be less depending on the local rate of change of bathymetry, the number of modes and the frequency. The adaptive step algorithm is a function of water column depth, local rate of change of bathymetry, number of  modes, frequency and bottom hardness. The step size algorithm does not necessarily decrease dr with increasing frequency, even though the allowed step size dr is inversely related to the number of modes.  This is because dr is also a function of the rate of change in mode number, since a larger number of modes tolerates greater changes in dr.  ph1 values of 1.0 are conservative, a value of 2.0 is very conservative in favor of precision and a value of 4.0 is very likely overkill.  Increasing ph1 by two increases the run time by almost two.  Larger values of  ph1 are preferred when computing up-slope than down-slope.  All other parameters in this code are physical or output parameters.  The value delr determines the minimum value of dr allowed.

            The physical and control parameters are as follows:

rstrt (m) - the value after the first calculated value of r=rrr1 at which the bathymetry changes (rstrt> rrr1). The   water column depth is h between rrr1 and rstrt;

rrr1 (m)  -  the first print-out value of the transmission loss.  rrr1 may be anything between 0.0 and rstrt-delrs;

delrs (m) -  the step size for print-out.  It is wise to choose delrs so that rrr1, rstrt, rall and rend are all integral multiples of delrs;

rall (m) -  the final point in range for which the bathymetry changes. The water column depth varies from h at rstrt to hhh at rall (rall>rstrt);

 rend (m) -  the final value of r for the calculation.  The bathymetry is constant between rall and rend (rend>rall);

h (m) - the initial water column depth, assumed constant from  range rrr1 to rstrt;

hhh (m) - the final water column depth between rall to rend, assumed to be constant between rall and rend;

 hs (m) - the source depth;

 hr (m) -  the receiver depth.  If hr is =0,  the receiver depths are set at a spacing of dh from the surface downward.  When hr=0, the code  prints out the results for a set of vertical points ;

 dh (m) - when hr=0, there are multiple receiver depths at spacings from dh below the water surface to the maximum water column depth (either h or hhh).  dh should be smaller than the smallest value of the water column height  along the bathymetry.  It is ignored when  hr is not set to 0;

 hhh (m) - the water column height at rall;

freq (Hz) -  the frequency of the monochromatic point source;

 rho0 (g/cm3) - the density in the water column (usually set to 1.0);

 rho1 (g/cm3)  - the density in the bottom half-space (rho1>rho0 usually);

 c11 (m/sec) -   the constant sound speed in the bottom half-space (c11  is greater than the minimum or mean sound speed in the water column);

 alpha (dB per wavelength) - the attenuation parameter in the bottom half-space;

 c(i) (m/sec) -  the value of the sound speed at depth z(i);

 z(i) (m) -  the depth measured from the top of the water column to the half-space. This pair of values c(i) and z(i) must be input for up to the largest values of the water column depth which may be h or hhh in the present form. Termination of reading the pair c(i) and z(i) is done via (-1 -1);

 nwhat -  determines the order of the velocity profile reading in the input file.  When nwhat=0, then it reads c(i),z(i).  When nwhat>0 , then it reads the pair as z(i),c(i) ;

delrm (m) - the minimum tolerated step size allowed for dr.  Although dr is adapted in the code according to  bathymetry,  dr  never goes below the value delrm.  It is wise to choose delrm to be an integer fraction of delrs.   

             It is easy to generalize the input file for more diverse bathymetry.  Currently, a layered model is being tested.  SWAMP is meant to be a high frequency model and has been run with over 1000 modes.  The relation of the number of modes N to frequency f is roughly N=0.0004*h*f.  That means that f*h=2500*N or for 1000 modes in 100 meters of water the  frequency is 25 kHz.   In 10 meters it is 250 kHz. 

            SWAMP is based on matrix and iterative methods and should be easy to vectorize or adapt to a pipeline computer.  It works on a PC in Microsoft Power FORTRAN, on an SGI and on  a DEC-alpha.  The first versions of SWAMP have been run on a CRAY YMP at a very fast rate as well as on an SGI 8 processor Challenger at high speed.    

            It can be concluded from the benchmark results that the methology used by SWAMP is useful for a coupled range-dependent model with  automatic choice of  optimal step-size in range with very competitive computational performance.  The benchmarking has shown  that the coupled mode algorithm implemented in SWAMP is reliable and accurate.  The computational speed of the method seems to be very competitive with any existing range-dependent acoustic propagation models.  This gives a solid basis for  using SWAMP to study the most informative and  complicated phenomena related to  pulse propagation in ocean waveguides.

 

1 1000.0 200.0  25.0  30. 400.  ! Use 1, 1st depth, last depth, s-depth, r-depth, f

1.0  1.2   1590.0  0.5                 ! rho0, rho1,vel bottom, atten.

30.0 35000.0 45000.0 50000.0 ! dh,  rstart, rall, rend

10.0 5.0 10. 0.5                        ! rrr1, delrm, delrs, DMS accuracy parameter for dr                             

0.0  1535.0                                ! (set DMS=1 usual, 2 for more precision (smaller dr)

20.0 1533.0                               !and DMS=0.5 for greater speed and more gradual slope)

50.0 1516.0                               !velocity profile z(i) c(i)

100.0 1512.0

1000.0 1500.0

-1  -1                                         ! Terminate with -1 -1

 

 

FIGURE 4.8. Sample input file “SWAMP.IN”.