MCPcopy Create free account
hub / github.com/NatLabRockies/OpenStudio / NMBE

Method NMBE

src/model/UtilityBill.cpp:843–868  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

841 }
842
843 boost::optional<double> UtilityBill_Impl::NMBE() const {
844 boost::optional<double> result;
845 double ysum = 0;
846 double sumError = 0;
847 unsigned n = 0;
848 double conv = this->consumptionUnitConversionFactor();
849 for (const BillingPeriod& p : this->billingPeriods()) {
850 boost::optional<double> consumption = p.consumption();
851 if (consumption) {
852 double convertedConsumption = conv * consumption.get();
853 boost::optional<double> modelConsumption = p.modelConsumption();
854 if (modelConsumption) {
855 ysum += convertedConsumption;
856 sumError += (convertedConsumption - *modelConsumption);
857 n += 1;
858 }
859 }
860 }
861
862 if (n > 1) {
863 double ybar = ysum / n;
864 result = 100.0 * (sumError / (n - 1)) / ybar;
865 }
866
867 return result;
868 }
869
870 } // namespace detail
871

Callers 1

calibrationResultMethod · 0.45

Calls 5

billingPeriodsMethod · 0.95
consumptionMethod · 0.45
getMethod · 0.45
modelConsumptionMethod · 0.45

Tested by

no test coverage detected