NREL / electrolyzer

Other
20 stars 16 forks source link

Cost Feature Added for LCOH #26

Closed elenya-grant closed 1 year ago

elenya-grant commented 1 year ago

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.

jaredthomas68 commented 1 year ago