echostack is an open-source ecosystem of interoperable Python packages for processing, analyzing, visualizing, and managing scientific echosounder data.
The ecosystem provides modular and scalable software components for working with water-column sonar data, from raw instrument files to calibrated, analysis-ready data products and downstream ecological interpretation.
Built on the Scientific Python ecosystem, Echostack leverages libraries such as xarray, Dask, Zarr, NetCDF, fsspec, and pandas, while integrating with community projects including regionmask, HoloViz, Prefect, and Pydantic.
The Echostack ecosystem builds upon the development of echopype:
Lee, W.J., Setiawan, L., Tuguinay, C., Mayorga, E. and Staneva, V. (2024). Interoperable and scalable echosounder data processing with Echopype. ICES Journal of Marine Science, 81(10), 1941–1951. https://doi.org/10.1093/icesjms/fsae133
Echostack is presented in:
Lee, W.J., Staneva, V., Setiawan, L., Mayorga, E., Tuguinay, C., Butala, S., Lucca, B. and Lei, D. (2024). Echostack: A flexible and scalable open-source software suite for echosounder data processing. Proceedings of the 23rd Python in Science Conference (SciPy 2024). https://doi.org/10.25080/WXRH8633
| Repository | Description | Activity |
|---|---|---|
| echopype | Data conversion, calibration, aggregation, and computation for echosounder data. | |
| echopype-examples | Example notebooks and tutorials demonstrating the Echostack ecosystem. | |
| echoregions | Interfaces echosounder data with annotations, lines, regions, and masks. | |
| echopop | Combines acoustic and biological data for population and biomass estimates. | |
| echoshader | Interactive visualization of large echosounder datasets. | |
| echodataflow | Workflow orchestration for local and cloud-based echosounder processing pipelines. | |
| echodataflow-recipes | Example recipes and configurations for Echodataflow workflows. | |
| echolevels | Proposed processing-level specifications for standardized echosounder data products. |
The Echostack ecosystem is designed to be:
- Modular: repositories can be used independently or combined into larger workflows.
- Interoperable: built upon the Scientific Python ecosystem and common open data formats.
- Scalable: from personal laptops to HPC clusters and cloud platforms.
- Open: community-driven, reproducible, and open-source.
We welcome contributions from researchers, developers, and users of ocean acoustic data.
- For package-specific bugs, feature requests, or documentation improvements, please open an issue or pull request in the relevant repository.
- For cross-repository discussions, shared standards, or organization-wide initiatives, use the
.githubrepository.
