Add Optional Costs for Existing Boiler and Chiller#465
Conversation
…ating loads. Before, this was taking the maximum of **each** heating load and adding them together, so making the peak larger than the combined heating loads.
…e_cashflow (optimal)
This test was taking a long time to solve, and part-load efficiency is not core to the test
And remove an unnecessary superset "inputs" which did not include a majority of input-related tests
…rify CapEx assumptions
|
@Bill-Becker can you also update the REopt.jl wiki with these additional inputs (if you haven't already updated it somewhere else that I miss)? |
So I think the Go-To place for seeing inputs and outputs would be the REopt.jl documentation page, and since I added the new inputs to the ExistingBoiler and ExistingChiller doc strings (above the structs), they will be viewable once this gets merged in. This is the version of the docs page that I spun up locally to confirm they will be in there: |
atpham88
left a comment
There was a problem hiding this comment.
Everything looks good to me. Thanks very much Bill! I ran a bunch of tests with boiler and chiller in BAU-only and also in optimal cases and the sizes and capital costs are calculated correctly. There's some conflicts to resolve but after that it should be good to merge in.
I see these updates in the existingboiler.jl now. I originally thought we have to update a separate doc but this is better. Thanks. |


Add installed cost input options for
ExistingBoilerandExistingChillerwhich are also in the BAU scenario, to represent upgrades/replacements needed for those, which can then be avoided with investment in DERs.Two cost options are implemented (swap out
_per_mmbtu_per_hourwith_per_tonfor the analogous ExistingChiller options):installed_cost_per_mmbtu_per_hourwhich estimates the cost based on theExistingBoilersize needed for the scenario. We also include the inputmax_thermal_factor_on_peak_loadin the size/cost needed (default is 1.25), so that effectively adds e.g. 25% to the size and cost based on the used/needed amount ofExistingBoiler. For example, if the BAU case needs 2 MMBtu/hr boiler, but the optimal case only needs 1 MMBtu/hr, the optimal case will have half the cost as the BAU case for theExistingBoiler.installed_cost_dollarswhich is not dependent on the size needed, and the optimal scenario will incur this entire cost if any size/amount of theExistingBoileris needed still. So the optimal case needs to not use any of theExistingBoilerto avoid this cost. Note, forGHPwhich cannot serveDomesticHotWaterLoadby default, the preference may be to use Option 1 so that the incurredExistingBoilercost is only for serving DHW load. Or, the user can inputinstalled_cost_dollarsthat just represents the installed cost of the boiler(s) for hot water heating.Note, no incentives or discounting is applied to these installed cost inputs, so they are meant to be in terms of "net present" cost.