Skip to main content

Bellhop underwater acoustic propagation model

Project description

AUBELLHOP: underwater acoustics ray tracing

PyPI Test Suite Code Lint

Installation and demo

You can (hopefully) install aubellhop with pre-compiled binaries included straight from PyPI. This short script will create a demo folder, install aubellhop using uv, and then run the demo function:

dir=bellhop-example && mkdir -p "$dir" && cd "$dir"
uv init --bare
uv add aubellhop
uv run python -c "import aubellhop as bh; bh.demo()"

This creates the demo file bellhop_demo.py and runs it. Then to re-run the demo:

uv run bellhop_demo.py

If you use Python with different build/environment setups, the standard approaches should work just fine:

pip install aubellhop

Followed by setting up a virtual environment with venv and so on.

See the compilation and installation guide for building from source if you wish to edit the code or the prebuilt binaries don't work for you.

Documentation

Background

  • Bellhop is an underwater acoustics simulator, part of the Acoustics Toolbox by Michael B. Porter and colleagues.

  • The Bellhop component of the Acoustics Toolbox has been extracted UCal San Diego to support the multithreaded C++/CUDA version: bellhopcuda. The UCal team also maintain a fork of the Fortran sources with numerical properties and robustness improved and bugs fixed; some of these changes have been back-ported into the Acoustics Toolbox directly but the codebases are no longer identical

  • A Python wrapper for Bellhop was previously provided within the arlpy package by Mandar Chitre at the Acoustic Research Laboratory, National University of Singapore. arlpy has been superceded by a Julia wrapper by the same author within UnderwaterAcoustics.jl.

  • An alternative Python interface is provided in PYAT by Orlando Camargo Rodríguez.

  • This repository, from Adelaide University, Australia, is a subsequent consolidation of several components of these works, with the intention of providing a clean and well-documented repository to provide easier access to the Bellhop code. The main features of the AU work are:

    • Consolidation of code files and build processes with a single set of clean sources
    • Adaptation and extension of the arlpy-based Python wrapper for Bellhop
    • Updated Fortran source code with automated documentation using FORD and lint checking using fortitude
    • Addition of explicit regression and unit test files using pytest
    • Continuous integration through Github for all documentation, linting, test suite, and code coverage
    • PyPI packaging with pre-compiled binaries for easy installation across Linux, macOS, and Windows

Impressum

Copyright (C) 2025-2026 Adelaide University, Australia
Copyright (C) 2021-2025 The Regents of the University of California Marine Physical Lab at Scripps Oceanography, c/o Jules Jaffe, jjaffe@ucsd.edu
Copyright (C) 1983-2024 Michael B. Porter

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aubellhop-0.2.1.tar.gz (1.9 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

aubellhop-0.2.1-cp312-cp312-win_amd64.whl (736.5 kB view details)

Uploaded CPython 3.12Windows x86-64

aubellhop-0.2.1-cp312-cp312-manylinux_2_28_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

aubellhop-0.2.1-cp312-cp312-macosx_15_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.12macOS 15.0+ ARM64

File details

Details for the file aubellhop-0.2.1.tar.gz.

File metadata

  • Download URL: aubellhop-0.2.1.tar.gz
  • Upload date:
  • Size: 1.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for aubellhop-0.2.1.tar.gz
Algorithm Hash digest
SHA256 43b9c1914b543ac5fb1986c5d99d1efa97a9a1add30f45b906d0b9dcb61eb50c
MD5 cef89f21d9a80b0a386d7b883f22fde2
BLAKE2b-256 560d694a47f948b24b8aa5e24a97ac2f991d427cebeb4e5bfcf24d17cd40ac12

See more details on using hashes here.

Provenance

The following attestation bundles were made for aubellhop-0.2.1.tar.gz:

Publisher: publish.yml on avc-adelaide/aubellhop

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aubellhop-0.2.1-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: aubellhop-0.2.1-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 736.5 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for aubellhop-0.2.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 f853aa84ed81e3c0acee6658755a7a27ef38f33fe2ca279da0b8175946213e41
MD5 ce24b5f7b1356a187ce4d54c252f166e
BLAKE2b-256 8e8c498e0b24d7cad5d436d3496cf9d5e7463666edd8c4332b3b7b6da3f91a06

See more details on using hashes here.

Provenance

The following attestation bundles were made for aubellhop-0.2.1-cp312-cp312-win_amd64.whl:

Publisher: publish.yml on avc-adelaide/aubellhop

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aubellhop-0.2.1-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for aubellhop-0.2.1-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 743cb3977a135749d06c193d2613e8e2516a2fc0d3af4303596e634a24243517
MD5 398c6c2c37cfe8ef52a1585e0a2152d6
BLAKE2b-256 feb732a4d675a061c5aba3ee3dc5c3b309d67d12019d7a945b5740a62f617c30

See more details on using hashes here.

Provenance

The following attestation bundles were made for aubellhop-0.2.1-cp312-cp312-manylinux_2_28_x86_64.whl:

Publisher: publish.yml on avc-adelaide/aubellhop

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aubellhop-0.2.1-cp312-cp312-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for aubellhop-0.2.1-cp312-cp312-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 4ab6e7bf915bf9bc14c1b39c446a920bbc36dc3158ab5ed83599b8dfc3b4cb35
MD5 aaef46fb201d3fd4f1be4ab4f244a3aa
BLAKE2b-256 6d6a3d1945673a940e3f9fce6c9eb0c6d8279264a8a3b0342b75c126e1b9f23b

See more details on using hashes here.

Provenance

The following attestation bundles were made for aubellhop-0.2.1-cp312-cp312-macosx_15_0_arm64.whl:

Publisher: publish.yml on avc-adelaide/aubellhop

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page