Skip to content
/ gaps Public

Geospatial Analysis Pipelines (GAPs) is a framework designed to scale single-location geospatial models to a High-Performance Computing (HPC) environment.

License

Notifications You must be signed in to change notification settings

NREL/gaps

Repository files navigation

Welcome to Geospatial Analysis Pipelines (GAPs)!

Docs Tests Linter Codecov PyPi PythonV Ruff Pixi License Static Badge

Geospatial Analysis Pipelines (GAPs) is a framework designed to assist researchers and software developers add execution tools to their geospatial python models. Born from the open-source reV model, GAPs is a robust and easy-to-use engine that provides a rich set of features such as command-line interface (CLI) generation and documentation, basic High-Performance Computing (HPC) scaling capabilities, configuration file generation, job status monitoring, and more.

Who should use GAPs

GAPs is intended to be used by researchers and/or software developers who have implemented a working python model but have not yet added any external model execution tools. Within minimal effort, developers can use GAPs to add a variety of utility for end-users, including a complete set of CLI commands and documentation pulled from the model run function docstrings. In addition, GAPs provides basic HPC execution capabilities, particularly catered towards embarrassingly parallel geospatial models (e.g. single-location models such as the System Advisor Model). GAPs can automatically distribute the execution of such models over a large geospatial extent (e.g. CONUS) across many parallel HPC nodes.

GAPs is NOT a workflow management system (WMS), and therefore does not provide any of the in-depth tools/capabilities expected from a proper WMS. However, GAPs-supported models can sometimes be included as part of the workflow in WMS tools like Torc.

To get started, take a look at the examples for analysts or model developers or dive straight into the full documentation.

Installing GAPs

The quickest way to install GAPs for users is from PyPi:

pip install nrel-gaps

If you are a developer contributing to GAPs, we recommend using pixi:

pixi shell

For detailed instructions, see the installation documentation.

Development

This repository uses pylint to lint the code and black to format it (check out the black formatting style). If you wish to contribute to this repository, your code will have to adhere to both of these guidelines and pass all existing tests.

Acknowledgments

Paul Pinchuk and Grant Buster. Geospatial Analysis Pipelines. 2023. https://doi.org/10.11578/dc.20230426.7

The authors of this code would like to thank ExxonMobil Corporation for their contributions to this effort.

About

Geospatial Analysis Pipelines (GAPs) is a framework designed to scale single-location geospatial models to a High-Performance Computing (HPC) environment.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages