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 Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

aubellhop-0.2.2.dev0-cp313-cp313-win_amd64.whl (736.6 kB view details)

Uploaded CPython 3.13Windows x86-64

aubellhop-0.2.2.dev0-cp313-cp313-manylinux_2_28_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

aubellhop-0.2.2.dev0-cp313-cp313-macosx_15_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.13macOS 15.0+ ARM64

File details

Details for the file aubellhop-0.2.2.dev0-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for aubellhop-0.2.2.dev0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 22c73df210e350c17163770f5800c76d9c2dd428f586ecad561a03094d6b23f0
MD5 0ce54d3efc8d8ca44a0632d5d641ecbd
BLAKE2b-256 955e6af820ae0da44ad140286746b659fcc179e03560ae64a34692c407f189cf

See more details on using hashes here.

Provenance

The following attestation bundles were made for aubellhop-0.2.2.dev0-cp313-cp313-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.2.dev0-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for aubellhop-0.2.2.dev0-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 59597757f8615a43b13497120c5a474c35552351722fc86d3ac63a58e28cc291
MD5 7b66fe55eb38b20f10254b93c1b7f7d9
BLAKE2b-256 2dc1884d356e5483920ce84712ed13ea52936fe07fd74bcbf2a358d72de4ccdb

See more details on using hashes here.

Provenance

The following attestation bundles were made for aubellhop-0.2.2.dev0-cp313-cp313-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.2.dev0-cp313-cp313-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for aubellhop-0.2.2.dev0-cp313-cp313-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 264763fda38312085efd79cf8f39399fdeb701a3f4207bd70fa86830afbf25e3
MD5 a6ca7fcf08cb7ceb6f91c7a368d7c2d0
BLAKE2b-256 535813c3bc91875e8391893606b3b35a91797b75c7ff4375468f69b0116bf15c

See more details on using hashes here.

Provenance

The following attestation bundles were made for aubellhop-0.2.2.dev0-cp313-cp313-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