Under Sea Modeling Library (USML)

The Under Sea Modeling Library (USML) is a collection of C++ software development modules for sonar modeling and simulation. The Wavefront Queue 3D (WaveQ3D) model is the component of USML that computes acoustic transmission loss in the ocean using Hybrid Gaussian Beams in Spherical/Time Coordinates. At this time, most of the other modules provide support to WaveQ3D.

USML depends on the NetCDF package, for access to test data, and the Boost package, for fast computations (uBLAS) and unit test utilities. Correctly configuring these packages is the #1 problem reported by USML users. Before you attempt to build and test USML, please read this section carefully.

External Dependencies

This current version of this package has been tested in the following environments:

Problems with Boost package

Problems with NetCDF package

Building and Testing USML

For the sake of the example, let's assume that you are installing on a Linux system into the "~/Projects/usml" directory. Assuming that this is the current directory, and that all of the tarballs are here as well, the Linux commands to execute would be:

        tar -xzf usml-src-#.##.tar.gz
        tar -xzf usml-doc-#.##.tar.gz
        tar -xzf usml-data-#.##.tar.gz
      
where #.## is the version number to be installed.

This library is built using the CMake cross-platform, open-source build system. Users are strongly encouraged to configure their builds using the cmake-gui tool. CMake makes it much easier to support cross-platform builds, but it requires a few more steps than a direct Makefile interface. For example, a simple Unix build includes the following steps.

Additional Resources