Skip to main content

Welcome to Kadlu, a Python package for modelling ocean ambient noise

Kadlu was developed for the purpose of modelling noise due to waves and rain in shallow coastal waters, but contains tools useful for many other underwater sound modelling tasks.

Kadlu is written in Python and utilizes a number of powerful software packages including NumPy, HDF5, NetCDF-4, and SQLite. It is licensed under the GNU GPLv3 license and hence freely available for anyone to use and modify. The project is hosted on GitLab at https://git-dev.cs.dal.ca/meridian/kadlu. Kadlu was developed by the MERIDIAN Data Analytics Team at the Institute for Big Data Analytics at Dalhousie University with the support and assistance of David Barclay and Calder Robinson, both from the Department of Oceanography at Dalhousie University.

Kadlu provides functionalities that automate the process of fetching and interpolating environmental data necessary to model ocean ambient noise levels (bathymetry, water temperature and salinity, wave height, wind speed, etc.). It also includes various routines that allow accurate estimates of noise source levels and transmission losses in realistic ocean environments. You can find more information about the technical aspects of how sound propagation is modelled in Kadlu in this note.

The intended users of Kadlu are researchers and students in underwater acoustics working with ambient noise modeling. While Kadlu comes with complete documentation and comprehensive step-by-step tutorials, some familiarity with Python and especially the NumPy package would be beneficial. A basic understanding of the physical principles of underwater sound propagation would also be an advantage.

For more information, please consult Kadlu's Documentation Page.

Installation

Kadlu runs on the most recent stable version of Python 3.

  1. ensure that GCC is installed. On Ubuntu, this can be done by installing the build-essential package if its not installed already

    sudo apt update 
    sudo apt install build-essential
    
  2. Install Kadlu using pip

    python -m pip install kadlu
    

Configuration

Optionally set the storage directory

Kadlu allows configuration for where data is stored on your machine. By default, a folder 'kadlu_data' will be created in the home directory. To specify a custom location, run the following:

import kadlu
kadlu.storage_cfg(setdir='/specify/desired/path/here/')

Optionally add an API token for fetching ERA5 data

Kadlu uses ECMWF's Era5 dataset as one of the data sources for wave height/direction/period and wind speed data. By default, an API token is included with kadlu, but if you intend to make frequent use of the Era5 dataset, please consider obtaining your own token. This can be obtained by registering an account at Copernicus API. Once logged in, your token and URL will be displayed on the aforementioned webpage under heading 'Install the CDS API key'. Additionally, you will need to accept the Copernicus Terms of Use to activate the token.

Configure Kadlu to use the token by executing:

kadlu.era5_cfg(key="TOKEN_HERE", url="URL_HERE")

Jupyter notebook tutorials

  1. The Ocean Module

  2. Fetch and Load Environmental Data

  3. Interpolate Multi-Dimensional Data

  4. Plot and Export Data

  5. Transmission Loss

Notes for developers

The CI pipeline caches all data pulled from external APIs by the tests. This allows for faster execution of the pipeline, but means that the data fetching step is not being tested. Therefore, it is advisable to periodically clean the runner caches manually.

To skip execution of the CI pipeline, append -o ci.skip to the git push command.

Useful resources

  • gsw Python package (Python implementation of the Thermodynamic Equation of Seawater 2010)

Metadata

Release files for kadlu 2.4.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for kadlu 2.4.0
File Size Uploaded
kadlu-2.4.0.tar.gz 91.0 kB Details

Release files / kadlu-2.4.0.tar.gz

Download URL kadlu-2.4.0.tar.gz
Size 91.0 kB
Tags Source
SHA-256 checksum
How to use checksums
bf9d998562f29a5fd2460cdae9e552809410ea05f76bcae08257fa175e2c2605
BLAKE2b-256 checksum
How to use checksums
419af9d11f718323fb79f76b378fd3d0855c842dccd9b70b71b36e45002a8694
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.9.19

Release history Release notifications | RSS feed

2.4.3

1 release file

2.4.2

1 release file

2.4.1

1 release file

This release

2.4.0 This release

1 release file

2.3.7

1 release file

2.3.6

2 release files

2.3.5

2 release files

2.3.4

2 release files

2.3.3

2 release files

2.3.2

2 release files

2.3.1

2 release files

2.3.0

2 release files

2.2.4

2 release files

2.2.3

2 release files

2.2.2

2 release files

2.2.1

2 release files

2.2.0

2 release files

2.1.3

2 release files

2.1.2

2 release files

2.1.1

2 release files

2.1.0

2 release files

2.0.0

1 release file

1.0.1

2 release files

1.0.0

1 release file

0.0.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page