DHW templates and EnergyPlus warnings

How are the DHW templates building out the water portion of the IDF file, like the following snippet? Is that done via Honeybee or OpenStudio? I have been having trouble tracking this down in the github repos.

IDF snippet
WaterUse:Connections,
  Water Use Connections 4,                !- Name
  Node 90,                                !- Inlet Node Name
  Node 91,                                !- Outlet Node Name
  ,                                       !- Supply Water Storage Tank Name
  ,                                       !- Reclamation Water Storage Tank Name
  60.0C Hot Water,                        !- Hot Water Supply Temperature Schedule Name
  ,                                       !- Cold Water Supply Temperature Schedule Name
  None,                                   !- Drain Water Heat Exchanger Type
  Plant,                                  !- Drain Water Heat Exchanger Destination
  ,                                       !- Drain Water Heat Exchanger U-Factor Times Area {W/K}
  2019::MidriseApartment::Apartment_SHW..PrimaryBathroom; !- Water Use Equipment Name 1

WaterUse:Equipment,
  2019::MidriseApartment::Apartment_SHW..PrimaryBathroom, !- Name
  General,                                !- End-Use Subcategory
  8.90733228441169e-07,                   !- Peak Flow Rate {m3/s}
  ApartmentMidRise APT_DHW_SCH,           !- Flow Rate Fraction Schedule Name
  60.0C Hot Water,                        !- Target Temperature Schedule Name
  ,                                       !- Hot Water Supply Temperature Schedule Name
  ,                                       !- Cold Water Supply Temperature Schedule Name
  PrimaryBathroom,                        !- Zone Name
  0.2 Hot Water Sensible Fraction,        !- Sensible Fraction Schedule Name
  0.05 Hot Water Latent Fraction;         !- Latent Fraction Schedule Name

WaterHeater:Mixed,
  SHW WaterHeater1,                       !- Name
  0.114717965820617,                      !- Tank Volume {m3}
  Schedule Ruleset 2,                     !- Setpoint Temperature Schedule Name
  2,                                      !- Deadband Temperature Difference {deltaC}
  82.22,                                  !- Maximum Temperature Limit {C}
  Cycle,                                  !- Heater Control Type
  1000000,                                !- Heater Maximum Capacity {W}
  ,                                       !- Heater Minimum Capacity {W}
  0,                                      !- Heater Ignition Minimum Flow Rate {m3/s}
  0,                                      !- Heater Ignition Delay {s}
  Electricity,                            !- Heater Fuel Type
  1,                                      !- Heater Thermal Efficiency
  ,                                       !- Part Load Factor Curve Name
  20,                                     !- Off Cycle Parasitic Fuel Consumption Rate {W}
  Electricity,                            !- Off Cycle Parasitic Fuel Type
  0.8,                                    !- Off Cycle Parasitic Heat Fraction to Tank
  0,                                      !- On Cycle Parasitic Fuel Consumption Rate {W}
  Electricity,                            !- On Cycle Parasitic Fuel Type
  0,                                      !- On Cycle Parasitic Heat Fraction to Tank
  Schedule,                               !- Ambient Temperature Indicator
  22.0C Ambient Condition,                !- Ambient Temperature Schedule Name
  ,                                       !- Ambient Temperature Zone Name
  ,                                       !- Ambient Temperature Outdoor Air Node Name
  0,                                      !- Off Cycle Loss Coefficient to Ambient Temperature {W/K}
  1,                                      !- Off Cycle Loss Fraction to Zone
  0,                                      !- On Cycle Loss Coefficient to Ambient Temperature {W/K}
  1,                                      !- On Cycle Loss Fraction to Zone
  ,                                       !- Peak Use Flow Rate {m3/s}
  ,                                       !- Use Flow Rate Fraction Schedule Name
  ,                                       !- Cold Water Supply Temperature Schedule Name
  Node 79,                                !- Use Side Inlet Node Name
  Node 84,                                !- Use Side Outlet Node Name
  1,                                      !- Use Side Effectiveness
  ,                                       !- Source Side Inlet Node Name
  ,                                       !- Source Side Outlet Node Name
  1,                                      !- Source Side Effectiveness
  Autosize,                               !- Use Side Design Flow Rate {m3/s}
  Autosize,                               !- Source Side Design Flow Rate {m3/s}
  1.5,                                    !- Indirect Water Heating Recovery Time {hr}
  IndirectHeatPrimarySetpoint,            !- Source Side Flow Control Mode
  ,                                       !- Indirect Alternate Setpoint Temperature Schedule Name
  General;                                !- End-Use Subcategory

The reason I am asking is that the current templates (at least for “Electric_WaterHeater”) lead to a large number of spurious warnings like the following:

Warnings
   ** Warning ** CalcEquipmentFlowRates: "2019::MIDRISEAPARTMENT::APARTMENT_SHW..PRIMARYBATHROOM" - Target water temperature is greater than the hot water temperature by (1.04 C)
   **   ~~~   **  Environment=RUN PERIOD 1, at Simulation time=01/01 00:00 - 00:10
   **   ~~~   ** ...target water temperature     = 60.00 C
   **   ~~~   ** ...hot water temperature        = 58.96 C
   **   ~~~   ** ...Target water temperature should be less than or equal to the hot water temperature. Verify temperature setpoints and schedules.

The reason for the warnings is that the same hourly temperature schedule is used for the WaterHeater:Mixed setpoint temperature and for the WaterUse:Equipment target temperature schedule. However, the water heater has a deadband and can deliver water at lower temperatures than in this schedule (by up to 2C for the IDF snippet above), meaning the water use equipment cannot deliver water at the requested temperature, leading to warnings at essentially every timestep in the EnergyPlus simulation. The solution would be to either increase the water heater setpoint or decrease the equipment target temperature by the deadband amount.

In practice, this has little impact on the DHW energy consumption, but I would love to be able to remove all these warnings from the EnergyPlus error file so it is easier to find the more useful warnings and errors in there. On an otherwise well-behaved 25 zone model I am currently working on, these errors account for approximately 300 lines (50%) of the error log.

Hi @savage

You need to use system sizing. This is feasible and easier when you are using IronBug. You can use sizing components and also you can use probe component to have more precise desire output.

In your HoneyBee model. when the IDF is produced, can you change some factors like
Heater Maximum Capacity {W} to more values? Then you need to use run IDF component in the HB Energy. It needs a file path to your modified IDF in your system and an epw file.

Did you choose condition input of the SHW component to the room condition? It could be done by matching the the last _hb_obj in your simulation before applying SHW to the SHW. I am asking since the peak flow rate in your shown IDF is a bit confusing

Hi @behnammmohseni – thanks for your response.

The problem is not due to either the sizing or the ambient room conditions. The template adds a water heater that stores water between 58C and 60C: it heats water until the tank reaches 60C, then turns off until the tank cools down to 58C, in which case it cycles back on again. However, the WaterUse:Equipment object is trying to deliver 60C water out of the faucet, which it is unable to do as the water system is at 60C only a negligible portion of the time, instead being in the 2C deadband below 60C nearly all the time.

The target temperatures for the WaterUse:Equipment object are intended to be the faucet outlet temperatures, achieved by mixing hot and cold water at an appropriate ratio. It is not meant to be the temperature of the hot water line itself, and should not be temperatures outside what the hot and cold water lines can provide (in this case something like 20-58C), or you will get warnings like the ones I showed.

My main question is where this template is being implemented: Honeybee or OpenStudio? If someone can point me to that, I would be happy to look further into it and see if I can propose a solution, and direct it to the appropriate place.

The templates are being used for concept and schematic level box energy models, where quickness and simplicity are a priority. We might go the IronBug route in later stages when we want to get more detailed energy models (thanks for the suggestion!).