Skip to content

Commit

Permalink
Merge pull request #8675 from NREL/PrepFor95Release
Browse files Browse the repository at this point in the history
Final prep for 9.5 release
  • Loading branch information
Myoldmopar committed Mar 30, 2021
2 parents 843f6c5 + 6296d2a commit de239b2
Show file tree
Hide file tree
Showing 5 changed files with 86 additions and 71 deletions.
2 changes: 1 addition & 1 deletion cmake/Version.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ set(CMAKE_VERSION_MAJOR 9)
set(CMAKE_VERSION_MINOR 5)
set(CMAKE_VERSION_PATCH 0)

set(PREV_RELEASE_SHA "baff089")
set(PREV_RELEASE_SHA "998c4b7")

set(ENERGYPLUS_VERSION "${CMAKE_VERSION_MAJOR}.${CMAKE_VERSION_MINOR}.${CMAKE_VERSION_PATCH}")

Expand Down
7 changes: 6 additions & 1 deletion doc/tools/create_changelog.py
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@ def usage():
log_full = ''
pass # add error handling
log_full_split = log_full.split('\n')
log_merge_prs = [x for x in log_full_split if 'Merge pull request' in x and not x.strip().startswith('Revert')]
log_merge_prs = [x for x in log_full_split if x.strip().startswith('Merge pull request') and not x.strip().startswith('Revert')]
pr_tokens = [x.split(' ')[7] for x in log_merge_prs]
pr_numbers = sorted([x[1:] for x in pr_tokens])

Expand All @@ -133,6 +133,11 @@ def usage():
# - a user wants to contribute a change to E+, so they create a fork/branch
# - their operations result in a pull request into their own repo, so the counting starts at #1...
# we're at like 5000+, so if we just skip anything less than 1000, we'll be good.
try:
i = int(pr_num)
except ValueError:
print(f"WARNING: Something wrong with PR number: \"{pr_num}\"")
continue
if int(pr_num) < 1000:
continue

Expand Down
145 changes: 77 additions & 68 deletions release/readme.html
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,8 @@
<div class="col-md-8 text-center">
<h1><img src="favicon.png" alt="EnergyPlus Logo" width="98" height="98"> EnergyPlus</h1>
<p>
Version 9.4.0<br>
30 September 2020<br>
Version 9.5.0<br>
31 March 2021<br>
<em>EnergyPlus is a trademark of the US Department of Energy.</em>
</p>
</div>
Expand Down Expand Up @@ -88,13 +88,13 @@ <h2>Using EnergyPlus</h2>
set – see below).
</p>

<h2><a id="Whats_going_on"></a>What’s going on in V9.4?</h2>
<h2><a id="Whats_going_on"></a>What’s going on in V9.5?</h2>
<div class="row">
<div class="col-md-12">
<a class="btn btn-primary margin-bottom-6" data-toggle="collapse" href="#cDifferent" role="button"
aria-expanded="false"
aria-controls="cDifferent">
Is 9.4 different from 9.3? (What's up with this library stuff?)
Is 9.5 different from 9.4? (Anything new on the library front?)
</a>
<div class="collapse" id="cDifferent">
<div class="card card-body">
Expand All @@ -110,9 +110,11 @@ <h5 class="card-title">Yes... and no.</h5>
"plugins" in lieu of writing user-defined Erl code. In the library mode, a
client can make function calls to setup and execute a simulation, as well as interact with
simulation results <b>during</b> a simulation. &#128077; &#128077; &#128077;<br>
With version 9.4 the library APIs heavily changed, so scripts will need to be updated. (Don't
worry we won't make a habit of that!). Details of these major changes along with other
significant features for this version are listed below in this readme. Also, see the full
A key effort completed with 9.5 was making EnergyPlus "thread-safe" by removing all global and
static data from the program. Now each running thread of EnergyPlus has a complete simulation
state, and no data is shared, so multiple runs can happen within a single process, opening the
door for interesting new workflows and applications.<br>
See the full
<a href="https://github.com/NREL/EnergyPlus/releases/latest" class="card-link">ChangeLog</a>
for a complete list of new features added in this and previous versions.
</p>
Expand All @@ -126,13 +128,13 @@ <h5 class="card-title">Yes... and no.</h5>
<a class="btn btn-primary margin-bottom-6" data-toggle="collapse" href="#collapseIDDIDF" role="button"
aria-expanded="false"
aria-controls="collapseIDDIDF">
Are 9.4 and 9.3 IDD and IDF files the same?
Are 9.5 and 9.4 IDD and IDF files the same?
</a>
<div class="collapse" id="collapseIDDIDF">
<div class="card card-body">
<h5 class="card-title">No, they are different</h5>
<p class="card-text">There are a few key changes in the V9.4 IDD. For best results, use the transition program to
transfer from the earlier V9.3 files. Use the IDFVersionUpdater program for best results.</p>
<p class="card-text">There are a few key changes in the V9.5 IDD. For best results, use the transition program to
transfer from the earlier V9.4 files. Use the IDFVersionUpdater program for best results.</p>
</div>
</div>
</div>
Expand All @@ -143,25 +145,27 @@ <h5 class="card-title">No, they are different</h5>
<a class="btn btn-primary margin-bottom-6" data-toggle="collapse" href="#collapseCompatible" role="button"
aria-expanded="false"
aria-controls="collapseCompatible">
Is version 9.4 backward compatible? Can I run v9.3 file in v9.4?
Is version 9.5 backward compatible? Can I run v9.4 file in v9.5?
</a>
<div class="collapse" id="collapseCompatible">
<div class="card card-body">
<h5 class="card-title">Some objects require transition</h5>
There have been changes in the following objects which require conversion. Either read and follow
the Rules document or use the IDFVersionUpdater utility. The “Rules” document contains information on
exact object changes that you can do by hand. The updater program is described more fully in the Auxiliary
Programs document. For the v9.4 release, the following objects require conversion (from V9.3):
Programs document. For the v9.5 release, the following objects require conversion (from V9.4):
<ul class="list-group">
<li class="list-group-item transition-object-name">Construction:AirBoundary</li>
<li class="list-group-item transition-object-name">Coil:Cooling:WaterToAirHeatPump:EquationFit</li>
<li class="list-group-item transition-object-name">Coil:Heating:WaterToAirHeatPump:EquationFit</li>
<li class="list-group-item transition-object-name">Construction:InternalSource</li>
<li class="list-group-item transition-object-name">ZoneHVAC:HybridUnitaryHVAC</li>
<li class="list-group-item transition-object-name">Output:DebuggingData</li>
<li class="list-group-item transition-object-name">Output:Diagnostics</li>
<li class="list-group-item transition-object-name">HeatPump:WaterToWater:EquationFit:Cooling</li>
<li class="list-group-item transition-object-name">HeatPump:WaterToWater:EquationFit:Heating</li>
<li class="list-group-item transition-object-name">ZoneAirMassFlowConservation</li>
<li class="list-group-item transition-object-name">ZoneHVAC:LowTemperatureRadiant:VariableFlow</li>
<li class="list-group-item transition-object-name">ZoneHVAC:LowTemperatureRadiant:VariableFlow</li>
<li class="list-group-item transition-object-name">ZoneHVAC:LowTemperatureRadiant:Electric</li>
<li class="list-group-item transition-object-name">ZoneHVAC:LowTemperatureRadiant:ConstantFlow</li>
<li class="list-group-item transition-object-name">Multiple Objects Affected with Fuel type Synonym Unification</li>
<li class="list-group-item transition-object-name">ZoneHVAC:Baseboard:RadiantConvective:Water</li>
<li class="list-group-item transition-object-name">ZoneHVAC:Baseboard:RadiantConvective:Steam</li>
</ul>
</div>
</div>
Expand Down Expand Up @@ -228,93 +232,98 @@ <h2><a id="Weather_Data_63"></a>Weather Data</h2>
about the included (or other) files. Weather data for more than 2100 locations in more than 100 countries can be
downloaded on the <a href="https://energyplus.net/weather">EnergyPlus Weather Page</a>.</p>

<h2>An Important Note About the API</h2>
<p>
Under normal circumstances, we intend on providing a very stable API for clients to access EnergyPlus.
However, as somewhat expected (see 9.3 README), the first release of the API was always likely to expose
some cases that would require a change in the API. Indeed it did. The change is pretty widespread through the
API, but quite an easy change to make. In summary - a new argument is needed in most functions, including
Python Plugin method overrides and user-defined runtime API callback functions. The client merely needs to
accept this argument in functions and pass it back in to the API methods. More information can be found in the
input-output reference document.
</p>

<h2>Highlights of this release (V9.4.0)</h2>
<h2>Highlights of this release (V9.5.0)</h2>
<h3><a id="Highlights_of_this_release"></a>New Features</h3>
<table class="table table-striped table-bordered">
<tr>
<th>PR #</th>
<th>Description</th>
</tr>
<tr>
<td><a href="https://github.com/NREL/EnergyPlus/pull/8100">8100</a></td>
<td>Resilience Metrics Reporting</td>
<td><a href="https://github.com/NREL/EnergyPlus/pull/8327">8327</a></td>
<td>Expand access for ancillary power inputs and total electricity rate/energy to all coil types in UnitarySystem</td>
</tr>
<tr>
<td><a href="https://github.com/NREL/EnergyPlus/pull/8113">8113</a></td>
<td>Implementation of On-Off Control Capabilities for the Variable Flow and Electric Low Temperature Radiant Systems</td>
<td><a href="https://github.com/NREL/EnergyPlus/pull/8405">8405</a></td>
<td>Improve PMV Calculations to consider cooling credit for elevated air velocity</td>
</tr>
<tr>
<td><a href="https://github.com/NREL/EnergyPlus/pull/8170">8170</a></td>
<td>Enhancement of Low Temperature Radiant Models to Allow Multi-Zone Systems</td>
<td><a href="https://github.com/NREL/EnergyPlus/pull/8413">8413</a></td>
<td>Additional fuel types for Generator:*Turbine objects</td>
</tr>
<tr>
<td><a href="https://github.com/NREL/EnergyPlus/pull/8183">8183</a></td>
<td>Implement Changeover Delay for Hydronic Low Temperature Radiant Systems</td>
<td><a href="https://github.com/NREL/EnergyPlus/pull/8417">8417</a></td>
<td>CondFD Surface Actuators</td>
</tr>
<tr>
<td><a href="https://github.com/NREL/EnergyPlus/pull/8269">8269</a></td>
<td>Allow Multiple Scheduled Shades to Reference a Single Window</td>
<td><a href="https://github.com/NREL/EnergyPlus/pull/8460">8460</a></td>
<td>NFP-Zone Air Mass Flow Balance Improvement</td>
</tr>
<tr>
<td><a href="https://github.com/NREL/EnergyPlus/pull/7821">7821</a></td>
<td>Add Report of SEER calculated using the user specified PLF curve and default AHRI curve and C_D</td>
<td><a href="https://github.com/NREL/EnergyPlus/pull/8464">8464</a></td>
<td>Change EquationFit coils to reference curves</td>
</tr>
</table>
<h3><a id="PerformanceFeatures"></a>Runtime Performance Enhancing Developments</h3>
<table class="table table-striped table-bordered">
<tr>
<th>PR #</th>
<th>Description</th>
<td><a href="https://github.com/NREL/EnergyPlus/pull/8474">8474</a></td>
<td>Dual units option for tabular output report</td>
</tr>
<tr>
<td><a href="https://github.com/NREL/EnergyPlus/pull/7904">7904</a></td>
<td>Native E+ CSV output and conditional output file selection</td>
<td><a href="https://github.com/NREL/EnergyPlus/pull/8477">8477</a></td>
<td>Add EMS Actuator for View Factor to Ground</td>
</tr>
<tr>
<td><a href="https://github.com/NREL/EnergyPlus/pull/7963">7963</a></td>
<td>Skip interzone diffuse solar exchange factors calculations when no interzone window exists</td>
<td><a href="https://github.com/NREL/EnergyPlus/pull/8499">8499</a></td>
<td>ElectricLoadCenter:Storage:LiIonNMCBattery</td>
</tr>
<tr>
<td><a href="https://github.com/NREL/EnergyPlus/pull/8141">8141</a></td>
<td>SurfaceWindow struct refactoring</td>
<td><a href="https://github.com/NREL/EnergyPlus/pull/8518">8518</a></td>
<td>ASTM C1340 Convection Coefficient Algorithm for Radiant Barriers</td>
</tr>
<tr>
<td><a href="https://github.com/NREL/EnergyPlus/pull/8182">8182</a></td>
<td>Bypass interior solar distribution calculation at night</td>
<td><a href="https://github.com/NREL/EnergyPlus/pull/8529">8529</a></td>
<td>New Outdoor Air Details report</td>
</tr>
<tr>
<td><a href="https://github.com/NREL/EnergyPlus/pull/8549">8549</a></td>
<td>Allow HPWH and Zonal ERVs to be modeled with AFNs</td>
</tr>
</table>
<h3><a id="RefactoringEfforts"></a>Targeted Refactoring Efforts</h3>
<h3><a id="PerformanceFeatures"></a>Runtime Performance Enhancing Developments</h3>
<table class="table table-striped table-bordered">
<tr>
<th>PR #</th>
<th>Description</th>
</tr>
<tr>
<td><a href="https://github.com/NREL/EnergyPlus/pull/8157">8157</a></td>
<td>WeatherManager clean up</td>
<td><a href="https://github.com/NREL/EnergyPlus/pull/8257">8257</a></td>
<td>Surface Window data struct & heat balance routines refactoring</td>
</tr>
<tr>
<td><a href="https://github.com/NREL/EnergyPlus/pull/8347">8347</a></td>
<td>Heat balance surface data structure refactoring</td>
</tr>
<tr>
<td><a href="https://github.com/NREL/EnergyPlus/pull/8370">8370</a></td>
<td>Construction:AirBoundary - remove solar and radiant method fields</td>
</tr>
<tr>
<td><a href="https://github.com/NREL/EnergyPlus/pull/8540">8540</a></td>
<td>TDD surface reordering and bug fixing</td>
</tr>
<tr>
<td><a href="https://github.com/NREL/EnergyPlus/pull/8173">8173</a></td>
<td>Fix State confusion around API</td>
<td><a href="https://github.com/NREL/EnergyPlus/pull/8591">8591</a></td>
<td>Refactoring of interpolation functions for blinds Prof and Slat Angle</td>
</tr>
</table>
<h3><a id="RefactoringEfforts"></a>Targeted Refactoring Efforts</h3>
<table class="table table-striped table-bordered">
<tr>
<td><a href="https://github.com/NREL/EnergyPlus/pull/8211">8211</a></td>
<td>Global Pointer-to-Implementation Redesign</td>
<th>PR #</th>
<th>Description</th>
</tr>
<tr>
<td>(MANY)</td>
<td>Many refactoring efforts to clean up global variable usage in EnergyPlus</td>
<td>Completed removing global and static variables from EnergyPlus</td>
</tr>
</table>

Expand All @@ -332,13 +341,13 @@ <h3><a id="RefactoringEfforts"></a>Targeted Refactoring Efforts</h3>

<h2><a id="Platforms_90"></a>Platforms</h2>
<p>
Packages changed slightly with 9.4. We are now building our packages on a new system which adds better support
for some platforms. During the change, we are stepping away from some older OS versions. For example, we are
Packages changed slightly with the previous release (9.4).
We began building our packages on a new system which adds better support
for newer platforms. During the change, we stepped away from some older OS versions. For example, we are
not testing on Windows 7 or 8, only 10. However, both our 32-bit and 64-bit packages now include the new
Python plugin system, rather than just the 64-bit as previously. We have also added packaging and testing
with Ubuntu 20.04 <i>in addition to</i> Ubuntu 18.04. On Mac, we are officially releasing an installer for
OSX 10.15, although we will make an effort to offer a package for an older version. (Though 10.15 has been
out for a while now...)
OSX 10.15.
</p>
<ul class="list-group">
<li class="list-group-item">Windows 10</li>
Expand Down Expand Up @@ -422,7 +431,7 @@ <h2>Additional steps you may want to consider:</h2>
<hr>

<footer>
<p>Copyright © 1996-2020 The Board of Trustees of the University of Illinois, The Regents of the University of
<p>Copyright © 1996-2021 The Board of Trustees of the University of Illinois, The Regents of the University of
California through Ernest Orlando Lawrence Berkeley National Laboratory, Oak Ridge National Laboratory,
managed
by
Expand Down
1 change: 1 addition & 0 deletions src/Transition/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -161,6 +161,7 @@ install(FILES "InputRulesFiles/Rules9-0-0-to-9-1-0.md" DESTINATION "PreProcess/I
install(FILES "InputRulesFiles/Rules9-1-0-to-9-2-0.md" DESTINATION "PreProcess/IDFVersionUpdater")
install(FILES "InputRulesFiles/Rules9-2-0-to-9-3-0.md" DESTINATION "PreProcess/IDFVersionUpdater")
install(FILES "InputRulesFiles/Rules9-3-0-to-9-4-0.md" DESTINATION "PreProcess/IDFVersionUpdater")
install(FILES "InputRulesFiles/Rules9-4-0-to-9-5-0.md" DESTINATION "PreProcess/IDFVersionUpdater")

# output changes file first introduced with v8.5.0, so no older ones exist
install(FILES "OutputRulesFiles/OutputChanges8-4-0-to-8-5-0.md" DESTINATION "PreProcess/IDFVersionUpdater")
Expand Down
2 changes: 1 addition & 1 deletion testfiles/ShopWithPVandLiIonBattery.idf
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@
! Environmental Emissions: Yes
! Utility Tariffs: Yes, circa 2004, Reliant , TX

Version,9.4;
Version,9.5;

Timestep,6;

Expand Down

5 comments on commit de239b2

@nrel-bot-3
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

develop (Myoldmopar) - x86_64-MacOS-10.15-clang-11.0.0: OK (2358 of 2358 tests passed, 0 test warnings)

Build Badge Test Badge

@nrel-bot-2c
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

develop (Myoldmopar) - x86_64-Linux-Ubuntu-18.04-gcc-7.5: OK (2378 of 2378 tests passed, 0 test warnings)

Build Badge Test Badge

@nrel-bot-2c
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

develop (Myoldmopar) - x86_64-Linux-Ubuntu-18.04-gcc-7.5-UnitTestsCoverage-Debug: OK (1634 of 1634 tests passed, 0 test warnings)

Build Badge Test Badge Coverage Badge

@nrel-bot-2b
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

develop (Myoldmopar) - x86_64-Linux-Ubuntu-18.04-gcc-7.5-IntegrationCoverage-Debug: Coverage Too Low

Failures:\n

integration Test Summary

  • Passed: 726
  • Timeout: 1

Build Badge Test Badge Coverage Badge

@nrel-bot
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

develop (Myoldmopar) - Win64-Windows-10-VisualStudio-16: OK (2329 of 2329 tests passed, 0 test warnings)

Build Badge Test Badge

Please sign in to comment.