From d4e8cc967e5b681f5992a41a24347ea72bb24e5a Mon Sep 17 00:00:00 2001 From: astronobri Date: Mon, 9 Dec 2024 18:26:02 -0500 Subject: [PATCH] derUtilityCost: Added stacked plots of BESS compensation to consumers and ongoing and one-time operational costs to Cash Flow Projection plot --- omf/models/derUtilityCost.html | 6 +++--- omf/models/derUtilityCost.py | 12 ++++++------ 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/omf/models/derUtilityCost.html b/omf/models/derUtilityCost.html index e7d608b06..c1392a54c 100644 --- a/omf/models/derUtilityCost.html +++ b/omf/models/derUtilityCost.html @@ -350,9 +350,9 @@ {"name":"Net Benefits", "data": allOutputData.netCashflow}, {"name":"Utility Savings", "data": allOutputData.savingsAllYears}, {"name":"Subsidies", "data": allOutputData.subsidies}, - //{"name":"BESS Compensation to Member-consumers", "data": allOutputData.BESS_compensation_to_consumer_allyears}, - //{"name":"Ongoing Operational Costs", "data": allOutputData.operationalCosts_ongoing_allyears_total}, - //{"name":"One-time Operational Costs", "data": allOutputData.operationalCosts_onetime_allyears_total}, + {"name":"BESS Compensation to Member-consumers", "data": allOutputData.BESS_compensation_to_consumer_allyears}, + {"name":"Ongoing Operational Costs", "data": allOutputData.operationalCosts_ongoing_allyears_total}, + {"name":"One-time Operational Costs", "data": allOutputData.operationalCosts_onetime_allyears_total}, {"name":"Cumulative Return", "type":"spline", "data": allOutputData.cumulativeCashflow} ], "yAxis":{"title":{"text":"Income ($)","style":{"color":"gray"}}}, diff --git a/omf/models/derUtilityCost.py b/omf/models/derUtilityCost.py index bf91bc37e..8915ef4a2 100644 --- a/omf/models/derUtilityCost.py +++ b/omf/models/derUtilityCost.py @@ -596,9 +596,9 @@ def work(modelDir, inputDict): operationalCosts_1year_total = operationalCosts_onetime + operationalCosts_ongoing*12 operationalCosts_1year_array = np.full(12, operationalCosts_ongoing) operationalCosts_1year_array[0] += operationalCosts_onetime - operationalCosts_ongoing_allyears_array = np.full(projectionLength, operationalCosts_ongoing*12) - operationalCosts_onetime_allyears_array = np.full(projectionLength, 0) - operationalCosts_onetime_allyears_array[0] = operationalCosts_1year_total + operationalCosts_ongoing_allyears_array = np.full(projectionLength, operationalCosts_ongoing*12.0) + operationalCosts_onetime_allyears_array = np.full(projectionLength, 0.0) + operationalCosts_onetime_allyears_array[0] = operationalCosts_onetime ## Calculating total utility costs utilityCosts_1year_total = operationalCosts_1year_total + operationalCosts_ongoing + total_subsidy_1year + total_residential_BESS_compensation @@ -638,7 +638,7 @@ def work(modelDir, inputDict): #outData['savings'] = utilityNetSavings_1year_list - # Update financial parameters + ## Update financial parameters outData['savings'] = utilityNetSavings_1year_array outData['totalCost'] = list(np.array(outData['totalCost']) + np.array(utilityCosts_1year_array)) outData['NPV'] = utilityNetSavings_allyears_total @@ -648,8 +648,8 @@ def work(modelDir, inputDict): outData['savingsAllYears'] = list(utilitySavings_allyears_array) outData['subsidies'] = list(total_subsidy_allyears_array) outData['BESS_compensation_to_consumer_allyears'] = list(BESS_allyears_compensation_to_consumer_array) - #outData['operationalCosts_ongoing_allyears_total'] = list(operationalCosts_ongoing_allyears_array) - #outData['operationalCosts_onetime_allyears_total'] = list(operationalCosts_onetime_allyears_array) + outData['operationalCosts_ongoing_allyears_total'] = list(operationalCosts_ongoing_allyears_array) + outData['operationalCosts_onetime_allyears_total'] = list(operationalCosts_onetime_allyears_array) # Model operations typically ends here.