Skip to main content

National Renewable Energy Laboratory's (NREL's) Geospatial Analysis Pipelines (GAPs) framework

Project description

https://github.com/NREL/gaps/workflows/Documentation/badge.svg https://github.com/NREL/gaps/workflows/Pytests/badge.svg https://github.com/NREL/gaps/workflows/Lint%20Code%20Base/badge.svg https://img.shields.io/pypi/pyversions/NREL-gaps.svg https://badge.fury.io/py/NREL-gaps.svg https://codecov.io/gh/NREL/gaps/branch/main/graph/badge.svg?token=6VZK0Q2QNQ

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

NOTE: The installation instruction below assume that you have python installed on your machine and are using conda as your package/environment manager.

  1. Clone the gaps repository.
    • Using ssh: git clone git@github.com:NREL/gaps.git

    • Using https: git clone https://github.com/NREL/gaps.git

  2. Create and activate the gaps environment and install the package:
    1. Create a conda env: conda create -n gaps python=3.10

    2. Activate the newly-created conda env: conda activate gaps

    3. Change directories into the repository: cd gaps

    4. Prior to running pip below, make sure the branch is correct (install from main!): git branch -vv

    5. Install gaps and its dependencies by running: pip install -e . (or pip install -e .[dev] if running a dev branch or working on the source code)

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

NREL-gaps-0.6.1.tar.gz (78.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

NREL_gaps-0.6.1-py3-none-any.whl (91.0 kB view details)

Uploaded Python 3

File details

Details for the file NREL-gaps-0.6.1.tar.gz.

File metadata

  • Download URL: NREL-gaps-0.6.1.tar.gz
  • Upload date:
  • Size: 78.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.13

File hashes

Hashes for NREL-gaps-0.6.1.tar.gz
Algorithm Hash digest
SHA256 35bc929202378064f1d69303e8b99e6ca80dfd51748e6f7dfbb339288e1c8f3f
MD5 21a4cc5321d11a52b6f571ad18dae2ad
BLAKE2b-256 892f40b5f342029639d3afa57a497e62ebbdef2dd00126e7ef4d116c199a0312

See more details on using hashes here.

File details

Details for the file NREL_gaps-0.6.1-py3-none-any.whl.

File metadata

  • Download URL: NREL_gaps-0.6.1-py3-none-any.whl
  • Upload date:
  • Size: 91.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.13

File hashes

Hashes for NREL_gaps-0.6.1-py3-none-any.whl
Algorithm Hash digest
SHA256 18ca29894456eab998f904be895377d4a89a9031afbc9a0aec9832dddd58ae90
MD5 884579d735e078c28e0d82d540fa3e7f
BLAKE2b-256 76ba28557090d672209097174fa419e0bfdb04845f8667a4624069848ad4d0a4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page