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-cp312-cp312-win_amd64.whl (736.5 kB view details)

Uploaded CPython 3.12Windows x86-64

aubellhop-0.2-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-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-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: aubellhop-0.2-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-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 745146db71f89924f7fd9978840957fe2c5bd3a5f9caab31936b638588ab5734
MD5 ab669680e47a604455c55e63eb77fb53
BLAKE2b-256 31a4383c913e428a027f3f88a090dbbf0c4e35ae56bbe5ce4d9f74c7a52f660a

See more details on using hashes here.

Provenance

The following attestation bundles were made for aubellhop-0.2-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-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for aubellhop-0.2-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f993bc503c8aa5f711bd10ab79ab9d85eb24594de96a42a3edd037e6670b2fc7
MD5 e6c790fe8dcdd74614794932181982ac
BLAKE2b-256 c096a4f8d6cd0776c11b22efeb59eb003f3a5544f002203b119dc235c6c3e8fc

See more details on using hashes here.

Provenance

The following attestation bundles were made for aubellhop-0.2-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-cp312-cp312-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for aubellhop-0.2-cp312-cp312-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 c9182e8e20010ef590a431a574d7043fbff7719e858c5cb0f6a3b36a48596bf1
MD5 016ac26d3dfa0fed93a9b9861109096f
BLAKE2b-256 0b676d6fe1ab339080da6f1def0425868045fb58075747267a75a67ce942a3c8

See more details on using hashes here.

Provenance

The following attestation bundles were made for aubellhop-0.2-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