pyelq-sdk


Namepyelq-sdk JSON
Version 1.0.4 PyPI version JSON
download
home_pagehttps://sede-open.github.io/pyELQ/
SummaryPackage for detection, localization and quantification code.
upload_time2024-03-13 12:40:52
maintainer
docs_urlNone
authorBas van de Kerkhof
requires_python>=3.9,<3.12
licenseApache-2.0
keywords gas dispersion emission detection localization quantification
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <!--
SPDX-FileCopyrightText: 2024 Shell Global Solutions International B.V. All Rights Reserved.

SPDX-License-Identifier: Apache-2.0
-->

<div align="center">

[![PyPI version](https://img.shields.io/pypi/v/pyelq-sdk.svg?logo=pypi&logoColor=FFE873)](https://pypi.org/project/pyelq-sdk/)
[![Supported Python versions](https://img.shields.io/pypi/pyversions/pyelq-sdk.svg?logo=python&logoColor=FFE873)](https://pypi.org/project/pyelq-sdk/)
[![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
[![Code Style Black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
[![Tests](https://github.com/sede-open/pyelq/actions/workflows/main.yml/badge.svg?branch=main)](https://github.com/sede-open/pyelq/actions/workflows/main.yml)

[![Coverage](https://sonarcloud.io/api/project_badges/measure?project=pyelq_pyelq&metric=coverage)](https://sonarcloud.io/summary/new_code?id=pyelq_pyelq)
[![Vulnerabilities](https://sonarcloud.io/api/project_badges/measure?project=pyelq_pyelq&metric=vulnerabilities)](https://sonarcloud.io/summary/new_code?id=pyelq_pyelq)
[![Bugs](https://sonarcloud.io/api/project_badges/measure?project=pyelq_pyelq&metric=bugs)](https://sonarcloud.io/summary/new_code?id=pyelq_pyelq)
[![Lines of Code](https://sonarcloud.io/api/project_badges/measure?project=pyelq_pyelq&metric=ncloc)](https://sonarcloud.io/summary/new_code?id=pyelq_pyelq)
[![Duplicated Lines (%)](https://sonarcloud.io/api/project_badges/measure?project=pyelq_pyelq&metric=duplicated_lines_density)](https://sonarcloud.io/summary/new_code?id=pyelq_pyelq)
[![Code Smells](https://sonarcloud.io/api/project_badges/measure?project=pyelq_pyelq&metric=code_smells)](https://sonarcloud.io/summary/new_code?id=pyelq_pyelq)
[![Security Rating](https://sonarcloud.io/api/project_badges/measure?project=pyelq_pyelq&metric=security_rating)](https://sonarcloud.io/summary/new_code?id=pyelq_pyelq)
[![Maintainability Rating](https://sonarcloud.io/api/project_badges/measure?project=pyelq_pyelq&metric=sqale_rating)](https://sonarcloud.io/summary/new_code?id=pyelq_pyelq)
</div>

# pyELQ
This repository contains the Python Emission Localization and Quantification software we call pyELQ. It is code used 
for gas dispersion modelling, in particular methane emissions detection, localization and quantification. 

***
# Background
The **py**thon **E**mission **L**ocalization and **Q**uantification (pyELQ) code aims to maximize effective use of 
existing measurement data, especially from continuous monitoring solutions. The code has been developed to detect, 
localize, and quantify methane emissions from concentration and wind measurements. It can be used in combination with 
point or beam sensors that are placed strategically on an area of interest.

The algorithms in the pyELQ code are based a Bayesian statistics framework. pyELQ can ingest long-term concentration 
and wind data, and it performs an inversion to predict the likely strengths and locations of persistent methane sources. 
The goal is to arrive at a plausible estimate of methane emissions from an area of interest that matches the measured 
data. The predictions from pyELQ come with uncertainty ranges that are representative of probability density functions 
sampled by a Markov Chain Monte Carlo method. Time series of varying length can be processed by pyELQ: in general, 
the Bayesian inversion leads to a more constrained solution if more high-precision measurement data is available. 
We have tested our code under controlled conditions as well as in operating oil and gas facilities.

The information on the strength and the approximate location of methane emission sources provided by pyELQ can help 
operators with more efficient identification and quantification of (unexpected) methane sources, in order to start 
appropriate mitigating actions accordingly. The pyELQ code is being made available in an open-source environment, 
to support various assets in their quest to reduce methane emissions.

Use cases where the pyELQ code has been applied are described in the following papers:

* IJzermans, R., Jones, M., Weidmann, D. et al. "Long-term continuous monitoring of methane emissions at an oil and gas facility using a multi-open-path laser dispersion spectrometer." Sci Rep 14, 623 (2024). (https://doi.org/10.1038/s41598-023-50081-9)

* Weidmann, D., Hirst, B. et al. "Locating and Quantifying Methane Emissions by Inverse Analysis of Path-Integrated Concentration Data Using a Markov-Chain Monte Carlo Approach." ACS Earth and Space Chemistry 2022 6 (9), 2190-2198  (https://doi.org/10.1021/acsearthspacechem.2c00093)
***
# Installing pyELQ as a package
Suppose you want to use this pyELQ package in a different project.
You can install it from [PyPi](https://pypi.org/project/pyelq-sdk/) through pip 
`pip install pyelq-sdk`.
Or you could clone the repository and install it from the source code. 
After activating the environment you want to install pyELQ in, open a terminal, move to the main pyELQ folder
where pyproject.toml is located and run `pip install .`, optionally you can pass the `-e` flag is for editable mode.
All the main options, info and settings for the package are found in the pyproject.toml file which sits in this repo
as well.

***

# Examples
For some examples on how to use this package please check out these [Examples](https://github.com/sede-open/pyELQ/blob/main/examples)

***

# Contribution
This project welcomes contributions and suggestions. If you have a suggestion that would make this better you can simply open an issue with a relevant title. Don't forget to give the project a star! Thanks again!

For more details on contributing to this repository, see the [Contributing guide](https://github.com/sede-open/pyELQ/blob/main/CONTRIBUTING.md).

***
# Licensing

Distributed under the Apache License Version 2.0. See the [license file](https://github.com/sede-open/pyELQ/blob/main/LICENSE.md) for more information.


            

Raw data

            {
    "_id": null,
    "home_page": "https://sede-open.github.io/pyELQ/",
    "name": "pyelq-sdk",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.9,<3.12",
    "maintainer_email": "",
    "keywords": "gas dispersion,emission,detection,localization,quantification",
    "author": "Bas van de Kerkhof",
    "author_email": "",
    "download_url": "https://files.pythonhosted.org/packages/06/49/d24e8df2b75b9ce3aae88a23bf0c878c38046f2fbe99a3be2a1b5018b0bc/pyelq_sdk-1.0.4.tar.gz",
    "platform": null,
    "description": "<!--\nSPDX-FileCopyrightText: 2024 Shell Global Solutions International B.V. All Rights Reserved.\n\nSPDX-License-Identifier: Apache-2.0\n-->\n\n<div align=\"center\">\n\n[![PyPI version](https://img.shields.io/pypi/v/pyelq-sdk.svg?logo=pypi&logoColor=FFE873)](https://pypi.org/project/pyelq-sdk/)\n[![Supported Python versions](https://img.shields.io/pypi/pyversions/pyelq-sdk.svg?logo=python&logoColor=FFE873)](https://pypi.org/project/pyelq-sdk/)\n[![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)\n[![Code Style Black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)\n[![Tests](https://github.com/sede-open/pyelq/actions/workflows/main.yml/badge.svg?branch=main)](https://github.com/sede-open/pyelq/actions/workflows/main.yml)\n\n[![Coverage](https://sonarcloud.io/api/project_badges/measure?project=pyelq_pyelq&metric=coverage)](https://sonarcloud.io/summary/new_code?id=pyelq_pyelq)\n[![Vulnerabilities](https://sonarcloud.io/api/project_badges/measure?project=pyelq_pyelq&metric=vulnerabilities)](https://sonarcloud.io/summary/new_code?id=pyelq_pyelq)\n[![Bugs](https://sonarcloud.io/api/project_badges/measure?project=pyelq_pyelq&metric=bugs)](https://sonarcloud.io/summary/new_code?id=pyelq_pyelq)\n[![Lines of Code](https://sonarcloud.io/api/project_badges/measure?project=pyelq_pyelq&metric=ncloc)](https://sonarcloud.io/summary/new_code?id=pyelq_pyelq)\n[![Duplicated Lines (%)](https://sonarcloud.io/api/project_badges/measure?project=pyelq_pyelq&metric=duplicated_lines_density)](https://sonarcloud.io/summary/new_code?id=pyelq_pyelq)\n[![Code Smells](https://sonarcloud.io/api/project_badges/measure?project=pyelq_pyelq&metric=code_smells)](https://sonarcloud.io/summary/new_code?id=pyelq_pyelq)\n[![Security Rating](https://sonarcloud.io/api/project_badges/measure?project=pyelq_pyelq&metric=security_rating)](https://sonarcloud.io/summary/new_code?id=pyelq_pyelq)\n[![Maintainability Rating](https://sonarcloud.io/api/project_badges/measure?project=pyelq_pyelq&metric=sqale_rating)](https://sonarcloud.io/summary/new_code?id=pyelq_pyelq)\n</div>\n\n# pyELQ\nThis repository contains the Python Emission Localization and Quantification software we call pyELQ. It is code used \nfor gas dispersion modelling, in particular methane emissions detection, localization and quantification. \n\n***\n# Background\nThe **py**thon **E**mission **L**ocalization and **Q**uantification (pyELQ) code aims to maximize effective use of \nexisting measurement data, especially from continuous monitoring solutions. The code has been developed to detect, \nlocalize, and quantify methane emissions from concentration and wind measurements. It can be used in combination with \npoint or beam sensors that are placed strategically on an area of interest.\n\nThe algorithms in the pyELQ code are based a Bayesian statistics framework. pyELQ can ingest long-term concentration \nand wind data, and it performs an inversion to predict the likely strengths and locations of persistent methane sources. \nThe goal is to arrive at a plausible estimate of methane emissions from an area of interest that matches the measured \ndata. The predictions from pyELQ come with uncertainty ranges that are representative of probability density functions \nsampled by a Markov Chain Monte Carlo method. Time series of varying length can be processed by pyELQ: in general, \nthe Bayesian inversion leads to a more constrained solution if more high-precision measurement data is available. \nWe have tested our code under controlled conditions as well as in operating oil and gas facilities.\n\nThe information on the strength and the approximate location of methane emission sources provided by pyELQ can help \noperators with more efficient identification and quantification of (unexpected) methane sources, in order to start \nappropriate mitigating actions accordingly. The pyELQ code is being made available in an open-source environment, \nto support various assets in their quest to reduce methane emissions.\n\nUse cases where the pyELQ code has been applied are described in the following papers:\n\n* IJzermans, R., Jones, M., Weidmann, D. et al. \"Long-term continuous monitoring of methane emissions at an oil and gas facility using a multi-open-path laser dispersion spectrometer.\" Sci Rep 14, 623 (2024). (https://doi.org/10.1038/s41598-023-50081-9)\n\n* Weidmann, D., Hirst, B. et al. \"Locating and Quantifying Methane Emissions by Inverse Analysis of Path-Integrated Concentration Data Using a Markov-Chain Monte Carlo Approach.\" ACS Earth and Space Chemistry 2022 6 (9), 2190-2198  (https://doi.org/10.1021/acsearthspacechem.2c00093)\n***\n# Installing pyELQ as a package\nSuppose you want to use this pyELQ package in a different project.\nYou can install it from [PyPi](https://pypi.org/project/pyelq-sdk/) through pip \n`pip install pyelq-sdk`.\nOr you could clone the repository and install it from the source code. \nAfter activating the environment you want to install pyELQ in, open a terminal, move to the main pyELQ folder\nwhere pyproject.toml is located and run `pip install .`, optionally you can pass the `-e` flag is for editable mode.\nAll the main options, info and settings for the package are found in the pyproject.toml file which sits in this repo\nas well.\n\n***\n\n# Examples\nFor some examples on how to use this package please check out these [Examples](https://github.com/sede-open/pyELQ/blob/main/examples)\n\n***\n\n# Contribution\nThis project welcomes contributions and suggestions. If you have a suggestion that would make this better you can simply open an issue with a relevant title. Don't forget to give the project a star! Thanks again!\n\nFor more details on contributing to this repository, see the [Contributing guide](https://github.com/sede-open/pyELQ/blob/main/CONTRIBUTING.md).\n\n***\n# Licensing\n\nDistributed under the Apache License Version 2.0. See the [license file](https://github.com/sede-open/pyELQ/blob/main/LICENSE.md) for more information.\n\n",
    "bugtrack_url": null,
    "license": "Apache-2.0",
    "summary": "Package for detection, localization and quantification code.",
    "version": "1.0.4",
    "project_urls": {
        "Documentation": "https://sede-open.github.io/pyELQ/",
        "Homepage": "https://sede-open.github.io/pyELQ/",
        "Repository": "https://github.com/sede-open/pyELQ"
    },
    "split_keywords": [
        "gas dispersion",
        "emission",
        "detection",
        "localization",
        "quantification"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f3e4b2424b0acce8f879cb5e5e6b691216a0387a440e0af5bf837e6eb5f841d3",
                "md5": "e67c29f61b4b8194935f6936a64ac4cd",
                "sha256": "e10cc7d9872e8f1fddd40397b240a7e02daddcf29744456320fb8a524dece0c5"
            },
            "downloads": -1,
            "filename": "pyelq_sdk-1.0.4-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "e67c29f61b4b8194935f6936a64ac4cd",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9,<3.12",
            "size": 85980,
            "upload_time": "2024-03-13T12:40:51",
            "upload_time_iso_8601": "2024-03-13T12:40:51.573326Z",
            "url": "https://files.pythonhosted.org/packages/f3/e4/b2424b0acce8f879cb5e5e6b691216a0387a440e0af5bf837e6eb5f841d3/pyelq_sdk-1.0.4-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0649d24e8df2b75b9ce3aae88a23bf0c878c38046f2fbe99a3be2a1b5018b0bc",
                "md5": "9edd6ec7095fe5bfc5090a6d4239a50f",
                "sha256": "47274553fa35f89feac4b8ff739f3a15de3927b0a224722c53c507e8eb7b833e"
            },
            "downloads": -1,
            "filename": "pyelq_sdk-1.0.4.tar.gz",
            "has_sig": false,
            "md5_digest": "9edd6ec7095fe5bfc5090a6d4239a50f",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9,<3.12",
            "size": 70796,
            "upload_time": "2024-03-13T12:40:52",
            "upload_time_iso_8601": "2024-03-13T12:40:52.956284Z",
            "url": "https://files.pythonhosted.org/packages/06/49/d24e8df2b75b9ce3aae88a23bf0c878c38046f2fbe99a3be2a1b5018b0bc/pyelq_sdk-1.0.4.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-03-13 12:40:52",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "sede-open",
    "github_project": "pyELQ",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "pyelq-sdk"
}
        
Elapsed time: 0.23211s