Skip to content

EnergyPlus 9.4.0

Compare
Choose a tag to compare
@Myoldmopar Myoldmopar released this 29 Sep 12:18
· 16524 commits to develop since this release
998c4b7

EnergyPlus 9.4.0

The U.S. Department of Energy (DOE) has released EnergyPlus version 9.4.0. There were many bug fixes and prominent new features this release. The full changelog for this release cycle is listed below. For more information about EnergyPlus, please visit www.energyplus.net.

API Change Notice

EnergyPlus 9.3.0 included a brand new API to enable new workflows around EnergyPlus and also a Python Plugin system where user-defined Python scripts could be called by EnergyPlus during a simulation instead of Erl code written in the input file. While the API is going to be generally quite stable for most releases, there was a major break this release. Most API functions, and the Python Plugin class methods, now accept a state argument. More information is available in the Input Output Reference section on API usage.

Supported Platforms

  • Windows 10: 32 and 64-bit versions
  • Linux (Ubuntu 18.04 and 20.04) 64 bit versions
  • Mac OSX 10.15 64 bit versions (although basic testing shows it seems to work on 10.14)

Changelog for EnergyPlus 9.4.0-998c4b761e

Consists of pull requests merged in this release - starting with SHA baff089

New Features

  • #7821 : Add Report of SEER calculated using the user specified PLF curve and default AHRI curve and C_D
  • #7915 : Translate EMS Example Files to PythonPlugin
  • #7984 : Add zone outdoor volume flow rate report variable to all single duct air terminal units
  • #8016 : Low Temperature Radiant System Controls Part 1
  • #8032 : Make PythonPlugin:Variables Extensible
  • #8042 : New Constant Flow and Electric Radiant System Controls and 2-D Modeling Capabilities
  • #8070 : Refactored Autosizing Library
  • #8077 : Support Electric Heating Coil in FanCoilUnit with MultiSpeedFan Capacity Control
  • #8100 : Resilience Metrics Reporting
  • #8101 : Support Electric Heating Coil with ASHRAE90VariableFan Capacity Control
  • #8113 : Implementation of On-Off Control Capabilities for the Variable Flow and Electric Low Temperature Radiant Systems
  • #8121 : Add new performance precision tradeoffs modes, functionality, and reports, TeX document updates
  • #8123 : Enable Coal fuel type for Coil:Heating:Fuel
  • #8128 : Variable Flow and Electric Low Temperature Radiant System Setpoint Definition Enhancement
  • #8142 : Addition of Running Mean Outside Air Control for the Low Temperature Constant Flow Radiant System Model
  • #8143 : Added two weather variables for outputs and calculate sky emissivity and temperature using timestep interpolated inputs
  • #8152 : Add interior surface sections to Envelope Summary Report
  • #8170 : Enhancement of Low Temperature Radiant Models to Allow Multi-Zone Systems
  • #8183 : Implement Changeover Delay for Hydronic Low Temperature Radiant Systems
  • #8193 : Addition of ISO Standard 11855-2 Modeling of Fluid to Slab Heat Transfer in Hydronic Low Temperature Radiant Systems
  • #8195 : Extensible PythonPlugin:SearchPaths
  • #8212 : New EMS calling point, functions, and variables
  • #8269 : Allow Multiple Scheduled Shades to Reference a Single Window

Performance Enhancements

  • #7847 : Streamline inside surface heat balance - reorder surfaces - add path for CTF-only simulations
  • #7899 : Apply Direct solution in new dx coil
  • #7904 : Native E+ CSV output and conditional output file selection
  • #7963 : Skip interzone diffuse solar exchange factors calculations when no interzone window exists
  • #8083 : Revise calc zone sums
  • #8141 : SurfaceWindow struct refactoring
  • #8182 : Bypass interior solar distribution calculation at night

Defects Repaired

  • #7522 : Fix logic for FlowFromSystem choice for ElectricEquipment:ITE:AirCooled
  • #7578 : Controller:WaterCoil Maximum Actuated Flow should default to autosize and warn if zero
  • #7736 : Fix radiation variable outputs
  • #7860 : Use hg to report latent load instead of hfg in AirflowNetwork
  • #7861 : Address total/sensible/latent calculations issues for DX cooling coils and others
  • #7872 : Fix heat emission HVAC relief and rejection output:variable reported values
  • #7874 : Fix optimum start to not override thermostat post-occupancy
  • #7884 : Assign Fan AirLoopNum even if fan is not yet activated
  • #7886 : Eliminate double counting of fan heat for water cooling coils
  • #7887 : Subcool reheat dx coil follow up
  • #7890 : Fix ASHRAE simple method for vertical surfaces
  • #7894 : Correct VS coil operation with HX
  • #7895 : Disaggregate "Additional Fuel" in End Uses, etc. output tables
  • #7903 : Add System Level Loads Output Variables
  • #7909 : Fix Zone Contaminant Source or Sink CO2 Gain Volume Flow Rate output
  • #7912 : Rezero sizing arrays to correct DOAS loads in Loads Component Summary reports
  • #7916 : Use correct argument to calculate hg in AirflowNetwork
  • #7919 : Addressed idle/noload air flow rate for variable and multi speed coils of unitary system
  • #7920 : Fix scheduled Output:Variable bug with JSON outputs
  • #7927 : API FollowUp and Testing
  • #7928 : Make latent Degradation work for Variable Speed DX coil in Coil System
  • #7934 : #7902 - Fix inappopriate severe error: Heater Control Type for WaterHeater:Stratified must be CYCLE
  • #7935 : Fix blank utility tab on classic EP-Launch
  • #7941 : Allow ExteriorScreen used in EMS Window Shading Control
  • #7948 : Addressed HeatExchanger:AirToAir:SensibleAndLatent negative effectiveness and sizing
  • #7955 : Address zone air terminal zone outdoor air flow rate reporting issues
  • #7956 : Remove FlowLock From Pond GHE
  • #7964 : Fix Zone Component Loads Report delayed component calculation and correct row for Kiva surfaces
  • #7966 : Address error in water consumption calculation in evap cooled Chiller:Electric:EIR
  • #7970 : #7442 - Make Output:Diagnostics unique-object and extensible, Output:DebuggingData use a boolean
  • #7978 : Remove FlowLock from Surface GHE
  • #7979 : Windows installer always register ocx files
  • #7980 : Fix Controller:WaterCoil chilled water temperature and humidity control
  • #7981 : Obtain same results with and without EMS Construction:ComplexFenestrationState
  • #7982 : Fix adaptive algorithms defaults
  • #7983 : Fix identity matrix for diffuse solar exchange factors between zones
  • #7987 : #7809 - Floating-point error when summing Daylighting Zone Fractions
  • #7988 : Fix water coil user-specified sizing and Component Sizing Summary table for fan coils
  • #7990 : Correction of Crash in Indoor Pool Model Related to Improper Surface Reference
  • #7993 : Provide accurate value of RatedInletAirHumRat in DXCoils
  • #7994 : Fix fan system model div by zero and various unit tests
  • #7996 : Fix #6204 - Coil:Cooling:DX:VariableSpeed air-to-air coil should autosize cooling capacity using CapFT curve results based on OutTemp and not RatedInletWaterTemp
  • #8001 : Fix issue where simple glazing system had negative absorptance at some incident angles
  • #8002 : Added new functions to validate fuel types and set output strings
  • #8003 : #7896 - FaultPropertiesAirFilter::CheckFaultyAirFilterFanCurve is called before sizing occurs
  • #8004 : Create EMS actuator and report ZoneInfiltration with ZoneThermalChimney alone
  • #8006 : #7388 - Non UTF-8 characters throwing false blank name error
  • #8008 : Change rename function for FileSystem for Windows
  • #8014 : Correct optimum start for partial hour fan start operation
  • #8017 : Fix #6976 - Clean up daylighting output reporting for more than two reference points
  • #8018 : Separate Infiltration from Natural Ventilation for AirflowNetwork
  • #8023 : #7814 - Daylight savings time leading to incorrect season for tariff calculation
  • #8024 : Fix #8022 - ScheduleManager::GetCurrentScheduleValue and LookUpScheduleValue return different results
  • #8027 : Fix latex issues via value added scripts
  • #8028 : Protect ScanPlantLoopsForObject call with member var flag
  • #8040 : Fix Site:Precipitation divide-by-zero
  • #8049 : Fix Python Plugin DLL path issues when EnergyPlus is called through a symlink
  • #8054 : Fix Windows CI Warnings/Messages
  • #8058 : Fix hybridevap solution space searching
  • #8061 : Add Fan Heat Calculation and Modify Number of Modes Calculation for ZoneHVAC:HybridUnitaryHVAC
  • #8067 : Add Boiler Efficiency output for Boiler objects
  • #8072 : Fix HeatPump:PlantLoop:EIR:* Inlet Temperatures
  • #8073 : Prevent Kiva exposed perimeter warning
  • #8075 : Use indoor temperature to calculate hg to ensure energy conservation in infiltration and ventilation objects
  • #8077 : Support Electric Heating Coil in FanCoilUnit with MultiSpeedFan Capacity Control
  • #8085 : Allow for simulation of TDDs without Daylighting:Controls objects
  • #8089 : Clarify VRF engineering documentation and move essentials content to source directory
  • #8101 : Support Electric Heating Coil with ASHRAE90VariableFan Capacity Control
  • #8105 : Fix current_time Function in Python API
  • #8108 : Fix #6917 and Fix #8095 - Reimplement Object Count Summary Table
  • #8109 : Allow EMS to actuate mass flow and supply temperature for Ideal Loads when the zone load is zero
  • #8115 : Fixes AirTerminal Mixer used with FanCoilUnit does not respond to fan availability schedule
  • #8118 : Fix #8111 - E+ Crash w/ RunPeriodControl:DaylightSavingTime that wraps around year
  • #8134 : Address Meter:Custom mismatch for fuel type key "FuelOilNo*" and add missing fuel types
  • #8136 : Provide a recursive warning when Minimum Outdoor Air Flow Rate Overrides the Controller:MechanicalVentilation OA request
  • #8139 : Fix #8084 - EMS Actuators Override Python Actuators Silently
  • #8140 : Fixing some clear_state issues
  • #8143 : Added two weather variables for outputs and calculate sky emissivity and temperature using timestep interpolated inputs
  • #8144 : Fix transition truncating long field values
  • #8145 : Report zero values in HVAC Sizing Summary with zero loads
  • #8156 : Transition away blank Ouput:Table:SummaryReport report names in v8.8 to v8.9 transition
  • #8159 : Fix default for SimulationControl Maximum Number of HVAC Sizing Simulation Passes
  • #8160 : Fixes to clear_state
  • #8172 : Fix #8163 - Unable to avoid WaterHeater:Stratified warning
  • #8177 : Correct fan heat accounting for multiple air loops
  • #8178 : Avoid using DataStringConstants::NL whenever possible and trust OS
  • #8181 : Fix #8155 - Improve API type checking and error handling, and produce Python traceback for Plugin
  • #8205 : Update Penumbra dependency to clean up warnings
  • #8207 : Standardize Output Variable and Meter Fuel Types
  • #8225 : Add Zone Air Terminal Primary Damper Position Output to AirTerminal:SingleDuct:ParallelPIU:Reheat and AirTerminal:SingleDuct:SeriesPIU:Reheat
  • #8226 : Fix #8224 - Packages Need OS Version Number
  • #8235 : Preliminarily fixes #8228 -- better fixup of executables on mac
  • #8236 : Add Missing Argument on Call to InputOutputFile::open
  • #8237 : Resilience metrics fix issue #8220
  • #8239 : Fix geometry relation check problems in shading calculations
  • #8240 : Fix #8232 and PR #8207 (Standardize Output Variable and Meter Fuel Types) Follow-up
  • #8242 : Fix CSV files with carriage return line endings throw a sever error when read.
  • #8244 : Ceiling Diffuser Convection Model Causes Oscillating Winter Design Day Loads
  • #8246 : Fix missing MTR output
  • #8247 : Fix #8066 - Coil:Cooling:DX:CurveFit:OperatingMode: Nominal Evaporative Condenser Pump Power is marked autosizabled, but not autosized, and other autosized missing units
  • #8250 : #8249 - Adjustments for OutputControl:Files: properly register it, and do not output END file if set to No
  • #8255 : Make floating point exceptions consistent across platforms
  • #8258 : Correction of Flow Fraction Maximum for Variable Flow Radiant Systems
  • #8263 : Enable AFN with air boundary surfaces and fix ignored Ventilation Availability Schedule for horizontal opening
  • #8266 : Steam conversion factor
  • #8272 : Fix Zone Equipment sensible heat gain summary calculation and reporting
  • #8273 : Protect Debug File from FatalError on processInput
  • #8280 : Fixed Documentation Issues - 2020b
  • #8283 : Fix the resource portion of end-use subcategory meter names in v9.3 to v9.4 transition
  • #8287 : Prevent non-convex errors from appearing when using PixelCounting
  • #8288 : Fix AirflowNetworkBalanceManager divide by zero overflow issue causing NaN values in window temperature nan calculations
  • #8293 : Fix DX Coil crankcase heater meter
  • #8294 : CSV output, I/O, IDD parser, and file conversion bugfixes
  • #8296 : Documentation changes - #7760
  • #8298 : Parametric Preprocessor and EP-Launch error handling cleanup
  • #8306 : Fix Fueltype renames of IDFs in \datasets and \performance_tests

Under the Hood Restructuring

  • #7695 : Refactor Globals
  • #7848 : Refactor PlantChillers
  • #7858 : Move bnd audit eso to fmt
  • #7940 : Move debug file to {fmt}
  • #7947 : Refactor RezeroZoneSizingArrays
  • #7956 : Remove FlowLock From Pond GHE
  • #7963 : Skip interzone diffuse solar exchange factors calculations when no interzone window exists
  • #7965 : Global exterior energy
  • #7968 : Global Boilers and Chillers
  • #7971 : Convert misc formats from gio
  • #7972 : Convert outputreports from gio
  • #7978 : Remove FlowLock from Surface GHE
  • #7989 : Global Baseboards
  • #7997 : Convert misc files from gio
  • #8016 : Low Temperature Radiant System Controls Part 1
  • #8019 : Restructure EnergyPlusData; Move AirflowNetworkBalanceManager data to data struct
  • #8043 : AirflowNetwork Miscellaneous Refactors
  • #8051 : Global BranchInputManager
  • #8052 : Global AirloopHVACDOAS
  • #8060 : Global ChilledCeilingPanelSimple
  • #8070 : Refactored Autosizing Library
  • #8076 : Global CondenserLoopTowers
  • #8080 : Global ZonePlenum
  • #8081 : Global zone equipment manager
  • #8090 : Finish removing gio::write()
  • #8092 : Global zone temp predictor corrector
  • #8096 : Global zone dehumidifier
  • #8097 : Global ZoneContaminantPredictorCorrector
  • #8098 : Global ZoneAirLoopEquipmentManager
  • #8099 : Global WindowManager
  • #8104 : Global ConvectionCoefficients
  • #8106 : Reorganize Construction and Material
  • #8112 : Global windowequivalentlayer
  • #8120 : Global window complex manager
  • #8135 : Global CoolTower
  • #8137 : Global CostEstimateManager
  • #8148 : Global window ac
  • #8150 : Global CrossVentMgr
  • #8151 : Global wind turbine
  • #8153 : Global CTElectricGenerator
  • #8157 : WeatherManager clean up
  • #8160 : Fixes to clear_state
  • #8162 : Move input files from gio
  • #8166 : Global water use
  • #8168 : Removed SingleDuctAirTerminal Heat/Cool Rate/Energy variables
  • #8173 : Fix State confusion around API
  • #8206 : Global CurveManager
  • #8210 : Global DataAirLoop
  • #8211 : Global Pointer-to-Implementation Redesign