PV example and LCOE Test#210
Conversation
johnjasa
left a comment
There was a problem hiding this comment.
I like the idea of this PR -- comparing the results we're getting and the ATB seems worthwhile! I want to get a better idea of your goals with this and that can help shape my further feedback.
Is your main goal to show that we're relatively close to the ATB results, but they're slightly different? If so, I'd suggest a doc page that goes through the results, shows the differences, and links to the ATB numbers. This way users could see and understand the similarities and differences more clearly. I would suggest removing the example test then.
If the main goal is to ensure that results do not change in the solar cost model, then I don't think the example test is necessarily capturing that because of the large tolerance on the asserts. There's also already the test_pysam_with_atb_costs.py file ensure values do not change coming out of the model.
In summary, thank you for this! But I think some iteration on the goal and how we're achieving that would be helpful.
Since Jared mentioned that almost all financial models will return different results I've been trying to ponder the best way to approach validating our financial methods. I'm not sure that I have cracked the code on the best way to approach this. I think I agree with John, given the large tolerances on the tests and differences that aggregate from the performance modeling and financial models I'm not sure this PR makes it clearer that everything is implemented correctly. I appreciate you being willing to work on this cryptic issue but I'm wondering if we move this back into the rumination phase on how to approach the issue. |
|
will go back to the drawing board on this one and will open a new PR in the future once it's determined what this example should accomplish. |
PV example and LCOE Test
New example and LCOE test for utility-scale PV using cost and performance data from the 2024 ATB workbook. The tests allow for more than usual error to account for possible differences in the pv model parameters, LCOE financial parameters (compared to the ATB), PV capacity factor due to differences in the PV model, differences in reflecting lifetime performance (from H2I model compared to how it was used in ATB), etc.
The new example utilizes the following new models/features:
PR Checklist
CHANGELOG.mdhas been updated to describe the changes made in this PRdocs/files are up-to-date, or added when necessaryRelated issues
Impacted areas of the software
tests/h2integrate/test_all_examples.pytest_pv_example(): test LCOE and capacity factor for Example 15. The output values are tested against values from the 2024 ATB Workbook for Utility-PV - Class 2, using 2030 as the year and "Moderate" technology advancement scenario.examples/15_solar_pv/plant_config.yaml: plant file that uses the same solar resource as Example 11driver_config.yaml: driver config file, nothing too exciting heretech_config.yaml: technology config file that aims to replicate the representative technology for utility-scale PV described in the ATB but somewhat modified given that this example is based on 2030 technology and the ATB gives more detail on the 2035 technologyprofast_params.yaml: profast params input file (alternative method to specify finance parameters)run_solar_pv.py: python run script for exampleAdditional supporting information
Test results, if applicable