Skip to main content

Enhancing the interoperability and scalability in analyzing ocean sonar data

Project description



Echopype is a package built to enable interoperability and scalability in ocean sonar data processing. These data are widely used for obtaining information about the distribution and abundance of marine animals, such as fish and krill. Our ability to collect large volumes of sonar data from a variety of ocean platforms has grown significantly in the last decade. However, most of the new data remain under-utilized. echopype aims to address the root cause of this problem - the lack of interoperable data format and scalable analysis workflows that adapt well with increasing data volume - by providing open-source tools as entry points for scientists to make discovery using these new data.


Echopype can be installed from PyPI:

$ pip install echopype

or through conda:

$ conda install -c conda-forge echopype

When creating an conda environment to work with echopype, do

$ conda create -c conda-forge --name echopype python=3.8 --file requirements.txt --file requirements-dev.txt

Functionality and Usage

Echopype converts data stored in manufacturer-specific binary formats from the following echosounders into standardized netCDF or zarr files, based on which all subsequent computations are performed.

  • .raw files generated by Simrad's EK60, EK80, and EA640 echosounders
  • .01A files generated by ASL Environmental Sciences' AZFP echosounder

Data processing routines currently include calibration (instrument-specific), noise removal, and mean volume backscattering strength (MVBS) calculation for narrowband echoes. EK80 calibration based on pulse compression output in the form of average over frequency is implemented.

For more details, check out the echopype documentation and watch the echopype talk at SciPy 2019 for background, discussions and a quick demo!

Echopype doesn't run on your data?

Please report any bugs by creating issues on GitHub. Pull requests are always welcome!


Wu-Jung Lee (@leewujung) leads this project and along with Kavin Nguyen (@ngkavin) are primary developers of this package. Valentina Staneva (@valentina-s) and Emilio Mayorga (@emiliom) provide consultation and also contribute to the development. Other contributors are listed in echopype documentation.

We thank Dave Billenness of ASL Environmental Sciences for providing the AZFP Matlab Toolbox as reference for our development of AZFP support in echopype. We also thank Rick Towler of the Alaska Fisheries Science Center for providing low-level file parsing routines for Simrad EK60 and EK80 echosounders.


Echopype is licensed under the open source Apache 2.0 license.

Copyright (c) 2018--, echopype Developers.

Project details

Download files

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

Files for echopype, version 0.4.1
Filename, size File type Python version Upload date Hashes
Filename, size echopype-0.4.1-py3-none-any.whl (129.0 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size echopype-0.4.1.tar.gz (115.8 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page