Skip to content

Commit

Permalink
Merge pull request #1733 from ORNL-AMO/issue-1720-b
Browse files Browse the repository at this point in the history
updated savings calculations for banking
  • Loading branch information
rmroot authored Oct 7, 2024
2 parents ae235e2 + ac45b5a commit d05c98a
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 16 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ export class GroupMonthlyAnalysisCalculatedValues {
SEnPI: number;

savings: number;
savingsUnbanked: number;

percentSavingsComparedToBaseline: number;

Expand Down Expand Up @@ -55,14 +56,14 @@ export class GroupMonthlyAnalysisCalculatedValues {
this.setYearToDateModeledEnergyUse();
this.setYearToDateActualEnergyUse();
this.setBaselineModeledEnergyUse(baselineYear, previousMonthValues);
this.setAdjustedStar(baselineActualEnergyUse, modelYearDataAdjusted, baselineAdjustementInput, lastBankedMonthSummaryData);
this.setAdjustedStar(baselineActualEnergyUse, modelYearDataAdjusted, baselineAdjustementInput);
this.setAdjustedStarStar(dataAdjustment);
this.setAdjusted();
this.setBaselineAdjustmentForNormalization(baselineActualEnergyUse, modelYearDataAdjusted, dataAdjustment);
this.setBaselineAdjustmentForOtherV2(baselineAdjustementInput, modelYearDataAdjusted, dataAdjustment, baselineActualEnergyUse);
this.setBaselineAdjustment();
this.setSEnPI();
this.setSavings(baselineActualEnergyUse, baselineAdjustementInput, modelYearDataAdjusted, dataAdjustment);
this.setSavings(baselineActualEnergyUse, baselineAdjustementInput, modelYearDataAdjusted, dataAdjustment, lastBankedMonthSummaryData);
this.setPercentSavingsComparedToBaseline();
this.setYearToDateSavings(baselineYear);
this.setRollingSavingsValues(previousMonthValues);
Expand Down Expand Up @@ -119,7 +120,7 @@ export class GroupMonthlyAnalysisCalculatedValues {
this.yearToDateBaselineModeledEnergyUse = this.yearToDateBaselineModeledEnergyUse + this.baselineModeledEnergyUse;
}

setAdjustedStar(baselineActualEnergyUse: number, modelYearDataAdjusted: number, baselineAdjustementInput: number, lastBankedMonthSummaryData: MonthlyAnalysisSummaryDataClass) {
setAdjustedStar(baselineActualEnergyUse: number, modelYearDataAdjusted: number, baselineAdjustementInput: number) {
if (this.baselineModeledEnergyUse - modelYearDataAdjusted == 0) {
if (this.modeledEnergy - modelYearDataAdjusted == 0) { //M_i = 0 subcase is the weird one
this.adjustedStar = (baselineActualEnergyUse + baselineAdjustementInput);
Expand All @@ -129,10 +130,6 @@ export class GroupMonthlyAnalysisCalculatedValues {
} else {
this.adjustedStar = (baselineActualEnergyUse + baselineAdjustementInput) * ((this.modeledEnergy - modelYearDataAdjusted) / (this.baselineModeledEnergyUse - modelYearDataAdjusted));
}

if (lastBankedMonthSummaryData) {
this.adjustedStar = this.adjustedStar * (1 + lastBankedMonthSummaryData.monthlyAnalysisCalculatedValues.rolling12MonthImprovement);
}
}

setAdjustedStarStar(dataAdjustment: number) {
Expand Down Expand Up @@ -173,11 +170,18 @@ export class GroupMonthlyAnalysisCalculatedValues {
this.SEnPI = this.energyUse / this.adjusted;
}

setSavings(baselineActualEnergyUse: number, baselineAdjustementInput: number, modelYearDataAdjusted: number, dataAdjustment: number) {
setSavings(baselineActualEnergyUse: number, baselineAdjustementInput: number, modelYearDataAdjusted: number, dataAdjustment: number, lastBankedMonthSummaryData: MonthlyAnalysisSummaryDataClass) {
if ((baselineActualEnergyUse + baselineAdjustementInput) != 0 && (this.baselineModeledEnergyUse - modelYearDataAdjusted) != 0 && (this.modeledEnergy - modelYearDataAdjusted) != 0) {
this.savings = this.adjusted - this.energyUse;
this.savingsUnbanked = this.adjusted - this.energyUse;
if (lastBankedMonthSummaryData) {
this.savings = ((1 + lastBankedMonthSummaryData.monthlyAnalysisCalculatedValues.rolling12MonthImprovement) * this.adjusted) - this.energyUse;
} else {
this.savings = this.savingsUnbanked;
}
} else {
this.savings = ((baselineActualEnergyUse + baselineAdjustementInput) - (this.baselineModeledEnergyUse - modelYearDataAdjusted)) + ((this.modeledEnergy - modelYearDataAdjusted) - (this.energyUse - dataAdjustment))
this.savingsUnbanked = ((baselineActualEnergyUse + baselineAdjustementInput) - (this.baselineModeledEnergyUse - modelYearDataAdjusted)) + ((this.modeledEnergy - modelYearDataAdjusted) - (this.energyUse - dataAdjustment))
//TODO: handle banking here..
this.savings = this.savingsUnbanked;
}
}

Expand Down Expand Up @@ -225,9 +229,13 @@ export class GroupMonthlyAnalysisCalculatedValues {
setRollingSavingsValues(previousMonthsValues: Array<GroupMonthlyAnalysisCalculatedValues>) {
if (this.summaryDataIndex > 11) {
let last11MonthsData: Array<GroupMonthlyAnalysisCalculatedValues> = previousMonthsValues.splice(this.summaryDataIndex - 11, this.summaryDataIndex);
let total12MonthsEnergyUse: number = _.sumBy(last11MonthsData, (data: GroupMonthlyAnalysisCalculatedValues) => { return data.energyUse }) + this.energyUse;
let total12MonthsAdjusedBaseline: number = _.sumBy(last11MonthsData, (data: GroupMonthlyAnalysisCalculatedValues) => { return data.adjusted }) + this.adjusted;
this.rollingSavings = total12MonthsAdjusedBaseline - total12MonthsEnergyUse;
let total12MonthsAdjusedBaseline: number = _.sumBy(last11MonthsData, (data: GroupMonthlyAnalysisCalculatedValues) => {
return data.adjusted
}) + this.adjusted;
this.rollingSavings = _.sumBy(last11MonthsData, (data: GroupMonthlyAnalysisCalculatedValues) => {
return data.savings
}) + this.savings;

this.rolling12MonthImprovement = this.rollingSavings / total12MonthsAdjusedBaseline;
} else {
this.rolling12MonthImprovement = 0;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ export class MonthlyAnalysisCalculatedValuesSummation {
this.setYearToDateAdjustedEnergyUse();
this.setBaselineAdjustmentForOtherV2(currentMonthData, baselineAdjustmentForNew);
this.setSEnPI();
this.setSavings();
this.setSavings(currentMonthData);
this.setPercentSavingsComparedToBaseline();
this.setYearToDateSavings(baselineYear);
this.setBaselineAdjustmentForNormalization(currentMonthData);
Expand Down Expand Up @@ -111,8 +111,10 @@ export class MonthlyAnalysisCalculatedValuesSummation {
this.SEnPI = this.energyUse / this.adjusted;
}

setSavings() {
this.savings = this.adjusted - this.energyUse;
setSavings(currentMonthData: Array<MonthlyAnalysisSummaryDataClass>) {
this.savings = _.sumBy(currentMonthData, (data: MonthlyAnalysisSummaryDataClass) => {
return data.monthlyAnalysisCalculatedValues.savings;
});
}

setPercentSavingsComparedToBaseline() {
Expand Down

0 comments on commit d05c98a

Please sign in to comment.