From 2e4db265fae1fb87284308fc228a7fd4ae1c822b Mon Sep 17 00:00:00 2001 From: Dareum Nam Date: Fri, 30 Jan 2026 08:26:53 -0700 Subject: [PATCH 1/4] unread variable values 1 --- src/ConvertInputFormat/main.cpp | 1 - src/EnergyPlus/ChillerExhaustAbsorption.cc | 1 - src/EnergyPlus/ChillerGasAbsorption.cc | 1 - src/EnergyPlus/DuctLoss.cc | 6 +++--- src/EnergyPlus/GroundHeatExchangers/Vertical.cc | 4 ---- src/EnergyPlus/HVACVariableRefrigerantFlow.cc | 2 -- src/EnergyPlus/HybridEvapCoolingModel.cc | 1 - src/EnergyPlus/MicroCHPElectricGenerator.cc | 2 -- src/EnergyPlus/PCMThermalStorage.cc | 1 - src/EnergyPlus/PlantLoopHeatPumpEIR.cc | 12 ++---------- src/EnergyPlus/PluginManager.cc | 1 - src/EnergyPlus/Psychrometrics.cc | 1 - src/EnergyPlus/RefrigeratedCase.cc | 6 ++---- src/EnergyPlus/RoomAirModelAirflowNetwork.cc | 5 ----- src/EnergyPlus/SimAirServingZones.cc | 13 ++----------- src/EnergyPlus/SolarShading.cc | 2 +- 16 files changed, 10 insertions(+), 49 deletions(-) diff --git a/src/ConvertInputFormat/main.cpp b/src/ConvertInputFormat/main.cpp index b0a9576f2cd..04f0ec3c841 100644 --- a/src/ConvertInputFormat/main.cpp +++ b/src/ConvertInputFormat/main.cpp @@ -569,7 +569,6 @@ Select one (case insensitive): #else if (number_of_threads > 1) { displayMessage("ConvertInputFormat is not compiled with OpenMP. Only running on 1 thread, not requested {} threads.", number_of_threads); - number_of_threads = 1; } for (auto const &file : files) { diff --git a/src/EnergyPlus/ChillerExhaustAbsorption.cc b/src/EnergyPlus/ChillerExhaustAbsorption.cc index 53b54ac3e21..ea4f817224b 100644 --- a/src/EnergyPlus/ChillerExhaustAbsorption.cc +++ b/src/EnergyPlus/ChillerExhaustAbsorption.cc @@ -337,7 +337,6 @@ void GetExhaustAbsorberInput(EnergyPlusData &state) auto &thisChiller = state.dataChillerExhaustAbsorption->ExhaustAbsorber(AbsorberNum); thisChiller.Name = s_ipsc->cAlphaArgs(1); - std::string ChillerName = fmt::format("{} Named {}", cCurrentModuleObject, thisChiller.Name); // Assign capacities thisChiller.NomCoolingCap = s_ipsc->rNumericArgs(1); diff --git a/src/EnergyPlus/ChillerGasAbsorption.cc b/src/EnergyPlus/ChillerGasAbsorption.cc index a93b93d2be5..3be262f7b23 100644 --- a/src/EnergyPlus/ChillerGasAbsorption.cc +++ b/src/EnergyPlus/ChillerGasAbsorption.cc @@ -321,7 +321,6 @@ void GetGasAbsorberInput(EnergyPlusData &state) auto &thisChiller = state.dataChillerGasAbsorption->GasAbsorber(AbsorberNum); thisChiller.Name = s_ipsc->cAlphaArgs(1); - std::string ChillerName = s_ipsc->cCurrentModuleObject + " Named " + thisChiller.Name; // Assign capacities thisChiller.NomCoolingCap = s_ipsc->rNumericArgs(1); diff --git a/src/EnergyPlus/DuctLoss.cc b/src/EnergyPlus/DuctLoss.cc index 245992afcdf..5c5fe1619c8 100644 --- a/src/EnergyPlus/DuctLoss.cc +++ b/src/EnergyPlus/DuctLoss.cc @@ -374,6 +374,9 @@ namespace DuctLoss { if (!airLoopFound) { ShowSevereError(state, "Multiple AirLoopHVAC names are found. A single AirLoopHVAC is required"); errorsFound = true; + if (errorsFound) { + ShowFatalError(state, "GetDuctLossMakeupAirInput: Previous errors cause termination."); + } } state.dataDuctLoss->SplitterNum = 1; state.dataDuctLoss->MixerNum = 1; @@ -833,9 +836,6 @@ namespace DuctLoss { thisDuctLoss.LossSubType = DuctLossSubType::SupLeakTrunk; state.dataDuctLoss->SubTypeSimuFlag(int(DuctLossSubType::SupLeakTrunk) + 1) = true; } - } else { - // DO we need nodenum=0? - NodeNum1 = 0; } if (Util::SameString(state.afn->DisSysNodeData(AFNNodeNum1).EPlusType, "Zone") || Util::SameString(state.afn->DisSysNodeData(AFNNodeNum1).EPlusType, "OutdoorAir:NodeList") || diff --git a/src/EnergyPlus/GroundHeatExchangers/Vertical.cc b/src/EnergyPlus/GroundHeatExchangers/Vertical.cc index 633d7d29025..a36825bd351 100644 --- a/src/EnergyPlus/GroundHeatExchangers/Vertical.cc +++ b/src/EnergyPlus/GroundHeatExchangers/Vertical.cc @@ -733,7 +733,6 @@ fs::path GLHEVert::runGHEDesigner(EnergyPlusData &state, nlohmann::json const &i void GLHEVert::performBoreholeFieldDesignAndSizingWithGHEDesigner(EnergyPlusData &state, std::vector const &hourlyLoads) const { nlohmann::json gheDesignerInputs = this->getCommonGHEDesignerInputs(state); - std::string const p = fmt::format("[GHEDesigner Calculation for GHE Named: {}] ", this->name); // grab thermal and borehole properties nlohmann::json grout = {{"conductivity", this->grout.k}, {"rho_cp", this->grout.rhoCp}}; @@ -868,7 +867,6 @@ void GLHEVert::performBoreholeFieldDesignAndSizingWithGHEDesigner(EnergyPlusData nlohmann::json data = nlohmann::json::parse(file3); std::vector t = data["log_time"]; std::vector g = data["g_values"]; - std::vector gbhw = data["g_bhw_values"]; this->myRespFactors->time = t; this->myRespFactors->LNTTS = t; this->myRespFactors->GFNC = g; @@ -1287,8 +1285,6 @@ void GLHEVert::calcShortTimestepGFunctions(EnergyPlusData &state) for (auto const val : GFNC_shortTimestep) { g << val << '\n'; } - std::string l2 = l.str(); - std::string g2 = g.str(); } Real64 GLHEVert::calcBHAverageResistance(EnergyPlusData &state) diff --git a/src/EnergyPlus/HVACVariableRefrigerantFlow.cc b/src/EnergyPlus/HVACVariableRefrigerantFlow.cc index 9ca881fb290..6e604547952 100644 --- a/src/EnergyPlus/HVACVariableRefrigerantFlow.cc +++ b/src/EnergyPlus/HVACVariableRefrigerantFlow.cc @@ -11299,8 +11299,6 @@ void VRFCondenserEquipment::CalcVRFCondenser_FluidTCtrl(EnergyPlusData &state, c NumTUInCoolingMode = 0; NumTUInHeatingMode = 0; Tolerance = 0.05; - Counter = 1; - NumIteHIUIn = 1; this->ElecCoolingPower = 0.0; this->ElecHeatingPower = 0.0; this->CrankCaseHeaterPower = 0.0; diff --git a/src/EnergyPlus/HybridEvapCoolingModel.cc b/src/EnergyPlus/HybridEvapCoolingModel.cc index f80e6c95ab3..917eafb9345 100644 --- a/src/EnergyPlus/HybridEvapCoolingModel.cc +++ b/src/EnergyPlus/HybridEvapCoolingModel.cc @@ -1911,7 +1911,6 @@ namespace HybridEvapCoolingModel { if (OutletMassFlowRate > 0) { averageOSAF = SupplyVentilationAir / OutletMassFlowRate; } else { - std::string ObjectID = Name.c_str(); if (CoolingRequested || HeatingRequested) { ShowSevereError( state, diff --git a/src/EnergyPlus/MicroCHPElectricGenerator.cc b/src/EnergyPlus/MicroCHPElectricGenerator.cc index d2c29936327..0f6a7f665d4 100644 --- a/src/EnergyPlus/MicroCHPElectricGenerator.cc +++ b/src/EnergyPlus/MicroCHPElectricGenerator.cc @@ -178,8 +178,6 @@ void GetMicroCHPGeneratorInput(EnergyPlusData &state) auto µCHPParams = state.dataCHPElectGen->MicroCHPParamInput(CHPParamNum); - std::string ObjMSGName = s_ipsc->cCurrentModuleObject + " Named " + AlphArray(1); - microCHPParams.Name = AlphArray(1); // A1 name microCHPParams.MaxElecPower = NumArray(1); // N1 Maximum Electric Power [W] microCHPParams.MinElecPower = NumArray(2); // N2 Minimum Electric Power [W] diff --git a/src/EnergyPlus/PCMThermalStorage.cc b/src/EnergyPlus/PCMThermalStorage.cc index ee7ace15f99..10f5169b128 100644 --- a/src/EnergyPlus/PCMThermalStorage.cc +++ b/src/EnergyPlus/PCMThermalStorage.cc @@ -487,7 +487,6 @@ namespace PCMStorage { int NumPCMObjs = state.dataInputProcessing->inputProcessor->getNumObjectsFound(state, "ThermalStorage:PCM"); if (NumPCMObjs != 1) { ShowSevereError(state, "Exactly one ThermalStorage:PCM object is required."); - ErrorsFound = true; return; } diff --git a/src/EnergyPlus/PlantLoopHeatPumpEIR.cc b/src/EnergyPlus/PlantLoopHeatPumpEIR.cc index 05f96d1d664..dfeba95eb18 100644 --- a/src/EnergyPlus/PlantLoopHeatPumpEIR.cc +++ b/src/EnergyPlus/PlantLoopHeatPumpEIR.cc @@ -2707,13 +2707,10 @@ void HeatPumpAirToWater::oneTimeInit(EnergyPlusData &state) return; } EIRPlantLoopHeatPump::oneTimeInit(state); - std::string suffix; std::string mode_keyword; if (this->EIRHPType == DataPlant::PlantEquipmentType::HeatPumpAirToWaterHeating) { - suffix = " in Heating Mode"; mode_keyword = "Heating"; } else if (this->EIRHPType == DataPlant::PlantEquipmentType::HeatPumpAirToWaterCooling) { - suffix = " in Cooling Mode"; mode_keyword = "Cooling"; } if (this->EIRHPType == DataPlant::PlantEquipmentType::HeatPumpAirToWaterHeating || @@ -4261,11 +4258,8 @@ void EIRPlantLoopHeatPump::setUpEMS(EnergyPlusData &) void HeatPumpAirToWater::setUpEMS(EnergyPlusData &state) { - - std::string mode_keyword; if (this->EIRHPType == DataPlant::PlantEquipmentType::HeatPumpAirToWaterHeating) { // defrost related actuators - mode_keyword = "Heating"; SetupEMSActuator( state, "HeatPump:AirToWater", this->name, "Defrost Flag", "[]", this->DefrosstFlagEMSOverrideOn, this->DefrosstFlagEMSOverrideValue); SetupEMSActuator(state, @@ -4282,8 +4276,6 @@ void HeatPumpAirToWater::setUpEMS(EnergyPlusData &state) "[C]", this->LeavingTempEMSOverrideOn, this->LeavingTempEMSOverrideValue); - } else { - mode_keyword = "Cooling"; } SetupEMSActuator( state, "HeatPump:AirToWater", this->name, "Operating Mode", "[ ]", this->OperationModeEMSOverrideOn, this->OperationModeEMSOverrideValue); @@ -4609,8 +4601,8 @@ void HeatPumpAirToWater::calcOpMode(EnergyPlus::EnergyPlusData &state, Real64 cu } int numCoolingUnit = 0; int numHeatingUnit = 0; - int numCoolingUnitNeeded = 0; - int numHeatingUnitNeeded = 0; + int numCoolingUnitNeeded; + int numHeatingUnitNeeded; if (modeCalcMethod == OperatingModeControlOptionMultipleUnit::CoolingPriority) { // prioritize satisfy cooling need numCoolingUnit = int(ceil(coolingLoad / coolCapacity)); diff --git a/src/EnergyPlus/PluginManager.cc b/src/EnergyPlus/PluginManager.cc index 08e712304e2..eda61c572d3 100644 --- a/src/EnergyPlus/PluginManager.cc +++ b/src/EnergyPlus/PluginManager.cc @@ -200,7 +200,6 @@ void PluginManager::setupOutputVariables([[maybe_unused]] EnergyPlusData &state) for (auto instance = instancesValue.begin(); instance != instancesValue.end(); ++instance) { auto const &fields = instance.value(); std::string const &thisObjectName = instance.key(); - std::string const objNameUC = Util::makeUPPER(thisObjectName); // no need to validate name, the JSON will validate that. state.dataInputProcessing->inputProcessor->markObjectAsUsed(sOutputVariable, thisObjectName); std::string varName = fields.at("python_plugin_variable_name").get(); diff --git a/src/EnergyPlus/Psychrometrics.cc b/src/EnergyPlus/Psychrometrics.cc index 73a8eb96500..a5395c5fae7 100644 --- a/src/EnergyPlus/Psychrometrics.cc +++ b/src/EnergyPlus/Psychrometrics.cc @@ -1345,7 +1345,6 @@ namespace Psychrometrics { return state.dataPsychrometrics->tSat_Save; } state.dataPsychrometrics->Press_Save = Press; - iter = 0; if (state.dataPsychrometrics->useInterpolationPsychTsatFnPb) { int n_sample = 1651; // sample bin size = 64 Pa; continuous sample size = 1651 // CSpline interpolation diff --git a/src/EnergyPlus/RefrigeratedCase.cc b/src/EnergyPlus/RefrigeratedCase.cc index dd3acc3bc46..f9308a7c348 100644 --- a/src/EnergyPlus/RefrigeratedCase.cc +++ b/src/EnergyPlus/RefrigeratedCase.cc @@ -16295,8 +16295,6 @@ void ZeroHVACValues(EnergyPlusData &state) // to zero when called on zone timestep. Otherwise, values may be held over when // no HVAC load calls module during that zone time step. - int DemandARRID = 0; // Index to water tank Demand used for evap condenser - if (state.dataRefrigCase->HaveRefrigRacks) { // HaveRefrigRacks is TRUE when NumRefrigeratedRAcks > 0 // RefrigRack ALLOCATED to NumRefrigeratedRacks @@ -16309,7 +16307,7 @@ void ZeroHVACValues(EnergyPlusData &state) } if (RefrigRack(RackNum).CondenserType == DataHeatBalance::RefrigCondenserType::Evap) { if (RefrigRack(RackNum).EvapWaterSupplyMode == WaterSupply::FromTank) { - DemandARRID = RefrigRack(RackNum).EvapWaterTankDemandARRID; + int DemandARRID = RefrigRack(RackNum).EvapWaterTankDemandARRID; int TankID = RefrigRack(RackNum).EvapWaterSupTankID; state.dataWaterData->WaterStorage(TankID).VdotRequestDemand(DemandARRID) = 0.0; } @@ -16328,7 +16326,7 @@ void ZeroHVACValues(EnergyPlusData &state) } if (Condenser(CondID).CondenserType == DataHeatBalance::RefrigCondenserType::Evap) { if (Condenser(CondID).EvapWaterSupplyMode == WaterSupply::FromTank) { - DemandARRID = Condenser(CondID).EvapWaterTankDemandARRID; + int DemandARRID = Condenser(CondID).EvapWaterTankDemandARRID; int TankID = Condenser(CondID).EvapWaterSupTankID; state.dataWaterData->WaterStorage(TankID).VdotRequestDemand(DemandARRID) = 0.0; } diff --git a/src/EnergyPlus/RoomAirModelAirflowNetwork.cc b/src/EnergyPlus/RoomAirModelAirflowNetwork.cc index 7e9f7ae8432..2830b3f4ba0 100644 --- a/src/EnergyPlus/RoomAirModelAirflowNetwork.cc +++ b/src/EnergyPlus/RoomAirModelAirflowNetwork.cc @@ -185,11 +185,6 @@ namespace RoomAir { if (!afnZoneInfo.IsUsed) { continue; } - int NumSurfs = 0; // NumSurfs isn't used anywhere? - for (int spaceNum : state.dataHeatBal->Zone(iZone).spaceIndexes) { - auto const &thisSpace = state.dataHeatBal->space(spaceNum); - NumSurfs += thisSpace.HTSurfaceLast - thisSpace.HTSurfaceFirst + 1; - } for (auto &afnNode : afnZoneInfo.Node) { // calculate volume of air in node's control volume diff --git a/src/EnergyPlus/SimAirServingZones.cc b/src/EnergyPlus/SimAirServingZones.cc index b8e7176bf60..f50debf0122 100644 --- a/src/EnergyPlus/SimAirServingZones.cc +++ b/src/EnergyPlus/SimAirServingZones.cc @@ -2381,10 +2381,8 @@ void ConnectReturnNodes(EnergyPlusData &state) continue; } for (int zoneOutNum = 1; zoneOutNum <= thisZoneEquip.NumReturnNodes; ++zoneOutNum) { - bool returnFound = false; if (thisZoneEquip.ReturnNode(zoneOutNum) == zeqReturnNodeNum) { thisZoneEquip.ReturnNodeAirLoopNum(zoneOutNum) = airLoopNum; - returnFound = true; // Find matching inlet node connected to the same air loop for (int inletNum = 1; inletNum <= thisZoneEquip.NumInletNodes; ++inletNum) { if (thisZoneEquip.InletNodeAirLoopNum(inletNum) == airLoopNum) { @@ -2394,9 +2392,6 @@ void ConnectReturnNodes(EnergyPlusData &state) } break; // leave zone return node loop } - if (returnFound) { - break; // leave controlled zone loop - } } } } @@ -3742,8 +3737,6 @@ void UpdateBranchConnections(EnergyPlusData &state, int InletNodeNum; // node number of splitter inlet node int OutletNodeNum; // node number of a splitter outlet node - int RABNodeNum; // splitter outlet RAB node - int NonRABNodeNum; // splitter outlet nonRAB node Real64 MassFlowRateSetSum; // sum of mass flow rate setpoints for splitter outlet nodes Real64 MassFlowRateOut; // outlet mass flow rate of mixer Real64 MassFlowRateMinAvailOut; // outlet minimum available mass flow rate @@ -3758,8 +3751,6 @@ void UpdateBranchConnections(EnergyPlusData &state, OutletHumRat = 0.0; OutletEnthalpy = 0.0; OutletPress = 0.0; - RABNodeNum = 0; - NonRABNodeNum = 0; OutletCO2 = 0.0; OutletGC = 0.0; @@ -3803,8 +3794,8 @@ void UpdateBranchConnections(EnergyPlusData &state, } } else { // set the RAB flow rates auto &AirLoopControlInfo = state.dataAirLoop->AirLoopControlInfo; - RABNodeNum = PrimaryAirSystems(AirLoopNum).RABSplitOutNode; - NonRABNodeNum = PrimaryAirSystems(AirLoopNum).OtherSplitOutNode; + int RABNodeNum = PrimaryAirSystems(AirLoopNum).RABSplitOutNode; // splitter outlet RAB node + int NonRABNodeNum = PrimaryAirSystems(AirLoopNum).OtherSplitOutNode; // splitter outlet nonRAB node if (AirLoopControlInfo(AirLoopNum).EconoActive) { state.dataLoopNodes->Node(RABNodeNum).MassFlowRate = 0.0; state.dataLoopNodes->Node(NonRABNodeNum).MassFlowRate = state.dataLoopNodes->Node(InletNodeNum).MassFlowRate; diff --git a/src/EnergyPlus/SolarShading.cc b/src/EnergyPlus/SolarShading.cc index 07a777a06d5..62ac22ec46b 100644 --- a/src/EnergyPlus/SolarShading.cc +++ b/src/EnergyPlus/SolarShading.cc @@ -777,7 +777,7 @@ void processShadowingInput(EnergyPlusData &state) for (int SurfNum = 1; SurfNum <= state.dataSurface->TotSurfaces; SurfNum++) { if (state.dataSurface->Surface(SurfNum).ExtBoundCond == 0) { // Loop through all exterior surfaces int SurfZoneGroup = 0; - int CurZoneGroup = 0; + int CurZoneGroup; // Check the shading zone group of each exterior surface for (int ZoneGroupLoop = 1; ZoneGroupLoop <= NumOfShadingGroups; ZoneGroupLoop++) { // Loop through all defined shading groups CurZoneGroup = DisableSelfShadingGroups(ZoneGroupLoop); From 8235b745ff8d02807eb9aecc361873835d87f078 Mon Sep 17 00:00:00 2001 From: Dareum Nam Date: Fri, 6 Feb 2026 00:07:47 -0700 Subject: [PATCH 2/4] unread variable values 2 --- src/ConvertInputFormat/main.cpp | 1 + src/EnergyPlus/Furnaces.cc | 1 - src/EnergyPlus/HVACManager.cc | 2 +- src/EnergyPlus/HVACVariableRefrigerantFlow.cc | 1 - src/EnergyPlus/InputProcessing/InputProcessor.cc | 7 ++----- src/EnergyPlus/SolarShading.cc | 3 +-- src/EnergyPlus/ThermalComfort.cc | 7 ++----- src/EnergyPlus/UtilityRoutines.cc | 4 +--- src/EnergyPlus/WaterManager.cc | 4 ---- src/EnergyPlus/WindowComplexManager.cc | 15 ++++----------- src/EnergyPlus/WindowEquivalentLayer.cc | 3 +-- src/EnergyPlus/WindowManager.cc | 3 ++- src/EnergyPlus/api/datatransfer.cc | 1 - 13 files changed, 15 insertions(+), 37 deletions(-) diff --git a/src/ConvertInputFormat/main.cpp b/src/ConvertInputFormat/main.cpp index 08bbf58d21b..a2465522198 100644 --- a/src/ConvertInputFormat/main.cpp +++ b/src/ConvertInputFormat/main.cpp @@ -569,6 +569,7 @@ Select one (case insensitive): #else if (number_of_threads > 1) { displayMessage("ConvertInputFormat is not compiled with OpenMP. Only running on 1 thread, not requested {} threads.", number_of_threads); + number_of_threads = 1; } for (auto const &file : files) { diff --git a/src/EnergyPlus/Furnaces.cc b/src/EnergyPlus/Furnaces.cc index 6010ee82986..1df5bb07362 100644 --- a/src/EnergyPlus/Furnaces.cc +++ b/src/EnergyPlus/Furnaces.cc @@ -703,7 +703,6 @@ namespace Furnaces { if (errorFound) { ShowSevereError(state, format("The index of \"{}\" is not found", thisFurnace.SuppHeatCoilName)); ShowContinueError(state, format("...occurs for {}", thisFurnace.Name)); - errorFound = false; } state.dataAirLoop->AirLoopAFNInfo(AirLoopNum).AFNLoopHeatingCoilMaxRTF = max(refAFNLoopHeatingCoilMaxRTF, heatingCoilRTF, suppHeatingCoilRTF); diff --git a/src/EnergyPlus/HVACManager.cc b/src/EnergyPlus/HVACManager.cc index a639137f7cc..3abc9f4f267 100644 --- a/src/EnergyPlus/HVACManager.cc +++ b/src/EnergyPlus/HVACManager.cc @@ -2983,7 +2983,7 @@ void SetHeatToReturnAirFlag(EnergyPlusData &state) void UpdateZoneInletConvergenceLog(EnergyPlusData &state) { - std::array tmpRealARR = {}; + std::array tmpRealARR; for (int ZoneNum = 1; ZoneNum <= state.dataGlobal->NumOfZones; ++ZoneNum) { diff --git a/src/EnergyPlus/HVACVariableRefrigerantFlow.cc b/src/EnergyPlus/HVACVariableRefrigerantFlow.cc index aaf96d6373d..db6bbe1a9dd 100644 --- a/src/EnergyPlus/HVACVariableRefrigerantFlow.cc +++ b/src/EnergyPlus/HVACVariableRefrigerantFlow.cc @@ -13759,7 +13759,6 @@ void VRFCondenserEquipment::VRFOU_TeModification( } while (!converged_11); if (std::abs(Tsuction - Te_low) > 0.5) { - NumTeIte = 999; Tsuction = Te_low; Pipe_SH_merged = 3.0; Te_update = Te_low + 1; diff --git a/src/EnergyPlus/InputProcessing/InputProcessor.cc b/src/EnergyPlus/InputProcessing/InputProcessor.cc index d5c422e39e9..f7e5d436f8e 100644 --- a/src/EnergyPlus/InputProcessing/InputProcessor.cc +++ b/src/EnergyPlus/InputProcessing/InputProcessor.cc @@ -689,7 +689,6 @@ int InputProcessor::getIntFieldValue(json const &ep_object, json const &schema_o auto const &schema_field_obj = schema_obj_props[fieldName]; assert(!schema_field_obj.empty()); // Check that field name exists in the schema for this object type - bool isDefaulted = false; int value = 0; Real64 defaultValue = 0.0; auto it = ep_object.find(fieldName); @@ -702,14 +701,12 @@ int InputProcessor::getIntFieldValue(json const &ep_object, json const &schema_o // really is an int then the input processor will have forced it to be an integer. assert(!field_value.is_number()); } else if (field_value.get().empty()) { - isDefaulted = findDefault(defaultValue, schema_field_obj); - if (isDefaulted) { + if (findDefault(defaultValue, schema_field_obj)) { value = static_cast(defaultValue); } } } else { - isDefaulted = findDefault(defaultValue, schema_field_obj); - if (isDefaulted) { + if (findDefault(defaultValue, schema_field_obj)) { value = static_cast(defaultValue); } } diff --git a/src/EnergyPlus/SolarShading.cc b/src/EnergyPlus/SolarShading.cc index ad408da6480..8e37985a2a8 100644 --- a/src/EnergyPlus/SolarShading.cc +++ b/src/EnergyPlus/SolarShading.cc @@ -8235,7 +8235,6 @@ void CalcInteriorSolarDistribution(EnergyPlusData &state) int ConstrNumBack = s_surf->Surface(BackSurfNum).Construction; auto const &constrBack = state.dataConstruction->Construct(ConstrNumBack); - int NBackGlass = constrBack.TotGlassLayers; // Irradiated (overlap) area for this back surface, projected onto window plane // (includes effect of shadowing on exterior window) @@ -8292,7 +8291,7 @@ void CalcInteriorSolarDistribution(EnergyPlusData &state) } // determine the number of glass layers - NBackGlass = 0; + int NBackGlass = 0; for (int Lay = 1; Lay <= CFS(EQLNum).NL; ++Lay) { if (CFS(EQLNum).L(Lay).LTYPE != LayerType::GLAZE) { continue; diff --git a/src/EnergyPlus/ThermalComfort.cc b/src/EnergyPlus/ThermalComfort.cc index fa39816012a..99e5fd72578 100644 --- a/src/EnergyPlus/ThermalComfort.cc +++ b/src/EnergyPlus/ThermalComfort.cc @@ -176,9 +176,6 @@ namespace ThermalComfort { state.dataThermalComforts->ThermalComfortData.allocate(state.dataHeatBal->TotPeople); for (Loop = 1; Loop <= state.dataHeatBal->TotPeople; ++Loop) { - - std::string CurrentGroupName = state.dataHeatBal->People(Loop).Name; - // CurrentModuleObject='People' // MJW MRT ToDo: Rename most Zone Thermal Comfort output variables to People Thermal Comfort ('cause they're keyed by People name) if (state.dataHeatBal->People(Loop).Fanger) { @@ -2791,7 +2788,7 @@ namespace ThermalComfort { std::string epwLine; auto epwFile = state.files.inputWeatherFilePath.open(state, "CalcThermalComfortAdaptiveASH55"); for (i = 1; i <= 8; ++i) { // Headers - epwLine = epwFile.readLine().data; + epwFile.readLine(); } int jStartDay = state.dataEnvrn->DayOfYear - 1; int calcStartDay = jStartDay - 30; @@ -2837,7 +2834,7 @@ namespace ThermalComfort { state.dataThermalComforts->DailyAveOutTemp(i + 30 - calcEndDay) = state.dataThermalComforts->avgDryBulbASH; } for (i = calcEndHr + 1; i <= calcStartHr - 1; ++i) { - epwLine = epwFile.readLine().data; + epwFile.readLine(); } for (i = 1; i <= 30 - calcEndDay; ++i) { state.dataThermalComforts->avgDryBulbASH = 0.0; diff --git a/src/EnergyPlus/UtilityRoutines.cc b/src/EnergyPlus/UtilityRoutines.cc index e1b9712ff2c..391a35baf9d 100644 --- a/src/EnergyPlus/UtilityRoutines.cc +++ b/src/EnergyPlus/UtilityRoutines.cc @@ -232,15 +232,13 @@ namespace Util { int Probe = 0; int LBnd = 0; int UBnd = NumItems + 1; - bool Found = false; - while ((!Found) || (Probe != 0)) { + while (true) { Probe = (UBnd - LBnd) / 2; if (Probe == 0) { break; } Probe += LBnd; if (equali(String, ListOfItems(Probe))) { - Found = true; break; } if (lessthani(String, ListOfItems(Probe))) { diff --git a/src/EnergyPlus/WaterManager.cc b/src/EnergyPlus/WaterManager.cc index fd14509147a..bb7fff75de2 100644 --- a/src/EnergyPlus/WaterManager.cc +++ b/src/EnergyPlus/WaterManager.cc @@ -210,7 +210,6 @@ namespace WaterManager { int MaxNumAlphas(0); // argument for call to GetObjectDefMaxArgs int MaxNumNumbers(0); // argument for call to GetObjectDefMaxArgs int TotalArgs(0); // argument for call to GetObjectDefMaxArgs - std::string objNameMsg; int NumIrrigation; // initialize rainfall model @@ -272,7 +271,6 @@ namespace WaterManager { state.dataWaterData->AnyWaterSystemsInModel = true; state.dataWaterData->WaterStorage(Item).Name = cAlphaArgs(1); Util::IsNameEmpty(state, cAlphaArgs(1), cCurrentModuleObject, ErrorsFound); - objNameMsg = cCurrentModuleObject + " = " + cAlphaArgs(1); state.dataWaterData->WaterStorage(Item).QualitySubCategoryName = cAlphaArgs(2); @@ -423,7 +421,6 @@ namespace WaterManager { state.dataWaterData->RainCollector(Item).Name = cAlphaArgs(1); Util::IsNameEmpty(state, cAlphaArgs(1), cCurrentModuleObject, ErrorsFound); - objNameMsg = cCurrentModuleObject + " Named " + cAlphaArgs(1); state.dataWaterData->RainCollector(Item).StorageTankName = cAlphaArgs(2); state.dataWaterData->RainCollector(Item).StorageTankID = Util::FindItemInList(cAlphaArgs(2), state.dataWaterData->WaterStorage); @@ -538,7 +535,6 @@ namespace WaterManager { state.dataWaterData->GroundwaterWell(Item).Name = cAlphaArgs(1); Util::IsNameEmpty(state, cAlphaArgs(1), cCurrentModuleObject, ErrorsFound); - objNameMsg = cCurrentModuleObject + " Named " + cAlphaArgs(1); state.dataWaterData->GroundwaterWell(Item).StorageTankName = cAlphaArgs(2); InternalSetupTankSupplyComponent(state, diff --git a/src/EnergyPlus/WindowComplexManager.cc b/src/EnergyPlus/WindowComplexManager.cc index 92f3f865363..8f7a3abd85f 100644 --- a/src/EnergyPlus/WindowComplexManager.cc +++ b/src/EnergyPlus/WindowComplexManager.cc @@ -478,11 +478,8 @@ namespace WindowComplexManager { // PURPOSE OF THIS SUBROUTINE: // Check if there are new states available for complex fenestration and performs proper initialization - bool StateFound; // variable to indicate if state has been found - int CurrentCFSState; - - StateFound = false; - CurrentCFSState = state.dataSurface->SurfaceWindow(iSurf).ComplexFen.CurrentState; + bool StateFound = false; // variable to indicate if state has been found + int const CurrentCFSState = state.dataSurface->SurfaceWindow(iSurf).ComplexFen.CurrentState; // Check if EMS changed construction number if (state.dataSurface->Surface(iSurf).Construction != state.dataSurface->SurfaceWindow(iSurf).ComplexFen.State(CurrentCFSState).Konst) { @@ -493,7 +490,6 @@ namespace WindowComplexManager { for (int i = 1; i <= NumOfStates; ++i) { if (state.dataSurface->Surface(iSurf).Construction == state.dataSurface->SurfaceWindow(iSurf).ComplexFen.State(i).Konst) { StateFound = true; - CurrentCFSState = i; state.dataSurface->SurfaceWindow(iSurf).ComplexFen.CurrentState = i; } } @@ -504,8 +500,7 @@ namespace WindowComplexManager { // If new state is not found in the list of current states, then create new one, initialize and make it active if (!StateFound) { ExpandComplexState(state, iSurf, state.dataSurface->Surface(iSurf).Construction); - CurrentCFSState = state.dataSurface->SurfaceWindow(iSurf).ComplexFen.NumStates; - state.dataSurface->SurfaceWindow(iSurf).ComplexFen.CurrentState = CurrentCFSState; + state.dataSurface->SurfaceWindow(iSurf).ComplexFen.CurrentState = state.dataSurface->SurfaceWindow(iSurf).ComplexFen.NumStates; } } @@ -2747,7 +2742,6 @@ namespace WindowComplexManager { // Simon: locally used variables int ngllayer; int nglface; - int nglfacep; int ThermalModelNum; Real64 rmir; // IR radiance of window's interior surround (W/m2) Real64 outir; @@ -2772,7 +2766,6 @@ namespace WindowComplexManager { ngllayer = state.dataConstruction->Construct(ConstrNum).TotGlassLayers; nglface = 2 * ngllayer; - nglfacep = nglface; hrin = 0.0; hcin = 0.0; hrout = 0.0; @@ -3281,7 +3274,7 @@ namespace WindowComplexManager { // IR to zone from glass when interior shade/blind is present. ShadeArea = state.dataSurface->Surface(SurfNum).Area + state.dataSurface->SurfWinDividerArea(SurfNum); sconsh = scon(ngllayer + 1) / thick(ngllayer + 1); - nglfacep = nglface + 2; + int const nglfacep = nglface + 2; // CondHeatGainShade = ShadeArea * sconsh * (theta(nglfacep - 1) - theta(nglfacep)); EpsShIR1 = emis(nglface + 1); EpsShIR2 = emis(nglface + 2); diff --git a/src/EnergyPlus/WindowEquivalentLayer.cc b/src/EnergyPlus/WindowEquivalentLayer.cc index 7ff11d73d75..767320d33cd 100644 --- a/src/EnergyPlus/WindowEquivalentLayer.cc +++ b/src/EnergyPlus/WindowEquivalentLayer.cc @@ -5752,6 +5752,7 @@ void SETUP4x4_A(Real64 const rhog, Real64 const rhodf, Real64 const rhodb, Real6 A(3, 3) = 1.0; A(4, 3) = -1.0 * rhodb; A(3, 4) = -1.0 * rhom; + // cppcheck-suppress unreadVariable A(4, 4) = 1.0; } @@ -7487,7 +7488,6 @@ void FinalizeCFSLAYER(EnergyPlusData &state, CFSLAYER &L) // layer, input: LTYPE bool LOK; bool DOK; bool BOK; - bool CFSLAYERFlag; if (IsVBLayer(L)) { LOK = VB_LWP(state, L, L.LWP_EL); @@ -7529,7 +7529,6 @@ void FinalizeCFSLAYER(EnergyPlusData &state, CFSLAYER &L) // layer, input: LTYPE } } } - CFSLAYERFlag = LOK && DOK && BOK; } bool IsGZSLayer(CFSLAYER const &L) diff --git a/src/EnergyPlus/WindowManager.cc b/src/EnergyPlus/WindowManager.cc index f8893966988..f3aa918258c 100644 --- a/src/EnergyPlus/WindowManager.cc +++ b/src/EnergyPlus/WindowManager.cc @@ -4013,7 +4013,7 @@ namespace Window { TGapNew(1) = TAve(1) - (TAve(1) - TAve(2)) * (GapHeightChar(1) / GapHeight) * (1 - EpsChar(1)) * (1 - EpsChar(2)) / (1 - EpsChar(1) * EpsChar(2)); - + // cppcheck-suppress unreadVariable TGapNew(2) = TAve(2) - (TAve(2) - TAve(1)) * (GapHeightChar(2) / GapHeight) * (1 - EpsChar(1)) * (1 - EpsChar(2)) / (1 - EpsChar(1) * EpsChar(2)); } @@ -8008,6 +8008,7 @@ namespace Window { Real64 BlindIRreflBack = G(2) * (1.0 - fEdge) + fEdge * ri; // Blind back IR reflectance // Back IR emissivity + // cppcheck-suppress unreadVariable p(15) = max(0.0001, 1.0 - p(13) - BlindIRreflBack); } // End of IR properties calculation diff --git a/src/EnergyPlus/api/datatransfer.cc b/src/EnergyPlus/api/datatransfer.cc index 5c663e414c9..9dd3061b19e 100644 --- a/src/EnergyPlus/api/datatransfer.cc +++ b/src/EnergyPlus/api/datatransfer.cc @@ -278,7 +278,6 @@ char **getObjectNames(EnergyPlusState state, const char *objectType, unsigned in unsigned int i = -1; for (auto instance = instancesValue.begin(); instance != instancesValue.end(); ++instance) { i++; - std::string s = std::string(instance.key()); data[i] = new char[std::strlen(instance.key().data()) + 1]; std::strcpy(data[i], instance.key().data()); } From 58d5346847c08bc8828478693290b84a93a9529b Mon Sep 17 00:00:00 2001 From: Dareum Nam Date: Fri, 6 Feb 2026 08:46:51 -0700 Subject: [PATCH 3/4] fix Mac build error --- src/EnergyPlus/Psychrometrics.cc | 1 + 1 file changed, 1 insertion(+) diff --git a/src/EnergyPlus/Psychrometrics.cc b/src/EnergyPlus/Psychrometrics.cc index df33108d2a5..00ad7009e00 100644 --- a/src/EnergyPlus/Psychrometrics.cc +++ b/src/EnergyPlus/Psychrometrics.cc @@ -1345,6 +1345,7 @@ namespace Psychrometrics { return state.dataPsychrometrics->tSat_Save; } state.dataPsychrometrics->Press_Save = Press; + iter = 0; if (state.dataPsychrometrics->useInterpolationPsychTsatFnPb) { int n_sample = 1651; // sample bin size = 64 Pa; continuous sample size = 1651 // CSpline interpolation From 97564012a9c9f0b3d845c0530fc561d43a51ed45 Mon Sep 17 00:00:00 2001 From: Dareum Nam Date: Fri, 13 Feb 2026 01:01:47 -0700 Subject: [PATCH 4/4] unreadVariables 3 --- src/EnergyPlus/HVACUnitaryBypassVAV.cc | 1 - src/EnergyPlus/HybridEvapCoolingModel.cc | 6 ++++-- src/EnergyPlus/OutputReports.cc | 2 -- src/EnergyPlus/Psychrometrics.cc | 1 + src/EnergyPlus/RefrigeratedCase.cc | 7 ------- src/EnergyPlus/ScheduleManager.cc | 5 ++--- src/EnergyPlus/SolarShading.cc | 1 - src/EnergyPlus/SystemReports.cc | 2 +- src/EnergyPlus/ZoneEquipmentManager.cc | 1 - 9 files changed, 8 insertions(+), 18 deletions(-) diff --git a/src/EnergyPlus/HVACUnitaryBypassVAV.cc b/src/EnergyPlus/HVACUnitaryBypassVAV.cc index 53c14d8fa4e..4d449b2c453 100644 --- a/src/EnergyPlus/HVACUnitaryBypassVAV.cc +++ b/src/EnergyPlus/HVACUnitaryBypassVAV.cc @@ -3418,7 +3418,6 @@ namespace HVACUnitaryBypassVAV { if (lastDayOfSim != dayOfSim) { cBVAV.changeOverTimer = -1.0; // reset to default (thisTime always > -1) } - lastDayOfSim = dayOfSim; dayOfSim = 1; // reset so that thisTime is <= 24 during warmup } Real64 thisTime = (dayOfSim - 1) * 24 + state.dataGlobal->HourOfDay - 1 + (state.dataGlobal->TimeStep - 1) * state.dataGlobal->TimeStepZone + diff --git a/src/EnergyPlus/HybridEvapCoolingModel.cc b/src/EnergyPlus/HybridEvapCoolingModel.cc index 50f4a94c7ed..466faf967d6 100644 --- a/src/EnergyPlus/HybridEvapCoolingModel.cc +++ b/src/EnergyPlus/HybridEvapCoolingModel.cc @@ -1273,8 +1273,8 @@ namespace HybridEvapCoolingModel { Real64 Wosa = PsyWFnTdbRhPb(state, StepIns.Tosa, StepIns.RHosa, state.dataEnvrn->OutBaroPress); Real64 Wra = PsyWFnTdbRhPb(state, StepIns.Tra, StepIns.RHra, InletPressure); - bool EnvironmentConditionsMet, EnvironmentConditionsMetOnce, MinVRMet, SAT_OC_Met, SAT_OC_MetOnce, SARH_OC_Met, SAHR_OC_MetOnce; - EnvironmentConditionsMetOnce = SAT_OC_Met = SAT_OC_MetOnce = SARH_OC_Met = SAHR_OC_MetOnce = false; + bool EnvironmentConditionsMet, EnvironmentConditionsMetOnce, MinVRMet, SAT_OC_MetOnce, SAHR_OC_MetOnce; + EnvironmentConditionsMetOnce = SAT_OC_MetOnce = SAHR_OC_MetOnce = false; MinOA_Msa = StepIns.MinimumOA; // Set object version of minimum VR Kg/s @@ -1360,6 +1360,8 @@ namespace HybridEvapCoolingModel { FanHeatTemp = PowerLossToAir / (PsyCpAirFnW(Wsa) * ScaledMsa); Tsa = Tsa + FanHeatTemp; + bool SAT_OC_Met = false; + bool SARH_OC_Met = false; // Check it meets constraints if (MeetsSupplyAirTOC(state, Tsa)) { SAT_OC_Met = SAT_OC_MetOnce = SAT_OC_MetinMode = true; diff --git a/src/EnergyPlus/OutputReports.cc b/src/EnergyPlus/OutputReports.cc index 51dbaa6b21c..e4416142a38 100644 --- a/src/EnergyPlus/OutputReports.cc +++ b/src/EnergyPlus/OutputReports.cc @@ -153,7 +153,6 @@ void ReportSurfaces(EnergyPlusData &state) DataSurfaceColors::SetUpSchemeColors(state, Option2, "DXF"); } DXFOutWireFrame(state, Option2); - DXFDone = true; } else { ShowWarningError(state, "ReportSurfaces: DXF output already generated. DXF:WireFrame will not be generated."); } @@ -164,7 +163,6 @@ void ReportSurfaces(EnergyPlusData &state) bool VRMLDone = false; if (!VRMLDone) { VRMLOut(state, Option1, Option2); - VRMLDone = true; } else { ShowWarningError(state, format("ReportSurfaces: VRML output already generated. VRML with option=[{}] will not be generated.", Option1)); } diff --git a/src/EnergyPlus/Psychrometrics.cc b/src/EnergyPlus/Psychrometrics.cc index 00ad7009e00..5ec7c4bbe42 100644 --- a/src/EnergyPlus/Psychrometrics.cc +++ b/src/EnergyPlus/Psychrometrics.cc @@ -1345,6 +1345,7 @@ namespace Psychrometrics { return state.dataPsychrometrics->tSat_Save; } state.dataPsychrometrics->Press_Save = Press; + // cppcheck-suppress unreadVariable iter = 0; if (state.dataPsychrometrics->useInterpolationPsychTsatFnPb) { int n_sample = 1651; // sample bin size = 64 Pa; continuous sample size = 1651 diff --git a/src/EnergyPlus/RefrigeratedCase.cc b/src/EnergyPlus/RefrigeratedCase.cc index 7e9e9c0d417..295cda4a552 100644 --- a/src/EnergyPlus/RefrigeratedCase.cc +++ b/src/EnergyPlus/RefrigeratedCase.cc @@ -15225,7 +15225,6 @@ void SecondaryLoopData::CalculateSecondary(EnergyPlusData &state, int const Seco RefrigerationLoad = 0.0; TotalHotDefrostCondCredit = 0.0; FlowVolNeeded = 0.0; - DeRate = false; // SCE page 28 gives a delta T for pipe heat gains // (.25F each for supply and discharge) for use with mdot*cp. @@ -15302,9 +15301,6 @@ void SecondaryLoopData::CalculateSecondary(EnergyPlusData &state, int const Seco TotalPumpPower = this->PumpTotRatedPower; TotalLoad += TotalPumpPower * this->PumpPowerToHeat; AtPartLoad = false; - if (this->NumCoils > 0) { - DeRate = true; - } } // flowvolneeded >= maxvolflow } else { // have SecFluidTypePhaseChange !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> if (TotalLoad >= this->MaxLoad) { @@ -15312,9 +15308,6 @@ void SecondaryLoopData::CalculateSecondary(EnergyPlusData &state, int const Seco TotalLoad += TotalPumpPower * this->PumpPowerToHeat; VolFlowRate = this->MaxVolFlow; AtPartLoad = false; - if (this->NumCoils > 0) { - DeRate = true; - } } } // fluid type check for max load or max flow >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> diff --git a/src/EnergyPlus/ScheduleManager.cc b/src/EnergyPlus/ScheduleManager.cc index 3fa6ef8a773..088b4f5e55c 100644 --- a/src/EnergyPlus/ScheduleManager.cc +++ b/src/EnergyPlus/ScheduleManager.cc @@ -671,10 +671,10 @@ namespace Sched { auto const &column_json = schedule_file_shading_result->second["values"].at(0); // assume there is at least 1 column rowCnt = column_json.size(); - int NumCSVAllColumnsSchedules = - schedule_file_shading_result->second["header"].get>().size() - 1; // -1 to account for timestamp column if (schedule_file_shading_result->second["header"].back().get() == "()") { + int NumCSVAllColumnsSchedules = + schedule_file_shading_result->second["header"].get>().size() - 1; // -1 to account for timestamp column ShowWarningError(state, format("{}: {}=\"{}\" Removing last column of the CSV since it has '()' for the surface name.", routineName, @@ -683,7 +683,6 @@ namespace Sched { ShowContinueError(state, "This was a problem in E+ 22.2.0 and below, consider removing it from the file to suppress this warning."); schedule_file_shading_result->second["header"].erase(NumCSVAllColumnsSchedules); assert(schedule_file_shading_result->second["header"].size() == schedule_file_shading_result->second["values"].size()); - --NumCSVAllColumnsSchedules; } if (rowCnt != rowLimitCount) { diff --git a/src/EnergyPlus/SolarShading.cc b/src/EnergyPlus/SolarShading.cc index 8e37985a2a8..10960935cf0 100644 --- a/src/EnergyPlus/SolarShading.cc +++ b/src/EnergyPlus/SolarShading.cc @@ -4347,7 +4347,6 @@ void CLIPPOLY(EnergyPlusData &state, NVOUT = NV1; // First point-loop is the length of the subject polygon. INTFLAG = false; NVTEMP = 0; - KK = 0; // Check if clipping polygon is rectangle if (state.dataSysVars->SlaterBarsky) { diff --git a/src/EnergyPlus/SystemReports.cc b/src/EnergyPlus/SystemReports.cc index a9ec6d1d610..ac92b1278f5 100644 --- a/src/EnergyPlus/SystemReports.cc +++ b/src/EnergyPlus/SystemReports.cc @@ -1066,10 +1066,10 @@ void FindFirstLastPtr(EnergyPlusData &state, int &LoopType, int &LoopNum, int &A bool found; // Object Data - auto &LoopStack = state.dataSysRpts->LoopStack; return; // Autodesk:? Is this routine now an intentional NOOP? + auto &LoopStack = state.dataSysRpts->LoopStack; if (state.dataSysRpts->OneTimeFlag_FindFirstLastPtr) { LoopStack.allocate(state.dataSysRpts->MaxLoopArraySize); state.dataAirSystemsData->DemandSideConnect.allocate(state.dataSysRpts->MaxCompArraySize); diff --git a/src/EnergyPlus/ZoneEquipmentManager.cc b/src/EnergyPlus/ZoneEquipmentManager.cc index 2b6509594d8..7b0f4734199 100644 --- a/src/EnergyPlus/ZoneEquipmentManager.cc +++ b/src/EnergyPlus/ZoneEquipmentManager.cc @@ -1863,7 +1863,6 @@ void updateZoneSizingEndDay(DataSizing::ZoneSizingData &zsCalcSizing, zsCalcFinalSizing.DesHeatCoilInTemp = zsCalcSizing.DesHeatCoilInTemp; zsCalcFinalSizing.DesHeatCoilInHumRat = zsCalcSizing.DesHeatCoilInHumRat; zsCalcFinalSizing.HeatTstatTemp = zsCalcSizing.HeatTstatTemp; - FirstIteration = false; } } if (zsCalcFinalSizing.zoneLatentSizing && zsCalcFinalSizing.DesLatentHeatLoad == 0) {