Cloud-native, scalable, and user-friendly multi dimensional energy data!


Keywords
mdio, multidimio, seismic, wind, data, dask, deep-learning, energy, machine-learning, segy, zarr
License
Apache-2.0
Install
pip install multidimio==1.0.3

Documentation

MDIO

PyPI Conda Python Version Status License

Tests Codecov Read the documentation at https://mdio-python.readthedocs.io/

pre-commit Ruff

PyPI Downloads Conda Downloads

🎉 MDIO v1 is out. Ingestion and export for SEG-Y is fully functional with templates! However, there may still be minor issues. Please report any issues you encounter.

🚧👷🏻 We are actively working on updating the documentation and adding missing features to v1 release. Please check back later for more updates!

"MDIO" is a library to work with large multidimensional energy datasets. The primary motivation behind MDIO is to represent multidimensional time series data in a format that makes it easier to use in resource assessment, machine learning, and data processing workflows.

See the documentation for more information.

This is not an official TGS product.

Features

Shared Features

  • Abstractions for common energy data types (see below).
  • Cloud native chunked storage based on Zarr and fsspec.
  • Standardized models for lossy and lossless data compression using Blosc and ZFP.
  • Distributed reads and writes using Dask.
  • Powerful command-line-interface (CLI) based on Click

Domain Specific Features

  • Oil & Gas Data
    • Import and export 2D - 5D seismic data types stored in SEG-Y.
    • Optimized chunking logic for various seismic types using MDIO templates.
    • Native Xarray data model and interface wrapper.
    • Import seismic interpretation, horizon, data. FUTURE

Installing MDIO

Simplest way to install MDIO via pip from PyPI:

$ pip install multidimio

or install MDIO via conda from conda-forge:

$ conda install -c conda-forge multidimio

Extras must be installed separately on Conda environments.

For details, please see the installation instructions in the documentation.

Using MDIO

Please see the Command-line Usage for details.

For Python API please see the API Reference for details.

Requirements

Minimal

Chunked storage and parallelization: zarr, dask, numba, and psutil.
SEG-Y Parsing: TGSAI/segy
CLI and Progress Bars: click, click-params, and tqdm.

Optional

Distributed computing [distributed]: distributed and bokeh.
Cloud Object Store I/O [cloud]: s3fs, gcsfs, and adlfs.
Lossy Compression [lossy]: zfpy

Contributing to MDIO

Contributions are very welcome. To learn more, see the Contributor Guide.

Licensing

Distributed under the terms of the Apache 2.0 license, MDIO is free and open source software.

Issues

If you encounter any problems, please file an issue along with a detailed description.

Credits

This project was established at TGS. The current maintainer is Altay Sansal with the support of many more great colleagues.