NREL-reV 0.9.7__py3-none-any.whl → 0.12.2__py3-none-any.whl
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.
- {NREL_reV-0.9.7.dist-info → nrel_rev-0.12.2.dist-info}/METADATA +28 -32
- {NREL_reV-0.9.7.dist-info → nrel_rev-0.12.2.dist-info}/RECORD +30 -29
- {NREL_reV-0.9.7.dist-info → nrel_rev-0.12.2.dist-info}/WHEEL +1 -1
- {NREL_reV-0.9.7.dist-info → nrel_rev-0.12.2.dist-info}/entry_points.txt +0 -1
- reV/SAM/SAM.py +30 -7
- reV/SAM/defaults/WY Southern-Flat Lands.srw +8765 -0
- reV/SAM/defaults/geothermal.json +27 -16
- reV/SAM/defaults/i_pvwattsv5.json +1 -1
- reV/SAM/defaults.py +3 -19
- reV/SAM/generation.py +18 -52
- reV/bespoke/bespoke.py +39 -81
- reV/bespoke/cli_bespoke.py +0 -2
- reV/bespoke/pack_turbs.py +15 -17
- reV/bespoke/place_turbines.py +2 -25
- reV/config/output_request.py +10 -1
- reV/config/project_points.py +126 -19
- reV/generation/base.py +22 -4
- reV/generation/generation.py +45 -22
- reV/generation/output_attributes/linear_fresnel.json +7 -0
- reV/losses/power_curve.py +3 -0
- reV/losses/scheduled.py +35 -14
- reV/supply_curve/aggregation.py +47 -0
- reV/supply_curve/points.py +54 -0
- reV/supply_curve/sc_aggregation.py +76 -38
- reV/utilities/__init__.py +2 -0
- reV/utilities/_clean_readme.py +28 -0
- reV/utilities/curtailment.py +17 -13
- reV/version.py +1 -1
- reV/bespoke/plotting_functions.py +0 -178
- {NREL_reV-0.9.7.dist-info → nrel_rev-0.12.2.dist-info/licenses}/LICENSE +0 -0
- {NREL_reV-0.9.7.dist-info → nrel_rev-0.12.2.dist-info}/top_level.txt +0 -0
@@ -1,47 +1,45 @@
|
|
1
|
-
Metadata-Version: 2.
|
1
|
+
Metadata-Version: 2.4
|
2
2
|
Name: NREL-reV
|
3
|
-
Version: 0.
|
3
|
+
Version: 0.12.2
|
4
4
|
Summary: National Renewable Energy Laboratory's (NREL's) Renewable Energy Potential(V) Model: reV
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
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
|
11
12
|
Classifier: Development Status :: 4 - Beta
|
12
13
|
Classifier: Intended Audience :: Science/Research
|
13
|
-
Classifier: License :: OSI Approved :: BSD License
|
14
14
|
Classifier: Natural Language :: English
|
15
|
-
Classifier: Programming Language :: Python :: 3.8
|
16
15
|
Classifier: Programming Language :: Python :: 3.9
|
17
16
|
Classifier: Programming Language :: Python :: 3.10
|
18
17
|
Classifier: Programming Language :: Python :: 3.11
|
19
|
-
Requires-Python: >=3.
|
20
|
-
|
21
|
-
|
22
|
-
Requires-Dist: NREL-
|
23
|
-
Requires-Dist: NREL-
|
18
|
+
Requires-Python: >=3.9
|
19
|
+
Description-Content-Type: text/x-rst
|
20
|
+
License-File: LICENSE
|
21
|
+
Requires-Dist: NREL-gaps<0.8,>=0.7.0
|
22
|
+
Requires-Dist: NREL-NRWAL<1,>=0.0.7
|
23
|
+
Requires-Dist: NREL-PySAM<7,~=6.0.1
|
24
|
+
Requires-Dist: NREL-rex<0.3,>=0.2.99
|
24
25
|
Requires-Dist: numpy~=1.24.4
|
25
|
-
Requires-Dist: packaging
|
26
|
-
Requires-Dist: plotly
|
27
|
-
Requires-Dist: plotting
|
28
|
-
Requires-Dist: shapely
|
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"
|
29
32
|
Provides-Extra: dev
|
30
|
-
Requires-Dist: pytest>=5.2; extra == "dev"
|
31
33
|
Requires-Dist: flake8; extra == "dev"
|
32
34
|
Requires-Dist: pre-commit; extra == "dev"
|
33
35
|
Requires-Dist: pylint; extra == "dev"
|
34
36
|
Provides-Extra: hsds
|
35
|
-
Requires-Dist: hsds
|
36
|
-
Provides-Extra:
|
37
|
-
Requires-Dist:
|
38
|
-
Requires-Dist:
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
37
|
+
Requires-Dist: hsds<1,>=0.8.4; extra == "hsds"
|
38
|
+
Provides-Extra: build
|
39
|
+
Requires-Dist: build<2,>=1.2.2; extra == "build"
|
40
|
+
Requires-Dist: pkginfo<2,>=1.10.0; extra == "build"
|
41
|
+
Requires-Dist: twine<7,>=6.1.0; extra == "build"
|
42
|
+
Dynamic: license-file
|
45
43
|
|
46
44
|
|Docs| |Tests| |Linter| |PythonV| |Pypi| |Codecov| |Zenodo| |Binder|
|
47
45
|
|
@@ -250,5 +248,3 @@ Laboratory. NREL/TP-6A20-73067. https://doi.org/10.2172/1563140.
|
|
250
248
|
Grant Buster, Michael Rossol, Paul Pinchuk, Brandon N Benton, Robert Spencer,
|
251
249
|
Mike Bannister, & Travis Williams. (2023).
|
252
250
|
NREL/reV: reV 0.8.0 (v0.8.0). Zenodo. https://doi.org/10.5281/zenodo.8247528
|
253
|
-
|
254
|
-
|
@@ -1,33 +1,34 @@
|
|
1
|
+
nrel_rev-0.12.2.dist-info/licenses/LICENSE,sha256=hDwoTANtan2ZpufBlXm5C3W_PJ-mCqItvlcobgjxL7k,1526
|
1
2
|
reV/__init__.py,sha256=tXTpWu_qVo3uotfSw_TJ-gNbidGaIPPfUTwBlpCMJ-g,856
|
2
3
|
reV/cli.py,sha256=jfGGOr6QlLz8ghA7vBgx5-VgNsy4bBQo5DdHk42-q9A,1601
|
3
|
-
reV/version.py,sha256=
|
4
|
-
reV/SAM/SAM.py,sha256=
|
4
|
+
reV/version.py,sha256=zfErvyRqxhvVqUlNnaIzFqGx8VY8fEvhVf5NB_ieQNI,51
|
5
|
+
reV/SAM/SAM.py,sha256=3NK9rRaJzqH6wz7CU_5XguKCRhmoilOpDdFFsFgOaxQ,33163
|
5
6
|
reV/SAM/__init__.py,sha256=LJqoncyKDY5ZP5WA4kboh561bce11F9Ge645Izah0EY,240
|
6
|
-
reV/SAM/defaults.py,sha256=
|
7
|
+
reV/SAM/defaults.py,sha256=JQMJomX7wsbMzxKjx_IMnA_9QFsV2yWCyl_JToDVSJo,6703
|
7
8
|
reV/SAM/econ.py,sha256=dFhtUXp5eozSsPyk0XXji0HGexKJnxoct8cwE1ApHVg,20704
|
8
|
-
reV/SAM/generation.py,sha256=
|
9
|
+
reV/SAM/generation.py,sha256=kbDiQ0a0VCrfPi6P1RSMKdjlbxuO3rgiR0-YSM1pyU8,85653
|
9
10
|
reV/SAM/version_checker.py,sha256=q-eXsmSB08A5hSelNH7uAe_bqPpqjsxaiS3OBjXBs-0,3997
|
10
11
|
reV/SAM/windbos.py,sha256=fnq1uxtSl-vtJth0gTlHkCSsmvDbRROCo9RGdqA7hK4,7504
|
11
12
|
reV/SAM/defaults/USA AZ Phoenix Sky Harbor Intl Ap (TMY3).csv,sha256=8QorTX0ACjgPgNV7kLSpTHOqfY4E17gkkpKB-qseiFk,406896
|
12
13
|
reV/SAM/defaults/USA CA Daggett (TMY2).csv,sha256=vVP-mk_cXj1GRHMbqsyZ60fTVMywTappzwp5-ILurFs,410050
|
13
14
|
reV/SAM/defaults/US_Wave.csv,sha256=wvn9vGl9ZGKVHbCyq4muhMI6x1-nAaQfDS3hC4ftwBA,111652
|
14
|
-
reV/SAM/defaults/
|
15
|
-
reV/SAM/defaults/
|
15
|
+
reV/SAM/defaults/WY Southern-Flat Lands.srw,sha256=oSlFI7nnycW7SMnTXEXBXYkoh8rhVD7fxamSrdgNsMY,1015340
|
16
|
+
reV/SAM/defaults/geothermal.json,sha256=gnlxOBxxkbDDacIw6B9yP9iRkfmwj0WTWs8Zb71ytCo,7119
|
17
|
+
reV/SAM/defaults/i_pvwattsv5.json,sha256=sF8rSe1bcqsKLXchvRxlp25dXOVe_q7rPJTf_vWR20Y,312
|
16
18
|
reV/bespoke/__init__.py,sha256=vpXbyBUrUsTgK8UP_LafMjLiDg2CRG9WZLHPsOJoxek,109
|
17
|
-
reV/bespoke/bespoke.py,sha256=
|
18
|
-
reV/bespoke/cli_bespoke.py,sha256=
|
19
|
+
reV/bespoke/bespoke.py,sha256=uWuYkWYiI5N50AM4yoAoLwd5CT4CE3sgBJjL_PROnmM,112503
|
20
|
+
reV/bespoke/cli_bespoke.py,sha256=b6Xu0GKpXqPX3qVJ6-z0FrO97uCsH_1dVOa4r6IvesQ,2911
|
19
21
|
reV/bespoke/gradient_free.py,sha256=URWV1yiO2jyWk3_GOpfpLV_wlgJhXXGmTUwCB3WTV0Y,12015
|
20
|
-
reV/bespoke/pack_turbs.py,sha256=
|
21
|
-
reV/bespoke/place_turbines.py,sha256=
|
22
|
-
reV/bespoke/plotting_functions.py,sha256=VDJlA-fyN1O_ZA32P6EGEO7w4Ld5HnsENMx7wcayISo,5619
|
22
|
+
reV/bespoke/pack_turbs.py,sha256=Dcd9F8obF8LPztzeycB5kxa5hXKSCiz3jC1WeAFUx28,3508
|
23
|
+
reV/bespoke/place_turbines.py,sha256=3l8EUfXd2aeTGjHP8OlllgmaCW_I9gKJIQ9EGlWni_Y,25412
|
23
24
|
reV/config/__init__.py,sha256=oqFNU4JESU_fPxFmPyQNFAXLDAdzmTlPuabXTe3Rf2Y,92
|
24
25
|
reV/config/base_analysis_config.py,sha256=NvA3g5zQz8mIrV8ZSENLq0XBZGXa6RTGkwpZ76TVZj8,5615
|
25
26
|
reV/config/base_config.py,sha256=a748VQ3CRs9RVi5sSEPcaWOyH6R3t5tssaFqZntHyaE,10075
|
26
27
|
reV/config/cli_project_points.py,sha256=6edOlLNOG-ZEbcpNS2MPfu-DXjcOTEh_MEvKOvQSZj4,6010
|
27
28
|
reV/config/curtailment.py,sha256=1bH7xzxOmD4PwLKcXFNotMAa9iCfGBUm2DKTOXViCJg,5548
|
28
29
|
reV/config/execution.py,sha256=hyf8W7XYUXE6tXBXs-4En7h_aDTYu8FzbslgBsKLJkQ,5046
|
29
|
-
reV/config/output_request.py,sha256=
|
30
|
-
reV/config/project_points.py,sha256=
|
30
|
+
reV/config/output_request.py,sha256=Sj3L5hcypLTCtLnKAqS7GSaI4_Hpb28QLuWT9IMCvrc,4520
|
31
|
+
reV/config/project_points.py,sha256=5cY-vMXlGfgjpUDf1OeVLuUJXXXwis365JdOaclMqoY,41740
|
31
32
|
reV/config/sam_config.py,sha256=xvvx2FTuliq0Sk-BjRE3I9zdDmIdwHVBnWtXCcsoc40,7998
|
32
33
|
reV/econ/__init__.py,sha256=UId1LNaAP9lErCEXVce6JZf0qVRUvwNFOPrajdRevGo,130
|
33
34
|
reV/econ/cli_econ.py,sha256=2KNy3JQD0EKjStaoD2r6nv3ELFw88h2E_up-UKj_sfE,4286
|
@@ -35,13 +36,13 @@ reV/econ/econ.py,sha256=edsNPZg2amhC_GZeotkY2MU3u17NgWeCpS6okZNrwAA,23637
|
|
35
36
|
reV/econ/economies_of_scale.py,sha256=GfM0vj4LnwsthzhSsUnmLt78PAUHrxZI5ghWaxvoF7A,10568
|
36
37
|
reV/econ/utilities.py,sha256=ZOA49S1jfsvdenvlL7m-BAJIrAvpAHSix5-wrSW0uLc,1232
|
37
38
|
reV/generation/__init__.py,sha256=LBecrbpL69tROol_OwVHTKBrTqgSSxJW59fs0k3o0jQ,75
|
38
|
-
reV/generation/base.py,sha256=
|
39
|
+
reV/generation/base.py,sha256=D--WPQ8ZWElE06HtZF9rQYK1cAa4MWBDEqkOZ2hmFEE,49482
|
39
40
|
reV/generation/cli_gen.py,sha256=5RSlr8yO9zlB-1FzFZGClqsxqsrbr9rcS_8PlOjVx2s,4435
|
40
|
-
reV/generation/generation.py,sha256=
|
41
|
+
reV/generation/generation.py,sha256=FrNN3p-WScRtnVHhaqxpTAgvVbE0cIF9_2Or_qDlJ8g,49029
|
41
42
|
reV/generation/output_attributes/generation.json,sha256=cy8efVCJgNSYCsR3x3_VpMCtynYS3oaQG4M2MwcdzFY,4954
|
42
43
|
reV/generation/output_attributes/lcoe_fcr.json,sha256=d_TGMkZsmsfDXQiWfhYjFkmwqi-wKF8JdHmiMCj2h38,136
|
43
44
|
reV/generation/output_attributes/lcoe_fcr_inputs.json,sha256=Yb-WTXt9YD4wE4Uu315W2uLFH6g3fT40YY83mxS-aWE,1289
|
44
|
-
reV/generation/output_attributes/linear_fresnel.json,sha256=
|
45
|
+
reV/generation/output_attributes/linear_fresnel.json,sha256=Nuh2MgyVsLWJc-m_HjI2XCsXeDBorZS7R7FKA4A4Y4E,1345
|
45
46
|
reV/generation/output_attributes/other.json,sha256=3OQ8Vj1B8YKJHhLyOuBp60IZUiITrGXX86xeOVypdWE,111
|
46
47
|
reV/generation/output_attributes/single_owner.json,sha256=y-7yg9o45_g67YFl32i8288kmUIBpB9RzolIusFcDN0,827
|
47
48
|
reV/generation/output_attributes/solar_water_heat.json,sha256=gslLJ59Sx4hD15a4UPzbfF_YtJnKjj1QGavg8Bh-F3g,1659
|
@@ -59,8 +60,8 @@ reV/hybrids/cli_hybrids.py,sha256=XdckQy0dXeeaQdNA3EM7osmBOp9GBuk4U6u1R6waZQc,48
|
|
59
60
|
reV/hybrids/hybrid_methods.py,sha256=5nGb2sadp8zT9atZJNVigpYm_JYJxt4gWCPo56-5Vjk,4917
|
60
61
|
reV/hybrids/hybrids.py,sha256=7DFaqkNdAUVJxd_YDoQI-psKcJAlWgOGapYb_kIv3kw,46601
|
61
62
|
reV/losses/__init__.py,sha256=DMmJo9oOVrF1npUcjuSHo_yslf94am8xdvYrvwjEsjM,141
|
62
|
-
reV/losses/power_curve.py,sha256=
|
63
|
-
reV/losses/scheduled.py,sha256=
|
63
|
+
reV/losses/power_curve.py,sha256=P7xhRlTDqVoz5m3BJMwqYbrSKBkZfeWVEzFVmFARVGE,45289
|
64
|
+
reV/losses/scheduled.py,sha256=w25YIXi7ykkeP9FgB_6vpjNm1MNOYNRjM-dqqVQJvGA,27276
|
64
65
|
reV/losses/utils.py,sha256=XyM38JVlBNad9BEMJqRLuK6xba_DfFZUxNSC7EcRelM,7511
|
65
66
|
reV/nrwal/__init__.py,sha256=HD-QXvKRM5s6Z24zfKw31yhBttrkTe8hzUnx0FZP_P0,114
|
66
67
|
reV/nrwal/cli_nrwal.py,sha256=sa2gI86sNGk3ZJuQPxy_xsxle4KWDyPNrM11hlq6Ask,1825
|
@@ -73,25 +74,25 @@ reV/rep_profiles/__init__.py,sha256=v6YZk7tGLpw5gnSckjOn22xazTnv10siCFfWQl9H_fQ,
|
|
73
74
|
reV/rep_profiles/cli_rep_profiles.py,sha256=i3fRolT7HTzTQePXpNLDyxwgpRa7FEfHO1mOqiSufK4,4613
|
74
75
|
reV/rep_profiles/rep_profiles.py,sha256=oqmtU9FbUlKurkglmZLyDBNH8VRKv8fgdSuvtYWLm04,48271
|
75
76
|
reV/supply_curve/__init__.py,sha256=dbf0cO0qmt1VhV8dnDddztrcpnwua9T2HBhM6tLKaP8,274
|
76
|
-
reV/supply_curve/aggregation.py,sha256=
|
77
|
+
reV/supply_curve/aggregation.py,sha256=dnnuDG9BEGEgY17uA8nSF3s6L6Q6Lxe94aS7AIKSlm0,40471
|
77
78
|
reV/supply_curve/cli_sc_aggregation.py,sha256=qGfJyZjg4tFARG2dl-wAlHv9KjEp2u4wg1Boxz18Gf0,3347
|
78
79
|
reV/supply_curve/cli_supply_curve.py,sha256=e-XrHQIe4OqWTL6u-TUAyHrw7Alk7vkXQ2HoLbE3zTM,2163
|
79
80
|
reV/supply_curve/competitive_wind_farms.py,sha256=eOjM72-4oWtsqxB7Wh2gnB2zVAt4LY3iPE_DqWdXbQ4,15795
|
80
81
|
reV/supply_curve/exclusions.py,sha256=4-ZxTO5Vlu03vie0V_74uvdajQfCuC8FE96Pg8I4U_c,42950
|
81
82
|
reV/supply_curve/extent.py,sha256=a31po753hXSxQ8lfcCvpE8hoKc4bY7MmYq0NO0jtdqA,17414
|
82
|
-
reV/supply_curve/points.py,sha256=
|
83
|
-
reV/supply_curve/sc_aggregation.py,sha256=
|
83
|
+
reV/supply_curve/points.py,sha256=K9f9s0V_mhwvw33M0Zo0NzfVVRmpZuheKJGnejyf648,88473
|
84
|
+
reV/supply_curve/sc_aggregation.py,sha256=SokYyLXdjQwgvdmgiWhLSSTssnkX6ZdCSwO0WzC8SYw,63911
|
84
85
|
reV/supply_curve/supply_curve.py,sha256=igbloCkvYQwaH4zjbrYO17J7TtCTX5dKkk-TnlGJJeY,69931
|
85
86
|
reV/supply_curve/tech_mapping.py,sha256=nfqPIj9o1pllX3aRC1Hi2KGXYJOYy68Vbvr_1asNmFk,18573
|
86
|
-
reV/utilities/__init__.py,sha256=
|
87
|
+
reV/utilities/__init__.py,sha256=Z77DeuW_HtMFr7ssywUEgOLikWkDTtbaEdEWiSxwO4Y,10592
|
88
|
+
reV/utilities/_clean_readme.py,sha256=IFI9wGPX5nnLTNVLJzH8IOHq9unQlAlHRu4Namib0LA,709
|
87
89
|
reV/utilities/cli_functions.py,sha256=1_T_sXz0Ct8lW-vOk3mMRcpD6NYsc9cGI7dEujIi9z4,3864
|
88
|
-
reV/utilities/curtailment.py,sha256=
|
90
|
+
reV/utilities/curtailment.py,sha256=As902-2aLGnCiVEutYfAFIOwuV--_rCQhxGNOY9RB-4,5241
|
89
91
|
reV/utilities/exceptions.py,sha256=f7sRGsbFLpmL6Caq_H1cD4GfVhnLMyvYUsLPA1UVDDE,3974
|
90
92
|
reV/utilities/pytest_utils.py,sha256=T22NFEGxPOc9wRwgy0Pt2cHvw3Vam9cKwUj4AkzI7bU,3244
|
91
93
|
reV/utilities/slots.py,sha256=xsw-JuUVZ0YeoCNuwP_HxGNxFMA4xRs1tuImXHIJqaU,2618
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
NREL_reV-0.9.7.dist-info/RECORD,,
|
94
|
+
nrel_rev-0.12.2.dist-info/METADATA,sha256=1x4NB6NRj-AhydnW05KvJ4NHKGABHxzJStt_Fji8Bh8,10911
|
95
|
+
nrel_rev-0.12.2.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
|
96
|
+
nrel_rev-0.12.2.dist-info/entry_points.txt,sha256=4IfJtZm2iMJwrbC8J0Or7VjZWnFpvCaHYVpvSWfIwDA,616
|
97
|
+
nrel_rev-0.12.2.dist-info/top_level.txt,sha256=S6YF2ZYgXUB6n28SY0K2H8YB9tMJdXQ9CyQbo6VC89M,4
|
98
|
+
nrel_rev-0.12.2.dist-info/RECORD,,
|
reV/SAM/SAM.py
CHANGED
@@ -12,7 +12,7 @@ from warnings import warn
|
|
12
12
|
|
13
13
|
import numpy as np
|
14
14
|
import pandas as pd
|
15
|
-
import PySAM.
|
15
|
+
import PySAM.CustomGeneration as generic
|
16
16
|
from rex.multi_file_resource import (
|
17
17
|
MultiFileNSRDB,
|
18
18
|
MultiFileResource,
|
@@ -52,7 +52,6 @@ class SamResourceRetriever:
|
|
52
52
|
"pvsamv1": SolarResource,
|
53
53
|
"tcsmoltensalt": SolarResource,
|
54
54
|
"solarwaterheat": SolarResource,
|
55
|
-
"troughphysicalheat": SolarResource,
|
56
55
|
"lineardirectsteam": SolarResource,
|
57
56
|
"windpower": WindResource,
|
58
57
|
"mhkwave": WaveResource,
|
@@ -190,7 +189,10 @@ class SamResourceRetriever:
|
|
190
189
|
kwargs["icing"] = project_points.sam_config_obj.icing
|
191
190
|
if (
|
192
191
|
project_points.curtailment is not None
|
193
|
-
and
|
192
|
+
and any(
|
193
|
+
config.precipitation
|
194
|
+
for config in project_points.curtailment.values()
|
195
|
+
)
|
194
196
|
):
|
195
197
|
# make precip rate available for curtailment analysis
|
196
198
|
kwargs["precip_rate"] = True
|
@@ -402,6 +404,14 @@ class Sam:
|
|
402
404
|
)
|
403
405
|
logger.exception(msg)
|
404
406
|
raise SAMInputError(msg)
|
407
|
+
|
408
|
+
if (key == "total_installed_cost" and isinstance(value, str)
|
409
|
+
and value.casefold() == "windbos"):
|
410
|
+
# "windbos" is a special reV key to tell reV to compute
|
411
|
+
# total installed costs using WindBOS module. If detected,
|
412
|
+
# don't try to set it as a PySAM attribute
|
413
|
+
return
|
414
|
+
|
405
415
|
self.sam_sys_inputs[key] = value
|
406
416
|
group = self._get_group(key, outputs=False)
|
407
417
|
try:
|
@@ -429,9 +439,9 @@ class Sam:
|
|
429
439
|
|
430
440
|
Returns
|
431
441
|
-------
|
432
|
-
PySAM.
|
442
|
+
PySAM.CustomGeneration
|
433
443
|
"""
|
434
|
-
obj = cls.PYSAM.default("
|
444
|
+
obj = cls.PYSAM.default("CustomGenerationProfileNone")
|
435
445
|
obj.execute()
|
436
446
|
|
437
447
|
return obj
|
@@ -519,6 +529,14 @@ class Sam:
|
|
519
529
|
for a in dir(obj)
|
520
530
|
if not a.startswith("__") and a not in self.IGNORE_ATTRS
|
521
531
|
]
|
532
|
+
try:
|
533
|
+
# adjustment factors are "dynamic" as of PySAM 5+
|
534
|
+
# Not found by dir() function, so must check for them
|
535
|
+
# explicitly
|
536
|
+
__ = obj.AdjustmentFactors
|
537
|
+
attrs.append("AdjustmentFactors")
|
538
|
+
except AttributeError:
|
539
|
+
pass
|
522
540
|
return attrs
|
523
541
|
|
524
542
|
def execute(self):
|
@@ -552,8 +570,13 @@ class Sam:
|
|
552
570
|
if "." in key:
|
553
571
|
key = key.replace(".", "_")
|
554
572
|
|
555
|
-
if "
|
556
|
-
|
573
|
+
if "adjust:" in key:
|
574
|
+
msg = ("The 'adjust:' syntax is deprecated in PySAm 6+. Please"
|
575
|
+
"use 'adjust_' instead (e.g. 'adjust:hourly' -> "
|
576
|
+
"'adjust_hourly')")
|
577
|
+
logger.warning(msg)
|
578
|
+
warn(msg)
|
579
|
+
key = key.replace(":", "_")
|
557
580
|
|
558
581
|
if isinstance(value, str) and "[" in value and "]" in value:
|
559
582
|
try:
|