PRIMO - The P&A Project Optimizer
Project description
PRIMO - The P&A Project Optimizer Toolkit
PRIMO - The P&A Project Optimizer Toolkit aims to provide multi-scale, simulation-based, open source computational tools and models to support the Methane Emissions Reduction Program (MERP) and the National Emissions Reduction Initiative (NEMRI).
Project Status
Getting Started
Our complete documentation is available on readthedocs, but here is a summarized set of steps to get started using the framework.
While not required, we encourage the installation of Anaconda or Miniconda and using the conda command to create a separate python environment in which to install the PRIMO Toolkit.
Regular users can use conda to create a new "primo" environment.
conda env create -f conda-env.yml
This creates a new conda environment with the name "primo" that comes installed with all required dependencies to solve PRIMO's optimization problems.
Developers can create a new "primo" environment by executing:
conda env create -f conda-env-dev.yml
Activate the new environment with:
conda activate primo
Additionally, developers should complete the installation of the playwright package which is required for running tests.
playwright install
To test the installation of the primo package, execute:
pytest primo\utils\tests\test_imports.py
The above test, if executed successfully, confirms that primo package is now installed and available in the "primo" package that was just created.
To use the utilities implemented in the PRIMO package that query the U.S. Census API and Bing Maps API, appropriate API keys must be obtained by signing up with the respective services. These keys must be configured in a .env file in the parent directory. For more details, please see: API Keys
Additionally, use of elevation based utilities requires the user to provide a GeoTIFF file that provides elevation data across the region of interest. Users can download this data from USGS Science Data Catalog. For more details, please see: Elevation Data
Users can also employ other commercial solvers, for example Gurobi, to solve the optimization problem. However, users are responsible for configuring and setting up these solvers themselves.
General, background and overview information is available at the NEMRI website.
Running PRIMO with Binder
You can run PRIMO with Binder: a public cloud service that provides a temporary and short-lived sandbox environment to run PRIMO without installing any software locally.
Quickstart
You can launch the Binder environment by clicking on the following badge:
Key Notes
- Binder environments are automatically destroyed after a few minutes of inactivity. To avoid lost work, please download the notebook file on your local machine periodically.
- The Binder provided environment is public and insecure. Please do not use this environment to work with sensitive data.
Funding acknowledgements
This work was conducted as part of the National Emissions Reduction Initiative with support through the Environmental Protection Agency - Methane Emissions Reduction Program within the U.S. Department of Energy’s Office of Fossil Energy and Carbon Management (FECM). As of 2023, additional support was provided by FECM’s Solid Oxide Fuel Cell Program, and Transformative Power Generation Program.
Contributing
By contributing to this repository, you are agreeing to all the terms set out in the LICENSE.md and COPYRIGHT.md files in this directory.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file primo_optimizer-0.2.2rc1.tar.gz.
File metadata
- Download URL: primo_optimizer-0.2.2rc1.tar.gz
- Upload date:
- Size: 141.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.0.1 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8203c00cdd0bf84779799e18cd24ba40a6823095b13f26e48a501f15b996f636
|
|
| MD5 |
fd0484446b89d32fde9eb0db423078c1
|
|
| BLAKE2b-256 |
fd89835535743bba5b5dd49e59861a215a0498def2c6f079dace07efcf5bf8ec
|
Provenance
The following attestation bundles were made for primo_optimizer-0.2.2rc1.tar.gz:
Publisher:
publish_pypi.yml on NEMRI-org/primo-optimizer
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
primo_optimizer-0.2.2rc1.tar.gz -
Subject digest:
8203c00cdd0bf84779799e18cd24ba40a6823095b13f26e48a501f15b996f636 - Sigstore transparency entry: 164459692
- Sigstore integration time:
-
Permalink:
NEMRI-org/primo-optimizer@f63fc8ea7bfd05837dbd18208b28b0e1e0e8e35c -
Branch / Tag:
refs/tags/0.2.2rc1 - Owner: https://github.com/NEMRI-org
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish_pypi.yml@f63fc8ea7bfd05837dbd18208b28b0e1e0e8e35c -
Trigger Event:
push
-
Statement type:
File details
Details for the file primo_optimizer-0.2.2rc1-py3-none-any.whl.
File metadata
- Download URL: primo_optimizer-0.2.2rc1-py3-none-any.whl
- Upload date:
- Size: 183.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.0.1 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8d822432d955abcf1471666191b3cdac5283e9321df89925c1d0385b09bea2fa
|
|
| MD5 |
2003c6e2a7530add43ac3ca3be4c37d4
|
|
| BLAKE2b-256 |
962f04acbf7e5ebb38e8392d4cdbf34d9fa1083ddfeb496ecb4615c3d45637e4
|
Provenance
The following attestation bundles were made for primo_optimizer-0.2.2rc1-py3-none-any.whl:
Publisher:
publish_pypi.yml on NEMRI-org/primo-optimizer
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
primo_optimizer-0.2.2rc1-py3-none-any.whl -
Subject digest:
8d822432d955abcf1471666191b3cdac5283e9321df89925c1d0385b09bea2fa - Sigstore transparency entry: 164459695
- Sigstore integration time:
-
Permalink:
NEMRI-org/primo-optimizer@f63fc8ea7bfd05837dbd18208b28b0e1e0e8e35c -
Branch / Tag:
refs/tags/0.2.2rc1 - Owner: https://github.com/NEMRI-org
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish_pypi.yml@f63fc8ea7bfd05837dbd18208b28b0e1e0e8e35c -
Trigger Event:
push
-
Statement type: