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.
@@ -1,47 +1,45 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: NREL-reV
3
- Version: 0.9.7
3
+ Version: 0.12.2
4
4
  Summary: National Renewable Energy Laboratory's (NREL's) Renewable Energy Potential(V) Model: reV
5
- Home-page: https://nrel.github.io/reV/
6
- Author: Galen Maclaurin
7
- Author-email: galen.maclaurin@nrel.gov
8
- License: BSD 3-Clause
9
- Keywords: reV
10
- Platform: UNKNOWN
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.8
20
- Requires-Dist: NREL-gaps>=0.6.11
21
- Requires-Dist: NREL-NRWAL>=0.0.7
22
- Requires-Dist: NREL-PySAM~=4.1.0
23
- Requires-Dist: NREL-rex>=0.2.97
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>=20.3
26
- Requires-Dist: plotly>=4.7.1
27
- Requires-Dist: plotting>=0.0.6
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>=0.8.4; extra == "hsds"
36
- Provides-Extra: s3
37
- Requires-Dist: fsspec; extra == "s3"
38
- Requires-Dist: s3fs; extra == "s3"
39
- Provides-Extra: test
40
- Requires-Dist: pytest>=5.2; extra == "test"
41
-
42
-
43
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
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=qvsYDmbch162uNYl33wLtWh5TATvNxPNT5ydByLs0dg,50
4
- reV/SAM/SAM.py,sha256=1xuxs2gb1wsgbBkhj3mdQVDuSWbp5T5Bh7kLRl69pkg,32258
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=2zqT_mfrVtbvU7Pe6H4anNtiVkIyQbuJcGIOARzEsbM,7193
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=vUM2DUHCsKh_FBzuUKtFsq_oUXxm47c-oP33KvfA7Ow,86524
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/geothermal.json,sha256=ivxnpxkfBrEl1MwLKXClLJfTfvF5UrbN87wpC_BFLck,2598
15
- reV/SAM/defaults/i_pvwattsv5.json,sha256=pZpNlK5MiowZmNwY7i9XRWp9G8pPLirwdBWCMVJVuKE,312
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=LNPxdu_TK6GrgiGmtQJt0IE6TaAsXv22RYit0daravg,113475
18
- reV/bespoke/cli_bespoke.py,sha256=nZc6rJlfxH2IXUz9bym4EO-C1k6VvulgweWoRrMg_cE,3028
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=l4btC2dPZkLvDgAAGVhAYgAZDbvwimGYRdrQDq0xT68,3740
21
- reV/bespoke/place_turbines.py,sha256=Dy_dfGcLDjixK6jEaZdMmx575lY_S2XFvoy_8tGFbH0,26608
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=0aAV8_YrJGcskZGrfhS9EMml6B1tCcBn8SSkwTG11CI,4020
30
- reV/config/project_points.py,sha256=NmIj7hQm4qSMBqgefZDRNot2B8APCDk0ynTwegk-1Go,37788
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=p6g8Bj8T98OfKu44LTocGtEozstbUvti6wSi3oroS5U,48758
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=o6nJlEcgs-QQ_fdqva-7jOhWl1wj-J7CIrRR5qNJyEQ,47434
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=B7mq-Hxg8oIDxnvKxp2Y43qbkueTZReq2_weMbRJfy4,1218
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=eGoYZMhGCETKHc-W3TYjl0PYFQDpv4lrvc7q84OI0SY,45148
63
- reV/losses/scheduled.py,sha256=h2Kh1xAsxn575i0gKa66TsrNXr7Rj_GlNenfmX4-Lug,26452
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=fv4FTdRUQWZ_1Ds84ubgJdrf5lR1xb3luhAnibe3Y3Q,38752
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=Wk95hMQtsSqjz-rkQrKKoedzI1LWU--_N5KjhPVPRik,86126
83
- reV/supply_curve/sc_aggregation.py,sha256=R_h3xXKum4JTYMuq2us0rWhW0t2wm-G9Wj2on1d8FeY,61604
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=xmF0CVqjZ_KY__MxW_3BGWlWr4MWWRgPk38j4qbn76A,10536
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=fu48Lje-iyd2Awfe-6jFebvgcKSeJ3daNNTqjFI2GvM,4963
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
- NREL_reV-0.9.7.dist-info/LICENSE,sha256=hDwoTANtan2ZpufBlXm5C3W_PJ-mCqItvlcobgjxL7k,1526
93
- NREL_reV-0.9.7.dist-info/METADATA,sha256=zgopP71qLAcbj2YHkfaBvGGZ6oS8xw4e7yUPCLuA5Ho,10735
94
- NREL_reV-0.9.7.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
95
- NREL_reV-0.9.7.dist-info/entry_points.txt,sha256=KGtPEOQRZMSqKXjjv5jt_T4e4HQN0fHiaGdAWwTtuW4,617
96
- NREL_reV-0.9.7.dist-info/top_level.txt,sha256=S6YF2ZYgXUB6n28SY0K2H8YB9tMJdXQ9CyQbo6VC89M,4
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,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.45.1)
2
+ Generator: setuptools (78.1.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -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
-
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.GenericSystem as generic
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 project_points.curtailment.precipitation
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.GenericSystem
442
+ PySAM.CustomGeneration
433
443
  """
434
- obj = cls.PYSAM.default("GenericSystemNone")
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 ":constant" in key and "adjust:" in key:
556
- key = key.replace("adjust:", "")
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: