Closed elenya-grant closed 1 year ago
This is looking closer to what we need @elenya-grant, thank you!
"It can be merged but functions more as a standalone feature than integrated with current examples"
I think it is pretty important to get it working in an integrated way. This is something that @camirmas and I (and probably @bayc and @genevievestarke) can assist with as needed. It looks like there are quite a few hard-coded values in the cost codes. I'd like to see a user be able to pass in the information from the electrolyzer performance model (design, production, degradation, etc) and get out the relevant costs.
"Tests are not relevant (?)"
Tests are (almost) always relevant. You should find a way to test the results, even if just to show you are matching the results in the cited paper(s). Feel free to work with @camirmas, @bayc, or myself to figure out what tests to write and how to go about creating them. We can help write the tests as well.
I think it is important that CAPEX and OPEX are separate from LCOH so they can be used separately
The various models you are using have different base years the costs are for. To be used correctly we need to, at a minimum, know what year the costs are project or recorded for so we can discount them appropriately.
We need to make sure we can pass in the wind costs as well to get full LCOH, which may be best done by adding another LCOH method using ProFAST.
It can be merged but functions more as a standalone feature than integrated with current examples. Does not yet include the 'attrs' functionality. Tests are not relevant (?), development is in-progress, relevant literature is linked in the code. CapEx and OpEx-I calculation pull from this paper for numbers and methods: https://www.sciencedirect.com/science/article/pii/S2667095X21000052
Feature or improvement description Cost Feature added: initial LCOH estimation and calculation based on literature. User can input annual data or an instance of the supervisor object and the supervisor dictionary to get a simple annual performance estimation. There are two different OpEx calculations that have different base cost values for the stack replacement costs. Overall LCOH very is sensitive to number of stack replacements. lcoh_calcs.py includes the class which does the lcoh calculation. call_lcoh.py is where the user may either 1) enter annual data or 2) pass an instance of the supervisor object to run a simple annual estimation - both options will call the PEM_lcoh() class for calculations. Also added an output dictionary that contains cost breakdown.
Related issue, if one exists I don't know how to link issues :)
Impacted areas of the software The electrolyzer supervisor will need to have two added attributes, H2_Store and P_indv_store for the cost code to function as written. Adding these attributes will give warnings that any computation from the supervisor object is slow.
Additional supporting information This is meant to function as a first pass at LCOH estimation but will remain a work in progress. Test results, if applicable Tests are not super applicable to this code at the moment.