Question-and-Answer Resource for the Building Energy Modeling Community
Get started with the Help page
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Cooling and heating loads start/end at different hours despite identical setpoint schedules

I have a small office model using ZoneHVAC:IdealLoadsAirSystem with ThermostatSetpoint:DualSetpoint. The cooling and heating setpoint schedules are defined with identical timing:

Schedule:Compact, HTGSETP_SCH, Temperature, Through: 12/31, For: Weekdays, Until: 06:00, 0, Until: 22:00, 21, Until: 24:00, 0, ...

Schedule:Compact, CLGSETP_SCH, Temperature, Through: 10/31, For: Weekdays, Until: 06:00, 40, Until: 22:00, 24, Until: 24:00, 40, ...

Both schedules use the same Until: 06:00 and Until: 22:00 boundaries. However, when I check the hourly output (DistrictHeating and DistrictCooling), I consistently see the following pattern across the entire simulation year:

  • Heating load: starts at the 07:00 row, ends at the 22:00 row

  • Cooling load: starts at the 06:00 row, ends at the 21:00 row

In other words, the cooling load appears to start and end exactly one hour earlier than the heating load, even though both setpoint schedules have identical time boundaries.

I verified this across all weekdays in the heating season (Jan-Apr, Nov-Dec) and cooling season (May-Oct):

  • Heating: 90 days start at hour 7, 86 days end at hour 22
  • Cooling: 20 days start at hour 6 (peak summer), most others start at hour 7 or later due to mild outdoor conditions

My questions are:

  1. Why does the cooling load consistently appear one hour earlier than the heating load despite identical schedule boundaries?
  2. Is this expected behavior in EnergyPlus, or does it indicate a modeling issue?

EnergyPlus version: 24.1.0

Cooling and heating loads start/end at different hours despite identical setpoint schedules

I have a small office model using ZoneHVAC:IdealLoadsAirSystem with ThermostatSetpoint:DualSetpoint. The cooling and heating setpoint schedules are defined with identical timing:

Schedule:Compact, HTGSETP_SCH, Temperature,

Schedule:Compact,
  HTGSETP_SCH,
  Temperature,
  Through: 12/31, 12/31,
  For: Weekdays, Until: 06:00, 0, Until: 22:00, 21, Until: 24:00, 0, ...

Schedule:Compact, CLGSETP_SCH, Temperature, ... Schedule:Compact, CLGSETP_SCH, Temperature, Through: 10/31, 10/31, For: Weekdays, Until: 06:00, 40, Until: 22:00, 24, Until: 24:00, 40, ...

...

Both schedules use the same Until: 06:00 and Until: 22:00 boundaries. However, when I check the hourly output (DistrictHeating and DistrictCooling), I consistently see the following pattern across the entire simulation year:

  • Heating load: starts at the 07:00 row, ends at the 22:00 row

  • Cooling load: starts at the 06:00 row, ends at the 21:00 row

In other words, the cooling load appears to start and end exactly one hour earlier than the heating load, even though both setpoint schedules have identical time boundaries.

I verified this across all weekdays in the heating season (Jan-Apr, Nov-Dec) and cooling season (May-Oct):

  • Heating: 90 days start at hour 7, 86 days end at hour 22
  • Cooling: 20 days start at hour 6 (peak summer), most others start at hour 7 or later due to mild outdoor conditions

My questions are:

  1. Why does the cooling load consistently appear one hour earlier than the heating load despite identical schedule boundaries?
  2. Is this expected behavior in EnergyPlus, or does it indicate a modeling issue?

EnergyPlus version: 24.1.0