NREL / openstudio-standards

Other
78 stars 56 forks source link

HVAC Templates giving fatal error #969

Open erikbeeren opened 3 years ago

erikbeeren commented 3 years ago

Hi @mdahlhausen

I got your name from @chriswmackey. I am using the new Ladybug tools and was testing the different HVAC templates which are based, as I understand, on the Openstudio Standard gems. I did a batch simulation with colibri/honeybee/grasshopper for all standard HB DOAS HVAC Templates. I discovered that all templates with baseboard electric, gas unit heaters and no heat resulted in a fatal error during the simulation giving me the folowing error report:

_Program Version,EnergyPlus, Version 9.3.0-baff08990c, YMD=2020.11.18 11:40,
** Severe ** [PlantEquipmentOperationSchemes][Hot Water Loop Operation Schemes] - Missing required property ‘control_scheme_1_name’.
** Severe ** [PlantEquipmentOperationSchemes][Hot Water Loop Operation Schemes] - Missing required property ‘control_scheme_1_object_type’.
** Severe ** [PlantEquipmentOperationSchemes][Hot Water Loop Operation Schemes] - Missing required property ‘control_scheme_1_schedule_name’.
** Fatal ** Errors occurred on processing input file. Preceding condition(s) cause termination.
…Summary of Errors that led to program termination:
… Reference severe error count=3
… Last severe error=[PlantEquipmentOperationSchemes][Hot Water Loop Operation Schemes] - Missing required property ‘control_scheme_1_schedule_name’.
************* Warning: Node connection errors not checked - most system input has not been read (see previous warning).
************* Fatal error – final processing. Program exited before simulations began. See previous error messages.
************* EnergyPlus Warmup Error Summary. During Warmup: 0 Warning; 0 Severe Errors.
************* EnergyPlus Sizing Error Summary. During Sizing: 0 Warning; 0 Severe Errors.
************* EnergyPlus Terminated–Fatal Error Detected. 0 Warning; 3 Severe Errors; Elapsed Time=00hr 00min 0.25sec

Runtime error (PythonException): ** Fatal ** Errors occurred on processing input file. Preceding condition(s) cause termination.

Traceback:
line 245, in script_

It looks like there is missing a scheme in these templates.

image

mdahlhausen commented 3 years ago

@erikbeeren Thanks for the bug report.

Can you please send me an example .osm file of the building? Another .osm from an HVAC system that did work should be fine.

@chriswmackey can you link to the openstudio-standards call in Honeybee that call the openstudio-standards method?

erikbeeren commented 3 years ago

OpenStudio.zip DOASwithfancoilchillerwithbaseboardelectric.zip

erikbeeren commented 3 years ago

The DOASwithfancoilchillerwithbaseboardelectric is an exemple which resulted in a fatal error. The other one is the simulation of a DOASwithfancoildistrictchilledwaterwithdistricthotwater system which ran perfectly.

mdahlhausen commented 3 years ago

This bug is caused by an oversight in not testing every available system in the create typical building Model.hvac options.

It arises from a hot water loop still being added to DOAS systems when the 'air_loop_heating_type' flag in model_add_hvac_system is set to 'Water' (the default) even if the main_heat_fuel type is nil. https://github.com/NREL/openstudio-standards/pull/976/files

The fix for this is to check whether the main_heat_fuel type is nil, and ignore adding a hot water loop for DOAS coils if so.

This will be in the next release of openstudio-standards, however a quick fix is to set the 'air_loop_heating_type' to nil in the model_add_hvac_system method call, e.g.: standard.model_add_hvac_system(self, 'DOAS', ht = nil, znht = nil, cl = 'Electricity', zones, air_loop_heating_type: nil)

chriswmackey commented 3 years ago

Thank you, @mdahlhausen and @erikbeeren .

Here is the place where I am calling the standards gem methods on the Honeybee side of things: https://github.com/ladybug-tools/honeybee-openstudio-gem/blob/master/lib/to_openstudio/hvac/Model.hvac.rb

Essentially the honeybee-openstudio gem includes a full copy of the Model.hvac.rb file that's used in the "Create Typical Building" measure. So I will implement your temporary fix there, @mdahlhausen . We should also probably let @DavidGoldwasser or someone else looking after the "Create Typical Building" measure know so that they can implement the fix there.

chriswmackey commented 3 years ago

Implemented the quick fix on the Honeybee side of things and I verified that it's all running through E+ correctly: https://github.com/ladybug-tools/honeybee-openstudio-gem/pull/150

Thanks again @mdahlhausen !

erikbeeren commented 3 years ago

Hi @mdahlhausen and @chriswmackey, I did the same batch simulations for all ALL_AIR systems. The following systems give a fatal error:

  1. PSZ-AC with central air source heat pump
  2. PSZ-AC district chilled water with central air source heat pump

Severe Autosizing of heating coil UA failed for Coil:Heating:Water "01_1_5EE4E735 PSZ-AC WATER HTG COIL"

PSZ-ACwithcentralairsourceheatpump.zip

erikbeeren commented 3 years ago

And finaly I tested all Heat and Cool templates. Here all "direct evap coolers" gave a fatal error:

  1. Severe EnergyManagementSystem:Sensor="01_1_5EE4E735_CLG_LOAD_SENSOR", Invalid variable name entered.
  2. Severe EnergyManagementSystem:Actuator="01_1_5EE4E735_EVAPORATIVE_COOLER_AVAILABILITY_ACTUATOR", Invalid variable name entered.
  3. Severe EMS Parse Expression, for "01_1_5EE4E735_EVAPORATIVE_COOLER_AVAILABILITY_CONTROL".

Directevapcoolerswithbaseboardelectric.zip

erikbeeren commented 3 years ago

And the

Water source heat pumps fluid cooler with boiler

gave the folowing error:

  1. Solution exception:undefined method `addDemandBranchForComponent' for false:FalseClass

Watersourceheatpumpsfluidcoolerwithboiler.zip

mdahlhausen commented 3 years ago

Thanks @erikbeeren . I haven't written tests for all the HVAC systems with the new OS update - I think there were some EMS changes that break systems that rely heavily on EMS code (ASHPs, direct evap coolers). I'll look into those.

Some systems can have autosizing fail if depending on climate zone / thermal zoning. If a the design temperature delta for a coil is too small, it will cause UA sizing errors. I'm not sure of the best way to address this, though it is a longer term issue we are thinking about trying to make HVAC systems that are robust to a wide array of input models.

erikbeeren commented 3 years ago

Hi @mdahlhausen,

Thank you for looking at al these issues. Today I also got a message from @chriswmackey that some issues where not caused by the openstudio gems. Here what Chris responded to me.

The "PSZ-AC district chilled water with baseboard district hot water" actually isn’t an error on Matt’s end. It’s an issue in the Create Typical Building measure which I used as the basis for the Honeybee HVAC templates. It seems that there’s already a "PSZ-AC district chilled water with district hot water" system template that uses baseboards with district hot water. So the "PSZ-AC district chilled water with baseboard district hot water" is completely redundant and unnecessary. I am going to remove it from the honeybee interface and SDK now. And you can tell Matt that he is off the hook for this one but that someone should update that measure at some point.