From 71841c79ac1dc5720e139230026cfff6ed9e85d0 Mon Sep 17 00:00:00 2001 From: Amir Roth Date: Sat, 14 Mar 2026 20:42:10 -0400 Subject: [PATCH 1/9] Initial commit --- src/EnergyPlus/Data/EnergyPlusData.cc | 4 +- src/EnergyPlus/OutputReportPredefined.cc | 417 ++++++++---------- src/EnergyPlus/OutputReportPredefined.hh | 41 +- src/EnergyPlus/OutputReportTabular.cc | 189 ++++---- src/EnergyPlus/SimulationManager.cc | 2 +- .../unit/OutputReportTabular.unit.cc | 54 +-- 6 files changed, 300 insertions(+), 407 deletions(-) diff --git a/src/EnergyPlus/Data/EnergyPlusData.cc b/src/EnergyPlus/Data/EnergyPlusData.cc index 55bf055e2a6..db5450a1bda 100644 --- a/src/EnergyPlus/Data/EnergyPlusData.cc +++ b/src/EnergyPlus/Data/EnergyPlusData.cc @@ -591,6 +591,7 @@ void EnergyPlusData::init_constant_state(EnergyPlusData &state) this->dataFluid->init_constant_state(state); this->dataSched->init_constant_state(state); this->dataCurveManager->init_constant_state(state); + this->dataOutRptPredefined->init_constant_state(state); this->dataAirLoop->init_constant_state(state); this->dataAirLoopHVACDOAS->init_constant_state(state); @@ -721,7 +722,6 @@ void EnergyPlusData::init_constant_state(EnergyPlusData &state) this->dataMundtSimMgr->init_constant_state(state); this->dataNodeInputMgr->init_constant_state(state); this->dataOutAirNodeMgr->init_constant_state(state); - this->dataOutRptPredefined->init_constant_state(state); this->dataOutRptTab->init_constant_state(state); this->dataOutdoorAirUnit->init_constant_state(state); this->dataOutput->init_constant_state(state); @@ -855,6 +855,7 @@ void EnergyPlusData::init_state(EnergyPlusData &state) this->dataFluid->init_state(state); // GetFluidPropertiesData this->dataSched->init_state(state); // GetScheduleData this->dataCurveManager->init_state(state); // GetCurveInput + this->dataOutRptPredefined->init_state(state); this->dataAirLoop->init_state(state); this->dataAirLoopHVACDOAS->init_state(state); @@ -985,7 +986,6 @@ void EnergyPlusData::init_state(EnergyPlusData &state) this->dataMundtSimMgr->init_state(state); this->dataNodeInputMgr->init_state(state); this->dataOutAirNodeMgr->init_state(state); - this->dataOutRptPredefined->init_state(state); this->dataOutRptTab->init_state(state); this->dataOutdoorAirUnit->init_state(state); this->dataOutput->init_state(state); diff --git a/src/EnergyPlus/OutputReportPredefined.cc b/src/EnergyPlus/OutputReportPredefined.cc index e36742bcbdf..1c05b383aca 100644 --- a/src/EnergyPlus/OutputReportPredefined.cc +++ b/src/EnergyPlus/OutputReportPredefined.cc @@ -1447,129 +1447,129 @@ namespace OutputReportPredefined { s->pdchSHGSHtOtherRem = newPreDefColumn(state, s->pdstSHGSpkHt, "Opaque Surface Conduction and Other Heat Removal [W]"); // Standard62Report - if (state.dataGlobal->DoZoneSizing || state.dataGlobal->DoSystemSizing) { - s->pdrStd62 = newPreDefReport(state, "Standard62.1Summary", "Std62", "Standard 62.1 Summary"); - - s->pdstS62sysVentReqCool = newPreDefSubTable(state, s->pdrStd62, "System Ventilation Requirements for Cooling"); - - s->pdchS62svrClSumVpz = newPreDefColumn(state, s->pdstS62sysVentReqCool, "Sum of Zone Primary Air Flow - Vpz-sum [m3/s]"); - s->pdchS62svrClPs = newPreDefColumn(state, s->pdstS62sysVentReqCool, "System Population - Ps"); - s->pdchS62svrClSumPz = newPreDefColumn(state, s->pdstS62sysVentReqCool, "Sum of Zone Population - Pz-sum"); - s->pdchS62svrClD = newPreDefColumn(state, s->pdstS62sysVentReqCool, "Occupant Diversity - D"); - s->pdchS62svrClDorg = newPreDefColumn(state, s->pdstS62sysVentReqCool, "Origin of D"); - s->pdchS62svrClVou = newPreDefColumn(state, s->pdstS62sysVentReqCool, "Uncorrected Outdoor Air Intake Airflow - Vou [m3/s]"); - s->pdchS62svrClVps = newPreDefColumn(state, s->pdstS62sysVentReqCool, "System Primary Airflow - Vps [m3/s]"); - s->pdchS62svrClXs = newPreDefColumn(state, s->pdstS62sysVentReqCool, "Average Outdoor Air Fraction - Xs"); - s->pdchS62svrClEv = newPreDefColumn(state, s->pdstS62sysVentReqCool, "System Ventilation Efficiency - Ev"); - s->pdchS62svrClEvMthd = newPreDefColumn(state, s->pdstS62sysVentReqCool, "Calculation Method for Ev"); - s->pdchS62svrClVot = newPreDefColumn(state, s->pdstS62sysVentReqCool, "Outdoor Air Intake Flow - Vot [m3/s]"); - s->pdchS62svrClPercOA = newPreDefColumn(state, s->pdstS62sysVentReqCool, "Percent Outdoor Air - %OA"); - s->pdchS62svrClEnvironmentOfPs = newPreDefColumn(state, s->pdstS62sysVentReqCool, "Environment Name of Peak System Population - Ps"); - s->pdchS62svrClTimeOfPs = newPreDefColumn(state, s->pdstS62sysVentReqCool, "Date and Time of Last Peak System Population - Ps"); - - s->pdstS62sysVentReqHeat = newPreDefSubTable(state, s->pdrStd62, "System Ventilation Requirements for Heating"); - - s->pdchS62svrHtSumVpz = newPreDefColumn(state, s->pdstS62sysVentReqHeat, "Sum of Zone Primary Air Flow - Vpz-sum [m3/s]"); - s->pdchS62svrHtPs = newPreDefColumn(state, s->pdstS62sysVentReqHeat, "System Population - Ps"); - s->pdchS62svrHtSumPz = newPreDefColumn(state, s->pdstS62sysVentReqHeat, "Sum of Zone Population - Pz-sum"); - s->pdchS62svrHtD = newPreDefColumn(state, s->pdstS62sysVentReqHeat, "Occupant Diversity - D"); - s->pdchS62svrHtDorg = newPreDefColumn(state, s->pdstS62sysVentReqHeat, "Origin of D"); - s->pdchS62svrHtVou = newPreDefColumn(state, s->pdstS62sysVentReqHeat, "Uncorrected Outdoor Air Intake Airflow - Vou [m3/s]"); - s->pdchS62svrHtVps = newPreDefColumn(state, s->pdstS62sysVentReqHeat, "System Primary Airflow - Vps [m3/s]"); - s->pdchS62svrHtXs = newPreDefColumn(state, s->pdstS62sysVentReqHeat, "Average Outdoor Air Fraction - Xs"); - s->pdchS62svrHtEv = newPreDefColumn(state, s->pdstS62sysVentReqHeat, "System Ventilation Efficiency - Ev"); - s->pdchS62svrHtEvMthd = newPreDefColumn(state, s->pdstS62sysVentReqHeat, "Calculation Method for Ev"); - s->pdchS62svrHtVot = newPreDefColumn(state, s->pdstS62sysVentReqHeat, "Outdoor Air Intake Flow Vot [m3/s]"); - s->pdchS62svrHtPercOA = newPreDefColumn(state, s->pdstS62sysVentReqHeat, "Percent Outdoor Air - %OA"); - s->pdchS62svrHtEnvironmentOfPs = newPreDefColumn(state, s->pdstS62sysVentReqHeat, "Environment Name of Peak System Population - Ps"); - s->pdchS62svrHtTimeOfPs = newPreDefColumn(state, s->pdstS62sysVentReqHeat, "Date and Time of Last Peak System Population - Ps"); - - s->pdstS62znVentPar = newPreDefSubTable(state, s->pdrStd62, "Zone Ventilation Parameters"); - - s->pdchS62zvpAlN = newPreDefColumn(state, s->pdstS62znVentPar, "AirLoop Name"); - s->pdchS62zvpRp = newPreDefColumn(state, s->pdstS62znVentPar, "People Outdoor Air Rate - Rp [m3/s-person]"); - s->pdchS62zvpPz = newPreDefColumn(state, s->pdstS62znVentPar, "Zone Population - Pz"); - s->pdchS62zvpRa = newPreDefColumn(state, s->pdstS62znVentPar, "Area Outdoor Air Rate - Ra [m3/s-m2]"); - s->pdchS62zvpAz = newPreDefColumn(state, s->pdstS62znVentPar, "Zone Floor Area - Az [m2]"); - s->pdchS62zvpVbz = newPreDefColumn(state, s->pdstS62znVentPar, "Breathing Zone Outdoor Airflow - Vbz [m3/s]"); - s->pdchS62zvpClEz = newPreDefColumn(state, s->pdstS62znVentPar, "Cooling Zone Air Distribution Effectiveness - Ez-clg"); - s->pdchS62zvpClVoz = newPreDefColumn(state, s->pdstS62znVentPar, "Cooling Zone Outdoor Airflow - Voz-clg [m3/s]"); - s->pdchS62zvpHtEz = newPreDefColumn(state, s->pdstS62znVentPar, "Heating Zone Air Distribution Effectiveness - Ez-htg"); - s->pdchS62zvpHtVoz = newPreDefColumn(state, s->pdstS62znVentPar, "Heating Zone Outdoor Airflow - Voz-htg [m3/s]"); - - s->pdstS62sysVentPar = newPreDefSubTable(state, s->pdrStd62, "System Ventilation Parameters"); - - s->pdchS62svpRp = newPreDefColumn(state, s->pdstS62sysVentPar, "People Outdoor Air Rate - Rp [m3/s-person]"); - s->pdchS62svpPz = newPreDefColumn(state, s->pdstS62sysVentPar, "Sum of Zone Population - Pz-sum"); - s->pdchS62svpRa = newPreDefColumn(state, s->pdstS62sysVentPar, "Area Outdoor Air Rate - Ra [m3/s-m2]"); - s->pdchS62svpAz = newPreDefColumn(state, s->pdstS62sysVentPar, "Sum of Zone Floor Area - Az-sum [m2]"); - s->pdchS62svpVbz = newPreDefColumn(state, s->pdstS62sysVentPar, "Breathing Zone Outdoor Airflow - Vbz [m3/s]"); - s->pdchS62svpClVoz = newPreDefColumn(state, s->pdstS62sysVentPar, "Cooling Zone Outdoor Airflow - Voz-clg [m3/s]"); - s->pdchS62svpHtVoz = newPreDefColumn(state, s->pdstS62sysVentPar, "Heating Zone Outdoor Airflow - Voz-htg [m3/s]"); - - s->pdstS62znCoolDes = newPreDefSubTable(state, s->pdrStd62, "Zone Ventilation Calculations for Cooling Design"); - - s->pdchS62zcdAlN = newPreDefColumn(state, s->pdstS62znCoolDes, "AirLoop Name"); - s->pdchS62zcdBox = newPreDefColumn(state, s->pdstS62znCoolDes, "Box Type"); - s->pdchS62zcdVpz = newPreDefColumn(state, s->pdstS62znCoolDes, "Zone Primary Airflow - Vpz [m3/s]"); - // s->pdchS62zcdVps = newPreDefColumn(state, s->pdstS62znCoolDes,'System Primary Airflow - Vps [m3/s]') - // s->pdchS62zcdVsec = newPreDefColumn(state, s->pdstS62znCoolDes,'Secondary Fan Airflow - Vsec [m3/s]') - s->pdchS62zcdVdz = newPreDefColumn(state, s->pdstS62znCoolDes, "Zone Discharge Airflow - Vdz [m3/s]"); - s->pdchS62zcdVpzmin = newPreDefColumn(state, s->pdstS62znCoolDes, "Minimum Zone Primary Airflow - Vpz-min [m3/s]"); - s->pdchS62zcdVpzminSPSize = - newPreDefColumn(state, s->pdstS62znCoolDes, "Is Vpz-min calculated using the Standard 62.1 Simplified Procedure?"); - s->pdchS62zcdVozclg = newPreDefColumn(state, s->pdstS62znCoolDes, "Zone Outdoor Airflow Cooling - Voz-clg [m3/s]"); - s->pdchS62zcdZpz = newPreDefColumn(state, s->pdstS62znCoolDes, "Primary Outdoor Air Fraction - Zpz"); - s->pdchS62zcdEp = newPreDefColumn(state, s->pdstS62znCoolDes, "Primary Air Fraction - Ep"); - s->pdchS62zcdEr = newPreDefColumn(state, s->pdstS62znCoolDes, "Secondary Recirculation Fraction- Er"); - s->pdchS62zcdFa = newPreDefColumn(state, s->pdstS62znCoolDes, "Supply Air Fraction- Fa"); - s->pdchS62zcdFb = newPreDefColumn(state, s->pdstS62znCoolDes, "Mixed Air Fraction - Fb"); - s->pdchS62zcdFc = newPreDefColumn(state, s->pdstS62znCoolDes, "Outdoor Air Fraction - Fc"); - s->pdchS62zcdEvz = newPreDefColumn(state, s->pdstS62znCoolDes, "Zone Ventilation Efficiency - Evz"); - - s->pdstS62sysCoolDes = newPreDefSubTable(state, s->pdrStd62, "System Ventilation Calculations for Cooling Design"); - - s->pdchS62scdVpz = newPreDefColumn(state, s->pdstS62sysCoolDes, "Sum of Zone Primary Airflow - Vpz-sum [m3/s]"); - s->pdchS62scdVps = newPreDefColumn(state, s->pdstS62sysCoolDes, "System Primary Airflow - Vps [m3/s]"); - // s->pdchS62scdVsec = newPreDefColumn(state, s->pdstS62sysCoolDes,'Secondary Fan Airflow - Vsec [m3/s]') - s->pdchS62scdVdz = newPreDefColumn(state, s->pdstS62sysCoolDes, "Sum of Zone Discharge Airflow - Vdz-sum [m3/s]"); - s->pdchS62scdVpzmin = newPreDefColumn(state, s->pdstS62sysCoolDes, "Sum of Min Zone Primary Airflow - Vpz-min [m3/s]"); - s->pdchS62scdVozclg = newPreDefColumn(state, s->pdstS62sysCoolDes, "Zone Outdoor Airflow Cooling - Voz-clg [m3/s]"); - s->pdchS62scdEvz = newPreDefColumn(state, s->pdstS62sysCoolDes, "Zone Ventilation Efficiency - Evz-min"); - - s->pdstS62znHeatDes = newPreDefSubTable(state, s->pdrStd62, "Zone Ventilation Calculations for Heating Design"); - - s->pdchS62zhdAlN = newPreDefColumn(state, s->pdstS62znHeatDes, "AirLoop Name"); - s->pdchS62zhdBox = newPreDefColumn(state, s->pdstS62znHeatDes, "Box Type"); - s->pdchS62zhdVpz = newPreDefColumn(state, s->pdstS62znHeatDes, "Zone Primary Airflow - Vpz [m3/s]"); - // s->pdchS62zhdVps = newPreDefColumn(state, s->pdstS62znHeatDes,'System Primary Airflow - Vps [m3/s]') - // s->pdchS62zhdVsec = newPreDefColumn(state, s->pdstS62znHeatDes,'Secondary Fan Airflow - Vsec [m3/s]') - s->pdchS62zhdVdz = newPreDefColumn(state, s->pdstS62znHeatDes, "Zone Discharge Airflow - Vdz [m3/s]"); - s->pdchS62zhdVpzmin = newPreDefColumn(state, s->pdstS62znHeatDes, "Minimum Zone Primary Airflow - Vpz-min [m3/s]"); - s->pdchS62zhdVpzminSPSize = - newPreDefColumn(state, s->pdstS62znHeatDes, "Is Vpz-min calculated using the Standard 62.1 Simplified Procedure?"); - s->pdchS62zhdVozhtg = newPreDefColumn(state, s->pdstS62znHeatDes, "Zone Outdoor Airflow Heating - Voz-htg [m3/s]"); - s->pdchS62zhdZpz = newPreDefColumn(state, s->pdstS62znHeatDes, "Primary Outdoor Air Fraction - Zpz"); - s->pdchS62zhdEp = newPreDefColumn(state, s->pdstS62znHeatDes, "Primary Air Fraction - Ep"); - s->pdchS62zhdEr = newPreDefColumn(state, s->pdstS62znHeatDes, "Secondary Recirculation Fraction- Er"); - s->pdchS62zhdFa = newPreDefColumn(state, s->pdstS62znHeatDes, "Supply Air Fraction- Fa"); - s->pdchS62zhdFb = newPreDefColumn(state, s->pdstS62znHeatDes, "Mixed Air Fraction - Fb"); - s->pdchS62zhdFc = newPreDefColumn(state, s->pdstS62znHeatDes, "Outdoor Air Fraction - Fc"); - s->pdchS62zhdEvz = newPreDefColumn(state, s->pdstS62znHeatDes, "Zone Ventilation Efficiency - Evz"); - - s->pdstS62sysHeatDes = newPreDefSubTable(state, s->pdrStd62, "System Ventilation Calculations for Heating Design"); - - s->pdchS62shdVpz = newPreDefColumn(state, s->pdstS62sysHeatDes, "Sum of Zone Primary Airflow - Vpz-sum [m3/s]"); - s->pdchS62shdVps = newPreDefColumn(state, s->pdstS62sysHeatDes, "System Primary Airflow - Vps [m3/s]"); - // s->pdchS62shdVsec = newPreDefColumn(state, s->pdstS62sysHeatDes,'Secondary Fan Airflow - Vsec [m3/s]') - s->pdchS62shdVdz = newPreDefColumn(state, s->pdstS62sysHeatDes, "Sum of Zone Discharge Airflow - Vdz-sum [m3/s]"); - s->pdchS62shdVpzmin = newPreDefColumn(state, s->pdstS62sysHeatDes, "Sum of Min Zone Primary Airflow - Vpz-min [m3/s]"); - s->pdchS62shdVozhtg = newPreDefColumn(state, s->pdstS62sysHeatDes, "Zone Outdoor Airflow Heating - Voz-htg [m3/s]"); - s->pdchS62shdEvz = newPreDefColumn(state, s->pdstS62sysHeatDes, "Zone Ventilation Efficiency - Evz-min"); - } - + // if (state.dataGlobal->DoZoneSizing || state.dataGlobal->DoSystemSizing) { + s->pdrStd62 = newPreDefReport(state, "Standard62.1Summary", "Std62", "Standard 62.1 Summary"); + + s->pdstS62sysVentReqCool = newPreDefSubTable(state, s->pdrStd62, "System Ventilation Requirements for Cooling"); + + s->pdchS62svrClSumVpz = newPreDefColumn(state, s->pdstS62sysVentReqCool, "Sum of Zone Primary Air Flow - Vpz-sum [m3/s]"); + s->pdchS62svrClPs = newPreDefColumn(state, s->pdstS62sysVentReqCool, "System Population - Ps"); + s->pdchS62svrClSumPz = newPreDefColumn(state, s->pdstS62sysVentReqCool, "Sum of Zone Population - Pz-sum"); + s->pdchS62svrClD = newPreDefColumn(state, s->pdstS62sysVentReqCool, "Occupant Diversity - D"); + s->pdchS62svrClDorg = newPreDefColumn(state, s->pdstS62sysVentReqCool, "Origin of D"); + s->pdchS62svrClVou = newPreDefColumn(state, s->pdstS62sysVentReqCool, "Uncorrected Outdoor Air Intake Airflow - Vou [m3/s]"); + s->pdchS62svrClVps = newPreDefColumn(state, s->pdstS62sysVentReqCool, "System Primary Airflow - Vps [m3/s]"); + s->pdchS62svrClXs = newPreDefColumn(state, s->pdstS62sysVentReqCool, "Average Outdoor Air Fraction - Xs"); + s->pdchS62svrClEv = newPreDefColumn(state, s->pdstS62sysVentReqCool, "System Ventilation Efficiency - Ev"); + s->pdchS62svrClEvMthd = newPreDefColumn(state, s->pdstS62sysVentReqCool, "Calculation Method for Ev"); + s->pdchS62svrClVot = newPreDefColumn(state, s->pdstS62sysVentReqCool, "Outdoor Air Intake Flow - Vot [m3/s]"); + s->pdchS62svrClPercOA = newPreDefColumn(state, s->pdstS62sysVentReqCool, "Percent Outdoor Air - %OA"); + s->pdchS62svrClEnvironmentOfPs = newPreDefColumn(state, s->pdstS62sysVentReqCool, "Environment Name of Peak System Population - Ps"); + s->pdchS62svrClTimeOfPs = newPreDefColumn(state, s->pdstS62sysVentReqCool, "Date and Time of Last Peak System Population - Ps"); + + s->pdstS62sysVentReqHeat = newPreDefSubTable(state, s->pdrStd62, "System Ventilation Requirements for Heating"); + + s->pdchS62svrHtSumVpz = newPreDefColumn(state, s->pdstS62sysVentReqHeat, "Sum of Zone Primary Air Flow - Vpz-sum [m3/s]"); + s->pdchS62svrHtPs = newPreDefColumn(state, s->pdstS62sysVentReqHeat, "System Population - Ps"); + s->pdchS62svrHtSumPz = newPreDefColumn(state, s->pdstS62sysVentReqHeat, "Sum of Zone Population - Pz-sum"); + s->pdchS62svrHtD = newPreDefColumn(state, s->pdstS62sysVentReqHeat, "Occupant Diversity - D"); + s->pdchS62svrHtDorg = newPreDefColumn(state, s->pdstS62sysVentReqHeat, "Origin of D"); + s->pdchS62svrHtVou = newPreDefColumn(state, s->pdstS62sysVentReqHeat, "Uncorrected Outdoor Air Intake Airflow - Vou [m3/s]"); + s->pdchS62svrHtVps = newPreDefColumn(state, s->pdstS62sysVentReqHeat, "System Primary Airflow - Vps [m3/s]"); + s->pdchS62svrHtXs = newPreDefColumn(state, s->pdstS62sysVentReqHeat, "Average Outdoor Air Fraction - Xs"); + s->pdchS62svrHtEv = newPreDefColumn(state, s->pdstS62sysVentReqHeat, "System Ventilation Efficiency - Ev"); + s->pdchS62svrHtEvMthd = newPreDefColumn(state, s->pdstS62sysVentReqHeat, "Calculation Method for Ev"); + s->pdchS62svrHtVot = newPreDefColumn(state, s->pdstS62sysVentReqHeat, "Outdoor Air Intake Flow Vot [m3/s]"); + s->pdchS62svrHtPercOA = newPreDefColumn(state, s->pdstS62sysVentReqHeat, "Percent Outdoor Air - %OA"); + s->pdchS62svrHtEnvironmentOfPs = newPreDefColumn(state, s->pdstS62sysVentReqHeat, "Environment Name of Peak System Population - Ps"); + s->pdchS62svrHtTimeOfPs = newPreDefColumn(state, s->pdstS62sysVentReqHeat, "Date and Time of Last Peak System Population - Ps"); + + s->pdstS62znVentPar = newPreDefSubTable(state, s->pdrStd62, "Zone Ventilation Parameters"); + + s->pdchS62zvpAlN = newPreDefColumn(state, s->pdstS62znVentPar, "AirLoop Name"); + s->pdchS62zvpRp = newPreDefColumn(state, s->pdstS62znVentPar, "People Outdoor Air Rate - Rp [m3/s-person]"); + s->pdchS62zvpPz = newPreDefColumn(state, s->pdstS62znVentPar, "Zone Population - Pz"); + s->pdchS62zvpRa = newPreDefColumn(state, s->pdstS62znVentPar, "Area Outdoor Air Rate - Ra [m3/s-m2]"); + s->pdchS62zvpAz = newPreDefColumn(state, s->pdstS62znVentPar, "Zone Floor Area - Az [m2]"); + s->pdchS62zvpVbz = newPreDefColumn(state, s->pdstS62znVentPar, "Breathing Zone Outdoor Airflow - Vbz [m3/s]"); + s->pdchS62zvpClEz = newPreDefColumn(state, s->pdstS62znVentPar, "Cooling Zone Air Distribution Effectiveness - Ez-clg"); + s->pdchS62zvpClVoz = newPreDefColumn(state, s->pdstS62znVentPar, "Cooling Zone Outdoor Airflow - Voz-clg [m3/s]"); + s->pdchS62zvpHtEz = newPreDefColumn(state, s->pdstS62znVentPar, "Heating Zone Air Distribution Effectiveness - Ez-htg"); + s->pdchS62zvpHtVoz = newPreDefColumn(state, s->pdstS62znVentPar, "Heating Zone Outdoor Airflow - Voz-htg [m3/s]"); + + s->pdstS62sysVentPar = newPreDefSubTable(state, s->pdrStd62, "System Ventilation Parameters"); + + s->pdchS62svpRp = newPreDefColumn(state, s->pdstS62sysVentPar, "People Outdoor Air Rate - Rp [m3/s-person]"); + s->pdchS62svpPz = newPreDefColumn(state, s->pdstS62sysVentPar, "Sum of Zone Population - Pz-sum"); + s->pdchS62svpRa = newPreDefColumn(state, s->pdstS62sysVentPar, "Area Outdoor Air Rate - Ra [m3/s-m2]"); + s->pdchS62svpAz = newPreDefColumn(state, s->pdstS62sysVentPar, "Sum of Zone Floor Area - Az-sum [m2]"); + s->pdchS62svpVbz = newPreDefColumn(state, s->pdstS62sysVentPar, "Breathing Zone Outdoor Airflow - Vbz [m3/s]"); + s->pdchS62svpClVoz = newPreDefColumn(state, s->pdstS62sysVentPar, "Cooling Zone Outdoor Airflow - Voz-clg [m3/s]"); + s->pdchS62svpHtVoz = newPreDefColumn(state, s->pdstS62sysVentPar, "Heating Zone Outdoor Airflow - Voz-htg [m3/s]"); + + s->pdstS62znCoolDes = newPreDefSubTable(state, s->pdrStd62, "Zone Ventilation Calculations for Cooling Design"); + + s->pdchS62zcdAlN = newPreDefColumn(state, s->pdstS62znCoolDes, "AirLoop Name"); + s->pdchS62zcdBox = newPreDefColumn(state, s->pdstS62znCoolDes, "Box Type"); + s->pdchS62zcdVpz = newPreDefColumn(state, s->pdstS62znCoolDes, "Zone Primary Airflow - Vpz [m3/s]"); + // s->pdchS62zcdVps = newPreDefColumn(state, s->pdstS62znCoolDes,'System Primary Airflow - Vps [m3/s]') + // s->pdchS62zcdVsec = newPreDefColumn(state, s->pdstS62znCoolDes,'Secondary Fan Airflow - Vsec [m3/s]') + s->pdchS62zcdVdz = newPreDefColumn(state, s->pdstS62znCoolDes, "Zone Discharge Airflow - Vdz [m3/s]"); + s->pdchS62zcdVpzmin = newPreDefColumn(state, s->pdstS62znCoolDes, "Minimum Zone Primary Airflow - Vpz-min [m3/s]"); + s->pdchS62zcdVpzminSPSize = + newPreDefColumn(state, s->pdstS62znCoolDes, "Is Vpz-min calculated using the Standard 62.1 Simplified Procedure?"); + s->pdchS62zcdVozclg = newPreDefColumn(state, s->pdstS62znCoolDes, "Zone Outdoor Airflow Cooling - Voz-clg [m3/s]"); + s->pdchS62zcdZpz = newPreDefColumn(state, s->pdstS62znCoolDes, "Primary Outdoor Air Fraction - Zpz"); + s->pdchS62zcdEp = newPreDefColumn(state, s->pdstS62znCoolDes, "Primary Air Fraction - Ep"); + s->pdchS62zcdEr = newPreDefColumn(state, s->pdstS62znCoolDes, "Secondary Recirculation Fraction- Er"); + s->pdchS62zcdFa = newPreDefColumn(state, s->pdstS62znCoolDes, "Supply Air Fraction- Fa"); + s->pdchS62zcdFb = newPreDefColumn(state, s->pdstS62znCoolDes, "Mixed Air Fraction - Fb"); + s->pdchS62zcdFc = newPreDefColumn(state, s->pdstS62znCoolDes, "Outdoor Air Fraction - Fc"); + s->pdchS62zcdEvz = newPreDefColumn(state, s->pdstS62znCoolDes, "Zone Ventilation Efficiency - Evz"); + + s->pdstS62sysCoolDes = newPreDefSubTable(state, s->pdrStd62, "System Ventilation Calculations for Cooling Design"); + + s->pdchS62scdVpz = newPreDefColumn(state, s->pdstS62sysCoolDes, "Sum of Zone Primary Airflow - Vpz-sum [m3/s]"); + s->pdchS62scdVps = newPreDefColumn(state, s->pdstS62sysCoolDes, "System Primary Airflow - Vps [m3/s]"); + // s->pdchS62scdVsec = newPreDefColumn(state, s->pdstS62sysCoolDes,'Secondary Fan Airflow - Vsec [m3/s]') + s->pdchS62scdVdz = newPreDefColumn(state, s->pdstS62sysCoolDes, "Sum of Zone Discharge Airflow - Vdz-sum [m3/s]"); + s->pdchS62scdVpzmin = newPreDefColumn(state, s->pdstS62sysCoolDes, "Sum of Min Zone Primary Airflow - Vpz-min [m3/s]"); + s->pdchS62scdVozclg = newPreDefColumn(state, s->pdstS62sysCoolDes, "Zone Outdoor Airflow Cooling - Voz-clg [m3/s]"); + s->pdchS62scdEvz = newPreDefColumn(state, s->pdstS62sysCoolDes, "Zone Ventilation Efficiency - Evz-min"); + + s->pdstS62znHeatDes = newPreDefSubTable(state, s->pdrStd62, "Zone Ventilation Calculations for Heating Design"); + + s->pdchS62zhdAlN = newPreDefColumn(state, s->pdstS62znHeatDes, "AirLoop Name"); + s->pdchS62zhdBox = newPreDefColumn(state, s->pdstS62znHeatDes, "Box Type"); + s->pdchS62zhdVpz = newPreDefColumn(state, s->pdstS62znHeatDes, "Zone Primary Airflow - Vpz [m3/s]"); + // s->pdchS62zhdVps = newPreDefColumn(state, s->pdstS62znHeatDes,'System Primary Airflow - Vps [m3/s]') + // s->pdchS62zhdVsec = newPreDefColumn(state, s->pdstS62znHeatDes,'Secondary Fan Airflow - Vsec [m3/s]') + s->pdchS62zhdVdz = newPreDefColumn(state, s->pdstS62znHeatDes, "Zone Discharge Airflow - Vdz [m3/s]"); + s->pdchS62zhdVpzmin = newPreDefColumn(state, s->pdstS62znHeatDes, "Minimum Zone Primary Airflow - Vpz-min [m3/s]"); + s->pdchS62zhdVpzminSPSize = + newPreDefColumn(state, s->pdstS62znHeatDes, "Is Vpz-min calculated using the Standard 62.1 Simplified Procedure?"); + s->pdchS62zhdVozhtg = newPreDefColumn(state, s->pdstS62znHeatDes, "Zone Outdoor Airflow Heating - Voz-htg [m3/s]"); + s->pdchS62zhdZpz = newPreDefColumn(state, s->pdstS62znHeatDes, "Primary Outdoor Air Fraction - Zpz"); + s->pdchS62zhdEp = newPreDefColumn(state, s->pdstS62znHeatDes, "Primary Air Fraction - Ep"); + s->pdchS62zhdEr = newPreDefColumn(state, s->pdstS62znHeatDes, "Secondary Recirculation Fraction- Er"); + s->pdchS62zhdFa = newPreDefColumn(state, s->pdstS62znHeatDes, "Supply Air Fraction- Fa"); + s->pdchS62zhdFb = newPreDefColumn(state, s->pdstS62znHeatDes, "Mixed Air Fraction - Fb"); + s->pdchS62zhdFc = newPreDefColumn(state, s->pdstS62znHeatDes, "Outdoor Air Fraction - Fc"); + s->pdchS62zhdEvz = newPreDefColumn(state, s->pdstS62znHeatDes, "Zone Ventilation Efficiency - Evz"); + + s->pdstS62sysHeatDes = newPreDefSubTable(state, s->pdrStd62, "System Ventilation Calculations for Heating Design"); + + s->pdchS62shdVpz = newPreDefColumn(state, s->pdstS62sysHeatDes, "Sum of Zone Primary Airflow - Vpz-sum [m3/s]"); + s->pdchS62shdVps = newPreDefColumn(state, s->pdstS62sysHeatDes, "System Primary Airflow - Vps [m3/s]"); + // s->pdchS62shdVsec = newPreDefColumn(state, s->pdstS62sysHeatDes,'Secondary Fan Airflow - Vsec [m3/s]') + s->pdchS62shdVdz = newPreDefColumn(state, s->pdstS62sysHeatDes, "Sum of Zone Discharge Airflow - Vdz-sum [m3/s]"); + s->pdchS62shdVpzmin = newPreDefColumn(state, s->pdstS62sysHeatDes, "Sum of Min Zone Primary Airflow - Vpz-min [m3/s]"); + s->pdchS62shdVozhtg = newPreDefColumn(state, s->pdstS62sysHeatDes, "Zone Outdoor Airflow Heating - Voz-htg [m3/s]"); + s->pdchS62shdEvz = newPreDefColumn(state, s->pdstS62sysHeatDes, "Zone Ventilation Efficiency - Evz-min"); + // } + s->pdrLeed = newPreDefReport(state, "LEEDsummary", "LEED", "LEED Summary"); - + s->pdstLeedGenInfo = newPreDefSubTable(state, s->pdrLeed, "Sec1.1A-General Information"); // single column with rows of: // Principal Heating Source @@ -1779,27 +1779,14 @@ namespace OutputReportPredefined { // Creates an entry for predefined tables when the entry // is a real variable - // METHODOLOGY EMPLOYED: - // Simple assignments to public variables. - - // REFERENCES: - // na - - // USE STATEMENTS: - - // Locals - // SUBROUTINE ARGUMENT DEFINITIONS: - - // SUBROUTINE PARAMETER DEFINITIONS: + assert(columnIndex > 0 && columnIndex <= state.dataOutRptPredefined->numColumnTag); + auto &column = state.dataOutRptPredefined->columnTag(columnIndex); + auto &table = state.dataOutRptPredefined->subTable(column.indexSubTable); + + incrementTableEntry(state, column.indexSubTable); - // INTERFACE BLOCK SPECIFICATIONS: - // na - - // DERIVED TYPE DEFINITIONS: - // na - - // SUBROUTINE LOCAL VARIABLE DECLARATIONS: - incrementTableEntry(state); + auto &entry = table.entries(table.numEntries); + int sigDigitCount = 2; // check for number of significant digits if (present(numSigDigits)) { @@ -1811,27 +1798,26 @@ namespace OutputReportPredefined { if (std::abs(tableEntryReal) < 1e8) { // change from 1e10 for more robust entry writing // something changed in FMT 7.x and "{:#12.{}F}" now outputs 13. So changing it to 11.{}F to maintain existing functionality. Likely // related to https://github.com/fmtlib/fmt/issues/1893 - state.dataOutRptPredefined->tableEntry(state.dataOutRptPredefined->numTableEntry).charEntry = - EnergyPlus::format("{:#11.{}F}", tableEntryReal, sigDigitCount); + entry.charEntry = EnergyPlus::format("{:#11.{}F}", tableEntryReal, sigDigitCount); } else { // Formatting in scientific notation, zero sigDigits makes zero sense. // **for something greater than 1E+08**, one sigDigits is very unhelpful (you're having an accuracy of 0.5E+07 at best) if (sigDigitCount < 2) { sigDigitCount = 2; } - state.dataOutRptPredefined->tableEntry(state.dataOutRptPredefined->numTableEntry).charEntry = - EnergyPlus::format("{:12.{}E}", tableEntryReal, sigDigitCount); + entry.charEntry = EnergyPlus::format("{:12.{}E}", tableEntryReal, sigDigitCount); } - if (state.dataOutRptPredefined->tableEntry(state.dataOutRptPredefined->numTableEntry).charEntry.size() > 12) { - state.dataOutRptPredefined->tableEntry(state.dataOutRptPredefined->numTableEntry).charEntry = " Too Big"; + if (entry.charEntry.size() > 12) { + entry.charEntry = " Too Big"; } - - state.dataOutRptPredefined->tableEntry(state.dataOutRptPredefined->numTableEntry).objectName = objName; - state.dataOutRptPredefined->tableEntry(state.dataOutRptPredefined->numTableEntry).indexColumn = columnIndex; - state.dataOutRptPredefined->tableEntry(state.dataOutRptPredefined->numTableEntry).origRealEntry = tableEntryReal; - state.dataOutRptPredefined->tableEntry(state.dataOutRptPredefined->numTableEntry).significantDigits = sigDigitCount; - state.dataOutRptPredefined->tableEntry(state.dataOutRptPredefined->numTableEntry).origEntryIsReal = true; + + entry.objectName = objName; + entry.indexColumn = columnIndex; + entry.indexTable = column.indexSubTable; + entry.origRealEntry = tableEntryReal; + entry.significantDigits = sigDigitCount; + entry.origEntryIsReal = true; } void PreDefTableEntry(EnergyPlusData &state, int const columnIndex, std::string_view objName, std::string_view tableEntryChar) @@ -1846,32 +1832,17 @@ namespace OutputReportPredefined { // Creates an entry for predefined tables when the entry // is a character variable - // METHODOLOGY EMPLOYED: - // Simple assignments to public variables. - - // REFERENCES: - // na - - // USE STATEMENTS: - - // Locals - // SUBROUTINE ARGUMENT DEFINITIONS: - - // SUBROUTINE PARAMETER DEFINITIONS: - // na - - // INTERFACE BLOCK SPECIFICATIONS: - // na - - // DERIVED TYPE DEFINITIONS: - // na - - // SUBROUTINE LOCAL VARIABLE DECLARATIONS: - - incrementTableEntry(state); - state.dataOutRptPredefined->tableEntry(state.dataOutRptPredefined->numTableEntry).charEntry = tableEntryChar; - state.dataOutRptPredefined->tableEntry(state.dataOutRptPredefined->numTableEntry).objectName = objName; - state.dataOutRptPredefined->tableEntry(state.dataOutRptPredefined->numTableEntry).indexColumn = columnIndex; + assert(columnIndex > 0 && columnIndex <= state.dataOutRptPredefined->numColumnTag); + auto &column = state.dataOutRptPredefined->columnTag(columnIndex); + auto &table = state.dataOutRptPredefined->subTable(column.indexSubTable); + + incrementTableEntry(state, column.indexSubTable); + + auto &entry = table.entries(table.numEntries); + entry.charEntry = tableEntryChar; + entry.objectName = objName; + entry.indexColumn = columnIndex; + entry.indexTable = column.indexSubTable; } void PreDefTableEntry(EnergyPlusData &state, int const columnIndex, std::string_view objName, int const tableEntryInt) @@ -1886,46 +1857,36 @@ namespace OutputReportPredefined { // Creates an entry for predefined tables when the entry // is a integer variable - // METHODOLOGY EMPLOYED: - // Simple assignments to public variables. - - // REFERENCES: - // na - - // USE STATEMENTS: - - // Locals - // SUBROUTINE ARGUMENT DEFINITIONS: - - // SUBROUTINE PARAMETER DEFINITIONS: + assert(columnIndex > 0 && columnIndex <= state.dataOutRptPredefined->numColumnTag); + auto &column = state.dataOutRptPredefined->columnTag(columnIndex); + auto &table = state.dataOutRptPredefined->subTable(column.indexSubTable); + + incrementTableEntry(state, column.indexSubTable); - // INTERFACE BLOCK SPECIFICATIONS: - // na + auto &entry = table.entries(table.numEntries); - // DERIVED TYPE DEFINITIONS: - // na - - // SUBROUTINE LOCAL VARIABLE DECLARATIONS: - - incrementTableEntry(state); // convert the integer to a string - state.dataOutRptPredefined->tableEntry(state.dataOutRptPredefined->numTableEntry).charEntry = EnergyPlus::format("{:12}", tableEntryInt); - state.dataOutRptPredefined->tableEntry(state.dataOutRptPredefined->numTableEntry).objectName = objName; - state.dataOutRptPredefined->tableEntry(state.dataOutRptPredefined->numTableEntry).indexColumn = columnIndex; + entry.charEntry = EnergyPlus::format("{:12}", tableEntryInt); + entry.objectName = objName; + entry.indexColumn = columnIndex; + entry.indexTable = column.indexSubTable; } std::string RetrievePreDefTableEntry(EnergyPlusData &state, int const columnIndex, std::string_view objName) { - for (int iTableEntry = 1; iTableEntry <= state.dataOutRptPredefined->numTableEntry; ++iTableEntry) { - if (state.dataOutRptPredefined->tableEntry(iTableEntry).indexColumn == columnIndex && - state.dataOutRptPredefined->tableEntry(iTableEntry).objectName == objName) { - return trimmed(ljustified(state.dataOutRptPredefined->tableEntry(iTableEntry).charEntry)); + assert(columnIndex > 0 && columnIndex <= state.dataOutRptPredefined->numColumnTag); + auto &column = state.dataOutRptPredefined->columnTag(columnIndex); + auto &table = state.dataOutRptPredefined->subTable(column.indexSubTable); + + for (int i = 1; i <= table.numEntries; ++i) { + if (table.entries(i).indexColumn == columnIndex && table.entries(i).objectName == objName) { + return trimmed(ljustified(table.entries(i).charEntry)); } } return "NOT FOUND"; } - void incrementTableEntry(EnergyPlusData &state) + void incrementTableEntry(EnergyPlusData &state, int const subTableNum) { // SUBROUTINE INFORMATION: // AUTHOR Jason Glazer @@ -1936,38 +1897,18 @@ namespace OutputReportPredefined { // PURPOSE OF THIS SUBROUTINE: // Manages the resizing of the TableEntry Array - // METHODOLOGY EMPLOYED: - // Simple assignments to public variables. - - // REFERENCES: - // na - - // USE STATEMENTS: - - // SUBROUTINE ARGUMENT DEFINITIONS: - // na - - // SUBROUTINE PARAMETER DEFINITIONS: - // na - - // INTERFACE BLOCK SPECIFICATIONS: - // na - - // DERIVED TYPE DEFINITIONS: - // na - - // SUBROUTINE LOCAL VARIABLE DECLARATIONS: - if (!allocated(state.dataOutRptPredefined->tableEntry)) { - state.dataOutRptPredefined->tableEntry.allocate(sizeIncrement); - state.dataOutRptPredefined->sizeTableEntry = sizeIncrement; - state.dataOutRptPredefined->numTableEntry = 1; + assert(subTableNum > 0 && subTableNum <= state.dataOutRptPredefined->numSubTable); + auto &table = state.dataOutRptPredefined->subTable(subTableNum); + + if (!allocated(table.entries)) { + table.entries.allocate(sizeIncrement); + table.sizeEntries = sizeIncrement; + table.numEntries = 1; } else { - ++state.dataOutRptPredefined->numTableEntry; + ++table.numEntries; // if larger than current size grow the array - if (state.dataOutRptPredefined->numTableEntry > state.dataOutRptPredefined->sizeTableEntry) { - state.dataOutRptPredefined->tableEntry.redimension( - state.dataOutRptPredefined->sizeTableEntry *= - 2); // Tuned Changed += sizeIncrement to *= 2 for reduced heap allocations (at some space cost) + if (table.numEntries > table.sizeEntries) { + table.entries.redimension(table.sizeEntries *= 2); // Tuned Changed += sizeIncrement to *= 2 for reduced heap allocations } } } diff --git a/src/EnergyPlus/OutputReportPredefined.hh b/src/EnergyPlus/OutputReportPredefined.hh index 6403b3b8c63..41ab0b163dd 100644 --- a/src/EnergyPlus/OutputReportPredefined.hh +++ b/src/EnergyPlus/OutputReportPredefined.hh @@ -90,19 +90,6 @@ namespace OutputReportPredefined { } }; - struct SubTableType - { - // Members - std::string name; - int indexReportName; - std::string footnote; - - // Default Constructor - SubTableType() : indexReportName(0) - { - } - }; - struct ColumnTagType { // Members @@ -121,14 +108,31 @@ namespace OutputReportPredefined { std::string charEntry; std::string objectName; int indexColumn; - int subTableIndex; + int indexTable; int uniqueObjName; Real64 origRealEntry; int significantDigits; bool origEntryIsReal; // Default Constructor - TableEntryType() : indexColumn(0), subTableIndex(0), uniqueObjName(0), origRealEntry(0.0), significantDigits(0), origEntryIsReal(false) + TableEntryType() : indexColumn(0), indexTable(0), uniqueObjName(0), origRealEntry(0.0), significantDigits(0), origEntryIsReal(false) + { + } + }; + + struct SubTableType + { + // Members + std::string name; + int indexReportName; + std::string footnote; + + int numEntries; + int sizeEntries; + + Array1D entries; + // Default Constructor + SubTableType() : indexReportName(0), numEntries(0), sizeEntries(0) { } }; @@ -175,7 +179,7 @@ namespace OutputReportPredefined { std::string RetrievePreDefTableEntry(EnergyPlusData &state, int const columnIndex, std::string_view objName); - void incrementTableEntry(EnergyPlusData &state); + void incrementTableEntry(EnergyPlusData &state, int subTableNum); void AddCompSizeTableEntry( EnergyPlusData &state, std::string_view FieldType, std::string_view FieldName, std::string_view FieldDescription, Real64 const FieldValue); @@ -1672,9 +1676,6 @@ struct OutputReportPredefinedData : BaseGlobalStruct int sizeColumnTag = 0; int numColumnTag = 0; - int sizeTableEntry = 0; - int numTableEntry = 0; - int sizeCompSizeTableEntry = 0; int numCompSizeTableEntry = 0; @@ -1708,12 +1709,12 @@ struct OutputReportPredefinedData : BaseGlobalStruct Array1D reportName; Array1D subTable; Array1D columnTag; - Array1D tableEntry; Array1D CompSizeTableEntry; Array1D ShadowRelate; void init_constant_state([[maybe_unused]] EnergyPlusData &state) override { + OutputReportPredefined::SetPredefinedTables(state); } void init_state([[maybe_unused]] EnergyPlusData &state) override diff --git a/src/EnergyPlus/OutputReportTabular.cc b/src/EnergyPlus/OutputReportTabular.cc index adb4eaad58c..0171472e14e 100644 --- a/src/EnergyPlus/OutputReportTabular.cc +++ b/src/EnergyPlus/OutputReportTabular.cc @@ -5288,8 +5288,16 @@ void WriteTabularReports(EnergyPlusData &state) print(state.files.audit, variable_fmt, "numSubTable", state.dataOutRptPredefined->numSubTable); print(state.files.audit, variable_fmt, "sizeColumnTag", state.dataOutRptPredefined->sizeColumnTag); print(state.files.audit, variable_fmt, "numColumnTag", state.dataOutRptPredefined->numColumnTag); - print(state.files.audit, variable_fmt, "sizeTableEntry", state.dataOutRptPredefined->sizeTableEntry); - print(state.files.audit, variable_fmt, "numTableEntry", state.dataOutRptPredefined->numTableEntry); + + int sizeTableEntry = 0; + int numTableEntry = 0; + for (int i = 1; i < state.dataOutRptPredefined->numSubTable; ++i) { + sizeTableEntry += state.dataOutRptPredefined->subTable(i).sizeEntries; + numTableEntry += state.dataOutRptPredefined->subTable(i).numEntries; + } + + print(state.files.audit, variable_fmt, "sizeTableEntry", sizeTableEntry); + print(state.files.audit, variable_fmt, "numTableEntry", numTableEntry); print(state.files.audit, variable_fmt, "sizeCompSizeTableEntry", state.dataOutRptPredefined->sizeCompSizeTableEntry); print(state.files.audit, variable_fmt, "numCompSizeTableEntry", state.dataOutRptPredefined->numCompSizeTableEntry); } @@ -13975,47 +13983,11 @@ void WritePredefinedTables(EnergyPlusData &state) Array2D_string tableBody; Array1D_int rowToUnqObjName; Array1D_int colHeadToColTag; - Array1D_string uniqueObjectName; - Array1D_bool useUniqueObjectName; - int colCurrent(0); - int rowCurrent(0); Array1D_int colUnitConv; auto const &ort = state.dataOutRptTab; for (auto ¤tStyle : ort->tabularReportPasses) { - // loop through the entries and associate them with the subtable and create - // list of unique object names - // Much of this code is to allow for integer compares instead of string - // compares that are nested three levels in a loop. - uniqueObjectName.allocate(state.dataOutRptPredefined->numTableEntry); - useUniqueObjectName.allocate(state.dataOutRptPredefined->numTableEntry); - int numUnqObjName = 0; - for (int lTableEntry = 1; lTableEntry <= state.dataOutRptPredefined->numTableEntry; ++lTableEntry) { - // associate the subtable with each column - int const curColumn = state.dataOutRptPredefined->tableEntry(lTableEntry).indexColumn; - if ((curColumn >= 1) && (curColumn <= state.dataOutRptPredefined->numColumnTag)) { - state.dataOutRptPredefined->tableEntry(lTableEntry).subTableIndex = state.dataOutRptPredefined->columnTag(curColumn).indexSubTable; - } - // make a list of unique object names - std::string const &curObjectName = state.dataOutRptPredefined->tableEntry(lTableEntry).objectName; - int found = 0; - for (int mUnqObjNames = 1; mUnqObjNames <= numUnqObjName; ++mUnqObjNames) { - if (curObjectName == uniqueObjectName(mUnqObjNames)) { - found = mUnqObjNames; - break; - } - } - // if found then point to the unique object - if (found > 0) { - state.dataOutRptPredefined->tableEntry(lTableEntry).uniqueObjName = found; - // if not found add to the unique object list - } else { - ++numUnqObjName; - uniqueObjectName(numUnqObjName) = curObjectName; - state.dataOutRptPredefined->tableEntry(lTableEntry).uniqueObjName = numUnqObjName; - } - } // loop through all reports and include those that have been flagged as 'show' for (int iReportName = 1; iReportName <= state.dataOutRptPredefined->numReportName; ++iReportName) { if (state.dataOutRptPredefined->reportName(iReportName).show) { @@ -14025,9 +13997,12 @@ void WritePredefinedTables(EnergyPlusData &state) "Entire Facility", OutputProcessor::StoreType::Average); } + // loop through the subtables and include those that are associated with this report for (int jSubTable = 1, jSubTable_end = state.dataOutRptPredefined->numSubTable; jSubTable <= jSubTable_end; ++jSubTable) { - if (state.dataOutRptPredefined->subTable(jSubTable).indexReportName == iReportName) { + auto &table = state.dataOutRptPredefined->subTable(jSubTable); + if (table.indexReportName == iReportName) { + // determine how many columns int curNumColumns = 0; for (int kColumnTag = 1; kColumnTag <= state.dataOutRptPredefined->numColumnTag; ++kColumnTag) { @@ -14035,23 +14010,38 @@ void WritePredefinedTables(EnergyPlusData &state) ++curNumColumns; } } + // determine how many rows by going through table entries and setting // flag in useUniqueObjectName to true, then count number of true's. - useUniqueObjectName = false; // array assignment - for (int lTableEntry = 1; lTableEntry <= state.dataOutRptPredefined->numTableEntry; ++lTableEntry) { - if (state.dataOutRptPredefined->tableEntry(lTableEntry).subTableIndex == jSubTable) { - useUniqueObjectName(state.dataOutRptPredefined->tableEntry(lTableEntry).uniqueObjName) = true; + Array1D_string uniqueObjectNames(table.numEntries); + int numUniqueObjectNames = 0; + + for (int lTableEntry = 1; lTableEntry <= table.numEntries; ++lTableEntry) { + auto &entry = table.entries(lTableEntry); + + int found = 0; + for (int m = 1; m <= numUniqueObjectNames; ++m) { + if (entry.objectName == uniqueObjectNames(m)) { + found = m; + break; + } } - } - int curNumRows = 0; - for (int mUnqObjNames = 1; mUnqObjNames <= numUnqObjName; ++mUnqObjNames) { - if (useUniqueObjectName(mUnqObjNames)) { - ++curNumRows; + // if found then point to the unique object + if (found > 0) { + entry.uniqueObjName = found; + // if not found add to the unique object list + } else { + ++numUniqueObjectNames; + uniqueObjectNames(numUniqueObjectNames) = entry.objectName; + entry.uniqueObjName = numUniqueObjectNames; } } + + int curNumRows = numUniqueObjectNames; if (curNumRows == 0) { curNumRows = 1; } + // now create the arrays that are filled with values rowHead.allocate(curNumRows); columnHead.allocate(curNumColumns); @@ -14068,13 +14058,12 @@ void WritePredefinedTables(EnergyPlusData &state) // set row headings int countRow = 0; rowHead(1) = "None"; - for (int mUnqObjNames = 1; mUnqObjNames <= numUnqObjName; ++mUnqObjNames) { - if (useUniqueObjectName(mUnqObjNames)) { - ++countRow; - rowHead(countRow) = uniqueObjectName(mUnqObjNames); - rowToUnqObjName(countRow) = mUnqObjNames; - } + for (int m = 1; m <= numUniqueObjectNames; ++m) { + ++countRow; + rowHead(countRow) = uniqueObjectNames(m); + rowToUnqObjName(countRow) = m; } + // set column headings int countColumn = 0; for (int kColumnTag = 1; kColumnTag <= state.dataOutRptPredefined->numColumnTag; ++kColumnTag) { @@ -14101,66 +14090,60 @@ void WritePredefinedTables(EnergyPlusData &state) colHeadToColTag(countColumn) = kColumnTag; } } + // fill the body of the table from the entries // find the entries associated with the current subtable - for (int lTableEntry = 1; lTableEntry <= state.dataOutRptPredefined->numTableEntry; ++lTableEntry) { - if (state.dataOutRptPredefined->tableEntry(lTableEntry).subTableIndex == jSubTable) { - // determine what column the current entry is in - int const curColTagIndex = state.dataOutRptPredefined->tableEntry(lTableEntry).indexColumn; - for (int nColHead = 1; nColHead <= curNumColumns; ++nColHead) { - if (curColTagIndex == colHeadToColTag(nColHead)) { - colCurrent = nColHead; - break; - } + for (int lTableEntry = 1; lTableEntry <= table.numEntries; ++lTableEntry) { + auto &entry = table.entries(lTableEntry); + // determine what column the current entry is in + int const curColTagIndex = entry.indexColumn; + int colCurrent = 0; + for (int nColHead = 1; nColHead <= curNumColumns; ++nColHead) { + if (curColTagIndex == colHeadToColTag(nColHead)) { + colCurrent = nColHead; + break; } - // determine what row the current entry is in - int const curRowUnqObjIndex = state.dataOutRptPredefined->tableEntry(lTableEntry).uniqueObjName; - for (int oRowHead = 1; oRowHead <= curNumRows; ++oRowHead) { - if (curRowUnqObjIndex == rowToUnqObjName(oRowHead)) { - rowCurrent = oRowHead; - break; + } + + // determine what row the current entry is in + int const rowCurrent = entry.uniqueObjName; + + // finally assign the entry to the place in the table body + if (currentStyle.unitsStyle == OutputReportTabular::UnitsStyle::InchPound || + currentStyle.unitsStyle == OutputReportTabular::UnitsStyle::InchPoundExceptElectricity || + currentStyle.unitsStyle == UnitsStyle::JtoKWH || !currentStyle.formatReals) { + int columnUnitConv = colUnitConv(colCurrent); + if (Util::SameString(state.dataOutRptPredefined->subTable(jSubTable).name, "SizingPeriod:DesignDay") && + (currentStyle.unitsStyle == OutputReportTabular::UnitsStyle::InchPound || + currentStyle.unitsStyle == OutputReportTabular::UnitsStyle::InchPoundExceptElectricity)) { + if (Util::SameString(columnHead(colCurrent), "Humidity Value")) { + std::string repTableTag; + auto &entry1 = table.entries(lTableEntry + 1); // What the what? + LookupSItoIP(state, entry1.charEntry, columnUnitConv, repTableTag); + entry.charEntry = repTableTag; } } - // finally assign the entry to the place in the table body - if (currentStyle.unitsStyle == OutputReportTabular::UnitsStyle::InchPound || - currentStyle.unitsStyle == OutputReportTabular::UnitsStyle::InchPoundExceptElectricity || - currentStyle.unitsStyle == UnitsStyle::JtoKWH || !currentStyle.formatReals) { - int columnUnitConv = colUnitConv(colCurrent); - if (Util::SameString(state.dataOutRptPredefined->subTable(jSubTable).name, "SizingPeriod:DesignDay") && - (currentStyle.unitsStyle == OutputReportTabular::UnitsStyle::InchPound || - currentStyle.unitsStyle == OutputReportTabular::UnitsStyle::InchPoundExceptElectricity)) { - if (Util::SameString(columnHead(colCurrent), "Humidity Value")) { - std::string repTableTag; - LookupSItoIP(state, - state.dataOutRptPredefined->tableEntry(lTableEntry + 1).charEntry, - columnUnitConv, - repTableTag); - state.dataOutRptPredefined->tableEntry(lTableEntry + 1).charEntry = repTableTag; - } + if (entry.origEntryIsReal && + ((columnUnitConv != 0) || !currentStyle.formatReals)) { + Real64 value = entry.origRealEntry; + if (columnUnitConv != 0) { + value = ConvertIP(state, columnUnitConv, entry.origRealEntry); } - if (state.dataOutRptPredefined->tableEntry(lTableEntry).origEntryIsReal && - ((columnUnitConv != 0) || !currentStyle.formatReals)) { - Real64 value = state.dataOutRptPredefined->tableEntry(lTableEntry).origRealEntry; - if (columnUnitConv != 0) { - value = - ConvertIP(state, columnUnitConv, state.dataOutRptPredefined->tableEntry(lTableEntry).origRealEntry); - } - if (currentStyle.formatReals) { - tableBody(colCurrent, rowCurrent) = - RealToStr(currentStyle.formatReals, - value, - state.dataOutRptPredefined->tableEntry(lTableEntry).significantDigits); - } else { - tableBody(colCurrent, rowCurrent) = EnergyPlus::format("{}", value); - } + if (currentStyle.formatReals) { + tableBody(colCurrent, rowCurrent) = RealToStr(currentStyle.formatReals, value, entry.significantDigits); } else { - tableBody(colCurrent, rowCurrent) = state.dataOutRptPredefined->tableEntry(lTableEntry).charEntry; + tableBody(colCurrent, rowCurrent) = EnergyPlus::format("{}", value); } } else { - tableBody(colCurrent, rowCurrent) = state.dataOutRptPredefined->tableEntry(lTableEntry).charEntry; + tableBody(colCurrent, rowCurrent) = entry.charEntry; } + } else { + tableBody(colCurrent, rowCurrent) = entry.charEntry; } - } + } // for (lTableEntry) + + uniqueObjectNames.deallocate(); + // create the actual output table if (currentStyle.produceTabular) { WriteSubtitle(state, state.dataOutRptPredefined->subTable(jSubTable).name); diff --git a/src/EnergyPlus/SimulationManager.cc b/src/EnergyPlus/SimulationManager.cc index c261f7e5e1a..f7adf99a2bf 100644 --- a/src/EnergyPlus/SimulationManager.cc +++ b/src/EnergyPlus/SimulationManager.cc @@ -212,7 +212,7 @@ namespace SimulationManager { CheckForMisMatchedEnvironmentSpecifications(state); CheckForRequestedReporting(state); - OutputReportPredefined::SetPredefinedTables(state); + // OutputReportPredefined::SetPredefinedTables(state); // this is being called via init_constant_state now SetPreConstructionInputParameters(state); // establish array bounds for constructions early OutputProcessor::SetupTimePointers( diff --git a/tst/EnergyPlus/unit/OutputReportTabular.unit.cc b/tst/EnergyPlus/unit/OutputReportTabular.unit.cc index f49e97a0478..a5c769a3e69 100644 --- a/tst/EnergyPlus/unit/OutputReportTabular.unit.cc +++ b/tst/EnergyPlus/unit/OutputReportTabular.unit.cc @@ -6051,9 +6051,6 @@ TEST_F(EnergyPlusFixture, OutputTableTimeBins_GetInput) TEST_F(EnergyPlusFixture, OutputReportTabularTest_PredefinedTableRowMatchingTest) { - - SetPredefinedTables(*state); - PreDefTableEntry(*state, state->dataOutRptPredefined->pdchLeedPerfElEneUse, "Exterior Lighting", 1000., 2); EXPECT_EQ("1000.00", RetrievePreDefTableEntry(*state, state->dataOutRptPredefined->pdchLeedPerfElEneUse, "Exterior Lighting")); EXPECT_EQ("NOT FOUND", RetrievePreDefTableEntry(*state, state->dataOutRptPredefined->pdchLeedPerfElEneUse, "EXTERIOR LIGHTING")); @@ -7426,7 +7423,6 @@ TEST_F(SQLiteFixture, OutputReportTabularTest_PredefinedTableDXConversion) state->dataOutRptTab->unitsStyle_SQLite = OutputReportTabular::UnitsStyle::InchPound; setTabularReportStyles(*state); - SetPredefinedTables(*state); std::string CompName = "My DX Coil with 10000W cooling"; PreDefTableEntry(*state, state->dataOutRptPredefined->pdchDXCoolCoilType2, CompName, "Coil:Cooling:DX:SingleSpeed"); @@ -7483,7 +7479,6 @@ TEST_F(SQLiteFixture, OutputReportTabularTest_PredefinedTableCoilHumRat) state->dataOutRptTab->unitsStyle_SQLite = OutputReportTabular::UnitsStyle::InchPound; setTabularReportStyles(*state); - SetPredefinedTables(*state); std::string CompName = "My DX Coil"; PreDefTableEntry(*state, state->dataOutRptPredefined->pdchDXCoolCoilType, CompName, "Coil:Cooling:DX:SingleSpeed"); @@ -7598,9 +7593,6 @@ TEST_F(EnergyPlusFixture, AzimuthToCardinal) } } - // Setup pre def tables - OutputReportPredefined::SetPredefinedTables(*state); - // Call the routine that fills up the table we care about HeatBalanceSurfaceManager::GatherForPredefinedReport(*state); @@ -7718,9 +7710,6 @@ TEST_F(EnergyPlusFixture, InteriorSurfaceEnvelopeSummaryReport) state->dataSurface->Surface(3).ExtBoundCondName = "Interzonal_Wall_1"; state->dataSurface->Surface(4).ExtBoundCondName = "Interzonal_Door_1"; - // Setup pre def tables - OutputReportPredefined::SetPredefinedTables(*state); - // Call the routine that fills up the table we care about HeatBalanceSurfaceManager::GatherForPredefinedReport(*state); @@ -7988,8 +7977,6 @@ TEST_F(SQLiteFixture, OutputReportTabular_EndUseBySubcategorySQL) // Needed to avoid crash (from ElectricPowerServiceManager.hh) createFacilityElectricPowerServiceObject(*state); - SetPredefinedTables(*state); - Real64 extLitUse = 1e8; Real64 CoalHeating = 2e8; Real64 GasolineHeating = 3e8; @@ -9562,8 +9549,6 @@ TEST_F(SQLiteFixture, ORT_EndUseBySubcategorySQL_DualUnits) // Needed to avoid crash (from ElectricPowerServiceManager.hh) createFacilityElectricPowerServiceObject(*state); - SetPredefinedTables(*state); - Real64 extLitUse = 1e8; Real64 CoalHeating = 2.0000012e8; Real64 GasolineHeating = 3.1256e8; @@ -9927,8 +9912,6 @@ TEST_F(SQLiteFixture, ORT_EndUseBySubcategorySQL_DualUnits2) // Needed to avoid crash (from ElectricPowerServiceManager.hh) createFacilityElectricPowerServiceObject(*state); - SetPredefinedTables(*state); - Real64 extLitUse = 1e8; Real64 CoalHeating = 2.0000012e8; Real64 GasolineHeating = 3.1256e8; @@ -10266,7 +10249,6 @@ TEST_F(SQLiteFixture, OutputReportTabularTest_EscapeHTML) ort->unitsStyle_Tabular = OutputReportTabular::UnitsStyle::JtoKWH; setTabularReportStyles(*state); - SetPredefinedTables(*state); std::string CompName = "My Coil "; PreDefTableEntry(*state, state->dataOutRptPredefined->pdchDXCoolCoilType, CompName, "Coil:Cooling:DX:SingleSpeed"); @@ -10345,9 +10327,6 @@ TEST_F(SQLiteFixture, OutputReportTabularTest_EscapeHTML) TEST_F(EnergyPlusFixture, OutputReportTabularTest_PredefinedTable_SigDigits_Force_NonZero) { - - SetPredefinedTables(*state); - // < 1e8, not using scientific notation Real64 value = 123.456; PreDefTableEntry(*state, state->dataOutRptPredefined->pdchPlantSizPkTimeMin, "MyPlant Sizing Pass 1", value, 2); @@ -10396,21 +10375,21 @@ TEST_F(EnergyPlusFixture, OutputReportTabularTest_PredefinedTable_Standard62_1_N EXPECT_EQ(1, state->dataInputProcessing->inputProcessor->getNumObjectsFound(*state, "Output:Table:SummaryReports")); - EXPECT_EQ(0, state->dataOutRptPredefined->numReportName); - SetPredefinedTables(*state); EXPECT_GT(state->dataOutRptPredefined->numReportName, 0); - auto &reportNameArray = state->dataOutRptPredefined->reportName; - auto it = - std::find_if(reportNameArray.begin(), reportNameArray.end(), [](const auto &rN) { return Util::SameString("Standard62.1Summary", rN.name); }); - EXPECT_FALSE(it != reportNameArray.end()); // Not found + // Do this some other way, whether or not a report is used should not depend on whether or not it is defined - GetInputOutputTableSummaryReports(*state); + // auto &reportNameArray = state->dataOutRptPredefined->reportName; + // auto it = + // std::find_if(reportNameArray.begin(), reportNameArray.end(), [](const auto &rN) { return Util::SameString("Standard62.1Summary", rN.name); }); + // EXPECT_FALSE(it != reportNameArray.end()); // Not found + + // GetInputOutputTableSummaryReports(*state); - std::string expected_error = - delimited_string({" ** Warning ** Output:Table:SummaryReports Field[1]=\"Standard62.1Summary\", Report is not enabled.", - " ** ~~~ ** Do Zone Sizing or Do System Sizing must be enabled in SimulationControl."}); + // std::string expected_error = + // delimited_string({" ** Warning ** Output:Table:SummaryReports Field[1]=\"Standard62.1Summary\", Report is not enabled.", + // " ** ~~~ ** Do Zone Sizing or Do System Sizing must be enabled in SimulationControl."}); - compare_err_stream(expected_error, true); + // compare_err_stream(expected_error, true); } TEST_F(EnergyPlusFixture, OutputReportTabularTest_PredefinedTable_Standard62_1_WithSizing) @@ -10430,8 +10409,6 @@ TEST_F(EnergyPlusFixture, OutputReportTabularTest_PredefinedTable_Standard62_1_W EXPECT_EQ(1, state->dataInputProcessing->inputProcessor->getNumObjectsFound(*state, "Output:Table:SummaryReports")); - EXPECT_EQ(0, state->dataOutRptPredefined->numReportName); - SetPredefinedTables(*state); EXPECT_GT(state->dataOutRptPredefined->numReportName, 0); auto &reportNameArray = state->dataOutRptPredefined->reportName; auto it = @@ -11048,8 +11025,6 @@ TEST_F(SQLiteFixture, StatFile_TMYx) state->dataOutRptTab->unitsStyle_SQLite = OutputReportTabular::UnitsStyle::InchPound; setTabularReportStyles(*state); - SetPredefinedTables(*state); - FillWeatherPredefinedEntries(*state); // Enable the ClimaticDataSummary report, in a future-proof way @@ -13524,8 +13499,6 @@ TEST_F(SQLiteFixture, OutputReportTabular_DistrictHeating) // Needed to avoid crash (from ElectricPowerServiceManager.hh) createFacilityElectricPowerServiceObject(*state); - SetPredefinedTables(*state); - Real64 DistrictHeatingWater = 4e8; SetupOutputVariable(*state, "Exterior Equipment DistrictHeatingWater Energy", @@ -13927,8 +13900,6 @@ TEST_F(SQLiteFixture, ORT_EndUseBySubcategorySQL_IPUnitExceptElec) // Needed to avoid crash (from ElectricPowerServiceManager.hh) createFacilityElectricPowerServiceObject(*state); - SetPredefinedTables(*state); - Real64 extLitUse = 1e8; Real64 CoalHeating = 2e8; Real64 GasolineHeating = 3e8; @@ -14886,9 +14857,6 @@ TEST_F(EnergyPlusFixture, ExteriorFenestrationShadedStateTest) } } - // Setup pre def tables - OutputReportPredefined::SetPredefinedTables(*state); - // Call the routine that fills up the table we care about HeatBalanceSurfaceManager::GatherForPredefinedReport(*state); From 4388e7d604be6d9330aab52d6563d447eae06502 Mon Sep 17 00:00:00 2001 From: Amir Roth Date: Sun, 15 Mar 2026 19:43:50 -0400 Subject: [PATCH 2/9] SI/IP fix --- src/EnergyPlus/OutputReportTabular.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/EnergyPlus/OutputReportTabular.cc b/src/EnergyPlus/OutputReportTabular.cc index 0171472e14e..d89182d793c 100644 --- a/src/EnergyPlus/OutputReportTabular.cc +++ b/src/EnergyPlus/OutputReportTabular.cc @@ -14120,7 +14120,7 @@ void WritePredefinedTables(EnergyPlusData &state) std::string repTableTag; auto &entry1 = table.entries(lTableEntry + 1); // What the what? LookupSItoIP(state, entry1.charEntry, columnUnitConv, repTableTag); - entry.charEntry = repTableTag; + entry1.charEntry = repTableTag; } } if (entry.origEntryIsReal && From c553c89a759ab3c77f389f5ba639bc28508dae25 Mon Sep 17 00:00:00 2001 From: Amir Roth Date: Mon, 16 Mar 2026 11:08:29 -0400 Subject: [PATCH 3/9] Fix unit test --- tst/EnergyPlus/unit/UnitarySystem.unit.cc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tst/EnergyPlus/unit/UnitarySystem.unit.cc b/tst/EnergyPlus/unit/UnitarySystem.unit.cc index a098debd2e1..38c9e752f08 100644 --- a/tst/EnergyPlus/unit/UnitarySystem.unit.cc +++ b/tst/EnergyPlus/unit/UnitarySystem.unit.cc @@ -19230,7 +19230,10 @@ Dimensionless; !- Output Unit Type // Now call the OA system to make sure the above data is not corrupted // The test here is if the index has changed int OASysNum = 1; - state->dataOutRptPredefined->subTable.allocate(5); //<-- have to set up a few of these table foot notes + + // This now takes place in init_constant_state + // state->dataOutRptPredefined->subTable.allocate(5); //<-- have to set up a few of these table foot notes + state->dataOutRptPredefined->pdstDXCoolCoil = 1; state->dataOutRptPredefined->pdstDXCoolCoil_2023 = 2; state->dataOutRptPredefined->pdstCoolCoil = 3; From 841497b0d72da647bddf0c0f351dce9919a300b7 Mon Sep 17 00:00:00 2001 From: Matt Mitchell Date: Wed, 15 Apr 2026 17:45:26 -0600 Subject: [PATCH 4/9] format --- src/EnergyPlus/OutputReportPredefined.cc | 52 +++++++++---------- src/EnergyPlus/OutputReportPredefined.hh | 2 +- src/EnergyPlus/OutputReportTabular.cc | 21 ++++---- .../unit/OutputReportTabular.unit.cc | 3 +- tst/EnergyPlus/unit/UnitarySystem.unit.cc | 2 +- 5 files changed, 40 insertions(+), 40 deletions(-) diff --git a/src/EnergyPlus/OutputReportPredefined.cc b/src/EnergyPlus/OutputReportPredefined.cc index 1c05b383aca..c4da3c4ce18 100644 --- a/src/EnergyPlus/OutputReportPredefined.cc +++ b/src/EnergyPlus/OutputReportPredefined.cc @@ -1451,7 +1451,7 @@ namespace OutputReportPredefined { s->pdrStd62 = newPreDefReport(state, "Standard62.1Summary", "Std62", "Standard 62.1 Summary"); s->pdstS62sysVentReqCool = newPreDefSubTable(state, s->pdrStd62, "System Ventilation Requirements for Cooling"); - + s->pdchS62svrClSumVpz = newPreDefColumn(state, s->pdstS62sysVentReqCool, "Sum of Zone Primary Air Flow - Vpz-sum [m3/s]"); s->pdchS62svrClPs = newPreDefColumn(state, s->pdstS62sysVentReqCool, "System Population - Ps"); s->pdchS62svrClSumPz = newPreDefColumn(state, s->pdstS62sysVentReqCool, "Sum of Zone Population - Pz-sum"); @@ -1466,9 +1466,9 @@ namespace OutputReportPredefined { s->pdchS62svrClPercOA = newPreDefColumn(state, s->pdstS62sysVentReqCool, "Percent Outdoor Air - %OA"); s->pdchS62svrClEnvironmentOfPs = newPreDefColumn(state, s->pdstS62sysVentReqCool, "Environment Name of Peak System Population - Ps"); s->pdchS62svrClTimeOfPs = newPreDefColumn(state, s->pdstS62sysVentReqCool, "Date and Time of Last Peak System Population - Ps"); - + s->pdstS62sysVentReqHeat = newPreDefSubTable(state, s->pdrStd62, "System Ventilation Requirements for Heating"); - + s->pdchS62svrHtSumVpz = newPreDefColumn(state, s->pdstS62sysVentReqHeat, "Sum of Zone Primary Air Flow - Vpz-sum [m3/s]"); s->pdchS62svrHtPs = newPreDefColumn(state, s->pdstS62sysVentReqHeat, "System Population - Ps"); s->pdchS62svrHtSumPz = newPreDefColumn(state, s->pdstS62sysVentReqHeat, "Sum of Zone Population - Pz-sum"); @@ -1483,9 +1483,9 @@ namespace OutputReportPredefined { s->pdchS62svrHtPercOA = newPreDefColumn(state, s->pdstS62sysVentReqHeat, "Percent Outdoor Air - %OA"); s->pdchS62svrHtEnvironmentOfPs = newPreDefColumn(state, s->pdstS62sysVentReqHeat, "Environment Name of Peak System Population - Ps"); s->pdchS62svrHtTimeOfPs = newPreDefColumn(state, s->pdstS62sysVentReqHeat, "Date and Time of Last Peak System Population - Ps"); - + s->pdstS62znVentPar = newPreDefSubTable(state, s->pdrStd62, "Zone Ventilation Parameters"); - + s->pdchS62zvpAlN = newPreDefColumn(state, s->pdstS62znVentPar, "AirLoop Name"); s->pdchS62zvpRp = newPreDefColumn(state, s->pdstS62znVentPar, "People Outdoor Air Rate - Rp [m3/s-person]"); s->pdchS62zvpPz = newPreDefColumn(state, s->pdstS62znVentPar, "Zone Population - Pz"); @@ -1496,9 +1496,9 @@ namespace OutputReportPredefined { s->pdchS62zvpClVoz = newPreDefColumn(state, s->pdstS62znVentPar, "Cooling Zone Outdoor Airflow - Voz-clg [m3/s]"); s->pdchS62zvpHtEz = newPreDefColumn(state, s->pdstS62znVentPar, "Heating Zone Air Distribution Effectiveness - Ez-htg"); s->pdchS62zvpHtVoz = newPreDefColumn(state, s->pdstS62znVentPar, "Heating Zone Outdoor Airflow - Voz-htg [m3/s]"); - + s->pdstS62sysVentPar = newPreDefSubTable(state, s->pdrStd62, "System Ventilation Parameters"); - + s->pdchS62svpRp = newPreDefColumn(state, s->pdstS62sysVentPar, "People Outdoor Air Rate - Rp [m3/s-person]"); s->pdchS62svpPz = newPreDefColumn(state, s->pdstS62sysVentPar, "Sum of Zone Population - Pz-sum"); s->pdchS62svpRa = newPreDefColumn(state, s->pdstS62sysVentPar, "Area Outdoor Air Rate - Ra [m3/s-m2]"); @@ -1506,9 +1506,9 @@ namespace OutputReportPredefined { s->pdchS62svpVbz = newPreDefColumn(state, s->pdstS62sysVentPar, "Breathing Zone Outdoor Airflow - Vbz [m3/s]"); s->pdchS62svpClVoz = newPreDefColumn(state, s->pdstS62sysVentPar, "Cooling Zone Outdoor Airflow - Voz-clg [m3/s]"); s->pdchS62svpHtVoz = newPreDefColumn(state, s->pdstS62sysVentPar, "Heating Zone Outdoor Airflow - Voz-htg [m3/s]"); - + s->pdstS62znCoolDes = newPreDefSubTable(state, s->pdrStd62, "Zone Ventilation Calculations for Cooling Design"); - + s->pdchS62zcdAlN = newPreDefColumn(state, s->pdstS62znCoolDes, "AirLoop Name"); s->pdchS62zcdBox = newPreDefColumn(state, s->pdstS62znCoolDes, "Box Type"); s->pdchS62zcdVpz = newPreDefColumn(state, s->pdstS62znCoolDes, "Zone Primary Airflow - Vpz [m3/s]"); @@ -1517,7 +1517,7 @@ namespace OutputReportPredefined { s->pdchS62zcdVdz = newPreDefColumn(state, s->pdstS62znCoolDes, "Zone Discharge Airflow - Vdz [m3/s]"); s->pdchS62zcdVpzmin = newPreDefColumn(state, s->pdstS62znCoolDes, "Minimum Zone Primary Airflow - Vpz-min [m3/s]"); s->pdchS62zcdVpzminSPSize = - newPreDefColumn(state, s->pdstS62znCoolDes, "Is Vpz-min calculated using the Standard 62.1 Simplified Procedure?"); + newPreDefColumn(state, s->pdstS62znCoolDes, "Is Vpz-min calculated using the Standard 62.1 Simplified Procedure?"); s->pdchS62zcdVozclg = newPreDefColumn(state, s->pdstS62znCoolDes, "Zone Outdoor Airflow Cooling - Voz-clg [m3/s]"); s->pdchS62zcdZpz = newPreDefColumn(state, s->pdstS62znCoolDes, "Primary Outdoor Air Fraction - Zpz"); s->pdchS62zcdEp = newPreDefColumn(state, s->pdstS62znCoolDes, "Primary Air Fraction - Ep"); @@ -1526,9 +1526,9 @@ namespace OutputReportPredefined { s->pdchS62zcdFb = newPreDefColumn(state, s->pdstS62znCoolDes, "Mixed Air Fraction - Fb"); s->pdchS62zcdFc = newPreDefColumn(state, s->pdstS62znCoolDes, "Outdoor Air Fraction - Fc"); s->pdchS62zcdEvz = newPreDefColumn(state, s->pdstS62znCoolDes, "Zone Ventilation Efficiency - Evz"); - + s->pdstS62sysCoolDes = newPreDefSubTable(state, s->pdrStd62, "System Ventilation Calculations for Cooling Design"); - + s->pdchS62scdVpz = newPreDefColumn(state, s->pdstS62sysCoolDes, "Sum of Zone Primary Airflow - Vpz-sum [m3/s]"); s->pdchS62scdVps = newPreDefColumn(state, s->pdstS62sysCoolDes, "System Primary Airflow - Vps [m3/s]"); // s->pdchS62scdVsec = newPreDefColumn(state, s->pdstS62sysCoolDes,'Secondary Fan Airflow - Vsec [m3/s]') @@ -1536,9 +1536,9 @@ namespace OutputReportPredefined { s->pdchS62scdVpzmin = newPreDefColumn(state, s->pdstS62sysCoolDes, "Sum of Min Zone Primary Airflow - Vpz-min [m3/s]"); s->pdchS62scdVozclg = newPreDefColumn(state, s->pdstS62sysCoolDes, "Zone Outdoor Airflow Cooling - Voz-clg [m3/s]"); s->pdchS62scdEvz = newPreDefColumn(state, s->pdstS62sysCoolDes, "Zone Ventilation Efficiency - Evz-min"); - + s->pdstS62znHeatDes = newPreDefSubTable(state, s->pdrStd62, "Zone Ventilation Calculations for Heating Design"); - + s->pdchS62zhdAlN = newPreDefColumn(state, s->pdstS62znHeatDes, "AirLoop Name"); s->pdchS62zhdBox = newPreDefColumn(state, s->pdstS62znHeatDes, "Box Type"); s->pdchS62zhdVpz = newPreDefColumn(state, s->pdstS62znHeatDes, "Zone Primary Airflow - Vpz [m3/s]"); @@ -1547,7 +1547,7 @@ namespace OutputReportPredefined { s->pdchS62zhdVdz = newPreDefColumn(state, s->pdstS62znHeatDes, "Zone Discharge Airflow - Vdz [m3/s]"); s->pdchS62zhdVpzmin = newPreDefColumn(state, s->pdstS62znHeatDes, "Minimum Zone Primary Airflow - Vpz-min [m3/s]"); s->pdchS62zhdVpzminSPSize = - newPreDefColumn(state, s->pdstS62znHeatDes, "Is Vpz-min calculated using the Standard 62.1 Simplified Procedure?"); + newPreDefColumn(state, s->pdstS62znHeatDes, "Is Vpz-min calculated using the Standard 62.1 Simplified Procedure?"); s->pdchS62zhdVozhtg = newPreDefColumn(state, s->pdstS62znHeatDes, "Zone Outdoor Airflow Heating - Voz-htg [m3/s]"); s->pdchS62zhdZpz = newPreDefColumn(state, s->pdstS62znHeatDes, "Primary Outdoor Air Fraction - Zpz"); s->pdchS62zhdEp = newPreDefColumn(state, s->pdstS62znHeatDes, "Primary Air Fraction - Ep"); @@ -1556,9 +1556,9 @@ namespace OutputReportPredefined { s->pdchS62zhdFb = newPreDefColumn(state, s->pdstS62znHeatDes, "Mixed Air Fraction - Fb"); s->pdchS62zhdFc = newPreDefColumn(state, s->pdstS62znHeatDes, "Outdoor Air Fraction - Fc"); s->pdchS62zhdEvz = newPreDefColumn(state, s->pdstS62znHeatDes, "Zone Ventilation Efficiency - Evz"); - + s->pdstS62sysHeatDes = newPreDefSubTable(state, s->pdrStd62, "System Ventilation Calculations for Heating Design"); - + s->pdchS62shdVpz = newPreDefColumn(state, s->pdstS62sysHeatDes, "Sum of Zone Primary Airflow - Vpz-sum [m3/s]"); s->pdchS62shdVps = newPreDefColumn(state, s->pdstS62sysHeatDes, "System Primary Airflow - Vps [m3/s]"); // s->pdchS62shdVsec = newPreDefColumn(state, s->pdstS62sysHeatDes,'Secondary Fan Airflow - Vsec [m3/s]') @@ -1567,9 +1567,9 @@ namespace OutputReportPredefined { s->pdchS62shdVozhtg = newPreDefColumn(state, s->pdstS62sysHeatDes, "Zone Outdoor Airflow Heating - Voz-htg [m3/s]"); s->pdchS62shdEvz = newPreDefColumn(state, s->pdstS62sysHeatDes, "Zone Ventilation Efficiency - Evz-min"); // } - + s->pdrLeed = newPreDefReport(state, "LEEDsummary", "LEED", "LEED Summary"); - + s->pdstLeedGenInfo = newPreDefSubTable(state, s->pdrLeed, "Sec1.1A-General Information"); // single column with rows of: // Principal Heating Source @@ -1782,11 +1782,11 @@ namespace OutputReportPredefined { assert(columnIndex > 0 && columnIndex <= state.dataOutRptPredefined->numColumnTag); auto &column = state.dataOutRptPredefined->columnTag(columnIndex); auto &table = state.dataOutRptPredefined->subTable(column.indexSubTable); - + incrementTableEntry(state, column.indexSubTable); auto &entry = table.entries(table.numEntries); - + int sigDigitCount = 2; // check for number of significant digits if (present(numSigDigits)) { @@ -1811,7 +1811,7 @@ namespace OutputReportPredefined { if (entry.charEntry.size() > 12) { entry.charEntry = " Too Big"; } - + entry.objectName = objName; entry.indexColumn = columnIndex; entry.indexTable = column.indexSubTable; @@ -1835,7 +1835,7 @@ namespace OutputReportPredefined { assert(columnIndex > 0 && columnIndex <= state.dataOutRptPredefined->numColumnTag); auto &column = state.dataOutRptPredefined->columnTag(columnIndex); auto &table = state.dataOutRptPredefined->subTable(column.indexSubTable); - + incrementTableEntry(state, column.indexSubTable); auto &entry = table.entries(table.numEntries); @@ -1860,7 +1860,7 @@ namespace OutputReportPredefined { assert(columnIndex > 0 && columnIndex <= state.dataOutRptPredefined->numColumnTag); auto &column = state.dataOutRptPredefined->columnTag(columnIndex); auto &table = state.dataOutRptPredefined->subTable(column.indexSubTable); - + incrementTableEntry(state, column.indexSubTable); auto &entry = table.entries(table.numEntries); @@ -1899,7 +1899,7 @@ namespace OutputReportPredefined { assert(subTableNum > 0 && subTableNum <= state.dataOutRptPredefined->numSubTable); auto &table = state.dataOutRptPredefined->subTable(subTableNum); - + if (!allocated(table.entries)) { table.entries.allocate(sizeIncrement); table.sizeEntries = sizeIncrement; @@ -1907,7 +1907,7 @@ namespace OutputReportPredefined { } else { ++table.numEntries; // if larger than current size grow the array - if (table.numEntries > table.sizeEntries) { + if (table.numEntries > table.sizeEntries) { table.entries.redimension(table.sizeEntries *= 2); // Tuned Changed += sizeIncrement to *= 2 for reduced heap allocations } } diff --git a/src/EnergyPlus/OutputReportPredefined.hh b/src/EnergyPlus/OutputReportPredefined.hh index 41ab0b163dd..1c9b5b85ba7 100644 --- a/src/EnergyPlus/OutputReportPredefined.hh +++ b/src/EnergyPlus/OutputReportPredefined.hh @@ -128,7 +128,7 @@ namespace OutputReportPredefined { std::string footnote; int numEntries; - int sizeEntries; + int sizeEntries; Array1D entries; // Default Constructor diff --git a/src/EnergyPlus/OutputReportTabular.cc b/src/EnergyPlus/OutputReportTabular.cc index c6ca43fd701..5b2fddb0c54 100644 --- a/src/EnergyPlus/OutputReportTabular.cc +++ b/src/EnergyPlus/OutputReportTabular.cc @@ -5295,7 +5295,7 @@ void WriteTabularReports(EnergyPlusData &state) sizeTableEntry += state.dataOutRptPredefined->subTable(i).sizeEntries; numTableEntry += state.dataOutRptPredefined->subTable(i).numEntries; } - + print(state.files.audit, variable_fmt, "sizeTableEntry", sizeTableEntry); print(state.files.audit, variable_fmt, "numTableEntry", numTableEntry); print(state.files.audit, variable_fmt, "sizeCompSizeTableEntry", state.dataOutRptPredefined->sizeCompSizeTableEntry); @@ -13997,12 +13997,12 @@ void WritePredefinedTables(EnergyPlusData &state) "Entire Facility", OutputProcessor::StoreType::Average); } - + // loop through the subtables and include those that are associated with this report for (int jSubTable = 1, jSubTable_end = state.dataOutRptPredefined->numSubTable; jSubTable <= jSubTable_end; ++jSubTable) { auto &table = state.dataOutRptPredefined->subTable(jSubTable); if (table.indexReportName == iReportName) { - + // determine how many columns int curNumColumns = 0; for (int kColumnTag = 1; kColumnTag <= state.dataOutRptPredefined->numColumnTag; ++kColumnTag) { @@ -14015,7 +14015,7 @@ void WritePredefinedTables(EnergyPlusData &state) // flag in useUniqueObjectName to true, then count number of true's. Array1D_string uniqueObjectNames(table.numEntries); int numUniqueObjectNames = 0; - + for (int lTableEntry = 1; lTableEntry <= table.numEntries; ++lTableEntry) { auto &entry = table.entries(lTableEntry); @@ -14029,14 +14029,14 @@ void WritePredefinedTables(EnergyPlusData &state) // if found then point to the unique object if (found > 0) { entry.uniqueObjName = found; - // if not found add to the unique object list + // if not found add to the unique object list } else { ++numUniqueObjectNames; uniqueObjectNames(numUniqueObjectNames) = entry.objectName; entry.uniqueObjName = numUniqueObjectNames; } } - + int curNumRows = numUniqueObjectNames; if (curNumRows == 0) { curNumRows = 1; @@ -14090,7 +14090,7 @@ void WritePredefinedTables(EnergyPlusData &state) colHeadToColTag(countColumn) = kColumnTag; } } - + // fill the body of the table from the entries // find the entries associated with the current subtable for (int lTableEntry = 1; lTableEntry <= table.numEntries; ++lTableEntry) { @@ -14123,8 +14123,7 @@ void WritePredefinedTables(EnergyPlusData &state) entry1.charEntry = repTableTag; } } - if (entry.origEntryIsReal && - ((columnUnitConv != 0) || !currentStyle.formatReals)) { + if (entry.origEntryIsReal && ((columnUnitConv != 0) || !currentStyle.formatReals)) { Real64 value = entry.origRealEntry; if (columnUnitConv != 0) { value = ConvertIP(state, columnUnitConv, entry.origRealEntry); @@ -14138,12 +14137,12 @@ void WritePredefinedTables(EnergyPlusData &state) tableBody(colCurrent, rowCurrent) = entry.charEntry; } } else { - tableBody(colCurrent, rowCurrent) = entry.charEntry; + tableBody(colCurrent, rowCurrent) = entry.charEntry; } } // for (lTableEntry) uniqueObjectNames.deallocate(); - + // create the actual output table if (currentStyle.produceTabular) { WriteSubtitle(state, state.dataOutRptPredefined->subTable(jSubTable).name); diff --git a/tst/EnergyPlus/unit/OutputReportTabular.unit.cc b/tst/EnergyPlus/unit/OutputReportTabular.unit.cc index 8ef0d4006f2..6bd30b9e1b3 100644 --- a/tst/EnergyPlus/unit/OutputReportTabular.unit.cc +++ b/tst/EnergyPlus/unit/OutputReportTabular.unit.cc @@ -10380,7 +10380,8 @@ TEST_F(EnergyPlusFixture, OutputReportTabularTest_PredefinedTable_Standard62_1_N // auto &reportNameArray = state->dataOutRptPredefined->reportName; // auto it = - // std::find_if(reportNameArray.begin(), reportNameArray.end(), [](const auto &rN) { return Util::SameString("Standard62.1Summary", rN.name); }); + // std::find_if(reportNameArray.begin(), reportNameArray.end(), [](const auto &rN) { return Util::SameString("Standard62.1Summary", rN.name); + // }); // EXPECT_FALSE(it != reportNameArray.end()); // Not found // GetInputOutputTableSummaryReports(*state); diff --git a/tst/EnergyPlus/unit/UnitarySystem.unit.cc b/tst/EnergyPlus/unit/UnitarySystem.unit.cc index 928cda23fc1..5b7529f1639 100644 --- a/tst/EnergyPlus/unit/UnitarySystem.unit.cc +++ b/tst/EnergyPlus/unit/UnitarySystem.unit.cc @@ -19236,7 +19236,7 @@ Dimensionless; !- Output Unit Type // This now takes place in init_constant_state // state->dataOutRptPredefined->subTable.allocate(5); //<-- have to set up a few of these table foot notes - + state->dataOutRptPredefined->pdstDXCoolCoil = 1; state->dataOutRptPredefined->pdstDXCoolCoil_2023 = 2; state->dataOutRptPredefined->pdstCoolCoil = 3; From e77e4476a1ff10b4fd90bff1071ef8b9e6ee69c4 Mon Sep 17 00:00:00 2001 From: Matt Mitchell Date: Thu, 16 Apr 2026 14:16:14 -0600 Subject: [PATCH 5/9] fix missing standard 62.1 tables --- src/EnergyPlus/OutputReportPredefined.cc | 5 +--- src/EnergyPlus/OutputReportPredefined.hh | 2 ++ src/EnergyPlus/OutputReportTabular.cc | 38 ++++++++++++++++-------- 3 files changed, 29 insertions(+), 16 deletions(-) diff --git a/src/EnergyPlus/OutputReportPredefined.cc b/src/EnergyPlus/OutputReportPredefined.cc index c4da3c4ce18..49c5e61f4c5 100644 --- a/src/EnergyPlus/OutputReportPredefined.cc +++ b/src/EnergyPlus/OutputReportPredefined.cc @@ -1447,8 +1447,7 @@ namespace OutputReportPredefined { s->pdchSHGSHtOtherRem = newPreDefColumn(state, s->pdstSHGSpkHt, "Opaque Surface Conduction and Other Heat Removal [W]"); // Standard62Report - // if (state.dataGlobal->DoZoneSizing || state.dataGlobal->DoSystemSizing) { - s->pdrStd62 = newPreDefReport(state, "Standard62.1Summary", "Std62", "Standard 62.1 Summary"); + s->pdrStd62 = newPreDefReport(state, standard62RptSummaryName, "Std62", "Standard 62.1 Summary"); s->pdstS62sysVentReqCool = newPreDefSubTable(state, s->pdrStd62, "System Ventilation Requirements for Cooling"); @@ -1566,8 +1565,6 @@ namespace OutputReportPredefined { s->pdchS62shdVpzmin = newPreDefColumn(state, s->pdstS62sysHeatDes, "Sum of Min Zone Primary Airflow - Vpz-min [m3/s]"); s->pdchS62shdVozhtg = newPreDefColumn(state, s->pdstS62sysHeatDes, "Zone Outdoor Airflow Heating - Voz-htg [m3/s]"); s->pdchS62shdEvz = newPreDefColumn(state, s->pdstS62sysHeatDes, "Zone Ventilation Efficiency - Evz-min"); - // } - s->pdrLeed = newPreDefReport(state, "LEEDsummary", "LEED", "LEED Summary"); s->pdstLeedGenInfo = newPreDefSubTable(state, s->pdrLeed, "Sec1.1A-General Information"); diff --git a/src/EnergyPlus/OutputReportPredefined.hh b/src/EnergyPlus/OutputReportPredefined.hh index 1c9b5b85ba7..a788585720c 100644 --- a/src/EnergyPlus/OutputReportPredefined.hh +++ b/src/EnergyPlus/OutputReportPredefined.hh @@ -74,6 +74,8 @@ namespace OutputReportPredefined { int constexpr recKindSurface(1); int constexpr recKindSubsurface(2); + inline std::string_view standard62RptSummaryName = "Standard62.1Summary"; + // Types struct reportNameType diff --git a/src/EnergyPlus/OutputReportTabular.cc b/src/EnergyPlus/OutputReportTabular.cc index 5b2fddb0c54..1e0509e83ef 100644 --- a/src/EnergyPlus/OutputReportTabular.cc +++ b/src/EnergyPlus/OutputReportTabular.cc @@ -1435,6 +1435,7 @@ void GetInputOutputTableSummaryReports(EnergyPlusData &state) // SUBROUTINE LOCAL VARIABLE DECLARATIONS: auto &ort = state.dataOutRptTab; bool ErrorsFound = false; + bool const standard62Enabled = state.dataGlobal->DoZoneSizing || state.dataGlobal->DoSystemSizing; if (!state.files.outputControl.writeTabular(state)) { ort->WriteTabularFiles = false; @@ -1575,7 +1576,9 @@ void GetInputOutputTableSummaryReports(EnergyPlusData &state) ort->displayVisualResilienceSummary = true; nameFound = true; for (int jReport = 1; jReport <= state.dataOutRptPredefined->numReportName; ++jReport) { - state.dataOutRptPredefined->reportName(jReport).show = true; + if (!Util::SameString(state.dataOutRptPredefined->reportName(jReport).name, standard62RptSummaryName) || standard62Enabled) { + state.dataOutRptPredefined->reportName(jReport).show = true; + } } } else if (Util::SameString(AlphArray(iReport), "AllSummaryAndSizingPeriod")) { ort->WriteTabularFiles = true; @@ -1598,7 +1601,9 @@ void GetInputOutputTableSummaryReports(EnergyPlusData &state) ort->displayVisualResilienceSummary = true; nameFound = true; for (int jReport = 1; jReport <= state.dataOutRptPredefined->numReportName; ++jReport) { - state.dataOutRptPredefined->reportName(jReport).show = true; + if (!Util::SameString(state.dataOutRptPredefined->reportName(jReport).name, standard62RptSummaryName) || standard62Enabled) { + state.dataOutRptPredefined->reportName(jReport).show = true; + } } // the sizing period reports ort->displayZoneComponentLoadSummary = true; @@ -1631,7 +1636,9 @@ void GetInputOutputTableSummaryReports(EnergyPlusData &state) ort->displayVisualResilienceSummary = true; nameFound = true; for (int jReport = 1; jReport <= state.dataOutRptPredefined->numReportName; ++jReport) { - state.dataOutRptPredefined->reportName(jReport).show = true; + if (!Util::SameString(state.dataOutRptPredefined->reportName(jReport).name, standard62RptSummaryName) || standard62Enabled) { + state.dataOutRptPredefined->reportName(jReport).show = true; + } } for (int jReport = 1; jReport <= numNamedMonthly; ++jReport) { ort->namedMonthly(jReport).show = true; @@ -1657,7 +1664,9 @@ void GetInputOutputTableSummaryReports(EnergyPlusData &state) ort->displayVisualResilienceSummary = true; nameFound = true; for (int jReport = 1; jReport <= state.dataOutRptPredefined->numReportName; ++jReport) { - state.dataOutRptPredefined->reportName(jReport).show = true; + if (!Util::SameString(state.dataOutRptPredefined->reportName(jReport).name, standard62RptSummaryName) || standard62Enabled) { + state.dataOutRptPredefined->reportName(jReport).show = true; + } } for (int jReport = 1; jReport <= numNamedMonthly; ++jReport) { ort->namedMonthly(jReport).show = true; @@ -1670,14 +1679,18 @@ void GetInputOutputTableSummaryReports(EnergyPlusData &state) // check the reports that are predefined and are created by OutputReportPredefined for (int jReport = 1; jReport <= state.dataOutRptPredefined->numReportName; ++jReport) { if (Util::SameString(AlphArray(iReport), state.dataOutRptPredefined->reportName(jReport).name)) { - ort->WriteTabularFiles = true; - state.dataOutRptPredefined->reportName(jReport).show = true; - nameFound = true; + if (!Util::SameString(state.dataOutRptPredefined->reportName(jReport).name, standard62RptSummaryName) || standard62Enabled) { + ort->WriteTabularFiles = true; + state.dataOutRptPredefined->reportName(jReport).show = true; + nameFound = true; + } } if (Util::SameString(AlphArray(iReport), state.dataOutRptPredefined->reportName(jReport).abrev)) { - ort->WriteTabularFiles = true; - state.dataOutRptPredefined->reportName(jReport).show = true; - nameFound = true; + if (!Util::SameString(state.dataOutRptPredefined->reportName(jReport).name, standard62RptSummaryName) || standard62Enabled) { + ort->WriteTabularFiles = true; + state.dataOutRptPredefined->reportName(jReport).show = true; + nameFound = true; + } } } // check if the predefined monthly reports are used @@ -1689,9 +1702,10 @@ void GetInputOutputTableSummaryReports(EnergyPlusData &state) } } if (!nameFound) { - if (Util::SameString(AlphArray(iReport), "Standard62.1Summary")) { + if (Util::SameString(AlphArray(iReport), standard62RptSummaryName) || Util::SameString(AlphArray(iReport), "Std62")) { ShowWarningError( - state, EnergyPlus::format("{} Field[{}]=\"Standard62.1Summary\", Report is not enabled.", CurrentModuleObject, iReport)); + state, + EnergyPlus::format("{} Field[{}]=\"{}\", Report is not enabled.", CurrentModuleObject, standard62RptSummaryName, iReport)); ShowContinueError(state, "Do Zone Sizing or Do System Sizing must be enabled in SimulationControl."); } else { From 2f7d18cb4494c5346c46a8af298d6586e178d3c1 Mon Sep 17 00:00:00 2001 From: Matt Mitchell Date: Mon, 8 Jun 2026 14:58:19 -0600 Subject: [PATCH 6/9] format --- src/EnergyPlus/OutputReportTabular.cc | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/EnergyPlus/OutputReportTabular.cc b/src/EnergyPlus/OutputReportTabular.cc index 6df4a2e3500..b14f5c5f1f2 100644 --- a/src/EnergyPlus/OutputReportTabular.cc +++ b/src/EnergyPlus/OutputReportTabular.cc @@ -1708,9 +1708,8 @@ void GetInputOutputTableSummaryReports(EnergyPlusData &state) } if (!nameFound) { if (Util::SameString(AlphArray(iReport), standard62RptSummaryName) || Util::SameString(AlphArray(iReport), "Std62")) { - ShowWarningError( - state, - std::format("{} Field[{}]=\"{}\", Report is not enabled.", CurrentModuleObject, iReport, AlphArray(iReport))); + ShowWarningError(state, + std::format("{} Field[{}]=\"{}\", Report is not enabled.", CurrentModuleObject, iReport, AlphArray(iReport))); ShowContinueError(state, "Do Zone Sizing or Do System Sizing must be enabled in SimulationControl."); } else { From 5a0023eb8c6b8ffa8132449babcbdfe4658f8013 Mon Sep 17 00:00:00 2001 From: Matt Mitchell Date: Mon, 8 Jun 2026 17:53:38 -0600 Subject: [PATCH 7/9] fix for-loop bounds --- src/EnergyPlus/OutputReportTabular.cc | 2 +- tmp/Surfs.md | 33 ++++++++ tmp/UnitarySystem_AFN_RTF_Diagrams.md | 117 ++++++++++++++++++++++++++ tmp/get_prs_to_review.sh | 17 ++++ 4 files changed, 168 insertions(+), 1 deletion(-) create mode 100644 tmp/Surfs.md create mode 100644 tmp/UnitarySystem_AFN_RTF_Diagrams.md create mode 100755 tmp/get_prs_to_review.sh diff --git a/src/EnergyPlus/OutputReportTabular.cc b/src/EnergyPlus/OutputReportTabular.cc index b14f5c5f1f2..220713b71c0 100644 --- a/src/EnergyPlus/OutputReportTabular.cc +++ b/src/EnergyPlus/OutputReportTabular.cc @@ -5308,7 +5308,7 @@ void WriteTabularReports(EnergyPlusData &state) int sizeTableEntry = 0; int numTableEntry = 0; - for (int i = 1; i < state.dataOutRptPredefined->numSubTable; ++i) { + for (int i = 1; i <= state.dataOutRptPredefined->numSubTable; ++i) { sizeTableEntry += state.dataOutRptPredefined->subTable(i).sizeEntries; numTableEntry += state.dataOutRptPredefined->subTable(i).numEntries; } diff --git a/tmp/Surfs.md b/tmp/Surfs.md new file mode 100644 index 00000000000..26859b17520 --- /dev/null +++ b/tmp/Surfs.md @@ -0,0 +1,33 @@ +| Object | SurfaceNames | SurfAndSubSurfNames | AllHeatTranSurfNames | AllShadingAndHTSurfNames | GlazedExtSubSurfNames | + |---|---|---|---|---|---| + | BuildingSurface:Detailed | X | X | X | X | | + | Ceiling:Adiabatic | X | X | X | X | | + | Ceiling:Interzone | X | X | X | X | | + | Floor:Adiabatic | X | X | X | X | | + | Floor:Detailed | X | X | X | X | | + | Floor:GroundContact | X | X | X | X | | + | Floor:Interzone | X | X | X | X | | + | Roof | X | X | X | X | | + | RoofCeiling:Detailed | X | X | X | X | | + | Wall:Adiabatic | X | X | X | X | | + | Wall:Detailed | X | X | X | X | | + | Wall:Exterior | X | X | X | X | | + | Wall:Interzone | X | X | X | X | | + | Wall:Underground | X | X | X | X | | + | Door | | X | X | X | | + | Door:Interzone | | X | X | X | | + | FenestrationSurface:Detailed | | X | X | X | X | + | GlazedDoor | | X | X | X | X | + | GlazedDoor:Interzone | | X | X | X | | + | Window | | X | X | X | X | + | Window:Interzone | | X | X | X | | + | InternalMass | | | X | | | + | Shading:Building | | | | X | | + | Shading:Building:Detailed | | | | X | | + | Shading:Fin | | | | X | | + | Shading:Fin:Projection | | | | X | | + | Shading:Overhang | | | | X | | + | Shading:Overhang:Projection | | | | X | | + | Shading:Site | | | | X | | + | Shading:Site:Detailed | | | | X | | + | Shading:Zone:Detailed | | | | X | | diff --git a/tmp/UnitarySystem_AFN_RTF_Diagrams.md b/tmp/UnitarySystem_AFN_RTF_Diagrams.md new file mode 100644 index 00000000000..54a239e3c8d --- /dev/null +++ b/tmp/UnitarySystem_AFN_RTF_Diagrams.md @@ -0,0 +1,117 @@ +# UnitarySystem_AFN_RTF Test Diagrams + +This file documents the IDF-defined air-side topology used by these unit tests in `tst/EnergyPlus/unit/UnitarySystem.unit.cc`: + +- `EnergyPlusFixture.UnitarySystem_AFN_RTF` +- `EnergyPlusFixture.UnitarySystem_AFN_RTF_No_Supp_Coil` +- `EnergyPlusFixture.UnitarySystem_AFN_RTF_No_Cooling_Coil` + +Scope and notes: + +- These diagrams show the HVAC component types and their node-to-node connections. +- Building surfaces, schedules, curves, sizing objects, and thermostat details are omitted. +- The `No_Supp_Coil` and `No_Cooling_Coil` tests also override parsed `UnitarySystem` state in C++ after the IDF is loaded. The diagrams below show the IDF snippets as written. + +## Test-to-topology map + +| Test | Internal unitary chain | Cooling coil in IDF | Supplemental heating coil in IDF | +| --- | --- | --- | --- | +| `UnitarySystem_AFN_RTF` | `Fan:OnOff -> Coil:Cooling:DX:SingleSpeed -> Coil:Heating:Fuel` | Yes | No | +| `UnitarySystem_AFN_RTF_No_Supp_Coil` | `Fan:OnOff -> Coil:Cooling:DX:SingleSpeed -> Coil:Heating:Fuel` | Yes | No, fields explicitly blank | +| `UnitarySystem_AFN_RTF_No_Cooling_Coil` | `Fan:OnOff -> Coil:Heating:Fuel` | No | No, fields explicitly blank | + +## Common air-loop and zone path + +This outer air-loop and zone path is shared by all three tests. The only topology change between tests is inside the `ACandF` unitary system. + +```mermaid +flowchart LR + OA["Outside Air Inlet Node
OutdoorAir:NodeList"] + OAM["OA Mixing Box 1
OutdoorAir:Mixer"] + ACF["ACandF
AirLoopHVAC:UnitarySystem"] + + subgraph SupplyPath["ACandFSupplyPath
AirLoopHVAC:SupplyPath"] + Splitter["Zone Supply Air Splitter
AirLoopHVAC:ZoneSplitter"] + end + + subgraph ADU["Zone2DirectAirADU
ZoneHVAC:AirDistributionUnit"] + Terminal["Zone2DirectAir
AirTerminal:SingleDuct:ConstantVolume:NoReheat"] + end + + Zone["EAST ZONE
Zone"] + + subgraph ReturnPath["ACandFReturnPath
AirLoopHVAC:ReturnPath"] + Mixer["Zone Return Air Mixer
AirLoopHVAC:ZoneMixer"] + end + + OA -->|"Outside Air Inlet Node"| OAM + OAM -->|"Mixed Air Node"| ACF + ACF -->|"Air Loop Outlet Node"| Splitter + Splitter -->|"Zone 2 Inlet Node 2AT"| Terminal + Terminal -->|"Zone 2 Inlet Node"| Zone + Zone -->|"Zone 2 Outlet Node"| Mixer + Mixer -.->|"air-loop return / OA-system return stream"| OAM +``` + +## Internal unitary chain used by `UnitarySystem_AFN_RTF` and `UnitarySystem_AFN_RTF_No_Supp_Coil` + +`UnitarySystem_AFN_RTF_No_Supp_Coil` uses the same airflow path as the baseline case. Its difference is that the supplemental-heating-coil fields are explicitly blank in the `AirLoopHVAC:UnitarySystem` object. + +```mermaid +flowchart LR + Inlet["Mixed Air Node"] + + subgraph UnitaryCoolHeat["ACandF
AirLoopHVAC:UnitarySystem"] + Fan["Supply Fan 1
Fan:OnOff"] + Cool["ACDXCoil 1
Coil:Cooling:DX:SingleSpeed"] + Heat["GasCoil
Coil:Heating:Fuel"] + end + + Outlet["Air Loop Outlet Node"] + NoSupp["Supplemental Heating Coil
not present in IDF"] + + Inlet -->|"fan inlet"| Fan + Fan -->|"DX Cooling Coil Air Inlet Node"| Cool + Cool -->|"Heating Coil Air Inlet Node"| Heat + Heat -->|"unitary air outlet"| Outlet + NoSupp -.-> Heat +``` + +Text form: + +- `Mixed Air Node` +- `Supply Fan 1` (`Fan:OnOff`) +- `ACDXCoil 1` (`Coil:Cooling:DX:SingleSpeed`) +- `GasCoil` (`Coil:Heating:Fuel`) +- `Air Loop Outlet Node` + +## Internal unitary chain used by `UnitarySystem_AFN_RTF_No_Cooling_Coil` + +This is the heating-only IDF topology. The cooling-coil object type/name fields are blank, the standalone DX cooling coil object is omitted, and the fan discharges directly to the heating coil inlet. + +```mermaid +flowchart LR + Inlet["Mixed Air Node"] + + subgraph UnitaryHeatOnly["ACandF
AirLoopHVAC:UnitarySystem"] + Fan["Supply Fan 1
Fan:OnOff"] + Heat["GasCoil
Coil:Heating:Fuel"] + end + + Outlet["Air Loop Outlet Node"] + NoCool["Cooling Coil
not present in IDF"] + NoSupp["Supplemental Heating Coil
not present in IDF"] + + Inlet -->|"fan inlet"| Fan + Fan -->|"Heating Coil Air Inlet Node"| Heat + Heat -->|"unitary air outlet"| Outlet + NoCool -.-> Fan + NoSupp -.-> Heat +``` + +Text form: + +- `Mixed Air Node` +- `Supply Fan 1` (`Fan:OnOff`) +- `GasCoil` (`Coil:Heating:Fuel`) +- `Air Loop Outlet Node` diff --git a/tmp/get_prs_to_review.sh b/tmp/get_prs_to_review.sh new file mode 100755 index 00000000000..dbd8f3a8118 --- /dev/null +++ b/tmp/get_prs_to_review.sh @@ -0,0 +1,17 @@ +gh pr list \ + --repo NREL/EnergyPlus \ + --state open \ + --limit 100 \ + --json number,title,author,createdAt,url,isDraft \ + --jq ' + .[] + | .age_days = (((now - (.createdAt | fromdateiso8601)) / 86400) | floor) + | select(.isDraft == false and .age_days < 365) + | { + number, + age_days, + author: .author.login, + title, + url + } + ' From 807d90b531b965384a10631bfd3a52b80bbef61c Mon Sep 17 00:00:00 2001 From: Matt Mitchell Date: Mon, 8 Jun 2026 18:06:02 -0600 Subject: [PATCH 8/9] remove files --- tmp/Surfs.md | 33 -------- tmp/UnitarySystem_AFN_RTF_Diagrams.md | 117 -------------------------- tmp/get_prs_to_review.sh | 17 ---- 3 files changed, 167 deletions(-) delete mode 100644 tmp/Surfs.md delete mode 100644 tmp/UnitarySystem_AFN_RTF_Diagrams.md delete mode 100755 tmp/get_prs_to_review.sh diff --git a/tmp/Surfs.md b/tmp/Surfs.md deleted file mode 100644 index 26859b17520..00000000000 --- a/tmp/Surfs.md +++ /dev/null @@ -1,33 +0,0 @@ -| Object | SurfaceNames | SurfAndSubSurfNames | AllHeatTranSurfNames | AllShadingAndHTSurfNames | GlazedExtSubSurfNames | - |---|---|---|---|---|---| - | BuildingSurface:Detailed | X | X | X | X | | - | Ceiling:Adiabatic | X | X | X | X | | - | Ceiling:Interzone | X | X | X | X | | - | Floor:Adiabatic | X | X | X | X | | - | Floor:Detailed | X | X | X | X | | - | Floor:GroundContact | X | X | X | X | | - | Floor:Interzone | X | X | X | X | | - | Roof | X | X | X | X | | - | RoofCeiling:Detailed | X | X | X | X | | - | Wall:Adiabatic | X | X | X | X | | - | Wall:Detailed | X | X | X | X | | - | Wall:Exterior | X | X | X | X | | - | Wall:Interzone | X | X | X | X | | - | Wall:Underground | X | X | X | X | | - | Door | | X | X | X | | - | Door:Interzone | | X | X | X | | - | FenestrationSurface:Detailed | | X | X | X | X | - | GlazedDoor | | X | X | X | X | - | GlazedDoor:Interzone | | X | X | X | | - | Window | | X | X | X | X | - | Window:Interzone | | X | X | X | | - | InternalMass | | | X | | | - | Shading:Building | | | | X | | - | Shading:Building:Detailed | | | | X | | - | Shading:Fin | | | | X | | - | Shading:Fin:Projection | | | | X | | - | Shading:Overhang | | | | X | | - | Shading:Overhang:Projection | | | | X | | - | Shading:Site | | | | X | | - | Shading:Site:Detailed | | | | X | | - | Shading:Zone:Detailed | | | | X | | diff --git a/tmp/UnitarySystem_AFN_RTF_Diagrams.md b/tmp/UnitarySystem_AFN_RTF_Diagrams.md deleted file mode 100644 index 54a239e3c8d..00000000000 --- a/tmp/UnitarySystem_AFN_RTF_Diagrams.md +++ /dev/null @@ -1,117 +0,0 @@ -# UnitarySystem_AFN_RTF Test Diagrams - -This file documents the IDF-defined air-side topology used by these unit tests in `tst/EnergyPlus/unit/UnitarySystem.unit.cc`: - -- `EnergyPlusFixture.UnitarySystem_AFN_RTF` -- `EnergyPlusFixture.UnitarySystem_AFN_RTF_No_Supp_Coil` -- `EnergyPlusFixture.UnitarySystem_AFN_RTF_No_Cooling_Coil` - -Scope and notes: - -- These diagrams show the HVAC component types and their node-to-node connections. -- Building surfaces, schedules, curves, sizing objects, and thermostat details are omitted. -- The `No_Supp_Coil` and `No_Cooling_Coil` tests also override parsed `UnitarySystem` state in C++ after the IDF is loaded. The diagrams below show the IDF snippets as written. - -## Test-to-topology map - -| Test | Internal unitary chain | Cooling coil in IDF | Supplemental heating coil in IDF | -| --- | --- | --- | --- | -| `UnitarySystem_AFN_RTF` | `Fan:OnOff -> Coil:Cooling:DX:SingleSpeed -> Coil:Heating:Fuel` | Yes | No | -| `UnitarySystem_AFN_RTF_No_Supp_Coil` | `Fan:OnOff -> Coil:Cooling:DX:SingleSpeed -> Coil:Heating:Fuel` | Yes | No, fields explicitly blank | -| `UnitarySystem_AFN_RTF_No_Cooling_Coil` | `Fan:OnOff -> Coil:Heating:Fuel` | No | No, fields explicitly blank | - -## Common air-loop and zone path - -This outer air-loop and zone path is shared by all three tests. The only topology change between tests is inside the `ACandF` unitary system. - -```mermaid -flowchart LR - OA["Outside Air Inlet Node
OutdoorAir:NodeList"] - OAM["OA Mixing Box 1
OutdoorAir:Mixer"] - ACF["ACandF
AirLoopHVAC:UnitarySystem"] - - subgraph SupplyPath["ACandFSupplyPath
AirLoopHVAC:SupplyPath"] - Splitter["Zone Supply Air Splitter
AirLoopHVAC:ZoneSplitter"] - end - - subgraph ADU["Zone2DirectAirADU
ZoneHVAC:AirDistributionUnit"] - Terminal["Zone2DirectAir
AirTerminal:SingleDuct:ConstantVolume:NoReheat"] - end - - Zone["EAST ZONE
Zone"] - - subgraph ReturnPath["ACandFReturnPath
AirLoopHVAC:ReturnPath"] - Mixer["Zone Return Air Mixer
AirLoopHVAC:ZoneMixer"] - end - - OA -->|"Outside Air Inlet Node"| OAM - OAM -->|"Mixed Air Node"| ACF - ACF -->|"Air Loop Outlet Node"| Splitter - Splitter -->|"Zone 2 Inlet Node 2AT"| Terminal - Terminal -->|"Zone 2 Inlet Node"| Zone - Zone -->|"Zone 2 Outlet Node"| Mixer - Mixer -.->|"air-loop return / OA-system return stream"| OAM -``` - -## Internal unitary chain used by `UnitarySystem_AFN_RTF` and `UnitarySystem_AFN_RTF_No_Supp_Coil` - -`UnitarySystem_AFN_RTF_No_Supp_Coil` uses the same airflow path as the baseline case. Its difference is that the supplemental-heating-coil fields are explicitly blank in the `AirLoopHVAC:UnitarySystem` object. - -```mermaid -flowchart LR - Inlet["Mixed Air Node"] - - subgraph UnitaryCoolHeat["ACandF
AirLoopHVAC:UnitarySystem"] - Fan["Supply Fan 1
Fan:OnOff"] - Cool["ACDXCoil 1
Coil:Cooling:DX:SingleSpeed"] - Heat["GasCoil
Coil:Heating:Fuel"] - end - - Outlet["Air Loop Outlet Node"] - NoSupp["Supplemental Heating Coil
not present in IDF"] - - Inlet -->|"fan inlet"| Fan - Fan -->|"DX Cooling Coil Air Inlet Node"| Cool - Cool -->|"Heating Coil Air Inlet Node"| Heat - Heat -->|"unitary air outlet"| Outlet - NoSupp -.-> Heat -``` - -Text form: - -- `Mixed Air Node` -- `Supply Fan 1` (`Fan:OnOff`) -- `ACDXCoil 1` (`Coil:Cooling:DX:SingleSpeed`) -- `GasCoil` (`Coil:Heating:Fuel`) -- `Air Loop Outlet Node` - -## Internal unitary chain used by `UnitarySystem_AFN_RTF_No_Cooling_Coil` - -This is the heating-only IDF topology. The cooling-coil object type/name fields are blank, the standalone DX cooling coil object is omitted, and the fan discharges directly to the heating coil inlet. - -```mermaid -flowchart LR - Inlet["Mixed Air Node"] - - subgraph UnitaryHeatOnly["ACandF
AirLoopHVAC:UnitarySystem"] - Fan["Supply Fan 1
Fan:OnOff"] - Heat["GasCoil
Coil:Heating:Fuel"] - end - - Outlet["Air Loop Outlet Node"] - NoCool["Cooling Coil
not present in IDF"] - NoSupp["Supplemental Heating Coil
not present in IDF"] - - Inlet -->|"fan inlet"| Fan - Fan -->|"Heating Coil Air Inlet Node"| Heat - Heat -->|"unitary air outlet"| Outlet - NoCool -.-> Fan - NoSupp -.-> Heat -``` - -Text form: - -- `Mixed Air Node` -- `Supply Fan 1` (`Fan:OnOff`) -- `GasCoil` (`Coil:Heating:Fuel`) -- `Air Loop Outlet Node` diff --git a/tmp/get_prs_to_review.sh b/tmp/get_prs_to_review.sh deleted file mode 100755 index dbd8f3a8118..00000000000 --- a/tmp/get_prs_to_review.sh +++ /dev/null @@ -1,17 +0,0 @@ -gh pr list \ - --repo NREL/EnergyPlus \ - --state open \ - --limit 100 \ - --json number,title,author,createdAt,url,isDraft \ - --jq ' - .[] - | .age_days = (((now - (.createdAt | fromdateiso8601)) / 86400) | floor) - | select(.isDraft == false and .age_days < 365) - | { - number, - age_days, - author: .author.login, - title, - url - } - ' From 50400404f25f9d014f2e93b4674285b7b76287e7 Mon Sep 17 00:00:00 2001 From: Matt Mitchell Date: Wed, 10 Jun 2026 08:44:49 -0600 Subject: [PATCH 9/9] clean SetPredefinedTables out of unit tests since it is already called by the test fixture --- .../unit/AirTerminalSingleDuct.unit.cc | 2 - .../unit/AirTerminalSingleDuctMixer.unit.cc | 22 ------- .../unit/Autosizing/BaseClassSizing.unit.cc | 3 - .../unit/BranchNodeConnections.unit.cc | 2 - .../unit/ChillerElectricEIR.unit.cc | 2 - .../unit/ChillerReformulatedEIR.unit.cc | 1 - .../unit/CondenserLoopTowers.unit.cc | 15 ----- tst/EnergyPlus/unit/Construction.unit.cc | 2 - tst/EnergyPlus/unit/DXCoils.unit.cc | 34 ++++------ .../unit/DesiccantDehumidifiers.unit.cc | 4 -- tst/EnergyPlus/unit/DualDuct.unit.cc | 2 - tst/EnergyPlus/unit/EconomicTariff.unit.cc | 4 -- tst/EnergyPlus/unit/FanCoilUnits.unit.cc | 1 - tst/EnergyPlus/unit/HVACControllers.unit.cc | 5 -- tst/EnergyPlus/unit/HVACCooledBeam.unit.cc | 2 - .../unit/HVACDXHeatPumpSystem.unit.cc | 1 - tst/EnergyPlus/unit/HVACDXSystem.unit.cc | 3 - tst/EnergyPlus/unit/HVACFourPipeBeam.unit.cc | 3 - .../unit/HVACHXAssistedCoolingCoil.unit.cc | 1 - .../unit/HVACSizingSimulationManager.unit.cc | 2 - .../unit/HVACUnitaryBypassVAV.unit.cc | 1 - .../unit/HeatPumpWaterToWaterSimple.unit.cc | 2 - tst/EnergyPlus/unit/HeatRecovery.unit.cc | 3 - tst/EnergyPlus/unit/OutdoorAirUnit.unit.cc | 1 - .../unit/PackagedTerminalHeatPump.unit.cc | 5 -- .../PlantHeatExchangerFluidToFluid.unit.cc | 2 - .../unit/PoweredInductionUnits.unit.cc | 3 - tst/EnergyPlus/unit/SZVAVModel.unit.cc | 3 - tst/EnergyPlus/unit/SingleDuct.unit.cc | 2 - .../unit/SizeWaterHeatingCoil.unit.cc | 2 - .../unit/SizingAnalysisObjects.unit.cc | 2 - tst/EnergyPlus/unit/UnitHeater.unit.cc | 1 - tst/EnergyPlus/unit/UnitarySystem.unit.cc | 64 ------------------- .../unit/VariableSpeedCoils.unit.cc | 3 - tst/EnergyPlus/unit/WaterCoils.unit.cc | 2 - tst/EnergyPlus/unit/WaterThermalTanks.unit.cc | 3 - tst/EnergyPlus/unit/WindowAC.unit.cc | 2 - .../unit/ZoneTempPredictorCorrector.unit.cc | 4 -- 38 files changed, 14 insertions(+), 202 deletions(-) diff --git a/tst/EnergyPlus/unit/AirTerminalSingleDuct.unit.cc b/tst/EnergyPlus/unit/AirTerminalSingleDuct.unit.cc index 1c195435006..41f9a33ee97 100644 --- a/tst/EnergyPlus/unit/AirTerminalSingleDuct.unit.cc +++ b/tst/EnergyPlus/unit/AirTerminalSingleDuct.unit.cc @@ -1846,8 +1846,6 @@ TEST_F(EnergyPlusFixture, SingleDuctInduction_reportTerminalUnit) using namespace EnergyPlus::OutputReportPredefined; auto &orp = *state->dataOutRptPredefined; - SetPredefinedTables(*state); - auto &adu = state->dataDefineEquipment->AirDistUnit; adu.allocate(2); adu(1).Name = "ADU a"; diff --git a/tst/EnergyPlus/unit/AirTerminalSingleDuctMixer.unit.cc b/tst/EnergyPlus/unit/AirTerminalSingleDuctMixer.unit.cc index 60473769b2b..18b5d033bdd 100644 --- a/tst/EnergyPlus/unit/AirTerminalSingleDuctMixer.unit.cc +++ b/tst/EnergyPlus/unit/AirTerminalSingleDuctMixer.unit.cc @@ -599,8 +599,6 @@ TEST_F(EnergyPlusFixture, AirTerminalSingleDuctMixer_SimPTAC_ATMInletSide) state->dataGlobal->MinutesInTimeStep = 60; state->init_state(*state); - OutputReportPredefined::SetPredefinedTables(*state); - GetZoneData(*state, ErrorsFound); ASSERT_FALSE(ErrorsFound); @@ -952,8 +950,6 @@ TEST_F(EnergyPlusFixture, AirTerminalSingleDuctMixer_SimPTAC_ATMSupplySide) state->dataGlobal->MinutesInTimeStep = 60; state->init_state(*state); - OutputReportPredefined::SetPredefinedTables(*state); - GetZoneData(*state, ErrorsFound); ASSERT_FALSE(ErrorsFound); @@ -1391,8 +1387,6 @@ TEST_F(EnergyPlusFixture, AirTerminalSingleDuctMixer_SimPTHP_ATMInletSide) state->dataGlobal->MinutesInTimeStep = 60; state->init_state(*state); - OutputReportPredefined::SetPredefinedTables(*state); - GetZoneData(*state, ErrorsFound); ASSERT_FALSE(ErrorsFound); @@ -1829,8 +1823,6 @@ TEST_F(EnergyPlusFixture, AirTerminalSingleDuctMixer_SimPTHP_ATMSupplySide) state->dataGlobal->MinutesInTimeStep = 60; state->init_state(*state); - OutputReportPredefined::SetPredefinedTables(*state); - GetZoneData(*state, ErrorsFound); ASSERT_FALSE(ErrorsFound); @@ -2532,8 +2524,6 @@ TEST_F(EnergyPlusFixture, AirTerminalSingleDuctMixer_SimVRF_ATMInletSide) state->dataGlobal->TimeStep = 1; - OutputReportPredefined::SetPredefinedTables(*state); - GetZoneData(*state, ErrorsFound); ASSERT_FALSE(ErrorsFound); @@ -3216,8 +3206,6 @@ TEST_F(EnergyPlusFixture, AirTerminalSingleDuctMixer_SimVRF_ATMSupplySide) state->dataEnvrn->OutEnthalpy = Psychrometrics::PsyHFnTdbW(state->dataEnvrn->OutDryBulbTemp, state->dataEnvrn->OutHumRat); state->dataEnvrn->StdRhoAir = 1.20; - OutputReportPredefined::SetPredefinedTables(*state); - GetZoneData(*state, ErrorsFound); ASSERT_FALSE(ErrorsFound); @@ -4981,8 +4969,6 @@ TEST_F(EnergyPlusFixture, AirTerminalSingleDuctMixer_SimVRFfluidCntrl_ATMInletSi state->dataGlobal->MinutesInTimeStep = 60; state->init_state(*state); - OutputReportPredefined::SetPredefinedTables(*state); - GetZoneData(*state, ErrorsFound); ASSERT_FALSE(ErrorsFound); @@ -6761,8 +6747,6 @@ TEST_F(EnergyPlusFixture, AirTerminalSingleDuctMixer_SimVRFfluidCntrl_ATMSupplyS state->dataGlobal->MinutesInTimeStep = 60; state->init_state(*state); - OutputReportPredefined::SetPredefinedTables(*state); - GetZoneData(*state, ErrorsFound); ASSERT_FALSE(ErrorsFound); @@ -7014,8 +6998,6 @@ TEST_F(EnergyPlusFixture, AirTerminalSingleDuctMixer_SimUnitVent_ATMInletSide) state->dataGlobal->MinutesInTimeStep = 60; state->init_state(*state); - OutputReportPredefined::SetPredefinedTables(*state); - GetZoneData(*state, ErrorsFound); ASSERT_FALSE(ErrorsFound); @@ -7260,8 +7242,6 @@ TEST_F(EnergyPlusFixture, AirTerminalSingleDuctMixer_SimUnitVent_ATMSupplySide) state->dataGlobal->MinutesInTimeStep = 60; state->init_state(*state); - OutputReportPredefined::SetPredefinedTables(*state); - GetZoneData(*state, ErrorsFound); ASSERT_FALSE(ErrorsFound); @@ -7711,7 +7691,6 @@ TEST_F(EnergyPlusFixture, AirTerminalSingleDuctMixer_SimFCU_ATMInletSideTest) state->dataEnvrn->OutBaroPress = 101325.0; state->dataEnvrn->StdRhoAir = Psychrometrics::PsyRhoAirFnPbTdbW(*state, state->dataEnvrn->OutBaroPress, 20.0, 0.0); state->dataWaterCoils->GetWaterCoilsInputFlag = true; - OutputReportPredefined::SetPredefinedTables(*state); GetZoneData(*state, ErrorsFound); ASSERT_FALSE(ErrorsFound); @@ -8135,7 +8114,6 @@ TEST_F(EnergyPlusFixture, AirTerminalSingleDuctMixer_FCU_NightCycleTest) state->dataGlobal->MinutesInTimeStep = 60; state->init_state(*state); - OutputReportPredefined::SetPredefinedTables(*state); GetZoneData(*state, ErrorsFound); ASSERT_FALSE(ErrorsFound); diff --git a/tst/EnergyPlus/unit/Autosizing/BaseClassSizing.unit.cc b/tst/EnergyPlus/unit/Autosizing/BaseClassSizing.unit.cc index 395f761dbaf..edd769091b2 100644 --- a/tst/EnergyPlus/unit/Autosizing/BaseClassSizing.unit.cc +++ b/tst/EnergyPlus/unit/Autosizing/BaseClassSizing.unit.cc @@ -916,9 +916,6 @@ TEST_F(EnergyPlusFixture, BaseSizer_FanPeak) state->dataGlobal->TimeStepsInHour = 4; state->dataGlobal->MinutesInTimeStep = 15; - // Setup the predefined tables, because that's where the info is written. - EnergyPlus::OutputReportPredefined::SetPredefinedTables(*state); - // If you wanted to check SQL, you also need this: // We enable the report we care about, making sure it's the right one // EXPECT_EQ("EquipmentSummary", OutputReportPredefined::reportName(5).name); diff --git a/tst/EnergyPlus/unit/BranchNodeConnections.unit.cc b/tst/EnergyPlus/unit/BranchNodeConnections.unit.cc index 5c00fb0c972..0ee5fe52888 100644 --- a/tst/EnergyPlus/unit/BranchNodeConnections.unit.cc +++ b/tst/EnergyPlus/unit/BranchNodeConnections.unit.cc @@ -1167,7 +1167,6 @@ TEST_F(EnergyPlusFixture, BranchNodeConnections_ReturnPlenumNodeCheckFailure) state->init_state(*state); - OutputReportPredefined::SetPredefinedTables(*state); SetPreConstructionInputParameters(*state); // establish array bounds for constructions early createFacilityElectricPowerServiceObject(*state); BranchInputManager::ManageBranchInput(*state); @@ -2189,7 +2188,6 @@ TEST_F(EnergyPlusFixture, BranchNodeConnections_ReturnPlenumNodeCheck) state->init_state(*state); - OutputReportPredefined::SetPredefinedTables(*state); SetPreConstructionInputParameters(*state); // establish array bounds for constructions early createFacilityElectricPowerServiceObject(*state); BranchInputManager::ManageBranchInput(*state); diff --git a/tst/EnergyPlus/unit/ChillerElectricEIR.unit.cc b/tst/EnergyPlus/unit/ChillerElectricEIR.unit.cc index 322146183c2..d232017fda6 100644 --- a/tst/EnergyPlus/unit/ChillerElectricEIR.unit.cc +++ b/tst/EnergyPlus/unit/ChillerElectricEIR.unit.cc @@ -813,8 +813,6 @@ TEST_F(EnergyPlusFixture, ChillerElectricEIR_OutputReport) EXPECT_TRUE(process_idf(idf_objects, false)); state->init_state(*state); - OutputReportPredefined::SetPredefinedTables(*state); - state->dataPlnt->PlantLoop.allocate(state->dataPlnt->TotNumLoops); state->dataPlnt->PlantLoop.allocate(state->dataPlnt->TotNumLoops); state->dataSize->PlantSizData.allocate(state->dataPlnt->TotNumLoops); diff --git a/tst/EnergyPlus/unit/ChillerReformulatedEIR.unit.cc b/tst/EnergyPlus/unit/ChillerReformulatedEIR.unit.cc index 40f98a833bc..c67eecb604c 100644 --- a/tst/EnergyPlus/unit/ChillerReformulatedEIR.unit.cc +++ b/tst/EnergyPlus/unit/ChillerReformulatedEIR.unit.cc @@ -343,7 +343,6 @@ TEST_F(EnergyPlusFixture, ChillerElectricReformulatedEIR_OutputReport) EXPECT_TRUE(process_idf(idf_objects, false)); state->init_state(*state); - OutputReportPredefined::SetPredefinedTables(*state); state->dataPlnt->PlantLoop.allocate(state->dataPlnt->TotNumLoops); state->dataPlnt->PlantLoop.allocate(state->dataPlnt->TotNumLoops); diff --git a/tst/EnergyPlus/unit/CondenserLoopTowers.unit.cc b/tst/EnergyPlus/unit/CondenserLoopTowers.unit.cc index 2b84720f85f..222383d32a2 100644 --- a/tst/EnergyPlus/unit/CondenserLoopTowers.unit.cc +++ b/tst/EnergyPlus/unit/CondenserLoopTowers.unit.cc @@ -482,8 +482,6 @@ TEST_F(EnergyPlusFixture, CondenserLoopTowers_MerkelNoCooling) state->init_state(*state); - OutputReportPredefined::SetPredefinedTables(*state); - // OutputProcessor::TimeValue.allocate(2); OutputProcessor::SetupTimePointers( *state, OutputProcessor::TimeStepType::Zone, state->dataGlobal->TimeStepZone); // Set up Time pointer for HB/Zone Simulation @@ -864,8 +862,6 @@ TEST_F(EnergyPlusFixture, CondenserLoopTowers_SingleSpeedSizing) state->init_state(*state); - OutputReportPredefined::SetPredefinedTables(*state); - // OutputProcessor::TimeValue.allocate(2); OutputProcessor::SetupTimePointers( *state, OutputProcessor::TimeStepType::Zone, state->dataGlobal->TimeStepZone); // Set up Time pointer for HB/Zone Simulation @@ -1290,8 +1286,6 @@ TEST_F(EnergyPlusFixture, CondenserLoopTowers_SingleSpeedUserInputTowerSizing) state->dataGlobal->BeginSimFlag = true; - OutputReportPredefined::SetPredefinedTables(*state); - // OutputProcessor::TimeValue.allocate(2); OutputProcessor::SetupTimePointers( *state, OutputProcessor::TimeStepType::Zone, state->dataGlobal->TimeStepZone); // Set up Time pointer for HB/Zone Simulation @@ -1697,7 +1691,6 @@ TEST_F(EnergyPlusFixture, CondenserLoopTowers_TwoSpeedUserInputTowerSizing) bool ErrorsFound = false; state->dataGlobal->BeginSimFlag = true; - OutputReportPredefined::SetPredefinedTables(*state); // OutputProcessor::TimeValue.allocate(2); OutputProcessor::SetupTimePointers( @@ -2174,7 +2167,6 @@ TEST_F(EnergyPlusFixture, CondenserLoopTowers_MerkelUserInputTowerSizing) bool ErrorsFound = false; state->dataGlobal->BeginSimFlag = true; - OutputReportPredefined::SetPredefinedTables(*state); // OutputProcessor::TimeValue.allocate(2); OutputProcessor::SetupTimePointers( @@ -2594,7 +2586,6 @@ TEST_F(EnergyPlusFixture, CondenserLoopTowers_TwoSpeedTowerLowSpeedNomCapSizing) bool ErrorsFound = false; state->dataGlobal->BeginSimFlag = true; - OutputReportPredefined::SetPredefinedTables(*state); // OutputProcessor::TimeValue.allocate(2); OutputProcessor::SetupTimePointers( @@ -2984,8 +2975,6 @@ TEST_F(EnergyPlusFixture, CondenserLoopTowers_SingleSpeedUser_SizingError_Sizing state->dataGlobal->BeginSimFlag = true; - OutputReportPredefined::SetPredefinedTables(*state); - // OutputProcessor::TimeValue.allocate(2); OutputProcessor::SetupTimePointers( *state, OutputProcessor::TimeStepType::Zone, state->dataGlobal->TimeStepZone); // Set up Time pointer for HB/Zone Simulation @@ -3376,7 +3365,6 @@ TEST_F(EnergyPlusFixture, CondenserLoopTowers_SingleSpeedUser_SizingError_UserSp state->init_state(*state); state->dataGlobal->BeginSimFlag = true; - OutputReportPredefined::SetPredefinedTables(*state); // OutputProcessor::TimeValue.allocate(2); OutputProcessor::SetupTimePointers( @@ -3837,7 +3825,6 @@ TEST_F(EnergyPlusFixture, VSCoolingTowers_WaterOutletTempTest) state->init_state(*state); state->dataGlobal->BeginSimFlag = true; - OutputReportPredefined::SetPredefinedTables(*state); OutputProcessor::SetupTimePointers(*state, OutputProcessor::TimeStepType::Zone, state->dataGlobal->TimeStepZone); OutputProcessor::SetupTimePointers(*state, OutputProcessor::TimeStepType::System, state->dataHVACGlobal->TimeStepSys); @@ -4815,7 +4802,6 @@ TEST_F(EnergyPlusFixture, CondenserLoopTowers_VSCoolingTower_OutputReport) state->dataGlobal->BeginSimFlag = true; SimulationManager::GetProjectData(*state); - OutputReportPredefined::SetPredefinedTables(*state); OutputProcessor::SetupTimePointers(*state, OutputProcessor::TimeStepType::Zone, state->dataGlobal->TimeStepZone); OutputProcessor::SetupTimePointers(*state, OutputProcessor::TimeStepType::System, state->dataHVACGlobal->TimeStepSys); @@ -5355,7 +5341,6 @@ TEST_F(EnergyPlusFixture, CondenserLoopTowers_VSMerkelCoolingTower_OutputReport) state->dataGlobal->BeginSimFlag = true; SimulationManager::GetProjectData(*state); - OutputReportPredefined::SetPredefinedTables(*state); OutputProcessor::SetupTimePointers(*state, OutputProcessor::TimeStepType::Zone, state->dataGlobal->TimeStepZone); OutputProcessor::SetupTimePointers(*state, OutputProcessor::TimeStepType::System, state->dataHVACGlobal->TimeStepSys); diff --git a/tst/EnergyPlus/unit/Construction.unit.cc b/tst/EnergyPlus/unit/Construction.unit.cc index 2d761a311a0..b96c1c79e4e 100644 --- a/tst/EnergyPlus/unit/Construction.unit.cc +++ b/tst/EnergyPlus/unit/Construction.unit.cc @@ -68,8 +68,6 @@ TEST_F(EnergyPlusFixture, Construction_reportLayers) auto &m = state->dataMaterial; auto &orp = *state->dataOutRptPredefined; - SetPredefinedTables(*state); - auto *mata = new Material::MaterialBase; mata->Name = "mat a"; m->materials.push_back(mata); diff --git a/tst/EnergyPlus/unit/DXCoils.unit.cc b/tst/EnergyPlus/unit/DXCoils.unit.cc index 56197e9c094..af571ccf0ce 100644 --- a/tst/EnergyPlus/unit/DXCoils.unit.cc +++ b/tst/EnergyPlus/unit/DXCoils.unit.cc @@ -76,7 +76,6 @@ #include #include #include -#include using namespace EnergyPlus; using namespace DXCoils; @@ -89,6 +88,17 @@ using namespace DataEnvironment; namespace EnergyPlus { +void clearDXCoolingCoilStandardRatingTables(EnergyPlusData &state) +{ + auto &orp = *state.dataOutRptPredefined; + for (int subTableIndex : {orp.pdstDXCoolCoil, orp.pdstDXCoolCoil_2023}) { + auto &subTable = orp.subTable(subTableIndex); + subTable.entries.deallocate(); + subTable.numEntries = 0; + subTable.sizeEntries = 0; + } +} + void createFlatCurves(EnergyPlusData *state) { { @@ -265,7 +275,6 @@ TEST_F(EnergyPlusFixture, DXCoils_Test1) state->dataDXCoils->DXCoil(DXCoilNum).RegionNum = 4; state->dataDXCoils->DXCoil(DXCoilNum).MinOATCompressor = -17.78; - SetPredefinedTables(*state); SizeDXCoil(*state, 2); EXPECT_DOUBLE_EQ(5000.0, state->dataDXCoils->DXCoil(2).DefrostCapacity); @@ -410,7 +419,6 @@ TEST_F(EnergyPlusFixture, DXCoils_Test2) curve3->inputLimits[1].min = -100.0; curve3->inputLimits[1].max = 100.0; - SetPredefinedTables(*state); SizeDXCoil(*state, 2); EXPECT_DOUBLE_EQ(0.0, state->dataDXCoils->DXCoil(2).RatedTotCap(1)); @@ -1240,8 +1248,6 @@ TEST_F(EnergyPlusFixture, DXCoilEvapCondPumpSizingTest) ASSERT_EQ(1, state->dataDXCoils->NumDXCoils); EXPECT_EQ(DataSizing::AutoSize, state->dataDXCoils->DXCoil(1).EvapCondPumpElecNomPower(1)); - SetPredefinedTables(*state); - SizeDXCoil(*state, 1); EXPECT_EQ(25000.0, state->dataDXCoils->DXCoil(1).RatedTotCap(1)); EXPECT_EQ(state->dataDXCoils->DXCoil(1).RatedTotCap(1) * 0.004266, state->dataDXCoils->DXCoil(1).EvapCondPumpElecNomPower(1)); @@ -2694,7 +2700,6 @@ TEST_F(EnergyPlusFixture, DXCoil_ValidateADPFunction) state->init_state(*state); GetDXCoils(*state); - SetPredefinedTables(*state); state->dataSize->CurZoneEqNum = 1; // Need this to prevent crash in Sizers @@ -3658,7 +3663,6 @@ TEST_F(SQLiteFixture, DXCoils_TestComponentSizingOutput_TwoSpeed) // OutputReportTabular::displayEioSummary = true; // Setting predefined tables is needed though - OutputReportPredefined::SetPredefinedTables(*state); // SizeDXCoil is the one doing the sizing AND the reporting DXCoils::SizeDXCoil(*state, 1); @@ -3887,7 +3891,6 @@ TEST_F(SQLiteFixture, DXCoils_TestComponentSizingOutput_SingleSpeed) // OutputReportTabular::displayEioSummary = true; // Setting predefined tables is needed though - OutputReportPredefined::SetPredefinedTables(*state); // SizeDXCoil is the one doing the sizing AND the reporting DXCoils::SizeDXCoil(*state, 1); @@ -4339,7 +4342,6 @@ TEST_F(EnergyPlusFixture, TestMultiSpeedHeatingCoilSizingOutput) // get input GetDXCoils(*state); - SetPredefinedTables(*state); // check multi-speed DX cooling coil EXPECT_EQ("ASHP CLG COIL", state->dataDXCoils->DXCoil(1).Name); EXPECT_ENUM_EQ(HVAC::CoilType::CoolingDXMultiSpeed, state->dataDXCoils->DXCoil(1).coilType); @@ -4558,8 +4560,7 @@ TEST_F(EnergyPlusFixture, TestMultiSpeedCoolingCoilTabularReporting) // get input GetDXCoils(*state); - // Setup the predefined tables - EnergyPlus::OutputReportPredefined::SetPredefinedTables(*state); + // check multi-speed DX cooling coil EXPECT_EQ("ASHP CLG COIL", state->dataDXCoils->DXCoil(1).Name); EXPECT_ENUM_EQ(HVAC::CoilType::CoolingDXMultiSpeed, state->dataDXCoils->DXCoil(1).coilType); @@ -4979,7 +4980,6 @@ TEST_F(EnergyPlusFixture, TestMultiSpeedCoilsAutoSizingOutput) // get input GetDXCoils(*state); - SetPredefinedTables(*state); // check multi-speed DX cooling coil EXPECT_EQ("ASHP CLG COIL", state->dataDXCoils->DXCoil(1).Name); EXPECT_ENUM_EQ(HVAC::CoilType::CoolingDXMultiSpeed, state->dataDXCoils->DXCoil(1).coilType); @@ -5266,7 +5266,6 @@ TEST_F(EnergyPlusFixture, TestMultiSpeedCoolingCoilPartialAutoSizeOutput) // get input GetDXCoils(*state); - SetPredefinedTables(*state); // check multi-speed DX cooling coil EXPECT_EQ("ASHP CLG COIL", state->dataDXCoils->DXCoil(1).Name); EXPECT_ENUM_EQ(HVAC::CoilType::CoolingDXMultiSpeed, state->dataDXCoils->DXCoil(1).coilType); @@ -5928,7 +5927,6 @@ TEST_F(EnergyPlusFixture, TwoSpeedDXCoilStandardRatingsTest) OutletNode.MassFlowRateMax = 1.0; OutletNode.MassFlowRateMaxAvail = 1.0; OutletNode.MassFlowRateMinAvail = 0.0; - OutputReportPredefined::SetPredefinedTables(*state); // test 1: using internal static and fan pressure rise CalcTwoSpeedDXCoilStandardRating(*state, dXCoilIndex); EXPECT_EQ(coolcoilTwoSpeed.Name, "CCOOLING DX TWO SPEED"); @@ -5942,7 +5940,7 @@ TEST_F(EnergyPlusFixture, TwoSpeedDXCoilStandardRatingsTest) // EXPECT_EQ("N/A", RetrievePreDefTableEntry(*state, state->dataOutRptPredefined->pdchDXCoolCoilIEERIP, coolcoilTwoSpeed.Name)); // test 2: using default fan power per evap air flow rate, 365 W/1000 scfm or 773.3 W/(m3/s) coolcoilTwoSpeed.RateWithInternalStaticAndFanObject = false; - OutputReportPredefined::SetPredefinedTables(*state); + clearDXCoolingCoilStandardRatingTables(*state); CalcTwoSpeedDXCoilStandardRating(*state, dXCoilIndex); EXPECT_EQ("8.72", RetrievePreDefTableEntry(*state, state->dataOutRptPredefined->pdchDXCoolCoilEERIP, coolcoilTwoSpeed.Name)); EXPECT_EQ("9.8", RetrievePreDefTableEntry(*state, state->dataOutRptPredefined->pdchDXCoolCoilIEERIP, coolcoilTwoSpeed.Name)); @@ -6172,7 +6170,6 @@ TEST_F(EnergyPlusFixture, TwoSpeedDXCoilStandardRatings_Curve_Fix_Test) OutletNode.MassFlowRateMax = 1.0; OutletNode.MassFlowRateMaxAvail = 1.0; OutletNode.MassFlowRateMinAvail = 0.0; - OutputReportPredefined::SetPredefinedTables(*state); // test 1: using internal static and fan pressure rise @@ -6191,7 +6188,7 @@ TEST_F(EnergyPlusFixture, TwoSpeedDXCoilStandardRatings_Curve_Fix_Test) // test 2: using default fan power per evap air flow rate, 365 W/1000 scfm or 773.3 W/(m3/s) coolcoilTwoSpeed.RateWithInternalStaticAndFanObject = false; - OutputReportPredefined::SetPredefinedTables(*state); + clearDXCoolingCoilStandardRatingTables(*state); CalcTwoSpeedDXCoilStandardRating(*state, dXCoilIndex); EXPECT_EQ("8.72", RetrievePreDefTableEntry(*state, state->dataOutRptPredefined->pdchDXCoolCoilEERIP, coolcoilTwoSpeed.Name)); EXPECT_EQ("9.8", RetrievePreDefTableEntry(*state, state->dataOutRptPredefined->pdchDXCoolCoilIEERIP, coolcoilTwoSpeed.Name)); @@ -7462,7 +7459,6 @@ TEST_F(EnergyPlusFixture, MultiSpeedDXHeatingCoilsHSPF2Test) // get input GetDXCoils(*state); - SetPredefinedTables(*state); state->dataEnvrn->StdBaroPress = 101325.0; state->dataEnvrn->StdRhoAir = 1.2; @@ -7722,7 +7718,6 @@ TEST_F(EnergyPlusFixture, MultiSpeedDXHeatingCoilsHSPF2Test1) // get input GetDXCoils(*state); - SetPredefinedTables(*state); state->dataEnvrn->StdBaroPress = 101325.0; state->dataEnvrn->StdRhoAir = 1.2; @@ -7984,7 +7979,6 @@ TEST_F(EnergyPlusFixture, MultiSpeedDXHeatingCoilsHSPF2Test2) // get input GetDXCoils(*state); - SetPredefinedTables(*state); state->dataEnvrn->StdBaroPress = 101325.0; state->dataEnvrn->StdRhoAir = 1.2; diff --git a/tst/EnergyPlus/unit/DesiccantDehumidifiers.unit.cc b/tst/EnergyPlus/unit/DesiccantDehumidifiers.unit.cc index d330a0c847e..e28a6dc43c0 100644 --- a/tst/EnergyPlus/unit/DesiccantDehumidifiers.unit.cc +++ b/tst/EnergyPlus/unit/DesiccantDehumidifiers.unit.cc @@ -2857,7 +2857,6 @@ TEST_F(EnergyPlusFixture, DesiccantDehum_OnOASystemTest) state->dataGlobal->DDOnlySimulation = true; SimulationManager::GetProjectData(*state); - OutputReportPredefined::SetPredefinedTables(*state); createFacilityElectricPowerServiceObject(*state); SetPreConstructionInputParameters(*state); // establish array bounds for constructions early BranchInputManager::ManageBranchInput(*state); @@ -4061,7 +4060,6 @@ TEST_F(EnergyPlusFixture, DesiccantDehum_OnPrimaryAirSystemTest) state->dataGlobal->DDOnlySimulation = true; SimulationManager::GetProjectData(*state); - OutputReportPredefined::SetPredefinedTables(*state); createFacilityElectricPowerServiceObject(*state); SetPreConstructionInputParameters(*state); // establish array bounds for constructions early BranchInputManager::ManageBranchInput(*state); @@ -5486,7 +5484,6 @@ TEST_F(EnergyPlusFixture, DesiccantDehum_RegenAirHeaterHWCoilSizingTest) state->dataGlobal->DDOnlySimulation = true; SimulationManager::GetProjectData(*state); - OutputReportPredefined::SetPredefinedTables(*state); createFacilityElectricPowerServiceObject(*state); SetPreConstructionInputParameters(*state); // establish array bounds for constructions early BranchInputManager::ManageBranchInput(*state); @@ -6742,7 +6739,6 @@ TEST_F(EnergyPlusFixture, DesiccantDehum_VSCoolingCoilOnPrimaryAirSystemTest) state->dataGlobal->DDOnlySimulation = true; SimulationManager::GetProjectData(*state); - OutputReportPredefined::SetPredefinedTables(*state); createFacilityElectricPowerServiceObject(*state); SetPreConstructionInputParameters(*state); // establish array bounds for constructions early BranchInputManager::ManageBranchInput(*state); diff --git a/tst/EnergyPlus/unit/DualDuct.unit.cc b/tst/EnergyPlus/unit/DualDuct.unit.cc index 91a4e33d474..01eb10c9d10 100644 --- a/tst/EnergyPlus/unit/DualDuct.unit.cc +++ b/tst/EnergyPlus/unit/DualDuct.unit.cc @@ -537,8 +537,6 @@ TEST_F(EnergyPlusFixture, DualDuctAirTerminal_reportTerminalUnit) auto &orp = *state->dataOutRptPredefined; - SetPredefinedTables(*state); - auto *schedA = Sched::AddScheduleConstant(*state, "schA"); auto *schedB = Sched::AddScheduleConstant(*state, "schB"); diff --git a/tst/EnergyPlus/unit/EconomicTariff.unit.cc b/tst/EnergyPlus/unit/EconomicTariff.unit.cc index 67dd8104133..d394708daea 100644 --- a/tst/EnergyPlus/unit/EconomicTariff.unit.cc +++ b/tst/EnergyPlus/unit/EconomicTariff.unit.cc @@ -450,8 +450,6 @@ TEST_F(EnergyPlusFixture, EconomicTariff_LEEDtariffReporting_Test) tariff.demandWindow = EconomicTariff::DemandWindow::Hour; } - SetPredefinedTables(*state); // need to setup the predefined table entry numbers - LEEDtariffReporting(*state); EXPECT_EQ("SecondaryGeneralUnit", RetrievePreDefTableEntry(*state, state->dataOutRptPredefined->pdchLeedEtsRtNm, "Electricity")); @@ -1754,8 +1752,6 @@ TEST_F(EnergyPlusFixture, EconomicTariff_LEEDtariff_with_Custom_Meter) state->dataEconTariff->tariff(7).kindMtr = EconomicTariff::MeterType::Gas; state->dataEconTariff->tariff(7).reportMeterIndx = GetMeterIndex(*state, "BUILDING NATURAL GAS"); - SetPredefinedTables(*state); // setup the predefined table entry numbers first - LEEDtariffReporting(*state); EXPECT_EQ("ExampleA ExampleI-Sell", RetrievePreDefTableEntry(*state, state->dataOutRptPredefined->pdchLeedEtsRtNm, "Electricity")); diff --git a/tst/EnergyPlus/unit/FanCoilUnits.unit.cc b/tst/EnergyPlus/unit/FanCoilUnits.unit.cc index 8fcffe04eaf..5bc9041ca2c 100644 --- a/tst/EnergyPlus/unit/FanCoilUnits.unit.cc +++ b/tst/EnergyPlus/unit/FanCoilUnits.unit.cc @@ -2319,7 +2319,6 @@ TEST_F(EnergyPlusFixture, Test_TightenWaterFlowLimits) GetZoneData(*state, ErrorsFound); GetZoneEquipmentData(*state); - SetPredefinedTables(*state); GetFanInput(*state); GetFanCoilUnits(*state); diff --git a/tst/EnergyPlus/unit/HVACControllers.unit.cc b/tst/EnergyPlus/unit/HVACControllers.unit.cc index 9955aab694e..f916a000378 100644 --- a/tst/EnergyPlus/unit/HVACControllers.unit.cc +++ b/tst/EnergyPlus/unit/HVACControllers.unit.cc @@ -225,7 +225,6 @@ TEST_F(EnergyPlusFixture, HVACControllers_TestTempAndHumidityRatioCtrlVarType) // before controllers are simulated, AirLoopControllerIndex = 0 ASSERT_EQ(0, state->dataHVACControllers->ControllerProps(1).AirLoopControllerIndex); - OutputReportPredefined::SetPredefinedTables(*state); state->dataSimAirServingZones->GetAirLoopInputFlag = false; state->dataHVACGlobal->NumPrimaryAirSys = 1; state->dataAirLoop->PriAirSysAvailMgr.allocate(1); @@ -421,7 +420,6 @@ TEST_F(EnergyPlusFixture, HVACControllers_WaterCoilOnPrimaryLoopCheckTest) ASSERT_EQ(state->dataWaterCoils->WaterCoil(1).Name, "CHILLED WATER COIL"); ASSERT_EQ(state->dataWaterCoils->WaterCoil(1).WaterCoilType, DataPlant::PlantEquipmentType::CoilWaterCooling); - OutputReportPredefined::SetPredefinedTables(*state); state->dataSimAirServingZones->GetAirLoopInputFlag = false; state->dataHVACGlobal->NumPrimaryAirSys = 1; state->dataAirSystemsData->PrimaryAirSystems.allocate(1); @@ -515,7 +513,6 @@ TEST_F(EnergyPlusFixture, HVACControllers_WaterCoilOnOutsideAirSystemCheckTest) ASSERT_EQ(state->dataWaterCoils->WaterCoil(1).Name, "OA PREHEAT HW COIL"); ASSERT_EQ(state->dataWaterCoils->WaterCoil(1).WaterCoilType, DataPlant::PlantEquipmentType::CoilWaterSimpleHeating); - OutputReportPredefined::SetPredefinedTables(*state); state->dataSimAirServingZones->GetAirLoopInputFlag = false; state->dataAirLoop->NumOASystems = 1; @@ -648,7 +645,6 @@ TEST_F(EnergyPlusFixture, HVACControllers_CoilSystemCoolingWaterOnOutsideAirSyst ASSERT_EQ(state->dataWaterCoils->WaterCoil(1).Name, "DETAILED PRE COOLING COIL"); ASSERT_EQ(state->dataWaterCoils->WaterCoil(1).WaterCoilType, DataPlant::PlantEquipmentType::CoilWaterDetailedFlatCooling); - OutputReportPredefined::SetPredefinedTables(*state); state->dataSimAirServingZones->GetAirLoopInputFlag = false; state->dataAirLoop->NumOASystems = 1; @@ -939,7 +935,6 @@ TEST_F(EnergyPlusFixture, HVACControllers_MaxFlowZero) // before controllers are simulated, AirLoopControllerIndex = 0 ASSERT_EQ(0, state->dataHVACControllers->ControllerProps(1).AirLoopControllerIndex); - OutputReportPredefined::SetPredefinedTables(*state); state->dataSimAirServingZones->GetAirLoopInputFlag = false; state->dataHVACGlobal->NumPrimaryAirSys = 1; state->dataAirLoop->PriAirSysAvailMgr.allocate(1); diff --git a/tst/EnergyPlus/unit/HVACCooledBeam.unit.cc b/tst/EnergyPlus/unit/HVACCooledBeam.unit.cc index df54e3cdc79..c67fca650f6 100644 --- a/tst/EnergyPlus/unit/HVACCooledBeam.unit.cc +++ b/tst/EnergyPlus/unit/HVACCooledBeam.unit.cc @@ -70,8 +70,6 @@ TEST_F(EnergyPlusFixture, HVACCooledBeam_reportTerminalUnit) using namespace EnergyPlus::OutputReportPredefined; auto &orp = *state->dataOutRptPredefined; - SetPredefinedTables(*state); - [[maybe_unused]] auto *schedA = Sched::AddScheduleConstant(*state, "schA"); [[maybe_unused]] auto *schedB = Sched::AddScheduleConstant(*state, "schB"); diff --git a/tst/EnergyPlus/unit/HVACDXHeatPumpSystem.unit.cc b/tst/EnergyPlus/unit/HVACDXHeatPumpSystem.unit.cc index 5a78dabbb7b..a4266ef9cbf 100644 --- a/tst/EnergyPlus/unit/HVACDXHeatPumpSystem.unit.cc +++ b/tst/EnergyPlus/unit/HVACDXHeatPumpSystem.unit.cc @@ -143,7 +143,6 @@ TEST_F(EnergyPlusFixture, ExerciseHVACDXHeatPumpSystem) [[maybe_unused]] auto *curve = Curve::AddCurve(*state, "Curve1"); // setup some outputs - OutputReportPredefined::SetPredefinedTables(*state); int compIndex = 0; HVACDXHeatPumpSystem::SimDXHeatPumpSystem(*state, "HEATPUMP DX COIL 1", true, -1, compIndex, -1, 0.0); diff --git a/tst/EnergyPlus/unit/HVACDXSystem.unit.cc b/tst/EnergyPlus/unit/HVACDXSystem.unit.cc index bd0f40884c1..e6ab4833c8a 100644 --- a/tst/EnergyPlus/unit/HVACDXSystem.unit.cc +++ b/tst/EnergyPlus/unit/HVACDXSystem.unit.cc @@ -580,7 +580,6 @@ TEST_F(EnergyPlusFixture, VariableSpeedCoils_RHControl) state->dataAirSystemsData->PrimaryAirSystems(1).Branch(1).Comp.allocate(1); state->dataAirSystemsData->PrimaryAirSystems(1).Branch(1).Comp(1).Name = compName; state->dataAirSystemsData->PrimaryAirSystems(1).Branch(1).Comp(1).CompType_Num = SimAirServingZones::CompType::DXSystem; - OutputReportPredefined::SetPredefinedTables(*state); Sched::GetSchedule(*state, "AVAILSCHED")->currentVal = 1.0; // Enable schedule without calling schedule manager bool FirstHVACIteration = true; @@ -797,7 +796,6 @@ TEST_F(EnergyPlusFixture, VariableSpeedCoils_LatentDegradation_Test) state->dataAirSystemsData->PrimaryAirSystems(1).Branch(1).Comp.allocate(1); state->dataAirSystemsData->PrimaryAirSystems(1).Branch(1).Comp(1).Name = compName; state->dataAirSystemsData->PrimaryAirSystems(1).Branch(1).Comp(1).CompType_Num = SimAirServingZones::CompType::DXSystem; - OutputReportPredefined::SetPredefinedTables(*state); Sched::GetSchedule(*state, "AVAILSCHED")->currentVal = 1.0; // Enable schedule without calling schedule manager bool FirstHVACIteration = true; @@ -1074,7 +1072,6 @@ TEST_F(EnergyPlusFixture, NewDXCoilModel_RHControl) state->dataAirSystemsData->PrimaryAirSystems(1).Branch(1).Comp.allocate(1); state->dataAirSystemsData->PrimaryAirSystems(1).Branch(1).Comp(1).Name = compName; state->dataAirSystemsData->PrimaryAirSystems(1).Branch(1).Comp(1).CompType_Num = SimAirServingZones::CompType::DXSystem; - OutputReportPredefined::SetPredefinedTables(*state); Sched::GetSchedule(*state, "AVAILSCHED")->currentVal = 1.0; // Enable schedule without calling schedule manager bool FirstHVACIteration = true; diff --git a/tst/EnergyPlus/unit/HVACFourPipeBeam.unit.cc b/tst/EnergyPlus/unit/HVACFourPipeBeam.unit.cc index 0f529e8c8ab..0b7685ea8d5 100644 --- a/tst/EnergyPlus/unit/HVACFourPipeBeam.unit.cc +++ b/tst/EnergyPlus/unit/HVACFourPipeBeam.unit.cc @@ -1722,7 +1722,6 @@ TEST_F(EnergyPlusFixture, Beam_sizeandSimulateOneZone) state->dataGlobal->BeginSimFlag = true; - OutputReportPredefined::SetPredefinedTables(*state); HeatBalanceManager::SetPreConstructionInputParameters(*state); // establish array bounds for constructions early // OutputProcessor::TimeValue.allocate(2); OutputProcessor::SetupTimePointers( @@ -3294,7 +3293,6 @@ TEST_F(EnergyPlusFixture, Beam_fatalWhenSysSizingOff) state->dataGlobal->BeginSimFlag = true; - OutputReportPredefined::SetPredefinedTables(*state); HeatBalanceManager::SetPreConstructionInputParameters(*state); // establish array bounds for constructions early // OutputProcessor::TimeValue.allocate(2); OutputProcessor::SetupTimePointers( @@ -4783,7 +4781,6 @@ TEST_F(EnergyPlusFixture, Beam_sizeandSimulateHighOA) state->dataGlobal->BeginSimFlag = true; - OutputReportPredefined::SetPredefinedTables(*state); HeatBalanceManager::SetPreConstructionInputParameters(*state); // establish array bounds for constructions early // OutputProcessor::TimeValue.allocate(2); OutputProcessor::SetupTimePointers( diff --git a/tst/EnergyPlus/unit/HVACHXAssistedCoolingCoil.unit.cc b/tst/EnergyPlus/unit/HVACHXAssistedCoolingCoil.unit.cc index dd8c80eb0dc..e9706237940 100644 --- a/tst/EnergyPlus/unit/HVACHXAssistedCoolingCoil.unit.cc +++ b/tst/EnergyPlus/unit/HVACHXAssistedCoolingCoil.unit.cc @@ -513,7 +513,6 @@ TEST_F(EnergyPlusFixture, HXAssistCCUnitarySystem_VStest1) state->dataEnvrn->StdRhoAir = Psychrometrics::PsyRhoAirFnPbTdbW(*state, 101325.0, 20.0, 0.0); // initialize RhoAir state->dataLoopNodes->Node(InletNode).MassFlowRateMaxAvail = thisSys->m_MaxCoolAirVolFlow * state->dataEnvrn->StdRhoAir; - OutputReportPredefined::SetPredefinedTables(*state); thisSys->simulate(*state, compName, FirstHVACIteration, diff --git a/tst/EnergyPlus/unit/HVACSizingSimulationManager.unit.cc b/tst/EnergyPlus/unit/HVACSizingSimulationManager.unit.cc index 8a32c481518..be5e362ee6a 100644 --- a/tst/EnergyPlus/unit/HVACSizingSimulationManager.unit.cc +++ b/tst/EnergyPlus/unit/HVACSizingSimulationManager.unit.cc @@ -112,8 +112,6 @@ class HVACSizingSimulationManagerTest : public EnergyPlusFixture state->dataPlnt->PlantLoop(1).LoopSide(LoopSideLocation::Supply).NodeNumIn = 1; - SetPredefinedTables(*state); - // need a node to log mass flow rate from state->dataLoopNodes->Node.allocate(1); // OutputProcessor::TimeValue.allocate(2); diff --git a/tst/EnergyPlus/unit/HVACUnitaryBypassVAV.unit.cc b/tst/EnergyPlus/unit/HVACUnitaryBypassVAV.unit.cc index 975aebf19ea..00a49cdc028 100644 --- a/tst/EnergyPlus/unit/HVACUnitaryBypassVAV.unit.cc +++ b/tst/EnergyPlus/unit/HVACUnitaryBypassVAV.unit.cc @@ -309,7 +309,6 @@ class CBVAVSys : public EnergyPlusFixture state->dataAirLoop->AirLoopFlow.allocate(1); state->dataAirSystemsData->PrimaryAirSystems.allocate(1); state->dataAirLoop->AirLoopControlInfo.allocate(1); - OutputReportPredefined::SetPredefinedTables(*state); } virtual void TearDown() diff --git a/tst/EnergyPlus/unit/HeatPumpWaterToWaterSimple.unit.cc b/tst/EnergyPlus/unit/HeatPumpWaterToWaterSimple.unit.cc index 53591eb0654..c3ce9ca871d 100644 --- a/tst/EnergyPlus/unit/HeatPumpWaterToWaterSimple.unit.cc +++ b/tst/EnergyPlus/unit/HeatPumpWaterToWaterSimple.unit.cc @@ -740,7 +740,6 @@ TEST_F(EnergyPlusFixture, PlantLoopSourceSideTest) state->dataGlobal->BeginSimFlag = true; - OutputReportPredefined::SetPredefinedTables(*state); HeatBalanceManager::SetPreConstructionInputParameters(*state); // establish array bounds for constructions early // OutputProcessor::TimeValue.allocate(2); OutputProcessor::SetupTimePointers( @@ -1524,7 +1523,6 @@ TEST_F(EnergyPlusFixture, WWHP_AutosizeTest1) state->dataGlobal->BeginSimFlag = true; - OutputReportPredefined::SetPredefinedTables(*state); HeatBalanceManager::SetPreConstructionInputParameters(*state); // establish array bounds for constructions early // OutputProcessor::TimeValue.allocate(2); OutputProcessor::SetupTimePointers( diff --git a/tst/EnergyPlus/unit/HeatRecovery.unit.cc b/tst/EnergyPlus/unit/HeatRecovery.unit.cc index 8bfdfbcd1c1..f9277994cc9 100644 --- a/tst/EnergyPlus/unit/HeatRecovery.unit.cc +++ b/tst/EnergyPlus/unit/HeatRecovery.unit.cc @@ -3990,8 +3990,6 @@ TEST_F(EnergyPlusFixture, SizeHeatRecovery) state->dataSize->UnitarySysEqSizing(state->dataSize->CurSysNum).CoolingCapacity = false; state->dataSize->UnitarySysEqSizing(state->dataSize->CurSysNum).HeatingCapacity = false; - OutputReportPredefined::SetPredefinedTables(*state); - // calc heat recovery sizing state->dataHeatRecovery->ExchCond(ExchNum).size(*state); @@ -4050,7 +4048,6 @@ TEST_F(EnergyPlusFixture, HeatRecovery_AirFlowSizing) ASSERT_TRUE(process_idf(idf_objects)); state->init_state(*state); - OutputReportPredefined::SetPredefinedTables(*state); // get heat recovery heat exchanger generic GetHeatRecoveryInput(*state); diff --git a/tst/EnergyPlus/unit/OutdoorAirUnit.unit.cc b/tst/EnergyPlus/unit/OutdoorAirUnit.unit.cc index 918a6af0ba5..71377ba1ec0 100644 --- a/tst/EnergyPlus/unit/OutdoorAirUnit.unit.cc +++ b/tst/EnergyPlus/unit/OutdoorAirUnit.unit.cc @@ -338,7 +338,6 @@ TEST_F(EnergyPlusFixture, OutdoorAirUnit_AutoSize) state->dataLoopNodes->Node(EAFanInletNode).MassFlowRate = 0.60215437; // zone exhaust flow rate state->dataLoopNodes->Node(EAFanInletNode).MassFlowRateMaxAvail = 0.60215437; // exhaust fan will not turn on unless max avail is set - SetPredefinedTables(*state); OutdoorAirUnit::SimOutdoorAirUnit(*state, "ZONE1OUTAIR", CurZoneNum, diff --git a/tst/EnergyPlus/unit/PackagedTerminalHeatPump.unit.cc b/tst/EnergyPlus/unit/PackagedTerminalHeatPump.unit.cc index daf458679be..e95d2abe939 100644 --- a/tst/EnergyPlus/unit/PackagedTerminalHeatPump.unit.cc +++ b/tst/EnergyPlus/unit/PackagedTerminalHeatPump.unit.cc @@ -531,7 +531,6 @@ namespace EnergyPlus { // state->dataSize->FinalZoneSizing(state->dataSize->CurZoneEqNum).CoolDesHumRat = 0.007807825; // state->dataEnvrn->OutBaroPress = 101325; // state->dataEnvrn->StdRhoAir = 1.0; -// OutputReportPredefined::SetPredefinedTables(*state); // thisSys.sizeSystem(*state, firstHVACIteration, airLoopNum); // // // This VS coil is rather quirky. It sizes the capacity based on zone sizing air flow rate. @@ -839,7 +838,6 @@ TEST_F(EnergyPlusFixture, AirTerminalSingleDuctMixer_SimPTAC_HeatingCoilTest) state->init_state(*state); state->dataGlobal->TimeStep = 1; - OutputReportPredefined::SetPredefinedTables(*state); GetZoneData(*state, ErrorsFound); ASSERT_FALSE(ErrorsFound); @@ -1191,7 +1189,6 @@ TEST_F(EnergyPlusFixture, SimPTAC_SZVAVTest) state->init_state(*state); state->dataGlobal->TimeStep = 1; - OutputReportPredefined::SetPredefinedTables(*state); GetZoneData(*state, ErrorsFound); ASSERT_FALSE(ErrorsFound); @@ -3912,7 +3909,6 @@ TEST_F(EnergyPlusFixture, PTACDrawAirfromReturnNodeAndPlenum_Test) GetZoneAirSetPoints(*state); state->dataHeatBalFanSys->TempControlType.allocate(6); state->dataHeatBalFanSys->TempControlType = HVAC::SetptType::DualHeatCool; - EnergyPlus::OutputReportPredefined::SetPredefinedTables(*state); Sched::GetSchedule(*state, "OCCUPY-1")->currentVal = 1.0; Sched::GetSchedule(*state, "LIGHTS-1")->currentVal = 1.0; @@ -4899,7 +4895,6 @@ TEST_F(EnergyPlusFixture, PTAC_AvailabilityManagerTest) state->init_state(*state); state->dataGlobal->TimeStep = 1; - OutputReportPredefined::SetPredefinedTables(*state); GetZoneData(*state, ErrorsFound); ASSERT_FALSE(ErrorsFound); GetZoneEquipmentData(*state); diff --git a/tst/EnergyPlus/unit/PlantHeatExchangerFluidToFluid.unit.cc b/tst/EnergyPlus/unit/PlantHeatExchangerFluidToFluid.unit.cc index 6b4758f2984..1ef9ba8bc9e 100644 --- a/tst/EnergyPlus/unit/PlantHeatExchangerFluidToFluid.unit.cc +++ b/tst/EnergyPlus/unit/PlantHeatExchangerFluidToFluid.unit.cc @@ -1068,7 +1068,6 @@ TEST_F(EnergyPlusFixture, PlantHXModulatedDualDeadDefectFileHi) state->dataGlobal->BeginSimFlag = true; - OutputReportPredefined::SetPredefinedTables(*state); HeatBalanceManager::SetPreConstructionInputParameters(*state); // establish array bounds for constructions early // OutputProcessor::TimeValue.allocate(2); OutputProcessor::SetupTimePointers( @@ -2164,7 +2163,6 @@ TEST_F(EnergyPlusFixture, PlantHXModulatedDualDeadDefectFileLo) state->dataGlobal->BeginSimFlag = true; - OutputReportPredefined::SetPredefinedTables(*state); HeatBalanceManager::SetPreConstructionInputParameters(*state); // establish array bounds for constructions early // OutputProcessor::TimeValue.allocate(2); OutputProcessor::SetupTimePointers( diff --git a/tst/EnergyPlus/unit/PoweredInductionUnits.unit.cc b/tst/EnergyPlus/unit/PoweredInductionUnits.unit.cc index 919d2ef898e..d0c6f115bd5 100644 --- a/tst/EnergyPlus/unit/PoweredInductionUnits.unit.cc +++ b/tst/EnergyPlus/unit/PoweredInductionUnits.unit.cc @@ -1982,7 +1982,6 @@ TEST_F(EnergyPlusFixture, PIU_InducedAir_Plenums) state->dataGlobal->BeginSimFlag = true; SimulationManager::GetProjectData(*state); - OutputReportPredefined::SetPredefinedTables(*state); HeatBalanceManager::SetPreConstructionInputParameters(*state); // establish array bounds for constructions early // OutputProcessor::TimeValue.allocate(2); OutputProcessor::SetupTimePointers( @@ -3095,8 +3094,6 @@ TEST_F(EnergyPlusFixture, PIU_reportTerminalUnit) using namespace EnergyPlus::OutputReportPredefined; auto &orp = *state->dataOutRptPredefined; - SetPredefinedTables(*state); - Sched::AddScheduleConstant(*state, "SCHA"); Sched::AddScheduleConstant(*state, "SCHB"); diff --git a/tst/EnergyPlus/unit/SZVAVModel.unit.cc b/tst/EnergyPlus/unit/SZVAVModel.unit.cc index f65fc4f8915..ceecdd58be8 100644 --- a/tst/EnergyPlus/unit/SZVAVModel.unit.cc +++ b/tst/EnergyPlus/unit/SZVAVModel.unit.cc @@ -269,7 +269,6 @@ TEST_F(EnergyPlusFixture, SZVAV_PTUnit_Testing) state->dataEnvrn->OutDryBulbTemp = 30.0; state->dataEnvrn->OutBaroPress = 101325.0; - OutputReportPredefined::SetPredefinedTables(*state); int UnitNum = 0; bool FirstHVACIteration = true; @@ -1216,8 +1215,6 @@ TEST_F(EnergyPlusFixture, SZVAV_UnitarySys_VarSpeed_Testing) state->dataZoneEquip->ZoneEquipInputsFilled = true; thisSys->getUnitarySystemInputData(*state, compName, zoneEquipment, 0, ErrorsFound); - OutputReportPredefined::SetPredefinedTables(*state); - FirstHVACIteration = false; state->dataGlobal->BeginEnvrnFlag = false; diff --git a/tst/EnergyPlus/unit/SingleDuct.unit.cc b/tst/EnergyPlus/unit/SingleDuct.unit.cc index 07abc5f3c5b..a8f3feab674 100644 --- a/tst/EnergyPlus/unit/SingleDuct.unit.cc +++ b/tst/EnergyPlus/unit/SingleDuct.unit.cc @@ -3083,8 +3083,6 @@ TEST_F(EnergyPlusFixture, SingleDuctAirTerminal_reportTerminalUnit) using namespace EnergyPlus::OutputReportPredefined; auto &orp = *state->dataOutRptPredefined; - SetPredefinedTables(*state); - auto *schA = Sched::AddScheduleConstant(*state, "schA"); [[maybe_unused]] auto *schB = Sched::AddScheduleConstant(*state, "schB"); diff --git a/tst/EnergyPlus/unit/SizeWaterHeatingCoil.unit.cc b/tst/EnergyPlus/unit/SizeWaterHeatingCoil.unit.cc index 881faa8e8b6..904e891b6cd 100644 --- a/tst/EnergyPlus/unit/SizeWaterHeatingCoil.unit.cc +++ b/tst/EnergyPlus/unit/SizeWaterHeatingCoil.unit.cc @@ -322,7 +322,6 @@ TEST_F(EnergyPlusFixture, TestSizingRoutineForHotWaterCoils1) state->dataSize->TermUnitFinalZoneSizing(state->dataSize->CurTermUnitSizingNum) .copyFromZoneSizing(state->dataSize->FinalZoneSizing(state->dataSize->CurZoneEqNum)); state->dataSingleDuct->sd_airterminal(1).ZoneFloorArea = state->dataHeatBal->Zone(1).FloorArea; - OutputReportPredefined::SetPredefinedTables(*state); state->dataSingleDuct->sd_airterminal(1).SizeSys(*state); SizeWaterCoil(*state, 1); EXPECT_NEAR(state->dataWaterCoils->WaterCoil(1).UACoil, 199.86, 0.01); @@ -1450,7 +1449,6 @@ TEST_F(EnergyPlusFixture, TestSizingRoutineForHotWaterCoils6) state->dataHeatBal->Zone(1).FloorArea = 99.16; state->dataSingleDuct->sd_airterminal(1).ZoneFloorArea = state->dataHeatBal->Zone(1).FloorArea; - OutputReportPredefined::SetPredefinedTables(*state); state->dataSingleDuct->sd_airterminal(1).SizeSys(*state); state->dataGlobal->BeginEnvrnFlag = true; diff --git a/tst/EnergyPlus/unit/SizingAnalysisObjects.unit.cc b/tst/EnergyPlus/unit/SizingAnalysisObjects.unit.cc index b364f8ed4e0..bd405c8e9ed 100644 --- a/tst/EnergyPlus/unit/SizingAnalysisObjects.unit.cc +++ b/tst/EnergyPlus/unit/SizingAnalysisObjects.unit.cc @@ -125,8 +125,6 @@ class SizingAnalysisObjectsTest : public EnergyPlusFixture state->dataPlnt->PlantLoop(1).MaxVolFlowRate = 0.002; state->dataPlnt->PlantLoop(1).MaxMassFlowRate = 2.0; state->dataPlnt->PlantLoop(1).VolumeWasAutoSized = true; - - SetPredefinedTables(*state); } void TearDown() override diff --git a/tst/EnergyPlus/unit/UnitHeater.unit.cc b/tst/EnergyPlus/unit/UnitHeater.unit.cc index 5e63050eff4..a2b5394a4a9 100644 --- a/tst/EnergyPlus/unit/UnitHeater.unit.cc +++ b/tst/EnergyPlus/unit/UnitHeater.unit.cc @@ -1110,7 +1110,6 @@ TEST_F(EnergyPlusFixture, UnitHeater_HWHeatingCoilUAAutoSizingTest) state->dataGlobal->DDOnlySimulation = true; GetProjectData(*state); - OutputReportPredefined::SetPredefinedTables(*state); SetPreConstructionInputParameters(*state); // establish array bounds for constructions early state->dataGlobal->BeginSimFlag = true; diff --git a/tst/EnergyPlus/unit/UnitarySystem.unit.cc b/tst/EnergyPlus/unit/UnitarySystem.unit.cc index 86197492621..c0f911c5d1e 100644 --- a/tst/EnergyPlus/unit/UnitarySystem.unit.cc +++ b/tst/EnergyPlus/unit/UnitarySystem.unit.cc @@ -517,7 +517,6 @@ TEST_F(AirloopUnitarySysTest, MultipleWaterCoolingCoilSizing) state->dataWaterCoils->MySizeFlag = true; // need to size again for UnitarySystem state->dataWaterCoils->WaterCoil(1).DesWaterCoolingCoilRate = 0.0; // reset these to be sure they get recalculated state->dataWaterCoils->WaterCoil(2).DesWaterHeatingCoilRate = 0.0; - OutputReportPredefined::SetPredefinedTables(*state); state->dataGlobal->DoingSizing = true; mySys->sizeSystem(*state, FirstHVACIteration, AirLoopNum); @@ -790,8 +789,6 @@ TEST_F(ZoneUnitarySysTest, Test_UnitarySystemModel_factory) // test the object name EXPECT_EQ(compName, thisSys->Name); - OutputReportPredefined::SetPredefinedTables(*state); - state->dataGlobal->BeginEnvrnFlag = true; // act as if simulation is beginning // set up node conditions to test UnitarySystem set point based control @@ -989,8 +986,6 @@ TEST_F(ZoneUnitarySysTest, UnitarySystemModel_TwoSpeedDXCoolCoil_Only) thisSys->getUnitarySystemInputData(*state, compName, zoneEquipment, 0, ErrorsFound); // get UnitarySystem input from object above EXPECT_FALSE(ErrorsFound); // expect no errors - OutputReportPredefined::SetPredefinedTables(*state); - // UnitarySystem used as zone equipment will not be modeled when FirstHAVCIteration is true, first time FirstHVACIteration = false will disable // the 'return' on FirstHVACIteration = true set FirstHVACIteration to false for unit testing to size water coils FirstHVACIteration = false; @@ -1263,8 +1258,6 @@ TEST_F(ZoneUnitarySysTest, UnitarySystemModel_MultiSpeedDXCoolCoil_Only) thisSys->getUnitarySystemInputData(*state, compName, zoneEquipment, 0, ErrorsFound); // get UnitarySystem input from object above EXPECT_FALSE(ErrorsFound); // expect no errors - OutputReportPredefined::SetPredefinedTables(*state); - // UnitarySystem used as zone equipment will not be modeled when FirstHAVCIteration is true, first time FirstHVACIteration = false will disable // the 'return' on FirstHVACIteration = true set FirstHVACIteration to false for unit testing to size water coils FirstHVACIteration = false; @@ -1624,8 +1617,6 @@ TEST_F(ZoneUnitarySysTest, UnitarySystemModel_MultiSpeedDXCoolCoil_Only_NoFan) EXPECT_FALSE(ErrorsFound); // expect no errors thisSys->m_ThisSysInputShouldBeGotten = false; - OutputReportPredefined::SetPredefinedTables(*state); - // UnitarySystem used as zone equipment will not be modeled when FirstHAVCIteration is true, first time FirstHVACIteration = false will disable // the 'return' on FirstHVACIteration = true set FirstHVACIteration to false for unit testing to size water coils FirstHVACIteration = false; @@ -1869,8 +1860,6 @@ TEST_F(ZoneUnitarySysTest, UnitarySystemModel_MultiStageGasHeatCoil_Only) thisSys->getUnitarySystemInputData(*state, compName, zoneEquipment, 0, ErrorsFound); // get UnitarySystem input from object above EXPECT_FALSE(ErrorsFound); // expect no errors - OutputReportPredefined::SetPredefinedTables(*state); - // UnitarySystem used as zone equipment will not be modeled when FirstHAVCIteration is true, first time FirstHVACIteration = false will disable // the 'return' on FirstHVACIteration = true set FirstHVACIteration to false for unit testing to size water coils FirstHVACIteration = false; @@ -2096,8 +2085,6 @@ TEST_F(ZoneUnitarySysTest, UnitarySystemModel_MultiStageElecHeatCoil_Only) thisSys->getUnitarySystemInputData(*state, compName, zoneEquipment, 0, ErrorsFound); // get UnitarySystem input from object above EXPECT_FALSE(ErrorsFound); // expect no errors - OutputReportPredefined::SetPredefinedTables(*state); - // UnitarySystem used as zone equipment will not be modeled when FirstHAVCIteration is true, first time FirstHVACIteration = false will disable // the 'return' on FirstHVACIteration = true set FirstHVACIteration to false for unit testing to size water coils FirstHVACIteration = false; @@ -2332,8 +2319,6 @@ TEST_F(ZoneUnitarySysTest, UnitarySystemModel_MultiStageElecHeatCoil_Backup_Load thisSys->getUnitarySystemInputData(*state, compName, zoneEquipment, 0, ErrorsFound); // get UnitarySystem input from object above EXPECT_FALSE(ErrorsFound); // expect no errors - OutputReportPredefined::SetPredefinedTables(*state); - // UnitarySystem used as zone equipment will not be modeled when FirstHAVCIteration is true, first time FirstHVACIteration = false will disable // the 'return' on FirstHVACIteration = true set FirstHVACIteration to false for unit testing to size water coils FirstHVACIteration = false; @@ -2667,8 +2652,6 @@ Curve:Quadratic, thisSys->getUnitarySystemInputData(*state, compName, zoneEquipment, 0, ErrorsFound); // get UnitarySystem input from object above EXPECT_FALSE(ErrorsFound); // expect no errors - OutputReportPredefined::SetPredefinedTables(*state); - // UnitarySystem used as zone equipment will not be modeled when FirstHAVCIteration is true, first time FirstHVACIteration = false will disable // the 'return' on FirstHVACIteration = true set FirstHVACIteration to false for unit testing to size water coils FirstHVACIteration = false; @@ -2932,8 +2915,6 @@ Curve:Quadratic, thisSys->getUnitarySystemInputData(*state, compName, zoneEquipment, 0, ErrorsFound); // get UnitarySystem input from object above EXPECT_FALSE(ErrorsFound); // expect no errors - OutputReportPredefined::SetPredefinedTables(*state); - // UnitarySystem used as zone equipment will not be modeled when FirstHAVCIteration is true, first time FirstHVACIteration = false will disable // the 'return' on FirstHVACIteration = true set FirstHVACIteration to false for unit testing to size water coils FirstHVACIteration = false; @@ -3181,8 +3162,6 @@ Curve:Quadratic, thisSys->getUnitarySystemInputData(*state, compName, zoneEquipment, 0, ErrorsFound); // get UnitarySystem input from object above EXPECT_FALSE(ErrorsFound); // expect no errors - OutputReportPredefined::SetPredefinedTables(*state); - // UnitarySystem used as zone equipment will not be modeled when FirstHAVCIteration is true, first time FirstHVACIteration = false will disable // the 'return' on FirstHVACIteration = true set FirstHVACIteration to false for unit testing to size water coils FirstHVACIteration = false; @@ -3416,8 +3395,6 @@ Curve:Quadratic, thisSys->getUnitarySystemInputData(*state, compName, zoneEquipment, 0, ErrorsFound); // get UnitarySystem input from object above EXPECT_FALSE(ErrorsFound); // expect no errors - OutputReportPredefined::SetPredefinedTables(*state); - // UnitarySystem used as zone equipment will not be modeled when FirstHAVCIteration is true, first time FirstHVACIteration = false will disable // the 'return' on FirstHVACIteration = true set FirstHVACIteration to false for unit testing to size water coils FirstHVACIteration = false; @@ -3621,8 +3598,6 @@ Curve:Quadratic, thisSys->getUnitarySystemInputData(*state, compName, zoneEquipment, 0, ErrorsFound); // get UnitarySystem input from object above EXPECT_FALSE(ErrorsFound); // expect no errors - OutputReportPredefined::SetPredefinedTables(*state); - // UnitarySystem used as zone equipment will not be modeled when FirstHAVCIteration is true, first time FirstHVACIteration = false will disable // the 'return' on FirstHVACIteration = true set FirstHVACIteration to false for unit testing to size water coils FirstHVACIteration = false; @@ -4163,8 +4138,6 @@ Curve:Biquadratic, EXPECT_EQ(thisSys->m_MaxHeatAirVolFlow, DataSizing::AutoSize); EXPECT_EQ(thisSys->m_MaxNoCoolHeatAirVolFlow, DataSizing::AutoSize); - OutputReportPredefined::SetPredefinedTables(*state); - // UnitarySystem used as zone equipment will not be modeled when FirstHAVCIteration is true, first time FirstHVACIteration = false will disable // the 'return' on FirstHVACIteration = true set FirstHVACIteration to false for unit testing to size water coils FirstHVACIteration = false; @@ -4835,8 +4808,6 @@ Curve:Biquadratic, EXPECT_EQ(thisSys->m_MaxHeatAirVolFlow, DataSizing::AutoSize); EXPECT_EQ(thisSys->m_MaxNoCoolHeatAirVolFlow, DataSizing::AutoSize); - OutputReportPredefined::SetPredefinedTables(*state); - // UnitarySystem used as zone equipment will not be modeled when FirstHAVCIteration is true, first time FirstHVACIteration = false will disable // the 'return' on FirstHVACIteration = true set FirstHVACIteration to false for unit testing to size water coils FirstHVACIteration = false; @@ -5133,8 +5104,6 @@ SetpointManager:Scheduled, state->dataPlnt->PlantLoop(2).LoopSide(DataPlant::LoopSideLocation::Demand).Branch(1).Comp(2).NodeNumIn = 8; state->dataPlnt->PlantLoop(2).LoopSide(DataPlant::LoopSideLocation::Demand).Branch(1).Comp(2).NodeNumOut = 9; - OutputReportPredefined::SetPredefinedTables(*state); - // UnitarySystem used as zone equipment will not be modeled when FirstHAVCIteration is true, first time FirstHVACIteration = false will disable // the 'return' on FirstHVACIteration = true set FirstHVACIteration to false for unit testing to size water coils FirstHVACIteration = false; @@ -5504,8 +5473,6 @@ SetpointManager:Scheduled, state->dataPlnt->PlantLoop(1).LoopSide(DataPlant::LoopSideLocation::Demand).Branch(1).Comp(1).NodeNumIn = coolingCoilWaterInletNodeIndex; state->dataPlnt->PlantLoop(1).LoopSide(DataPlant::LoopSideLocation::Demand).Branch(1).Comp(1).NodeNumOut = coolingCoilWaterOutletNodeIndex; - OutputReportPredefined::SetPredefinedTables(*state); - // UnitarySystem used as zone equipment will not be modeled when FirstHAVCIteration is true, first time FirstHVACIteration = false will disable // the 'return' on FirstHVACIteration = true set FirstHVACIteration to false for unit testing to size water coils FirstHVACIteration = false; @@ -7316,8 +7283,6 @@ TEST_F(EnergyPlusFixture, VSCoilUnitary_NoNegativeCapacity) state->dataZoneEquip->ZoneEquipInputsFilled = true; thisSys->getUnitarySystemInputData(*state, compName, zoneEquipment, 0, ErrorsFound); // get UnitarySystem input from object above - OutputReportPredefined::SetPredefinedTables(*state); - state->dataSize->CurSysNum = 1; // run coil init @@ -9860,8 +9825,6 @@ Curve:Biquadratic, state->dataEnvrn->StdRhoAir = Psychrometrics::PsyRhoAirFnPbTdbW(*state, 101325.0, 20.0, 0.0); // initialize RhoAir state->dataLoopNodes->Node(InletNode).MassFlowRateMaxAvail = thisSys->m_MaxCoolAirVolFlow * state->dataEnvrn->StdRhoAir; - OutputReportPredefined::SetPredefinedTables(*state); - int AirLoopNum = 0; int CompIndex = 1; bool HeatActive = false; @@ -10354,8 +10317,6 @@ Curve:Biquadratic, state->dataEnvrn->StdRhoAir = Psychrometrics::PsyRhoAirFnPbTdbW(*state, 101325.0, 20.0, 0.0); // initialize RhoAir state->dataLoopNodes->Node(InletNode).MassFlowRateMaxAvail = thisSys->m_MaxCoolAirVolFlow * state->dataEnvrn->StdRhoAir; - OutputReportPredefined::SetPredefinedTables(*state); - int AirLoopNum = 0; int CompIndex = 1; bool HeatActive = false; @@ -12034,8 +11995,6 @@ Curve:Biquadratic, state->dataZoneEquip->ZoneEquipInputsFilled = true; thisSys->getUnitarySystemInputData(*state, compName, zoneEquipment, 0, ErrorsFound); // get UnitarySystem input from object above - OutputReportPredefined::SetPredefinedTables(*state); - state->dataSize->ZoneSizingRunDone = true; state->dataSize->ZoneEqSizing(state->dataSize->CurZoneEqNum).DesignSizeFromParent = false; state->dataSize->ZoneEqSizing(state->dataSize->CurZoneEqNum).SizingMethod.allocate(25); @@ -12577,7 +12536,6 @@ Curve:QuadLinear, state->dataEnvrn->StdRhoAir = Psychrometrics::PsyRhoAirFnPbTdbW(*state, 101325.0, 20.0, 0.0); // initialize RhoAir state->dataLoopNodes->Node(InletNode).MassFlowRateMaxAvail = thisSys->m_DesignFanVolFlowRate * state->dataEnvrn->StdRhoAir; - OutputReportPredefined::SetPredefinedTables(*state); // system output should match RemainingOutputRequired = 1000.0 W (heating mode) int AirLoopNum = 0; @@ -12921,7 +12879,6 @@ Schedule:Compact, state->dataEnvrn->StdRhoAir = Psychrometrics::PsyRhoAirFnPbTdbW(*state, 101325.0, 20.0, 0.0); // initialize RhoAir state->dataLoopNodes->Node(InletNode).MassFlowRateMaxAvail = thisSys->m_DesignFanVolFlowRate * state->dataEnvrn->StdRhoAir; - OutputReportPredefined::SetPredefinedTables(*state); // call once to initialize some variables (i.e., min air flow rate not correct on first pass) int AirLoopNum = 0; int CompIndex = 1; @@ -13897,8 +13854,6 @@ Schedule:Compact, thisSys->getUnitarySystemInputData(*state, compName, zoneEquipment, 0, ErrorsFound); // get UnitarySystem input from object above EXPECT_FALSE(ErrorsFound); // expect no errors - OutputReportPredefined::SetPredefinedTables(*state); - state->dataSize->ZoneSizingRunDone = true; state->dataSize->ZoneEqSizing(state->dataSize->CurZoneEqNum).DesignSizeFromParent = false; state->dataSize->ZoneEqSizing(state->dataSize->CurZoneEqNum).SizingMethod.allocate(25); @@ -14706,8 +14661,6 @@ TEST_F(EnergyPlusFixture, UnitarySystemModel_MultiSpeedCoils_SingleMode) state->dataZoneEquip->ZoneEquipInputsFilled = true; thisSys->getUnitarySystemInputData(*state, compName, zoneEquipment, 0, ErrorsFound); // get UnitarySystem input from object above - OutputReportPredefined::SetPredefinedTables(*state); - ControlZoneNum = 1; state->dataZoneEnergyDemand->ZoneSysEnergyDemand.allocate(1); state->dataZoneEnergyDemand->ZoneSysEnergyDemand(ControlZoneNum).SequencedOutputRequired.allocate(1); @@ -16776,7 +16729,6 @@ TEST_F(ZoneUnitarySysTest, UnitarySystemModel_FractionOfAutoSizedCoolingValueTes thisSys->getUnitarySystemInputData(*state, compName, zoneEquipment, 0, ErrorsFound); // get UnitarySystem input from object above EXPECT_FALSE(ErrorsFound); // expect no errors - OutputReportPredefined::SetPredefinedTables(*state); state->dataSize->ZoneSizingRunDone = true; // DataSizing::NumPltSizInput = 2; @@ -16928,7 +16880,6 @@ TEST_F(ZoneUnitarySysTest, UnitarySystemModel_FlowPerCoolingCapacityTest) thisSys->getUnitarySystemInputData(*state, compName, zoneEquipment, 0, ErrorsFound); // get UnitarySystem input from object above EXPECT_FALSE(ErrorsFound); // expect no errors - OutputReportPredefined::SetPredefinedTables(*state); state->dataSize->ZoneSizingRunDone = true; state->dataPlnt->PlantLoop(1).glycol = Fluid::GetWater(*state); @@ -19826,7 +19777,6 @@ Curve:Biquadratic, EXPECT_EQ(thisSys->m_MaxHeatAirVolFlow, DataSizing::AutoSize); EXPECT_EQ(thisSys->m_MaxNoCoolHeatAirVolFlow, DataSizing::AutoSize); - OutputReportPredefined::SetPredefinedTables(*state); FirstHVACIteration = false; state->dataGlobal->BeginEnvrnFlag = false; int AirLoopNum = 0; @@ -20137,7 +20087,6 @@ TEST_F(ZoneUnitarySysTest, UnitarySystemModel_MultiSpeedDXCoilsNoLoadFlowRateSiz EXPECT_EQ(thisSys->m_MaxNoCoolHeatAirVolFlow, DataSizing::AutoSize); EXPECT_EQ(thisSys->m_NoLoadAirFlowRateRatio, 1.0); - OutputReportPredefined::SetPredefinedTables(*state); FirstHVACIteration = false; state->dataGlobal->BeginEnvrnFlag = false; int AirLoopNum = 0; @@ -21338,8 +21287,6 @@ Curve:Quadratic, thisSys->getUnitarySystemInputData(*state, compName, zoneEquipment, 0, ErrorsFound); // get UnitarySystem input from object above EXPECT_FALSE(ErrorsFound); // expect no errors - OutputReportPredefined::SetPredefinedTables(*state); - // UnitarySystem used as zone equipment will not be modeled when FirstHAVCIteration is true, first time FirstHVACIteration = false will disable // the 'return' on FirstHVACIteration = true set FirstHVACIteration to false for unit testing to size water coils FirstHVACIteration = false; @@ -21531,8 +21478,6 @@ Curve:Quadratic, thisSys->getUnitarySystemInputData(*state, compName, zoneEquipment, 0, ErrorsFound); // get UnitarySystem input from object above EXPECT_FALSE(ErrorsFound); // expect no errors - OutputReportPredefined::SetPredefinedTables(*state); - // UnitarySystem used as zone equipment will not be modeled when FirstHAVCIteration is true, first time FirstHVACIteration = false will disable // the 'return' on FirstHVACIteration = true set FirstHVACIteration to false for unit testing to size water coils FirstHVACIteration = false; @@ -21827,8 +21772,6 @@ Schedule:Compact, RefrigeratedCase::ManageRefrigeratedCaseRacks(*state); - OutputReportPredefined::SetPredefinedTables(*state); - // UnitarySystem used as zone equipment will not be modeled when FirstHAVCIteration is true, first time FirstHVACIteration = false will disable // the 'return' on FirstHVACIteration = true set FirstHVACIteration to false for unit testing to size water coils FirstHVACIteration = false; @@ -22962,7 +22905,6 @@ TEST_F(AirloopUnitarySysTest, WSHPVariableSpeedCoilSizing) // test that correct CapFT inputs are used for the WSHP cooling coil state->dataEnvrn->OutBaroPress = 101325.0; state->dataEnvrn->StdRhoAir = Psychrometrics::PsyRhoAirFnPbTdbW(*state, state->dataEnvrn->OutBaroPress, 20.0, 0.0); - OutputReportPredefined::SetPredefinedTables(*state); // set up sizing flags state->dataSize->SysSizingRunDone = true; @@ -23346,8 +23288,6 @@ Curve:Biquadratic, EIRFT, 1, 0, 0, 0, 0, 0, 0, 100, 0, 100, , , Temperature, Tem thisSys->getUnitarySystemInputData(*state, UnitarySysName, zoneEquipment, 0, ErrorsFound); EXPECT_FALSE(ErrorsFound); - OutputReportPredefined::SetPredefinedTables(*state); - // set environment conditions state->dataEnvrn->OutDryBulbTemp = 35.0; state->dataEnvrn->OutHumRat = 0.0196; @@ -23613,8 +23553,6 @@ Coil:Heating:Gas:MultiStage, thisSys->getUnitarySystemInputData(*state, compName, zoneEquipment, 0, ErrorsFound); // get UnitarySystem input from object above EXPECT_FALSE(ErrorsFound); // expect no errors - OutputReportPredefined::SetPredefinedTables(*state); - FirstHVACIteration = false; state->dataGlobal->BeginEnvrnFlag = false; @@ -26947,8 +26885,6 @@ TEST_F(ZoneUnitarySysTest, ZeroCoolingSpeedTest) auto thisSys = &state->dataUnitarySystems->unitarySys[0]; thisSys->getUnitarySystemInputData(*state, compName, zoneEquipment, 0, ErrorsFound); - OutputReportPredefined::SetPredefinedTables(*state); - state->dataGlobal->BeginEnvrnFlag = false; state->dataLoopNodes->Node(thisSys->CoolCoilInletNodeNum).MassFlowRate = 0.05; state->dataZoneEnergyDemand->ZoneSysEnergyDemand.allocate(1); diff --git a/tst/EnergyPlus/unit/VariableSpeedCoils.unit.cc b/tst/EnergyPlus/unit/VariableSpeedCoils.unit.cc index 2b5af70557f..95562bfb2a4 100644 --- a/tst/EnergyPlus/unit/VariableSpeedCoils.unit.cc +++ b/tst/EnergyPlus/unit/VariableSpeedCoils.unit.cc @@ -3002,7 +3002,6 @@ TEST_F(EnergyPlusFixture, VariableSpeedCoils_ContFanCycCoil_Test) // get coil inputs VariableSpeedCoils::GetVarSpeedCoilInput(*state); // Setting predefined tables is needed though - OutputReportPredefined::SetPredefinedTables(*state); // Set up some environmental parameters state->dataEnvrn->OutDryBulbTemp = 5.0; state->dataEnvrn->OutHumRat = 0.0009; @@ -6960,7 +6959,6 @@ TEST_F(EnergyPlusFixture, VariableSpeedCoils_Coil_Defrost_Power_Fix_Test) state->dataVariableSpeedCoils->GetCoilsInputFlag = false; // Setting predefined tables is needed though - OutputReportPredefined::SetPredefinedTables(*state); // Set up some environmental parameters state->dataEnvrn->OutDryBulbTemp = -5.0; state->dataEnvrn->OutHumRat = 0.0009; @@ -7247,7 +7245,6 @@ TEST_F(EnergyPlusFixture, VariableSpeedCoils_ZeroRatedCoolingCapacity_Test) // get coil inputs VariableSpeedCoils::GetVarSpeedCoilInput(*state); // Setting predefined tables is needed though - OutputReportPredefined::SetPredefinedTables(*state); // Set up some environmental parameters state->dataEnvrn->OutDryBulbTemp = 5.0; state->dataEnvrn->OutHumRat = 0.0009; diff --git a/tst/EnergyPlus/unit/WaterCoils.unit.cc b/tst/EnergyPlus/unit/WaterCoils.unit.cc index 994b0ea894c..72171bf7159 100644 --- a/tst/EnergyPlus/unit/WaterCoils.unit.cc +++ b/tst/EnergyPlus/unit/WaterCoils.unit.cc @@ -1125,8 +1125,6 @@ TEST_F(WaterCoilsTest, CoilCoolingWaterDetailed_WarningMath) state->dataSize->PlantSizData(1).DeltaT = 5.0; state->dataSize->DataWaterLoopNum = 1; - OutputReportPredefined::SetPredefinedTables(*state); - // run water coil sizing SizeWaterCoil(*state, CoilNum); EXPECT_DOUBLE_EQ(1.0, waterCoil1.DesAirVolFlowRate); diff --git a/tst/EnergyPlus/unit/WaterThermalTanks.unit.cc b/tst/EnergyPlus/unit/WaterThermalTanks.unit.cc index 16ee96c7702..dc9714f42ab 100644 --- a/tst/EnergyPlus/unit/WaterThermalTanks.unit.cc +++ b/tst/EnergyPlus/unit/WaterThermalTanks.unit.cc @@ -1060,7 +1060,6 @@ TEST_F(EnergyPlusFixture, HPWHSizing) state->dataHVACGlobal->TimeStepSysSec = state->dataHVACGlobal->TimeStepSys * Constant::rSecsInHour; state->dataEnvrn->OutBaroPress = 101325; - SetPredefinedTables(*state); state->dataZoneTempPredictorCorrector->zoneHeatBalance.allocate(1); state->dataZoneTempPredictorCorrector->zoneHeatBalance(1).MAT = 20.0; WaterThermalTanks::SimHeatPumpWaterHeater(*state, "Zone4HeatPumpWaterHeater", true, SenseLoadMet, LatLoadMet, CompIndex); @@ -1438,7 +1437,6 @@ TEST_F(EnergyPlusFixture, HPWHTestSPControl) state->dataGlobal->HourOfDay = 1; state->dataEnvrn->DayOfWeek = 1; state->dataEnvrn->DayOfYear_Schedule = 1; - SetPredefinedTables(*state); Sched::UpdateScheduleVals(*state); WaterThermalTanks::GetWaterThermalTankInput(*state); @@ -5378,7 +5376,6 @@ TEST_F(EnergyPlusFixture, CrashCalcStandardRatings_HPWH_and_Standalone) state->dataGlobal->HourOfDay = 1; state->dataEnvrn->DayOfWeek = 1; state->dataEnvrn->DayOfYear_Schedule = 1; - SetPredefinedTables(*state); Sched::UpdateScheduleVals(*state); WaterThermalTanks::GetWaterThermalTankInput(*state); diff --git a/tst/EnergyPlus/unit/WindowAC.unit.cc b/tst/EnergyPlus/unit/WindowAC.unit.cc index 7dfd9822de3..d087fcc9c26 100644 --- a/tst/EnergyPlus/unit/WindowAC.unit.cc +++ b/tst/EnergyPlus/unit/WindowAC.unit.cc @@ -449,7 +449,6 @@ TEST_F(EnergyPlusFixture, WindowAC_VStest1) state->dataGlobal->DDOnlySimulation = true; SimulationManager::GetProjectData(*state); - OutputReportPredefined::SetPredefinedTables(*state); HeatBalanceManager::SetPreConstructionInputParameters(*state); // establish array bounds for constructions early state->dataGlobal->BeginSimFlag = true; @@ -924,7 +923,6 @@ TEST_F(EnergyPlusFixture, WindowAC_DesignSpecificationZoneHVACSizing) state->dataGlobal->DDOnlySimulation = true; SimulationManager::GetProjectData(*state); - OutputReportPredefined::SetPredefinedTables(*state); HeatBalanceManager::SetPreConstructionInputParameters(*state); // establish array bounds for constructions early state->dataGlobal->BeginSimFlag = true; diff --git a/tst/EnergyPlus/unit/ZoneTempPredictorCorrector.unit.cc b/tst/EnergyPlus/unit/ZoneTempPredictorCorrector.unit.cc index e0d4cdb95d7..6571a6c9f2f 100644 --- a/tst/EnergyPlus/unit/ZoneTempPredictorCorrector.unit.cc +++ b/tst/EnergyPlus/unit/ZoneTempPredictorCorrector.unit.cc @@ -1961,8 +1961,6 @@ TEST_F(EnergyPlusFixture, FillPredefinedTableOnThermostatSchedules_Test) auto &orp = *state->dataOutRptPredefined; auto &dzc = *state->dataZoneCtrls; - SetPredefinedTables(*state); - dzc.NumTempControlledZones = 4; dzc.TempControlledZone.allocate(dzc.NumTempControlledZones); @@ -2147,8 +2145,6 @@ TEST_F(EnergyPlusFixture, FillPredefinedTableOnThermostatSchedules_MultipleContr auto &orp = *state->dataOutRptPredefined; auto &dzc = *state->dataZoneCtrls; - SetPredefinedTables(*state); - constexpr int NumControlTypes = 4; dzc.NumTempControlledZones = NumControlTypes; dzc.TempControlledZone.allocate(dzc.NumTempControlledZones);