DASCore: a Python Library for Distributed Fiber Optic Sensing

Authors

  • Derrick Chambers Spokane Mining Research Division, National Institute for Occupational Safety and Health
  • Ge Jin Department of Geophysics, Colorado School of Mines
  • Ahmad Tourei Department of Geophysics, Colorado School of Mines
  • Abdul Hafiz Saeed Issah Department of Applied Math and Statistics, Colorado School of Mines
  • Ariel Lellouch Geophysics Department, Tel Aviv University
  • Eileen Martin Department of Geophysics and Department of Applied Math and Statistics, Colorado School of Mines
  • Donglin Zhu Department of Geophysics, Colorado School of Mines
  • Aaron Girard Department of Geophysics, Colorado School of Mines
  • Shihao Yuan Department of Geophysics, Colorado School of Mines
  • Thomas Cullison Department of Geophysics, Stanford University
  • Tomas Snyder Department of Geophysics, Colorado School of Mines
  • Seunghoo Kim Department of Geophysics, Colorado School of Mines; Department of Geophysics, Stanford University
  • Nicholas Danes Cyber Infrastructure and Advanced Research Computing, Colorado School of Mines
  • Nikhil Punithan Department of Geophysics, Colorado School of Mines
  • M. Shawn Boltz Spokane Mining Research Division, National Institute for Occupational Safety and Health
  • Manuel M. Mendoza Cooperative Institute for Research in Environmental Sciences and Department of Geological Sciences, University of Colorado Boulder

DOI:

https://doi.org/10.26443/seismica.v3i2.1184

Keywords:

DAS, Python, Open-source software

Abstract

In the past decade, distributed acoustic sensing (DAS) has enabled many new monitoring applications in diverse fields including hydrocarbon exploration and extraction; induced, local, regional, and global seismology; infrastructure and urban monitoring; and several others. However, to date, the open-source software ecosystem for handling DAS data is relatively immature. Here we introduce DASCore, a Python library for analyzing, visualizing, and managing DAS data. DASCore implements an object-oriented interface for performing common data processing and transformations, reading and writing various DAS file types, creating simple visualizations, and managing file system-based DAS archives. DASCore also integrates with other Python-based tools which enable the processing of massive data sets in cloud environments. DASCore is the foundational package for the broader DAS data analysis ecosystem (DASDAE), and as such its main goal is to facilitate the development of other DAS libraries and applications.

References

Alted, F., & Fernández-Alonso, M. (2003). PyTables: processing and analyzing extremely large amounts of data in Python. PyCon2003. April, 1–9.

Bauer, P. C., & Landesvatter, C. (2023). Writing a reproducible paper with RStudio and Quarto. https://doi.org/https://doi.org/10.31219/osf.io/ur4xn DOI: https://doi.org/10.31219/osf.io/ur4xn

Bloch, W., & Audet, P. (2023). PyRaysum: Software for Modeling Ray-theoretical Plane Body-wave Propagation in Dipping Anisotropic Media. Seismica, 2(1). https://doi.org/https://doi.org/10.26443/seismica.v2i1.220 DOI: https://doi.org/10.26443/seismica.v2i1.220

Bueno, A., Zuccarello, L., Dı́az-Moreno, A., Woollam, J., Titos, M., Benı́tez, C., Álvarez, I., Prudencio, J., & De Angelis, S. (2020). PICOSS: Python interface for the classification of seismic signals. Computers & Geosciences, 142, 104531. https://doi.org/https://doi.org/10.1016/j.cageo.2020.104531 DOI: https://doi.org/10.1016/j.cageo.2020.104531

Chamberlain, C. J., Hopp, C. J., Boese, C. M., Warren-Smith, E., Chambers, D., Chu, S. X., Michailos, K., & Townend, J. (2018). EQcorrscan: Repeating and near-repeating earthquake detection and analysis in Python. Seismological Research Letters, 89(1), 173–181. https://doi.org/https://doi.org/10.1785/0220170151 DOI: https://doi.org/10.1785/0220170151

Chambers, D. J., Boltz, M. S., & Chamberlain, C. J. (2021). ObsPlus: A Pandas-centric ObsPy expansion pack. Journal of Open Source Software, 6(60), 2696. https://doi.org/https://doi.org/10.21105/joss.02696 DOI: https://doi.org/10.21105/joss.02696

Collette, A., Kluyver, T., Caswell, T. A., Tocknell, J., Kieffer, J., Scopatz, A., Dale, D., Jelenak, A., VINCENT, T., Sciarelli, P., & others. (2021). h5py/h5py: 3.1. 0. Zenodo. https://doi.org/https://doi.org/10.5281/zenodo.7568214

Hamman, J., Rocklin, M., & Abernathy, R. (2018). Pangeo: a big-data ecosystem for scalable earth system science. EGU General Assembly Conference Abstracts, 12146.

Harris, C. R., Millman, K. J., Van Der Walt, S. J., Gommers, R., Virtanen, P., Cournapeau, D., Wieser, E., Taylor, J., Berg, S., Smith, N. J., & others. (2020). Array programming with NumPy. Nature, 585(7825), 357–362. https://doi.org/https://doi.org/10.1038/s41586-020-2649-2 DOI: https://doi.org/10.1038/s41586-020-2649-2

Heimann, S., Kriegerowski, M., Isken, M., Cesca, S., Daout, S., Grigoli, F., Juretzek, C., Megies, T., Nooshiri, N., Steinberg, A., & others. (2017). Pyrocko-An open-source seismology toolbox and library. https://doi.org/https://doi.org/10.5880/GFZ.2.1.2017.001

Hoyer, S., & Hamman, J. (2017). Xarray: ND labeled arrays and datasets in Python. Journal of Open Research Software, 5(1). https://doi.org/https://doi.org/10.5334/jors.148 DOI: https://doi.org/10.5334/jors.148

Hunter, J. D. (2007). Matplotlib: A 2D graphics environment. Computing in Science & Engineering, 9(3), 90–95. https://doi.org/https://doi.org/10.1109/MCSE.2007.55 DOI: https://doi.org/10.1109/MCSE.2007.55

Jiang, C., & Denolle, M. A. (2020). NoisePy: A new high-performance python tool for ambient-noise seismology. Seismological Research Letters, 91(3), 1853–1866. https://doi.org/https://doi.org/10.1785/0220190364 DOI: https://doi.org/10.1785/0220190364

Krischer, L., Megies, T., Barsch, R., Beyreuther, M., Lecocq, T., Caudron, C., & Wassermann, J. (2015). ObsPy: A bridge for seismology into the scientific Python ecosystem. Computational Science & Discovery, 8(1), 014003. https://doi.org/https://doi.org/10.1088/1749-4699/8/1/014003 DOI: https://doi.org/10.1088/1749-4699/8/1/014003

Lindsey, N. J., & Martin, E. R. (2021). Fiber-optic seismology. Annual Review of Earth and Planetary Sciences, 49, 309–336. https://doi.org/https://doi.org/10.1146/annurev-earth-072420-065213 DOI: https://doi.org/10.1146/annurev-earth-072420-065213

Price-Whelan, A. M., Lim, P. L., Earl, N., Starkman, N., Bradley, L., Shupe, D. L., Patil, A. A., Corrales, L., Brasseur, C., Nöthe, M., & others. (2022). The Astropy Project: sustaining and growing a community-oriented open-source project and the latest major release (v5. 0) of the core package. The Astrophysical Journal, 935(2), 167. https://doi.org/https://doi.org/10.3847/1538-4357/ac7c74 DOI: https://doi.org/10.3847/1538-4357/ac7c74

Robitaille, T. P., Tollerud, E. J., Greenfield, P., Droettboom, M., Bray, E., Aldcroft, T., Davis, M., Ginsburg, A., Price-Whelan, A. M., Kerzendorf, W. E., & others. (2013). Astropy: A community Python package for astronomy. Astronomy & Astrophysics, 558, A33. https://doi.org/https://doi.org/10.1051/0004-6361/201322068 DOI: https://doi.org/10.1051/0004-6361/201322068

Rocklin, M. (2015). Dask: Parallel computation with blocked algorithms and task scheduling. Proceedings of the 14th Python in Science Conference, 130, 136. https://doi.org/https://doi.org/10.25080/Majora-7b98e3ed-013 DOI: https://doi.org/10.25080/Majora-7b98e3ed-013

Shipley, D., Weltevrede, B., Doniger, A., Klumpen, H. E., & Ormerod, L. (2008). Production data standards: The PRODML business case and evolution. SPE Intelligent Energy International Conference and Exhibition, SPE-112259. https://doi.org/https://doi.org/10.2118/112259-MS DOI: https://doi.org/10.2118/112259-MS

Spica, Z. J., Ajo-Franklin, J., Beroza, G. C., Biondi, B., Cheng, F., Gaite, B., Luo, B., Martin, E., Shen, J., Thurber, C., Viens, L., Wang, H., Wuestefeld, A., Xiao, H., & Zhu, T. (2023). PubDAS: A PUBlic Distributed Acoustic Sensing Datasets Repository for Geosciences. Seismological Research Letters, 94(2A), 983–998. https://doi.org/https://doi.org/10.1785/0220220279 DOI: https://doi.org/10.1785/0220220279

Staněk, F., Jin, G., & Simmons, J. (2022). Fracture imaging using DAS-recorded microseismic events. Frontiers in Earth Science, 10, 907749. https://doi.org/https://doi.org/10.3389/feart.2022.907749 DOI: https://doi.org/10.3389/feart.2022.907749

Uieda, L., Soler, S. R., Rampin, R., Van Kemenade, H., Turk, M., Shapero, D., Banihirwe, A., & Leeman, J. (2020). Pooch: A friend to fetch your data files. Journal of Open Source Software, 5(45), 1943. https://doi.org/https://doi.org/10.21105/joss.01943 DOI: https://doi.org/10.21105/joss.01943

Virtanen, P., Gommers, R., Oliphant, T. E., Haberland, M., Reddy, T., Cournapeau, D., Burovski, E., Peterson, P., Weckesser, W., Bright, J., & others. (2020). SciPy 1.0: fundamental algorithms for scientific computing in Python. Nature Methods, 17(3), 261–272. https://doi.org/https://doi.org/10.1038/s41592-019-0686-2 DOI: https://doi.org/10.1038/s41592-020-0772-5

Published

2024-07-30

How to Cite

Chambers, D., Jin, G., Tourei, A., Saeed Issah, A. H., Lellouch, A., Martin, E., Zhu, D., Girard, A., Yuan, S., Cullison, T., Snyder, T., Kim, S., Danes, N., Punithan, N., Boltz, M. S., & Mendoza, M. M. (2024). DASCore: a Python Library for Distributed Fiber Optic Sensing. Seismica, 3(2). https://doi.org/10.26443/seismica.v3i2.1184

Issue

Section

Reports (excl. Fast Reports)