Skip to main content

Docs Tests Linter PythonV Pypi Codecov Zenodo Binder


reV is an open-source geospatial techno-economic tool that estimates energy technical potential (capacity and generation), system cost, and supply curves for a variety of technologies, including but not limited to, geothermal (GT), pumped storage hydropower (PSH), solar photovoltaics (PV), concentrating solar power (CSP), wind energy, etc. reV allows researchers to include exhaustive spatial representation of the built and natural environment into the generation and cost estimates that it computes.

reV is highly dynamic, allowing analysts to assess potential at varying levels of detail — from a single site up to an entire continent at temporal resolutions ranging from five minutes to hourly, spanning a single year or multiple decades. The reV model can (and has been used to) provide broad coverage across large spatial extents, including North America, South and Central Asia, the Middle East, South America, and South Africa to inform national and international-scale analyses. Still, reV is equally well-suited for regional infrastructure and deployment planning and analysis.

For a detailed description of reV capabilities and functionality, see the NLR reV technical report.

How does reV work?

reV is a set of Python classes and functions that can be executed on HPC systems using CLI commands. A full reV execution consists of one or more compute modules (each consisting of their own Python class/CLI command) strung together using a pipeline framework, or configured using batch.

A typical reV workflow begins with input resource data (following the rex data format) that is passed through the generation module. This output is then collected across space and time (if executed on the HPC), before being sent off to be aggregated under user-specified land exclusion scenarios. Exclusion data is typically provided via a collection of high-resolution spatial data layers stored in an HDF5 file. This file must be readable by reV’s ExclusionLayers class. See the reVX Setbacks utility for instructions on generating setback exclusions for use in reV. Next, transmission costs are computed for each aggregated “supply-curve point” using user-provided transmission cost tables. See the reVX transmission cost calculator utility for instructions on generating transmission cost tables. Finally, the supply curves and initial generation data can be used to extract representative generation profiles for each supply curve point.


To get up and running with reV, first head over to the installation page, then check out some of the Examples or go straight to the CLI Documentation! You can also check out the guide on running GAPs models.

Installing reV

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

Option 1: Install from PIP (recommended for analysts):

  1. Create a new environment:

    conda create --name rev python=3.11

  2. Activate directory:

    conda activate rev

  3. Install reV:
    1. pip install NLR-reV or

      • NOTE: If you install using conda and want to use HSDS you will also need to install HSDS dependencies: pip install NLR-reV[hsds]

      • NOTE: If you intend to use the bespoke module, be sure to install the bespoke-specific dependencies: pip install NLR-reV[bespoke]

Option 2: Clone repo (recommended for developers)

  1. from home dir, git clone git@github.com:NatLabRockies/reV.git

  2. Create reV environment and install package
    1. Create a conda env: conda create -n rev

    2. Run the command: conda activate rev

    3. cd into the repo cloned in 1.

    4. prior to running pip below, make sure the branch is correct (install from main!)

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

      • NOTE: If you intend to work on reV development, be sure to grab all the dependencies: pip install -e ".[bespoke,dev,test,doc,hsds,build]"

  3. Check that reV was installed successfully
    1. From any directory, run the following commands. This should return the help pages for the CLI’s.

      • reV

reV Ecosystem

The reV model suite comes with a set of tools that can be used alongside the core model to assist with data preparation and analysis:

  • reVX - Collection of helper methods to pre- and post- process geospatial reV data (e.g. setback layers, inclusion masks, etc.)

  • rex - Library to assist with reV-style data I/O, especially resource data

  • reVRt - reV routing tool used to compute transmission costs

  • NRWAL - Equation Library for detailed cost analysis (offshore, hydrogen, etc.)

  • reVeal - reV extension for load analysis and land characterization

  • reVReports - Tool for generating publication-ready maps of reV supply curve outputs

  • reView - Dashboard for interactive visualization of reV supply curve outputs

  • reV tutorial - Collection of tutorials for learning how to use reV

  • gaps - Underlying reV pipeline job submission and management system

reV command line tools

Launching a run

Tips

reV pipeline -c "/scratch/user/rev/config_pipeline.json"
  • Running simply generation or econ can just be done from the console:

reV generation -c "/scratch/user/rev/config_gen.json"

General Run times and Node configuration on Eagle

  • WTK Conus: 10-20 nodes per year walltime 1-4 hours

  • NSRDB Conus: 5 nodes walltime 2 hours

Eagle node requests

Download files

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

Source Distribution

nlr_rev-0.17.0.tar.gz (931.1 kB view details)

Uploaded Source

Built Distribution

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

nlr_rev-0.17.0-py3-none-any.whl (967.8 kB view details)

Uploaded Python 3

File details

Details for the file nlr_rev-0.17.0.tar.gz.

File metadata

  • Download URL: nlr_rev-0.17.0.tar.gz
  • Upload date:
  • Size: 931.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for nlr_rev-0.17.0.tar.gz
Algorithm Hash digest
SHA256 42166a7da496b3ced4056238f18d30d99dca3dd6508d4f9a7a964367b0f7c683
MD5 d8230cc0e08866eae6b904d84d2b7799
BLAKE2b-256 467cc55014079837020253846eec74a05d487d74c43ed44ec6ad181b98700da4

See more details on using hashes here.

Provenance

The following attestation bundles were made for nlr_rev-0.17.0.tar.gz:

Publisher: publish_to_pypi.yml on NatLabRockies/reV

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file nlr_rev-0.17.0-py3-none-any.whl.

File metadata

  • Download URL: nlr_rev-0.17.0-py3-none-any.whl
  • Upload date:
  • Size: 967.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for nlr_rev-0.17.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ffd5a4d86474aa840bfeb115c84b0e96bff7a36835f883c6d7aafbce1b38782b
MD5 d91bcd381a7b82060d8c71265625de6f
BLAKE2b-256 2a6790f39490ff40845a7446f93f6fc039794a02f6b3f5244df74a3fc4a2ae47

See more details on using hashes here.

Provenance

The following attestation bundles were made for nlr_rev-0.17.0-py3-none-any.whl:

Publisher: publish_to_pypi.yml on NatLabRockies/reV

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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