Skip to content

patel999jay/Bellhop-ARLPY-ECED6575

Repository files navigation

ECED6575 - Bellhop Simulation

Author : Jay Patel, Dalhousie University, NS, Canada

Open Source Love MIT license made-with-python

Bellhop Python Simulation relies on the following libraries:

- fortran compiler
- Acoustic Toolbox
- Arlpy
- Python3
- Jupyter Notebook(optional)
  • First make sure you have gfortran,gcc and gcxx compiler.

  • Please checked if the GNU Fortran compiler was in my system by typing gfortran --version:

    GNU Fortran (Ubuntu 7.4.0-1ubuntu1~20.04.1) 7.4.0
    Copyright (C) 2017 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions.  There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

If you have them then go for the GNU compiler, type: bash export FC=gfortran Acoustic Toolbox is in repo folder named AcousticToolbox. You can download from there or follow the instruction below.

Sr No. Link DESCRIPTION
1. Bellhop Simulation Bellhop - Ray Tracing
2. Bellhop Sample Notebook Bellhop Sample Notebook
3. Bellhop another usecase Notebook Bellhop another usecase Notebook (PDF)
4. Bellhop Introduction Bellhop Introduction (PDF)

Install latest Acoustic Toolbox (March 2019)

instruction for Linux-base machines

Please make sure you have newer version of Bellhop.

cd ${HOME}/Documents
wget http://oalib.hlsresearch.com/AcousticsToolbox/at_2020_11_4.zip
unzip at_2020_11_4.zip
cd at_2020_11_4
make
sudo make install

If something goes wrong, you need to do make clean in order to clear all necessary files and then again run the above mentioned steps.

Once installed, let's tell the system where to find our new libraries: ( Please replace ns with your hostname)

export PATH=/home/ns/Documents/at/at/Bellhop:/home/ns/Documents/at/at/:$PATH

Step 1. Install compilers and building tools

First let's check which Linux are you running with the command:

lsb_release -ds

Will return something like:

Debian GNU/Linux 9.8 (stretch)
  • For Debian/Ubuntu/Linux Mint:

      $ sudo apt-get update
      $ sudo apt-get install wget nano gfortran m4 build-essential
    
  • Also check your python version, it is recommanded to use python3.

      $ python --version
    

Will return something like:

     Python 2.7.18rc1

or you might have something like this if you have python3 correctly installed:

    $ python3 --version

Will return something like:

     Python 3.8.2

Step 2. Install arlpy tools

Run the following command in your terminal. (It worked without sudo permission as well. It is recommanded to use sudo to installed everything properly.)

$ pip3 install arlpy

or

$ python3 -m pip install arlpy

or

$ sudo -H pip3 install arlpy

OS Specific Installation

More Details

Step 3. Interactive IPython Notebooks - Jupyter Notebook (Optional)

The Jupyter notebook is a web-based notebook environment for interactive computing.

Installation

You can find the installation documentation for the Jupyter platform, on ReadTheDocs.

The documentation for advanced usage of Jupyter notebook can be found here.

For a local installation, make sure you have pip installed and run:

$ pip install notebook

Usage - Running Jupyter notebook

Running in a local installation

Launch with:

$ jupyter notebook

Running in a remote installation

You need some configuration before starting Jupyter notebook remotely. See Running a notebook server.

Example Notebook of Bellhop

You can find the example notebook of Bellhop in the repo folder named sample notebook. Follow the instruction and commands in the notebook to perform basic simulations with bellhop.

  • If you want to see the notebook output figures then download sample notebook/bellhop.html and open in your browser, it will open up notebook with all the output graphs.

Troubleshoot

To chech you have correctly set your PATH for acoustic toolbox, please type this in your command prompt

$ which bellhop.exe

It will show you path of your bellhop.exe, same like this,

/home/ns/Documents/at/bin/bellhop.exe

Reference

1. M. Chitre 2020, “ARLPY python toolbox” , https://github.com/org-arl/arlpy

2. Ocean Acoustics Library. https://oalib-acoustics.org/, Retrieved August 11, 2020.

3. Jay Patel and Mae Seto, Underwater channel characterization for shallow water multi-domain communications, Proceedings of Meetings on Acoustics 40, 070014 (2020), https://doi.org/10.1121/2.0001316, Retrieved July 07, 2021.

About

This repository has been used in ECED 6575 at Dalhousie University to teach students Acoustic Toolbox & Bellhop.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published