updated 1
September
2010
NOTE: Important change in this version.
The various models now process the command line argument to get the
name of the file. The old Fortran version required you copy your
environmental file to a file 'ENVFIL' before running the Fortran.
The
Acoustics Toolbox is distributed under the GNU Public License.
Download
at Mac OSX source code
and binaries (dmg file)
at Mac OSX source code
and binaries (zip file)
at Linux source code
and binaries
at Windows binaries
You will
probably need to
recompile for your machine. The Fortran2003 source code should be fully
portable. The binaries were all produced using GFortran. They use dynamic
link libraries so you need a compatible version of gcc and gfortran
installed to use those binaries.
Compiling the
package
The Fortran95
standard does not clarify
whether record lengths are in bytes or words. For some compilers, e.g.
the Intel Fortran you need to use a compiler switch making bytes the
standard unit for record lengths. We use the free gfortran compiler.
The free g95 compiler also works well.
The
compilation
is done using standard Makefiles that work under Unix, OS X, etc. We
also use them under Windows with the Cygwin system, which provides a
Unix-like environment under Windows. Cygwin is also freely distributed.
UPDATE
(!) the path in at/Makefile to correspond to the directory where you're
doing the installation.
make
clean # to remove old objects and executables
make
install # to move the binaries to at/bin
Running the
package
We currently run the
Acoustics Toolbox through Matlab using shell-escape commands to execute
the binaries and a variety of Matlab scripts and functions (in
at/matlab) to manipulate and display the output. If you don't have
Matlab then you'll have to figure out your own graphics. In that case,
the Matlab plot routines at least provide a good example of how to read
the file formats.
The only challenge in
this phase is to get the paths set up properly. When you call the
Acoustics Toolbox through Matlab, you're using Matlab scripts. Those
Matlab scripts use the Matlab 'which' command to find the location of
the binaries within the Matlab search path. Therefore, Matlab has
to have its path set to include the Acoustics Toolbox.
Here's an example of running kraken at the regular command line (rather
than from inside Matlab):
cd at/tests/Munk
kraken.exe MunkK
The 'cd'
command above is hypothetical. You should cd to the directory where
you've created the Acoustics Toolbox. If you get an error, the likely
problem is that the path is not set properly. The following commands
may be useful in tracking that down.
printenv
which kraken.exe
If instead, you run the
package through Matlb, start Matlab and make
sure you have 'at' in your path. Check that by typing to following on
the Matlab command line:
cd at/tests/Munk
kraken MunkK
If the above runs
without error, then go to at/tests and type 'runtests' to execute a
huge battery of test cases. If the above generates an error then it
could be you don't have at/Matlab in your Matlab path.
Incidentally, the test battery that you run by typing 'runtests' may
fail somewhere unless you have a beefy
computer--- it generates a very large number of figures and consumes a
lot of memory in the process. However, it's easy enough to restart the
test battery at exactly the point where it overwhelms your system.
MATLAB version
of the Acoustics Toolbox
Note that at/Matlab
includes versions of BELLHOP, KRAKEL, SCOOTER, and SPARC in Matlab
(Kraken to
come soon). The Matlab versions are typically much slower;
however, they're much easier to use and modify. The Matlab version of
SCOOTER has an optional Mex file (thanks to Paul Hursky) for the inner
loop which is a tridiagonal solver. If you compile the Mex file, the
Matlab SCOOTER runs about as fast as the Fortran one.
GUI
Wrappers:
ACT:
Matlab
front-end
providing
a
Graphical User Interface for the Acoustic
Toolbox written by Alec
Duncan from the Centre for Marine
Science and Technology at Curtin
University.