| 1913 | } |
| 1914 | |
| 1915 | boost::optional<CalibrationResult> Facility_Impl::calibrationResult() const { |
| 1916 | boost::optional<CalibrationResult> result; |
| 1917 | |
| 1918 | OptionalSqlFile mySqlFile = model().sqlFile(); |
| 1919 | if (mySqlFile && mySqlFile->connectionOpen()) { |
| 1920 | result = CalibrationResult(); |
| 1921 | for (const model::UtilityBill& utilityBill : this->model().getConcreteModelObjects<model::UtilityBill>()) { |
| 1922 | CalibrationUtilityBill calibrationUtilityBill( |
| 1923 | utilityBill.name().get(), utilityBill.fuelType(), utilityBill.meterInstallLocation(), utilityBill.meterSpecificInstallLocation(), |
| 1924 | utilityBill.meterEndUseCategory(), utilityBill.meterSpecificEndUse(), utilityBill.consumptionUnit(), |
| 1925 | utilityBill.consumptionUnitConversionFactor(), utilityBill.peakDemandUnit(), utilityBill.peakDemandUnitConversionFactor(), |
| 1926 | utilityBill.timestepsInPeakDemandWindow(), utilityBill.minutesInPeakDemandWindow(), utilityBill.numberBillingPeriodsInCalculations(), |
| 1927 | utilityBill.CVRMSE(), utilityBill.NMBE()); |
| 1928 | |
| 1929 | for (const model::BillingPeriod& billingPeriod : utilityBill.billingPeriods()) { |
| 1930 | CalibrationBillingPeriod calibrationBillingPeriod(billingPeriod.startDate(), billingPeriod.numberOfDays(), utilityBill.consumptionUnit(), |
| 1931 | utilityBill.peakDemandUnit(), billingPeriod.consumption(), billingPeriod.peakDemand(), |
| 1932 | billingPeriod.totalCost(), billingPeriod.modelConsumption(), |
| 1933 | billingPeriod.modelPeakDemand(), billingPeriod.modelTotalCost()); |
| 1934 | |
| 1935 | calibrationUtilityBill.addBillingPeriod(calibrationBillingPeriod); |
| 1936 | } |
| 1937 | result->addUtilityBill(calibrationUtilityBill); |
| 1938 | } |
| 1939 | } |
| 1940 | return result; |
| 1941 | } |
| 1942 | |
| 1943 | boost::optional<ModelObject> Facility_Impl::buildingAsModelObject() const { |
| 1944 | OptionalModelObject result; |
nothing calls this directly
no test coverage detected