You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Cooling Design Day name not populated by the time VariableSpeedCoil sizing happens. #11250
In the process of adding diagnostic information to a Warning message in VariableSpeedCoils::SizeVarSpeedCoil, we discovered that only the Heating Design Day name in state.dataSize->FinalSysSizing is populated for a cooling coil, but not the Cooling Design Day name.
Testing for the name in the error string (TEST_F(EnergyPlusFixture, VSCoilUnitary_NoNegativeCapacity)) results in a failure.
I believe that, in SimAirServingZones.cc, neither this line or this line gets hit (both SensCoolCap and TotCoolCap are zero). And so CoolDesDay is not being assigned.
If I pull state.dataSize->CalcSysSizing(AirLoopNum).CoolDesDay = sysSizing.CoolDesDay; up and out of these blocks, this part of the related unit test then passes. But I'm not sure if this is the appropriate/complete fix. (I also see that CoolDDNum is not being assigned in those blocks, whereas HeatDDNum is being assigned down below.)
There is no system cooling load and these variables are not assigned (and many more variables are also 0). Certainly do not change the code to fix a unit test. Change the unit test so there is a system cooling load. HeatDDNum is assigned, I assume, because there is a system heating load. On another note, if you can figure out how to modify code to choose a design day when one does not exist then go for it. Showing a design day name and time when load = 0 does not make much sense. "NA" may make sense but other than that I have no ideas.
Right, but I think the test is trying to check that this warning gets thrown with complete information.
Well, then just be careful how to adjust the sizing data to get both a valid CoolDesDay during system sizing and a negative coil load during coil sizing (if that's possible). I would put a breakpoint in both places and see what those temps, humrats and enthalpies are and adjust the sizing data in the unit test accordingly. I assume that was already attempted so good luck. Think of the psyc chart, you need a mixed air enthalpy to be lower than the supply air enthalpy for coil sizing but still giving a system cooling load. I wouldn't spend too much time trying to get a rare warning to report. In fact, the coil size should just be 0 and move on, but reporting why is definitely of value to the user. One of those detailed warnings that show mixed air temp = x, humrat = y and enthalpy = z with supply air conditions of a, b and c would be very helpful to the user? MIght also trap for CoolDDNum > 0 at the coil warning to report 2 different warnings (one where CoolDesDay is blank and therefore not reported) in case a system cooling load is not available.
Activity
joseph-robertson commentedon Jun 2, 2026
I believe that, in SimAirServingZones.cc, neither this line or this line gets hit (both
SensCoolCapandTotCoolCapare zero). And soCoolDesDayis not being assigned.If I pull
state.dataSize->CalcSysSizing(AirLoopNum).CoolDesDay = sysSizing.CoolDesDay;up and out of these blocks, this part of the related unit test then passes. But I'm not sure if this is the appropriate/complete fix. (I also see thatCoolDDNumis not being assigned in those blocks, whereasHeatDDNumis being assigned down below.)@rraustad
rraustad commentedon Jun 2, 2026
There is no system cooling load and these variables are not assigned (and many more variables are also 0). Certainly do not change the code to fix a unit test. Change the unit test so there is a system cooling load. HeatDDNum is assigned, I assume, because there is a system heating load. On another note, if you can figure out how to modify code to choose a design day when one does not exist then go for it. Showing a design day name and time when load = 0 does not make much sense. "NA" may make sense but other than that I have no ideas.
rraustad commentedon Jun 2, 2026
Regarding the unit test, maybe this input is the cause?
joseph-robertson commentedon Jun 2, 2026
Right, but I think the test is trying to check that this warning gets thrown with complete information.
rraustad commentedon Jun 2, 2026
Well, then just be careful how to adjust the sizing data to get both a valid CoolDesDay during system sizing and a negative coil load during coil sizing (if that's possible). I would put a breakpoint in both places and see what those temps, humrats and enthalpies are and adjust the sizing data in the unit test accordingly. I assume that was already attempted so good luck. Think of the psyc chart, you need a mixed air enthalpy to be lower than the supply air enthalpy for coil sizing but still giving a system cooling load. I wouldn't spend too much time trying to get a rare warning to report. In fact, the coil size should just be 0 and move on, but reporting why is definitely of value to the user. One of those detailed warnings that show mixed air temp = x, humrat = y and enthalpy = z with supply air conditions of a, b and c would be very helpful to the user? MIght also trap for CoolDDNum > 0 at the coil warning to report 2 different warnings (one where CoolDesDay is blank and therefore not reported) in case a system cooling load is not available.