Skip to content

OpenStudio v3.2.0

Compare
Choose a tag to compare
@tijcolem tijcolem released this 04 May 17:11
· 4754 commits to develop since this release

OpenStudio Version 3.2.0

Release Notes - 05/04/2021

These release notes describe version 3.2.0 of the OpenStudio SDK developed by the National Renewable Energy Laboratory (NREL), Buildings and Thermal Sciences Center, Commercial Buildings Research Group, Tools Development Section, and associated collaborators. The notes are organized into the following sections:

  • Overview
  • Where to Find OpenStudio Documentation
  • Installation Notes
  • OpenStudio SDK: Changelog

Overview

As of April 2020, development and distribution of the OpenStudioApplication and the SketchUp plugin have transitioned to the OpenStudio Coalition, who is independently managing and distributing the software through its own openstudiocoalition/OpenStudioApplication repository. The OpenStudio SDK is continuing to be actively developed and distributed by NREL and is released two times per year, through a spring and a fall release.

Below is the list of components that is included in this SDK installer:

OpenStudio SDK 3.2.0

  • EnergyPlus
  • Command Line Interface (CLI)
  • Radiance
  • Ruby API
  • C++ SDK

Note that PAT is not included in either the SDK or the OpenStudio Coalition's Application installers. You will need to install PAT separately which is distributed on the OpenStudio-PAT GitHub page.

Where to Find OpenStudio SDK Documentation

Installation Notes

OpenStudio SDK 3.2.0 is supported on 64-bit Windows 7 – 10, OS X 10.14 – 10.15, and Ubuntu 18.04, 20.04

OpenStudio SDK 3.2.0 supports EnergyPlus Release 9.5, which is bundled with the OpenStudio installer. It is no longer necessary to download and install EnergyPlus separately. Other builds of EnergyPlus are not supported by OpenStudio SDK 3.2.0.

OpenStudio SDK 3.2.0 supports Radiance 5.0.a.12, which is bundled with the OpenStudio installer; users no longer must install Radiance separately, and OpenStudio will use the included Radiance version regardless of any other versions that may be installed on the system. Other builds of Radiance are not supported by OpenStudio SDK 3.2.0.

OpenStudio SDK 3.2.0 now uses Ruby 2.7.2 as the supported version (2.5.5 previously in the 3.x series, and 2.2.4 for 2.x series).

As usual, you can refer to the OpenStudio SDK Compatibility Matrix for more information.

Installation Steps

  • Download and install OpenStudio SDK and/or openstudiocoalition/OpenStudioApplication depending on your needs. Select components for installation. Note that OpenStudio Application is a standalone app and does not require you to install OpenStudio SDK.
  • Setup a Building Component Library (BCL) account to access online building components and measures. View instructions on how to setup your account and configure the key in OpenStudio.
  • The OpenStudio Application SketchUp Plug-in requires SketchUp 2019 (not available for Linux). The OpenStudio Application SketchUp Plug-in does not support older versions of SketchUp. SketchUp must be installed before OpenStudio Application to automatically activate the plugin. If you install SketchUp after OpenStudio Application, simply rerun the OpenStudio Application installer.

For help with common installation problems please visit, http://nrel.github.io/OpenStudio-user-documentation/getting_started/getting_started/.

OpenStudio SDK: Changelog

The 3.2.0 is a major release. This update includes several new features, performance improvements, and bug fixes.
You can find the list of Pull Requests that got into this release here.

Update to Ruby 2.7.2

OpenStudio SDK now comes with Ruby 2.7.2 (#4207) which provides many improvements over the previous version, v2.5.5, such as pattern matching, REPL improvement, compaction GC, separation of positional and keyword arguments, and security related improvements.

To see the full list of Ruby updates and improvements, please refer to the official ruby release notes.

Python Bindings

New for OpenStudio SDK is support for Python bindings ( #4122). OpenStudio users can now use the popular Python Programming language across supported platforms to interface with OpenStudio SDK. Users can install the bindings using the Python package tool called pip. To install, users will need to have Python3 installed along with pip and simply run the following command in a terminal window.

pip install openstudio==3.2.0

Please see openstudio on PyPi for further instructions on how to install. Users can also visit the test channel at https://test.pypi.org/project/openstudio/ to install development bindings.

New Features, Major Fixes and API-breaking changes

A number of new features and API-breaking changes have been implemented in OpenStudio SDK 3.2.0:

  • #4271 - Update to EnergyPlus v9.5.0

    • Most of the actual changes were done in #4212 - Update to V9.5.0-IOFreeze
  • New objects:

    • #4155 - Wrap Humidifier:Stream:Gas in OS SDK
    • #4157 - Wrap ZoneHVAC:CoolingPanel:RadiantConvective:Water in OS SDK
    • #4159 - Wrap Refrigeration:ComporessorRack in OS SDK
    • #4186 - Wrap Chiller:Electric:ReformulatedEIR in OS SDK
    • #4192 - Wrap Generator:WindTurbine in OS SDK
    • #4193 - Wrap Fan:ComponentModel in OS SDK
    • #4194 - Wrap PhotovoltaicPerformance:Sandia in OS SDK
      • The recommended instantiation is via the factory methods GeneratorPhotovoltaic::sandia(const Model&) or GeneratorPhotovoltaic::fromSandiaDatabase(const Model&, const std::string& sandiaModulePerformanceName) where sandiaModulePerformanceName is one of keys in the now-embedded Sandia database. Please use the PhotovoltaicPerformanceSandia::sandiaModulePerformanceNames() static method to lookup the valid names.
    • #4225 - Wrap ElectricLoadCenter:Storage:LiIonNMCBattery in OS SDK
    • #4236 - Wrap CoilSystem:IntegratedHeatPump:AirSource and Coil:WaterHeating:AirToWaterHeatPump:VariableSpeed in OS SDK
    • #4258 - Wrap ZoneInfiltration:FlowCoefficient in OS SDK.
      • This object is wrapped as SpaceInfiltrationFlowCoefficient and is a SpaceLoad
  • #4199 - Add support for translating a Workspace/IdfFile to epJSON

  • #4253 - Allow ZoneHVAC:TerminalUnit:VariableRefrigerantFlow to connect to AirLoopHVAC

  • #4180 - Fixes #4175, issues with ft for ElectricLoadCenter:Distribution

    • ElectricLoadCenterDistribution objects are now possible with no generators / transformers
    • A default ElectricLoadCenterDistribution is no longer instantiated in the constructor of children objects: GeneratorFuelCell, GeneratorMicroTurbine, GeneratorPhotovoltaic, GeneratorPVWatts
  • #4153 - Fix #3532 #4152 - Make heating/cooling coils optional for ZoneHVACLowTempVariableFlow and add missing fields to coils

    • This is an API breaking change, the coils are now optional so the getters have been modified to account for this.
    - HVACComponent heatingCoil() const;
    + boost::optional<HVACComponent> heatingCoil() const;
    - HVACComponent coolingCoil() const;
    + boost::optional<HVACComponent> coolingCoil() const;
  • #4221 - Geometry improvements including fixing intersection issues

Minor changes:

  • #4136 - Fix #4125, Fix #4135 - GbXML ForwardTranslator: clear map&set, and add a modelToGbXMLString method

  • #4137 - Addresses #4076, radiant system enhancements

  • #4149 - Addresses #3706, add drain water heat exchanger methods to WaterUseConnections

  • #4188 - Fix #4187 - speed up IdfFile::save (and derived, such as Model::save) and general serialization to string by using '\n' instead of std::endl

  • #4239 -Fix #4226 - add int argument for ScheduleFile.setMinutesperItem method

  • #4061 - Fix Cloning a DualDuct AirLoopHVAC breaks the existing loop

  • #4081 - #4077 Remove name field from common HVAC data objects that are not visible to user

Minor Bug Fixes

  • #4123 - Addresses #4110, align PTAC and PTHP coils with EnergyPlus
  • #4173 - Fixes FT of Design Maximum Continuous Input Power for ElectricLoadCenterStorageConverter
  • #4179 - Fixes bug in SurfaceProperty:ExposedFoundationPerimeter IDD
  • #4180 - Addresses #4175, issues with ft for ElectricLoadCenter:Distribution
  • #4211 - Fix #4205 - WorkspaceObject::setString allows setting invalid names for ModelObjects
  • #4218 - Fix #4217 - Do not make an PlantEqOperationUncontrolled for a Component that is already on a PlantEquipmentOperationComponentSetpoint
  • #4245 - Fix #4166 - Merging FloorSpaceJS can delete unique model Objects such as Facility, Building, Site (and children)
  • #4235 - Fix #4111 - Shading:Building is improperly mapped when "World" coordinates are used for Rectangular Surfaces
  • #4256 - Fix #4254 - Set ComponentType::COOLING for EvaporativeFluidCoolerTwoSpeed
  • #4243 - Fix #4240 (and more): add missing \ip-units gal/min via a script

OpenStudio Standards v0.2.13

  • Fixed a bug related to the implementation of DCV requirements which now impacts many more buildings
  • Zone HVAC equipment now defaults to the zone occupancy schedule if it provides ventilation, otherwise it cycles
  • Added the ability to export standards .json data to a separate repository https://github.com/NREL/BuildingStandardsData
  • Refactored PSZ systems to use the unitary system object for all PSZ types
  • Clarified the distinction between and added support for fluid coolers and closed cooling towers
  • Added standards 90.1-2016 and 90.1-2016 methods and data
  • Included several updates to ComStock versions of standards for commercial stock modeling

OpenStudio Server v3.2.0

  • Update to OpenStudio SDK v3.2.0 and EnergyPlus 9.5
  • #615 Include optional UrbanOpt
    to run UrbanOpt workflows
  • $625 Update rails to 6.1.3.1 and ruby to use 2.7.2 along with other core dependency gems.
  • #617 Move CI from Travis to GitHub actions
  • #613 Update mongo to 4.4.2 and redis 6.0.9 and allow for optional authetication of mongo and redis.

Issue Statistics Since Previous Release

184 Closed Issues
86 New issues