Package: kadlu
Welcome to Kadlu, a Python package for modelling ocean ambient noiseKadlu 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
includingNumPy,HDF5,NetCDF-4, andSQLite.
It is licensed under theGNU GPLv3 licenseand hence freely available for anyone to use and modify.
The project is hosted on GitLab athttps://git-dev.cs.dal.ca/meridian/kadlu.
Kadlu was developed by theMERIDIANData Analytics Team at theInstitute for Big Data Analyticsat 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 inthis 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 consultKadlu's Documentation Page.InstallationKadlu runs on the most recent stable version of Python 3.ensure that GCC is installed. On Ubuntu, this can be done by installing the build-essential package if its not installed alreadysudoaptupdatesudoaptinstallbuild-essentialInstall Kadlu using pippython-mpipinstallkadluConfigurationOptionally set the storage directoryKadlu 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:importkadlukadlu.storage_cfg(setdir='/specify/desired/path/here/')Optionally add an API token for fetching ERA5 dataKadlu 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 atCopernicus 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 theCopernicus Terms of Useto activate the token.Configure Kadlu to use the token by executing:kadlu.era5_cfg(key="TOKEN_HERE",url="URL_HERE")Jupyter notebook tutorialsThe Ocean ModuleFetch and Load Environmental DataInterpolate Multi-Dimensional DataPlot and Export DataTransmission LossUseful resourcesgsw Python package(Python implementation of the Thermodynamic Equation of Seawater 2010)