NREL-reV 0.9.7__tar.gz → 0.12.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (110) hide show
  1. nrel_rev-0.12.1/MANIFEST.in +12 -0
  2. nrel_rev-0.12.1/NREL_reV.egg-info/PKG-INFO +251 -0
  3. {NREL-reV-0.9.7 → nrel_rev-0.12.1}/NREL_reV.egg-info/SOURCES.txt +18 -2
  4. {NREL-reV-0.9.7 → nrel_rev-0.12.1}/NREL_reV.egg-info/entry_points.txt +0 -1
  5. nrel_rev-0.12.1/NREL_reV.egg-info/requires.txt +26 -0
  6. nrel_rev-0.12.1/PKG-INFO +251 -0
  7. {NREL-reV-0.9.7 → nrel_rev-0.12.1}/README.rst +1 -19
  8. nrel_rev-0.12.1/pyproject.toml +137 -0
  9. {NREL-reV-0.9.7 → nrel_rev-0.12.1}/reV/SAM/SAM.py +30 -7
  10. nrel_rev-0.12.1/reV/SAM/defaults/USA AZ Phoenix Sky Harbor Intl Ap (TMY3).csv +8763 -0
  11. nrel_rev-0.12.1/reV/SAM/defaults/USA CA Daggett (TMY2).csv +8763 -0
  12. nrel_rev-0.12.1/reV/SAM/defaults/US_Wave.csv +2921 -0
  13. nrel_rev-0.12.1/reV/SAM/defaults/WY Southern-Flat Lands.srw +8765 -0
  14. nrel_rev-0.12.1/reV/SAM/defaults/geothermal.json +93 -0
  15. nrel_rev-0.12.1/reV/SAM/defaults/i_pvwattsv5.json +13 -0
  16. {NREL-reV-0.9.7 → nrel_rev-0.12.1}/reV/SAM/defaults.py +3 -19
  17. {NREL-reV-0.9.7 → nrel_rev-0.12.1}/reV/SAM/generation.py +18 -52
  18. {NREL-reV-0.9.7 → nrel_rev-0.12.1}/reV/bespoke/bespoke.py +39 -81
  19. {NREL-reV-0.9.7 → nrel_rev-0.12.1}/reV/bespoke/cli_bespoke.py +0 -2
  20. {NREL-reV-0.9.7 → nrel_rev-0.12.1}/reV/bespoke/place_turbines.py +2 -25
  21. {NREL-reV-0.9.7 → nrel_rev-0.12.1}/reV/config/output_request.py +10 -1
  22. {NREL-reV-0.9.7 → nrel_rev-0.12.1}/reV/config/project_points.py +126 -19
  23. {NREL-reV-0.9.7 → nrel_rev-0.12.1}/reV/generation/base.py +22 -4
  24. {NREL-reV-0.9.7 → nrel_rev-0.12.1}/reV/generation/generation.py +45 -22
  25. nrel_rev-0.12.1/reV/generation/output_attributes/generation.json +288 -0
  26. nrel_rev-0.12.1/reV/generation/output_attributes/lcoe_fcr.json +9 -0
  27. nrel_rev-0.12.1/reV/generation/output_attributes/lcoe_fcr_inputs.json +65 -0
  28. nrel_rev-0.12.1/reV/generation/output_attributes/linear_fresnel.json +72 -0
  29. nrel_rev-0.12.1/reV/generation/output_attributes/other.json +8 -0
  30. nrel_rev-0.12.1/reV/generation/output_attributes/single_owner.json +44 -0
  31. nrel_rev-0.12.1/reV/generation/output_attributes/solar_water_heat.json +93 -0
  32. nrel_rev-0.12.1/reV/generation/output_attributes/trough_heat.json +58 -0
  33. nrel_rev-0.12.1/reV/generation/output_attributes/windbos.json +30 -0
  34. {NREL-reV-0.9.7 → nrel_rev-0.12.1}/reV/losses/power_curve.py +3 -0
  35. {NREL-reV-0.9.7 → nrel_rev-0.12.1}/reV/losses/scheduled.py +35 -14
  36. {NREL-reV-0.9.7 → nrel_rev-0.12.1}/reV/supply_curve/aggregation.py +47 -0
  37. {NREL-reV-0.9.7 → nrel_rev-0.12.1}/reV/supply_curve/points.py +54 -0
  38. {NREL-reV-0.9.7 → nrel_rev-0.12.1}/reV/supply_curve/sc_aggregation.py +76 -38
  39. {NREL-reV-0.9.7 → nrel_rev-0.12.1}/reV/utilities/__init__.py +2 -0
  40. nrel_rev-0.12.1/reV/utilities/_clean_readme.py +28 -0
  41. {NREL-reV-0.9.7 → nrel_rev-0.12.1}/reV/utilities/curtailment.py +17 -13
  42. {NREL-reV-0.9.7 → nrel_rev-0.12.1}/reV/version.py +1 -1
  43. NREL-reV-0.9.7/NREL_reV.egg-info/PKG-INFO +0 -235
  44. NREL-reV-0.9.7/NREL_reV.egg-info/not-zip-safe +0 -1
  45. NREL-reV-0.9.7/NREL_reV.egg-info/requires.txt +0 -25
  46. NREL-reV-0.9.7/PKG-INFO +0 -235
  47. NREL-reV-0.9.7/setup.py +0 -113
  48. {NREL-reV-0.9.7 → nrel_rev-0.12.1}/LICENSE +0 -0
  49. {NREL-reV-0.9.7 → nrel_rev-0.12.1}/NREL_reV.egg-info/dependency_links.txt +0 -0
  50. {NREL-reV-0.9.7 → nrel_rev-0.12.1}/NREL_reV.egg-info/top_level.txt +0 -0
  51. {NREL-reV-0.9.7 → nrel_rev-0.12.1}/reV/SAM/__init__.py +0 -0
  52. {NREL-reV-0.9.7 → nrel_rev-0.12.1}/reV/SAM/econ.py +0 -0
  53. {NREL-reV-0.9.7 → nrel_rev-0.12.1}/reV/SAM/version_checker.py +0 -0
  54. {NREL-reV-0.9.7 → nrel_rev-0.12.1}/reV/SAM/windbos.py +0 -0
  55. {NREL-reV-0.9.7 → nrel_rev-0.12.1}/reV/__init__.py +0 -0
  56. {NREL-reV-0.9.7 → nrel_rev-0.12.1}/reV/bespoke/__init__.py +0 -0
  57. {NREL-reV-0.9.7 → nrel_rev-0.12.1}/reV/bespoke/gradient_free.py +0 -0
  58. {NREL-reV-0.9.7 → nrel_rev-0.12.1}/reV/bespoke/pack_turbs.py +0 -0
  59. {NREL-reV-0.9.7 → nrel_rev-0.12.1}/reV/bespoke/plotting_functions.py +0 -0
  60. {NREL-reV-0.9.7 → nrel_rev-0.12.1}/reV/cli.py +0 -0
  61. {NREL-reV-0.9.7 → nrel_rev-0.12.1}/reV/config/__init__.py +0 -0
  62. {NREL-reV-0.9.7 → nrel_rev-0.12.1}/reV/config/base_analysis_config.py +0 -0
  63. {NREL-reV-0.9.7 → nrel_rev-0.12.1}/reV/config/base_config.py +0 -0
  64. {NREL-reV-0.9.7 → nrel_rev-0.12.1}/reV/config/cli_project_points.py +0 -0
  65. {NREL-reV-0.9.7 → nrel_rev-0.12.1}/reV/config/curtailment.py +0 -0
  66. {NREL-reV-0.9.7 → nrel_rev-0.12.1}/reV/config/execution.py +0 -0
  67. {NREL-reV-0.9.7 → nrel_rev-0.12.1}/reV/config/sam_config.py +0 -0
  68. {NREL-reV-0.9.7 → nrel_rev-0.12.1}/reV/econ/__init__.py +0 -0
  69. {NREL-reV-0.9.7 → nrel_rev-0.12.1}/reV/econ/cli_econ.py +0 -0
  70. {NREL-reV-0.9.7 → nrel_rev-0.12.1}/reV/econ/econ.py +0 -0
  71. {NREL-reV-0.9.7 → nrel_rev-0.12.1}/reV/econ/economies_of_scale.py +0 -0
  72. {NREL-reV-0.9.7 → nrel_rev-0.12.1}/reV/econ/utilities.py +0 -0
  73. {NREL-reV-0.9.7 → nrel_rev-0.12.1}/reV/generation/__init__.py +0 -0
  74. {NREL-reV-0.9.7 → nrel_rev-0.12.1}/reV/generation/cli_gen.py +0 -0
  75. {NREL-reV-0.9.7 → nrel_rev-0.12.1}/reV/handlers/__init__.py +0 -0
  76. {NREL-reV-0.9.7 → nrel_rev-0.12.1}/reV/handlers/cli_collect.py +0 -0
  77. {NREL-reV-0.9.7 → nrel_rev-0.12.1}/reV/handlers/cli_multi_year.py +0 -0
  78. {NREL-reV-0.9.7 → nrel_rev-0.12.1}/reV/handlers/exclusions.py +0 -0
  79. {NREL-reV-0.9.7 → nrel_rev-0.12.1}/reV/handlers/multi_year.py +0 -0
  80. {NREL-reV-0.9.7 → nrel_rev-0.12.1}/reV/handlers/outputs.py +0 -0
  81. {NREL-reV-0.9.7 → nrel_rev-0.12.1}/reV/handlers/transmission.py +0 -0
  82. {NREL-reV-0.9.7 → nrel_rev-0.12.1}/reV/hybrids/__init__.py +0 -0
  83. {NREL-reV-0.9.7 → nrel_rev-0.12.1}/reV/hybrids/cli_hybrids.py +0 -0
  84. {NREL-reV-0.9.7 → nrel_rev-0.12.1}/reV/hybrids/hybrid_methods.py +0 -0
  85. {NREL-reV-0.9.7 → nrel_rev-0.12.1}/reV/hybrids/hybrids.py +0 -0
  86. {NREL-reV-0.9.7 → nrel_rev-0.12.1}/reV/losses/__init__.py +0 -0
  87. {NREL-reV-0.9.7 → nrel_rev-0.12.1}/reV/losses/utils.py +0 -0
  88. {NREL-reV-0.9.7 → nrel_rev-0.12.1}/reV/nrwal/__init__.py +0 -0
  89. {NREL-reV-0.9.7 → nrel_rev-0.12.1}/reV/nrwal/cli_nrwal.py +0 -0
  90. {NREL-reV-0.9.7 → nrel_rev-0.12.1}/reV/nrwal/nrwal.py +0 -0
  91. {NREL-reV-0.9.7 → nrel_rev-0.12.1}/reV/qa_qc/__init__.py +0 -0
  92. {NREL-reV-0.9.7 → nrel_rev-0.12.1}/reV/qa_qc/cli_qa_qc.py +0 -0
  93. {NREL-reV-0.9.7 → nrel_rev-0.12.1}/reV/qa_qc/qa_qc.py +0 -0
  94. {NREL-reV-0.9.7 → nrel_rev-0.12.1}/reV/qa_qc/summary.py +0 -0
  95. {NREL-reV-0.9.7 → nrel_rev-0.12.1}/reV/rep_profiles/__init__.py +0 -0
  96. {NREL-reV-0.9.7 → nrel_rev-0.12.1}/reV/rep_profiles/cli_rep_profiles.py +0 -0
  97. {NREL-reV-0.9.7 → nrel_rev-0.12.1}/reV/rep_profiles/rep_profiles.py +0 -0
  98. {NREL-reV-0.9.7 → nrel_rev-0.12.1}/reV/supply_curve/__init__.py +0 -0
  99. {NREL-reV-0.9.7 → nrel_rev-0.12.1}/reV/supply_curve/cli_sc_aggregation.py +0 -0
  100. {NREL-reV-0.9.7 → nrel_rev-0.12.1}/reV/supply_curve/cli_supply_curve.py +0 -0
  101. {NREL-reV-0.9.7 → nrel_rev-0.12.1}/reV/supply_curve/competitive_wind_farms.py +0 -0
  102. {NREL-reV-0.9.7 → nrel_rev-0.12.1}/reV/supply_curve/exclusions.py +0 -0
  103. {NREL-reV-0.9.7 → nrel_rev-0.12.1}/reV/supply_curve/extent.py +0 -0
  104. {NREL-reV-0.9.7 → nrel_rev-0.12.1}/reV/supply_curve/supply_curve.py +0 -0
  105. {NREL-reV-0.9.7 → nrel_rev-0.12.1}/reV/supply_curve/tech_mapping.py +0 -0
  106. {NREL-reV-0.9.7 → nrel_rev-0.12.1}/reV/utilities/cli_functions.py +0 -0
  107. {NREL-reV-0.9.7 → nrel_rev-0.12.1}/reV/utilities/exceptions.py +0 -0
  108. {NREL-reV-0.9.7 → nrel_rev-0.12.1}/reV/utilities/pytest_utils.py +0 -0
  109. {NREL-reV-0.9.7 → nrel_rev-0.12.1}/reV/utilities/slots.py +0 -0
  110. {NREL-reV-0.9.7 → nrel_rev-0.12.1}/setup.cfg +0 -0
@@ -0,0 +1,12 @@
1
+ exclude tests/**
2
+ exclude examples/**
3
+ exclude docs/**
4
+ exclude build/**
5
+ exclude dist/**
6
+ exclude .github/**
7
+ exclude .git/**
8
+ exclude conda.recipe/**
9
+ exclude .*
10
+ exclude *.git
11
+ exclude Dockerfile
12
+ exclude docker-compose.yml
@@ -0,0 +1,251 @@
1
+ Metadata-Version: 2.4
2
+ Name: NREL-reV
3
+ Version: 0.12.1
4
+ Summary: National Renewable Energy Laboratory's (NREL's) Renewable Energy Potential(V) Model: reV
5
+ Author-email: Galen Maclaurin <galen.maclaurin@nrel.gov>
6
+ Maintainer-email: Grant Buster <gbuster@nrel.gov>, Paul Pinchuk <ppinchuk@nrel.gov>
7
+ License-Expression: BSD-3-Clause
8
+ Project-URL: homepage, https://www2.nrel.gov/gis/renewable-energy-potential
9
+ Project-URL: documentation, https://nrel.github.io/reV/
10
+ Project-URL: repository, https://github.com/NREL/reV
11
+ Keywords: reV,NREL
12
+ Classifier: Development Status :: 4 - Beta
13
+ Classifier: Intended Audience :: Science/Research
14
+ Classifier: Natural Language :: English
15
+ Classifier: Programming Language :: Python :: 3.9
16
+ Classifier: Programming Language :: Python :: 3.10
17
+ Classifier: Programming Language :: Python :: 3.11
18
+ Requires-Python: >=3.9
19
+ Description-Content-Type: text/x-rst
20
+ License-File: LICENSE
21
+ Requires-Dist: NREL-gaps<1,>=0.6.11
22
+ Requires-Dist: NREL-NRWAL<1,>=0.0.7
23
+ Requires-Dist: NREL-PySAM<7,~=6.0.1
24
+ Requires-Dist: NREL-rex<1,>=0.2.99
25
+ Requires-Dist: numpy~=1.24.4
26
+ Requires-Dist: packaging<25,>=20.3
27
+ Requires-Dist: plotly<6,>=4.7.1
28
+ Requires-Dist: plotting<0.0.8,>=0.0.6
29
+ Requires-Dist: shapely<2
30
+ Provides-Extra: test
31
+ Requires-Dist: pytest<9,>=8.3.3; extra == "test"
32
+ Provides-Extra: dev
33
+ Requires-Dist: pytest<9,>=8.3.3; extra == "dev"
34
+ Requires-Dist: flake8; extra == "dev"
35
+ Requires-Dist: pre-commit; extra == "dev"
36
+ Requires-Dist: pylint; extra == "dev"
37
+ Provides-Extra: hsds
38
+ Requires-Dist: hsds<1,>=0.8.4; extra == "hsds"
39
+ Provides-Extra: build
40
+ Requires-Dist: build<1,>=0.10; extra == "build"
41
+ Requires-Dist: pkginfo<2,>=1.10.0; extra == "build"
42
+ Requires-Dist: twine<7,>=6.1.0; extra == "build"
43
+ Dynamic: license-file
44
+
45
+ |Docs| |Tests| |Linter| |PythonV| |Pypi| |Codecov| |Zenodo| |Binder|
46
+
47
+ .. |Docs| image:: https://github.com/NREL/reV/workflows/Documentation/badge.svg
48
+ :target: https://nrel.github.io/reV/
49
+
50
+ .. |Tests| image:: https://github.com/NREL/reV/workflows/Pytests/badge.svg
51
+ :target: https://github.com/NREL/reV/actions?query=workflow%3A%22Pytests%22
52
+
53
+ .. |Linter| image:: https://github.com/NREL/reV/workflows/Lint%20Code%20Base/badge.svg
54
+ :target: https://github.com/NREL/reV/actions?query=workflow%3A%22Lint+Code+Base%22
55
+
56
+ .. |PythonV| image:: https://img.shields.io/pypi/pyversions/NREL-reV.svg
57
+ :target: https://pypi.org/project/NREL-reV/
58
+
59
+ .. |Pypi| image:: https://badge.fury.io/py/NREL-reV.svg
60
+ :target: https://badge.fury.io/py/NREL-reV
61
+
62
+ .. |Codecov| image:: https://codecov.io/gh/nrel/reV/branch/main/graph/badge.svg?token=U4ZU9F0K0Z
63
+ :target: https://codecov.io/gh/nrel/reV
64
+
65
+ .. |Zenodo| image:: https://zenodo.org/badge/201343076.svg
66
+ :target: https://zenodo.org/badge/latestdoi/201343076
67
+
68
+ .. |Binder| image:: https://mybinder.org/badge_logo.svg
69
+ :target: https://mybinder.org/v2/gh/nrel/reV/HEAD
70
+
71
+ |
72
+
73
+ .. inclusion-intro
74
+
75
+ **reV** (the Renewable Energy Potential model)
76
+ is an open-source geospatial techno-economic tool that
77
+ estimates renewable energy technical potential (capacity and generation),
78
+ system cost, and supply curves for solar photovoltaics (PV),
79
+ concentrating solar power (CSP), geothermal, and wind energy.
80
+ reV allows researchers to include exhaustive spatial representation
81
+ of the built and natural environment into the generation and cost estimates
82
+ that it computes.
83
+
84
+ reV is highly dynamic, allowing analysts to assess potential at varying levels
85
+ of detail — from a single site up to an entire continent at temporal resolutions
86
+ ranging from five minutes to hourly, spanning a single year or multiple decades.
87
+ The reV model can (and has been used to) provide broad coverage across large spatial
88
+ extents, including North America, South and Central Asia, the Middle East, South America,
89
+ and South Africa to inform national and international-scale analyses. Still, reV is
90
+ equally well-suited for regional infrastructure and deployment planning and analysis.
91
+
92
+
93
+ For a detailed description of reV capabilities and functionality, see the
94
+ `NREL reV technical report <https://www.nrel.gov/docs/fy19osti/73067.pdf>`_.
95
+
96
+ How does reV work?
97
+ ==================
98
+ reV is a set of `Python classes and functions <https://nrel.github.io/reV/_autosummary/reV.html>`_
99
+ that can be executed on HPC systems using `CLI commands <https://nrel.github.io/reV/_cli/cli.html>`_.
100
+ A full reV execution consists of one or more compute modules
101
+ (each consisting of their own Python class/CLI command)
102
+ strung together using a `pipeline framework <https://nrel.github.io/reV/_cli/reV%20pipeline.html>`_,
103
+ or configured using `batch <https://nrel.github.io/reV/_cli/reV%20batch.html>`_.
104
+
105
+ A typical reV workflow begins with input wind/solar/geothermal resource data
106
+ (following the `rex data format <https://nrel.github.io/rex/misc/examples.nsrdb.html#data-format>`_)
107
+ that is passed through the generation module. This output is then collected across space and time
108
+ (if executed on the HPC), before being sent off to be aggregated under user-specified land exclusion scenarios.
109
+ Exclusion data is typically provided via a collection of high-resolution spatial data layers stored in an HDF5 file.
110
+ This file must be readable by reV's
111
+ `ExclusionLayers <https://nrel.github.io/reV/_autosummary/reV.handlers.exclusions.ExclusionLayers.html#reV.handlers.exclusions.ExclusionLayers>`_
112
+ class. See the `reVX Setbacks utility <https://nrel.github.io/reVX/misc/examples.setbacks.html>`_
113
+ for instructions on generating setback exclusions for use in reV.
114
+ Next, transmission costs are computed for each aggregated
115
+ "supply-curve point" using user-provided transmission cost tables.
116
+ See the `reVX transmission cost calculator utility <https://github.com/NREL/reVX/tree/main/reVX/least_cost_xmission/>`_
117
+ for instructions on generating transmission cost tables.
118
+ Finally, the supply curves and initial generation data can be used to
119
+ extract representative generation profiles for each supply curve point.
120
+
121
+
122
+
123
+
124
+ .. inclusion-flowchart
125
+
126
+
127
+
128
+ |
129
+
130
+ .. inclusion-get-started
131
+
132
+ To get up and running with reV, first head over to the `installation page <https://nrel.github.io/reV/misc/installation.html>`_,
133
+ then check out some of the `Examples <https://nrel.github.io/reV/misc/examples.html>`_ or
134
+ go straight to the `CLI Documentation <https://nrel.github.io/reV/_cli/cli.html>`_!
135
+ You can also check out the `guide on running GAPs models <https://nrel.github.io/gaps/misc/examples.users.html>`_.
136
+
137
+ .. inclusion-install
138
+
139
+
140
+ Installing reV
141
+ ==============
142
+
143
+ NOTE: The installation instruction below assume that you have python installed
144
+ on your machine and are using `conda <https://docs.conda.io/en/latest/index.html>`_
145
+ as your package/environment manager.
146
+
147
+ Option 1: Install from PIP (recommended for analysts):
148
+
149
+ 1. Create a new environment:
150
+ ``conda create --name rev python=3.9``
151
+
152
+ 2. Activate directory:
153
+ ``conda activate rev``
154
+
155
+ 3. Install reV:
156
+ 1) ``pip install NREL-reV`` or
157
+
158
+ - NOTE: If you install using conda and want to run from files directly on S3 like in the `running reV locally example <https://nrel.github.io/reV/misc/examples.running_locally.html>`_
159
+ you will also need to install S3 filesystem dependencies: ``pip install NREL-reV[s3]``
160
+
161
+ - NOTE: If you install using conda and want to use `HSDS <https://github.com/NREL/hsds-examples>`_
162
+ you will also need to install HSDS dependencies: ``pip install NREL-reV[hsds]``
163
+
164
+ Option 2: Clone repo (recommended for developers)
165
+
166
+ 1. from home dir, ``git clone git@github.com:NREL/reV.git``
167
+
168
+ 2. Create ``reV`` environment and install package
169
+ 1) Create a conda env: ``conda create -n rev``
170
+ 2) Run the command: ``conda activate rev``
171
+ 3) cd into the repo cloned in 1.
172
+ 4) prior to running ``pip`` below, make sure the branch is correct (install
173
+ from main!)
174
+ 5) Install ``reV`` and its dependencies by running:
175
+ ``pip install .`` (or ``pip install -e .`` if running a dev branch
176
+ or working on the source code)
177
+
178
+ 3. Check that ``reV`` was installed successfully
179
+ 1) From any directory, run the following commands. This should return the
180
+ help pages for the CLI's.
181
+
182
+ - ``reV``
183
+
184
+
185
+ reV command line tools
186
+ ======================
187
+
188
+ - `reV <https://nrel.github.io/reV/_cli/reV.html#reV>`_
189
+ - `reV template-configs <https://nrel.github.io/reV/_cli/reV%20template-configs.html>`_
190
+ - `reV batch <https://nrel.github.io/reV/_cli/reV%20batch.html>`_
191
+ - `reV pipeline <https://nrel.github.io/reV/_cli/reV%20pipeline.html>`_
192
+ - `reV project-points <https://nrel.github.io/reV/_cli/reV%20project-points.html>`_
193
+ - `reV bespoke <https://nrel.github.io/reV/_cli/reV%20bespoke.html>`_
194
+ - `reV generation <https://nrel.github.io/reV/_cli/reV%20generation.html>`_
195
+ - `reV econ <https://nrel.github.io/reV/_cli/reV%20econ.html>`_
196
+ - `reV collect <https://nrel.github.io/reV/_cli/reV%20collect.html>`_
197
+ - `reV multiyear <https://nrel.github.io/reV/_cli/reV%20multiyear.html>`_
198
+ - `reV supply-curve-aggregation <https://nrel.github.io/reV/_cli/reV%20supply-curve-aggregation.html>`_
199
+ - `reV supply-curve <https://nrel.github.io/reV/_cli/reV%20supply-curve.html>`_
200
+ - `reV rep-profiles <https://nrel.github.io/reV/_cli/reV%20rep-profiles.html>`_
201
+ - `reV hybrids <https://nrel.github.io/reV/_cli/reV%20hybrids.html>`_
202
+ - `reV nrwal <https://nrel.github.io/reV/_cli/reV%20nrwal.html>`_
203
+ - `reV qa-qc <https://nrel.github.io/reV/_cli/reV%20qa-qc.html>`_
204
+ - `reV script <https://nrel.github.io/reV/_cli/reV%20script.html>`_
205
+ - `reV status <https://nrel.github.io/reV/_cli/reV%20status.html>`_
206
+ - `reV reset-status <https://nrel.github.io/reV/_cli/reV%20reset-status.html>`_
207
+
208
+
209
+ Launching a run
210
+
211
+ Tips
212
+
213
+ - Only use a screen session if running the pipeline module: `screen -S rev`
214
+ - `Full pipeline execution <https://nrel.github.io/reV/misc/examples.full_pipeline_execution.html>`_
215
+
216
+ .. code-block:: bash
217
+
218
+ reV pipeline -c "/scratch/user/rev/config_pipeline.json"
219
+
220
+ - Running simply generation or econ can just be done from the console:
221
+
222
+ .. code-block:: bash
223
+
224
+ reV generation -c "/scratch/user/rev/config_gen.json"
225
+
226
+ General Run times and Node configuration on Eagle
227
+
228
+ - WTK Conus: 10-20 nodes per year walltime 1-4 hours
229
+ - NSRDB Conus: 5 nodes walltime 2 hours
230
+
231
+ `Eagle node requests <https://nrel.github.io/reV/misc/examples.eagle_node_requests.html>`_
232
+
233
+
234
+ .. inclusion-citation
235
+
236
+
237
+ Recommended Citation
238
+ ====================
239
+
240
+ Please cite both the technical paper and the software with the version and
241
+ DOI you used:
242
+
243
+ Maclaurin, Galen J., Nicholas W. Grue, Anthony J. Lopez, Donna M. Heimiller,
244
+ Michael Rossol, Grant Buster, and Travis Williams. 2019. “The Renewable Energy
245
+ Potential (reV) Model: A Geospatial Platform for Technical Potential and Supply
246
+ Curve Modeling.” Golden, Colorado, United States: National Renewable Energy
247
+ Laboratory. NREL/TP-6A20-73067. https://doi.org/10.2172/1563140.
248
+
249
+ Grant Buster, Michael Rossol, Paul Pinchuk, Brandon N Benton, Robert Spencer,
250
+ Mike Bannister, & Travis Williams. (2023).
251
+ NREL/reV: reV 0.8.0 (v0.8.0). Zenodo. https://doi.org/10.5281/zenodo.8247528
@@ -1,11 +1,11 @@
1
1
  LICENSE
2
+ MANIFEST.in
2
3
  README.rst
3
- setup.py
4
+ pyproject.toml
4
5
  NREL_reV.egg-info/PKG-INFO
5
6
  NREL_reV.egg-info/SOURCES.txt
6
7
  NREL_reV.egg-info/dependency_links.txt
7
8
  NREL_reV.egg-info/entry_points.txt
8
- NREL_reV.egg-info/not-zip-safe
9
9
  NREL_reV.egg-info/requires.txt
10
10
  NREL_reV.egg-info/top_level.txt
11
11
  reV/__init__.py
@@ -18,6 +18,12 @@ reV/SAM/econ.py
18
18
  reV/SAM/generation.py
19
19
  reV/SAM/version_checker.py
20
20
  reV/SAM/windbos.py
21
+ reV/SAM/defaults/USA AZ Phoenix Sky Harbor Intl Ap (TMY3).csv
22
+ reV/SAM/defaults/USA CA Daggett (TMY2).csv
23
+ reV/SAM/defaults/US_Wave.csv
24
+ reV/SAM/defaults/WY Southern-Flat Lands.srw
25
+ reV/SAM/defaults/geothermal.json
26
+ reV/SAM/defaults/i_pvwattsv5.json
21
27
  reV/bespoke/__init__.py
22
28
  reV/bespoke/bespoke.py
23
29
  reV/bespoke/cli_bespoke.py
@@ -43,6 +49,15 @@ reV/generation/__init__.py
43
49
  reV/generation/base.py
44
50
  reV/generation/cli_gen.py
45
51
  reV/generation/generation.py
52
+ reV/generation/output_attributes/generation.json
53
+ reV/generation/output_attributes/lcoe_fcr.json
54
+ reV/generation/output_attributes/lcoe_fcr_inputs.json
55
+ reV/generation/output_attributes/linear_fresnel.json
56
+ reV/generation/output_attributes/other.json
57
+ reV/generation/output_attributes/single_owner.json
58
+ reV/generation/output_attributes/solar_water_heat.json
59
+ reV/generation/output_attributes/trough_heat.json
60
+ reV/generation/output_attributes/windbos.json
46
61
  reV/handlers/__init__.py
47
62
  reV/handlers/cli_collect.py
48
63
  reV/handlers/cli_multi_year.py
@@ -80,6 +95,7 @@ reV/supply_curve/sc_aggregation.py
80
95
  reV/supply_curve/supply_curve.py
81
96
  reV/supply_curve/tech_mapping.py
82
97
  reV/utilities/__init__.py
98
+ reV/utilities/_clean_readme.py
83
99
  reV/utilities/cli_functions.py
84
100
  reV/utilities/curtailment.py
85
101
  reV/utilities/exceptions.py
@@ -12,4 +12,3 @@ reV-project-points = reV.config.cli_project_points:project_points
12
12
  reV-rep-profiles = reV.rep_profiles.cli_rep_profiles:main
13
13
  reV-supply-curve = reV.supply_curve.cli_supply_curve:main
14
14
  reV-supply-curve-aggregation = reV.supply_curve.cli_sc_aggregation:main
15
-
@@ -0,0 +1,26 @@
1
+ NREL-gaps<1,>=0.6.11
2
+ NREL-NRWAL<1,>=0.0.7
3
+ NREL-PySAM<7,~=6.0.1
4
+ NREL-rex<1,>=0.2.99
5
+ numpy~=1.24.4
6
+ packaging<25,>=20.3
7
+ plotly<6,>=4.7.1
8
+ plotting<0.0.8,>=0.0.6
9
+ shapely<2
10
+
11
+ [build]
12
+ build<1,>=0.10
13
+ pkginfo<2,>=1.10.0
14
+ twine<7,>=6.1.0
15
+
16
+ [dev]
17
+ pytest<9,>=8.3.3
18
+ flake8
19
+ pre-commit
20
+ pylint
21
+
22
+ [hsds]
23
+ hsds<1,>=0.8.4
24
+
25
+ [test]
26
+ pytest<9,>=8.3.3
@@ -0,0 +1,251 @@
1
+ Metadata-Version: 2.4
2
+ Name: NREL-reV
3
+ Version: 0.12.1
4
+ Summary: National Renewable Energy Laboratory's (NREL's) Renewable Energy Potential(V) Model: reV
5
+ Author-email: Galen Maclaurin <galen.maclaurin@nrel.gov>
6
+ Maintainer-email: Grant Buster <gbuster@nrel.gov>, Paul Pinchuk <ppinchuk@nrel.gov>
7
+ License-Expression: BSD-3-Clause
8
+ Project-URL: homepage, https://www2.nrel.gov/gis/renewable-energy-potential
9
+ Project-URL: documentation, https://nrel.github.io/reV/
10
+ Project-URL: repository, https://github.com/NREL/reV
11
+ Keywords: reV,NREL
12
+ Classifier: Development Status :: 4 - Beta
13
+ Classifier: Intended Audience :: Science/Research
14
+ Classifier: Natural Language :: English
15
+ Classifier: Programming Language :: Python :: 3.9
16
+ Classifier: Programming Language :: Python :: 3.10
17
+ Classifier: Programming Language :: Python :: 3.11
18
+ Requires-Python: >=3.9
19
+ Description-Content-Type: text/x-rst
20
+ License-File: LICENSE
21
+ Requires-Dist: NREL-gaps<1,>=0.6.11
22
+ Requires-Dist: NREL-NRWAL<1,>=0.0.7
23
+ Requires-Dist: NREL-PySAM<7,~=6.0.1
24
+ Requires-Dist: NREL-rex<1,>=0.2.99
25
+ Requires-Dist: numpy~=1.24.4
26
+ Requires-Dist: packaging<25,>=20.3
27
+ Requires-Dist: plotly<6,>=4.7.1
28
+ Requires-Dist: plotting<0.0.8,>=0.0.6
29
+ Requires-Dist: shapely<2
30
+ Provides-Extra: test
31
+ Requires-Dist: pytest<9,>=8.3.3; extra == "test"
32
+ Provides-Extra: dev
33
+ Requires-Dist: pytest<9,>=8.3.3; extra == "dev"
34
+ Requires-Dist: flake8; extra == "dev"
35
+ Requires-Dist: pre-commit; extra == "dev"
36
+ Requires-Dist: pylint; extra == "dev"
37
+ Provides-Extra: hsds
38
+ Requires-Dist: hsds<1,>=0.8.4; extra == "hsds"
39
+ Provides-Extra: build
40
+ Requires-Dist: build<1,>=0.10; extra == "build"
41
+ Requires-Dist: pkginfo<2,>=1.10.0; extra == "build"
42
+ Requires-Dist: twine<7,>=6.1.0; extra == "build"
43
+ Dynamic: license-file
44
+
45
+ |Docs| |Tests| |Linter| |PythonV| |Pypi| |Codecov| |Zenodo| |Binder|
46
+
47
+ .. |Docs| image:: https://github.com/NREL/reV/workflows/Documentation/badge.svg
48
+ :target: https://nrel.github.io/reV/
49
+
50
+ .. |Tests| image:: https://github.com/NREL/reV/workflows/Pytests/badge.svg
51
+ :target: https://github.com/NREL/reV/actions?query=workflow%3A%22Pytests%22
52
+
53
+ .. |Linter| image:: https://github.com/NREL/reV/workflows/Lint%20Code%20Base/badge.svg
54
+ :target: https://github.com/NREL/reV/actions?query=workflow%3A%22Lint+Code+Base%22
55
+
56
+ .. |PythonV| image:: https://img.shields.io/pypi/pyversions/NREL-reV.svg
57
+ :target: https://pypi.org/project/NREL-reV/
58
+
59
+ .. |Pypi| image:: https://badge.fury.io/py/NREL-reV.svg
60
+ :target: https://badge.fury.io/py/NREL-reV
61
+
62
+ .. |Codecov| image:: https://codecov.io/gh/nrel/reV/branch/main/graph/badge.svg?token=U4ZU9F0K0Z
63
+ :target: https://codecov.io/gh/nrel/reV
64
+
65
+ .. |Zenodo| image:: https://zenodo.org/badge/201343076.svg
66
+ :target: https://zenodo.org/badge/latestdoi/201343076
67
+
68
+ .. |Binder| image:: https://mybinder.org/badge_logo.svg
69
+ :target: https://mybinder.org/v2/gh/nrel/reV/HEAD
70
+
71
+ |
72
+
73
+ .. inclusion-intro
74
+
75
+ **reV** (the Renewable Energy Potential model)
76
+ is an open-source geospatial techno-economic tool that
77
+ estimates renewable energy technical potential (capacity and generation),
78
+ system cost, and supply curves for solar photovoltaics (PV),
79
+ concentrating solar power (CSP), geothermal, and wind energy.
80
+ reV allows researchers to include exhaustive spatial representation
81
+ of the built and natural environment into the generation and cost estimates
82
+ that it computes.
83
+
84
+ reV is highly dynamic, allowing analysts to assess potential at varying levels
85
+ of detail — from a single site up to an entire continent at temporal resolutions
86
+ ranging from five minutes to hourly, spanning a single year or multiple decades.
87
+ The reV model can (and has been used to) provide broad coverage across large spatial
88
+ extents, including North America, South and Central Asia, the Middle East, South America,
89
+ and South Africa to inform national and international-scale analyses. Still, reV is
90
+ equally well-suited for regional infrastructure and deployment planning and analysis.
91
+
92
+
93
+ For a detailed description of reV capabilities and functionality, see the
94
+ `NREL reV technical report <https://www.nrel.gov/docs/fy19osti/73067.pdf>`_.
95
+
96
+ How does reV work?
97
+ ==================
98
+ reV is a set of `Python classes and functions <https://nrel.github.io/reV/_autosummary/reV.html>`_
99
+ that can be executed on HPC systems using `CLI commands <https://nrel.github.io/reV/_cli/cli.html>`_.
100
+ A full reV execution consists of one or more compute modules
101
+ (each consisting of their own Python class/CLI command)
102
+ strung together using a `pipeline framework <https://nrel.github.io/reV/_cli/reV%20pipeline.html>`_,
103
+ or configured using `batch <https://nrel.github.io/reV/_cli/reV%20batch.html>`_.
104
+
105
+ A typical reV workflow begins with input wind/solar/geothermal resource data
106
+ (following the `rex data format <https://nrel.github.io/rex/misc/examples.nsrdb.html#data-format>`_)
107
+ that is passed through the generation module. This output is then collected across space and time
108
+ (if executed on the HPC), before being sent off to be aggregated under user-specified land exclusion scenarios.
109
+ Exclusion data is typically provided via a collection of high-resolution spatial data layers stored in an HDF5 file.
110
+ This file must be readable by reV's
111
+ `ExclusionLayers <https://nrel.github.io/reV/_autosummary/reV.handlers.exclusions.ExclusionLayers.html#reV.handlers.exclusions.ExclusionLayers>`_
112
+ class. See the `reVX Setbacks utility <https://nrel.github.io/reVX/misc/examples.setbacks.html>`_
113
+ for instructions on generating setback exclusions for use in reV.
114
+ Next, transmission costs are computed for each aggregated
115
+ "supply-curve point" using user-provided transmission cost tables.
116
+ See the `reVX transmission cost calculator utility <https://github.com/NREL/reVX/tree/main/reVX/least_cost_xmission/>`_
117
+ for instructions on generating transmission cost tables.
118
+ Finally, the supply curves and initial generation data can be used to
119
+ extract representative generation profiles for each supply curve point.
120
+
121
+
122
+
123
+
124
+ .. inclusion-flowchart
125
+
126
+
127
+
128
+ |
129
+
130
+ .. inclusion-get-started
131
+
132
+ To get up and running with reV, first head over to the `installation page <https://nrel.github.io/reV/misc/installation.html>`_,
133
+ then check out some of the `Examples <https://nrel.github.io/reV/misc/examples.html>`_ or
134
+ go straight to the `CLI Documentation <https://nrel.github.io/reV/_cli/cli.html>`_!
135
+ You can also check out the `guide on running GAPs models <https://nrel.github.io/gaps/misc/examples.users.html>`_.
136
+
137
+ .. inclusion-install
138
+
139
+
140
+ Installing reV
141
+ ==============
142
+
143
+ NOTE: The installation instruction below assume that you have python installed
144
+ on your machine and are using `conda <https://docs.conda.io/en/latest/index.html>`_
145
+ as your package/environment manager.
146
+
147
+ Option 1: Install from PIP (recommended for analysts):
148
+
149
+ 1. Create a new environment:
150
+ ``conda create --name rev python=3.9``
151
+
152
+ 2. Activate directory:
153
+ ``conda activate rev``
154
+
155
+ 3. Install reV:
156
+ 1) ``pip install NREL-reV`` or
157
+
158
+ - NOTE: If you install using conda and want to run from files directly on S3 like in the `running reV locally example <https://nrel.github.io/reV/misc/examples.running_locally.html>`_
159
+ you will also need to install S3 filesystem dependencies: ``pip install NREL-reV[s3]``
160
+
161
+ - NOTE: If you install using conda and want to use `HSDS <https://github.com/NREL/hsds-examples>`_
162
+ you will also need to install HSDS dependencies: ``pip install NREL-reV[hsds]``
163
+
164
+ Option 2: Clone repo (recommended for developers)
165
+
166
+ 1. from home dir, ``git clone git@github.com:NREL/reV.git``
167
+
168
+ 2. Create ``reV`` environment and install package
169
+ 1) Create a conda env: ``conda create -n rev``
170
+ 2) Run the command: ``conda activate rev``
171
+ 3) cd into the repo cloned in 1.
172
+ 4) prior to running ``pip`` below, make sure the branch is correct (install
173
+ from main!)
174
+ 5) Install ``reV`` and its dependencies by running:
175
+ ``pip install .`` (or ``pip install -e .`` if running a dev branch
176
+ or working on the source code)
177
+
178
+ 3. Check that ``reV`` was installed successfully
179
+ 1) From any directory, run the following commands. This should return the
180
+ help pages for the CLI's.
181
+
182
+ - ``reV``
183
+
184
+
185
+ reV command line tools
186
+ ======================
187
+
188
+ - `reV <https://nrel.github.io/reV/_cli/reV.html#reV>`_
189
+ - `reV template-configs <https://nrel.github.io/reV/_cli/reV%20template-configs.html>`_
190
+ - `reV batch <https://nrel.github.io/reV/_cli/reV%20batch.html>`_
191
+ - `reV pipeline <https://nrel.github.io/reV/_cli/reV%20pipeline.html>`_
192
+ - `reV project-points <https://nrel.github.io/reV/_cli/reV%20project-points.html>`_
193
+ - `reV bespoke <https://nrel.github.io/reV/_cli/reV%20bespoke.html>`_
194
+ - `reV generation <https://nrel.github.io/reV/_cli/reV%20generation.html>`_
195
+ - `reV econ <https://nrel.github.io/reV/_cli/reV%20econ.html>`_
196
+ - `reV collect <https://nrel.github.io/reV/_cli/reV%20collect.html>`_
197
+ - `reV multiyear <https://nrel.github.io/reV/_cli/reV%20multiyear.html>`_
198
+ - `reV supply-curve-aggregation <https://nrel.github.io/reV/_cli/reV%20supply-curve-aggregation.html>`_
199
+ - `reV supply-curve <https://nrel.github.io/reV/_cli/reV%20supply-curve.html>`_
200
+ - `reV rep-profiles <https://nrel.github.io/reV/_cli/reV%20rep-profiles.html>`_
201
+ - `reV hybrids <https://nrel.github.io/reV/_cli/reV%20hybrids.html>`_
202
+ - `reV nrwal <https://nrel.github.io/reV/_cli/reV%20nrwal.html>`_
203
+ - `reV qa-qc <https://nrel.github.io/reV/_cli/reV%20qa-qc.html>`_
204
+ - `reV script <https://nrel.github.io/reV/_cli/reV%20script.html>`_
205
+ - `reV status <https://nrel.github.io/reV/_cli/reV%20status.html>`_
206
+ - `reV reset-status <https://nrel.github.io/reV/_cli/reV%20reset-status.html>`_
207
+
208
+
209
+ Launching a run
210
+
211
+ Tips
212
+
213
+ - Only use a screen session if running the pipeline module: `screen -S rev`
214
+ - `Full pipeline execution <https://nrel.github.io/reV/misc/examples.full_pipeline_execution.html>`_
215
+
216
+ .. code-block:: bash
217
+
218
+ reV pipeline -c "/scratch/user/rev/config_pipeline.json"
219
+
220
+ - Running simply generation or econ can just be done from the console:
221
+
222
+ .. code-block:: bash
223
+
224
+ reV generation -c "/scratch/user/rev/config_gen.json"
225
+
226
+ General Run times and Node configuration on Eagle
227
+
228
+ - WTK Conus: 10-20 nodes per year walltime 1-4 hours
229
+ - NSRDB Conus: 5 nodes walltime 2 hours
230
+
231
+ `Eagle node requests <https://nrel.github.io/reV/misc/examples.eagle_node_requests.html>`_
232
+
233
+
234
+ .. inclusion-citation
235
+
236
+
237
+ Recommended Citation
238
+ ====================
239
+
240
+ Please cite both the technical paper and the software with the version and
241
+ DOI you used:
242
+
243
+ Maclaurin, Galen J., Nicholas W. Grue, Anthony J. Lopez, Donna M. Heimiller,
244
+ Michael Rossol, Grant Buster, and Travis Williams. 2019. “The Renewable Energy
245
+ Potential (reV) Model: A Geospatial Platform for Technical Potential and Supply
246
+ Curve Modeling.” Golden, Colorado, United States: National Renewable Energy
247
+ Laboratory. NREL/TP-6A20-73067. https://doi.org/10.2172/1563140.
248
+
249
+ Grant Buster, Michael Rossol, Paul Pinchuk, Brandon N Benton, Robert Spencer,
250
+ Mike Bannister, & Travis Williams. (2023).
251
+ NREL/reV: reV 0.8.0 (v0.8.0). Zenodo. https://doi.org/10.5281/zenodo.8247528
@@ -1,13 +1,3 @@
1
- .. raw:: html
2
-
3
- <p align="center">
4
- <img height="180" src="docs/source/_static/logo.png" />
5
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
6
- <img height="170" src="docs/source/_static/RD100_2023_Winner_Logo.png" />
7
- </p>
8
-
9
- ---------
10
-
11
1
  |Docs| |Tests| |Linter| |PythonV| |Pypi| |Codecov| |Zenodo| |Binder|
12
2
 
13
3
  .. |Docs| image:: https://github.com/NREL/reV/workflows/Documentation/badge.svg
@@ -84,16 +74,12 @@ for instructions on generating transmission cost tables.
84
74
  Finally, the supply curves and initial generation data can be used to
85
75
  extract representative generation profiles for each supply curve point.
86
76
 
87
- A visual summary of this process is given below:
77
+
88
78
 
89
79
 
90
80
  .. inclusion-flowchart
91
81
 
92
- .. raw:: html
93
82
 
94
- <p align="center">
95
- <img height="400" src="docs/source/_static/rev_flow_chart.png" />
96
- </p>
97
83
 
98
84
  |
99
85
 
@@ -115,7 +101,6 @@ on your machine and are using `conda <https://docs.conda.io/en/latest/index.html
115
101
  as your package/environment manager.
116
102
 
117
103
  Option 1: Install from PIP (recommended for analysts):
118
- ---------------------------------------------------------------
119
104
 
120
105
  1. Create a new environment:
121
106
  ``conda create --name rev python=3.9``
@@ -133,7 +118,6 @@ Option 1: Install from PIP (recommended for analysts):
133
118
  you will also need to install HSDS dependencies: ``pip install NREL-reV[hsds]``
134
119
 
135
120
  Option 2: Clone repo (recommended for developers)
136
- -------------------------------------------------
137
121
 
138
122
  1. from home dir, ``git clone git@github.com:NREL/reV.git``
139
123
 
@@ -179,7 +163,6 @@ reV command line tools
179
163
 
180
164
 
181
165
  Launching a run
182
- ---------------
183
166
 
184
167
  Tips
185
168
 
@@ -197,7 +180,6 @@ Tips
197
180
  reV generation -c "/scratch/user/rev/config_gen.json"
198
181
 
199
182
  General Run times and Node configuration on Eagle
200
- -------------------------------------------------
201
183
 
202
184
  - WTK Conus: 10-20 nodes per year walltime 1-4 hours
203
185
  - NSRDB Conus: 5 nodes walltime 2 hours