World Ocean Simulation System (WOSS) library
Installation

PLEASE NOTE:

Note
No super-user credentials are needed for any of these installations.

WOSS now supports the installation as a stand alone library (e.g. with no NS2 and NS-Miracle support). This installation method is useful if you require the library to work in any project that doesn't need NS2/NS-Miracle libraries and related source code.

Compatibilities

The current WOSS version has the following compatibilities:

  • Acoustic Toolbox: May 2023
  • HDF5 library: v1.14.2
  • NetCDF C library: v4.9.2
  • NetCDF4 C++ library: v4.3.1
  • GEBCO databases: 1D and 2D, 2008, 2014, 2019, 2020, 2022, 2023

Requirements

  • Download the recommended Acoustic Toolbox Library and follow installation instructions. The directory path that contains the binaries should be in the $PATH environment.
  • woss::BellhopArrSyntax::BELLHOP_CREATOR_ARR_FILE_SYNTAX_1 is compliant with Bellhop arr file syntax of the acoustic toolbox library up until the 16 Aug 2016 version.
  • woss::BellhopArrSyntax::BELLHOP_CREATOR_ARR_FILE_SYNTAX_2 is compliant with Bellhop arr file syntax of the acoustic toolbox library >= 31 March 2019 version. This is the new factory value.
    See also
    woss::BellhopCreator::setBellhopArrSyntax or tcl binded value bellhop_arr_syntax.
  • In order to use the latest GEBCO 15 seconds of arc databases, NetCDF4 + HDF5 support had to be added to the framework. If you wish to use NetCDF classes and databases, download the recommended HDF5 library NetCDF C library and NetCDF C++ library ;
    All libraries have to be built with support for dynamic libraries and with NetCDF4 support.
    Please refer to NetCDF documentation for comprehensive set of installation instructions of the C and C++ libraries. Please note that the --prefix=<optional_netcdf4_install_path> option is strongly suggested, and should be the same for HDF5, NetCDF-C and NetCDF-C++4.
    The previous NetCDF legacy installation instructions are still supported by are obsolete and not recommended.
    A simple installation script is given here as example:
    • install the recommended HDF5 library with these exact steps:
      • ./configure --enable-shared --prefix=<optional_netcdf4_install_path>
      • make
      • make check
      • should any test fail, based on the test severity you could still try to continue with the installation by issuing make install
    • install the recommended NETCDF4 C library by passing the common installation path in both CPPFLAGS and LDFLAGS:
      • ./configure --prefix=<optional_netcdf4_install_path> --enable-netcdf-4 --enable-shared --disable-dap --disable-byterange CPPFLAGS="$CPPFLAGS -I<optional_netcdf4_install_path>/include" LDFLAGS="$LDFLAGS -L<optional_netcdf4_install_path>/lib"
      • make
      • make check
      • should any test fail, based on the test severity you could still try to continue with the installation by issuing make install
    • install the recommended NETCDF4 C++ library by passing the common installation path in both CPPFLAGS and LDFLAGS:
      • ./configure --prefix=<optional_netcdf4_install_path> --enable-shared CPPFLAGS="$CPPFLAGS -I<optional_netcdf4_install_path>/include" LDFLAGS="$LDFLAGS -L<optional_netcdf4_install_path>/lib"
      • make
      • make check
      • make install
  • If you wish to add NS-Miracle support, download the latest version of NS-Miracle from the official git repository:
    Read documentation provided in the above link for installation instructions.
  • If you wish to use WOSS with world environmental data, download and extract the latest WOSS databases. Download the GEBCO 2023 2D Fifteen seconds zip archive or any of the previous data sets and put them in the same directory.

How to install WOSS library

  1. extract the compressed file in a directory of your choice and cd into that directory;
  2. run ./autogen.sh
  3. run ./configure with the following options:
    • --with-ns-allinone=<ns2-allinone_path> optional, needed if you want to compile the library for NS2 and NSMIRACLE.
      See also
      Examples to avoid gcc-13 error compilation.
    • --with-nsmiracle=<ns-miracle_path> optional, needed if you want to compile the library for NS2 and NSMIRACLE.
      See also
      Examples to avoid gcc-13 error compilation.
    • --with-netcdf4=<NetCDF4_install_path> optional, needed if you want to use NetCDF4 + HDF5 databases. (The path is the same mentioned in the Requirements section, if NetCDF4 was installed with no –prefix, the default path SHOULD be /usr/local)
    • --with-pthread optional but recommended
    • --prefix=<path_where_libraries_will_be_installed>
      this path is optional and should be the same one used with NS-Miracle installation. If used, this path should be added to the environmental variable LD_LIBRARY_PATH. Please refer to NS-Miracle documentation for more info
  4. run make
  5. run make check to optionally perform any framework test
  6. should any test fail, please enable its debug, rerun the test, collect the debug output file written woss/tests/ directory and send a mail to WOSS@.nosp@m.guer.nosp@m.ra-tl.nosp@m.c.co.nosp@m.m
  7. run make install

Examples

The following line would install WOSS with pthread, and NetCDF4, but with no NS2/NS-Miracle support (stand-alone library).

./configure --with-netcdf4=<NetCDF4_install_path> --with-pthread --prefix=<path_where_libraries_will_be_installed>

The next line would install WOSS with NetCDF4, NS2 and NS-Miracle support and it removes the gcc-13 overloaded-virtual warning

CXXFLAGS="$CXXFLAGS -Wno-overloaded-virtual" ./configure --with-netcdf4=<NetCDF4_install_path> --with-ns-allinone=<ns2-allinone_path> --with-nsmiracle=<ns-miracle_path> --with-pthread --prefix=<path_where_libraries_will_be_installed>