v3.7.0
OpenStudio SDK:
The 3.7.0 is a major release. This update includes several new features, performance improvements, and bug fixes.
C++ Workflow code
As of OpenStudio SDK 3.7.0 a re-written workflow written in C++ is used by default in place of the Ruby based Workflow Gem that had been used in the past. This enhancement is in support of Python measures being used in an OpenStudio workflow, including mixed language workflows that include both Ruby Measures and Python Measures. If you need to use the older Workflow Gem implementation, you can do that by using the classic
subcommand after openstudio
. classic
will be deprecated in a future version of OpenStudio.
Known Issues / Limitations
- In some cases you may need to install an extra dependency needed by EnergyPlus on Linux and Mac. See this EnergyPlus issue for details NREL/EnergyPlus#10284
- While we udpated the gbXML schema to v7.03, the forward and reverse translation between gbXML and OSM does not support any new gbXML fields that may have been added.
New Features, Major Fixes and API-breaking changes
- Make the "labs" cli implementation the default by @kbenne in #5006
- Fix #3831 - New (labs) CLI command for
measure new
andmeasure copy
by @jmarrec in #4875 - Labs cli remove verbose in favor of
--loglevel
+ minor swig adjustments by @jmarrec in #4922 - #4846 - Allow importing Python package with C-extension e.g. numpy in the labs CLI by @jmarrec in #4868
- [internal] Schedule:File relative paths mod by @jmarrec in #5010
- Schedule:File relative paths by @joseph-robertson in #4879
- Improve weather file handling in OS Workflow by @kbenne in #5011
- AirLoopHVACUnitarySystem set Method During XXX Operation - option, 2 by @joseph-robertson in #4927
- AirLoopHVACUnitarySystem set Method During XXX Operation - option by @jmarrec in #4905
- AirLoopHVACUnitarySystem set Method During XXX Operation by @joseph-robertson in #4873
- Support undisturbed ground temperature models on GroundHeatExchangerVertical by @joseph-robertson in #4932
- #4894 -
setAmbientTemperatureSchedule
andsetAmbientAirVelocitySchedule
setter forPipeIndoor
do not work by @jmarrec in #4901 - Fix #4869 - Handle AirToAirComponents (ERVs) when cloning AirLoopHVACOutdoorAirSystem by @jmarrec in #4872
- Fix #4896 - SPM:MixedAir creation for CoilSystemCoolingWaterHeatExchangerAssisted does not work with FanSystemModel by @jmarrec in #4899
- Fix #4926 - WindowPropertyFrameAndDivider: "Outside Reveal Depth" not forward translated by @jmarrec in #4959
- LoadProfilePlant: new Fluid Type and Degree of SubCooling fields by @joseph-robertson in #4951
- ControllerOutdoorAir: new Economizer Operation Staging field by @joseph-robertson in #4948
- Improve OpenStudio's support for Python unitttest by @kbenne in #4973
- BoilerHotWater: new Off Cycle Parasitic Fuel Load field by @joseph-robertson in #4949
- HeatPump:PlantLoop:EIR:*: new fields by @joseph-robertson in #4962
- Update gbXML schema to v7.03 by @joseph-robertson in #4995
- Update to EnergyPlus v23.2.0 official by @jmarrec in #4989
Minor changes and bug fixes
- Fix #5018 - C++ CLI: Calling a non existing method in a measure ends up with a crash and stack trace by @jmarrec in #5023
- Fixing run workflow with outdated measures by @jmarrec in #5015
- C++ CLI: Create results.json and handle analysis.json (create objectives.json) by @jmarrec in #5028
- Don't delete the osw when it is in the run dir by @kbenne in #5041
- Fix #5030 - C++ CLI: run.log is huge and missing the runner.registerWarning messages by @jmarrec in #5035
- Fix #5037 - Adjust log formatters for workflow (stdout + run.log) by @jmarrec in #5042
- Bump to rc3. by @wenyikuang in #5043
- Add missing
add_result_measure_info
so that out.osw step result have the same info as before by @jmarrec in #5044 - Allow edges to have same surface on both sides by @macumber in #5003
- 4990 python run tests by @kbenne in #5008
- Bump to rc2 by @wenyikuang in #5012
- CSharp fixes by @jmarrec in #4893
- Master master + Bump to 3.7.0-alpha and add default VT (+ Ubuntu 22.04 arm64 python bindings) by @jmarrec in #4898
- AirLoopHVACUnitarySystem FT fixes by @joseph-robertson in #4864
- Add surface method for
SurfacePropertyExposedFoundationPerimeter
by @joseph-robertson in #4892 - Fix #4909 - Update license to new format by @jmarrec in #4910
- Fix #4737 - Replace sprintf usage with fmt::format by @jmarrec in #4902
- Fix #4824 - Use a unique_path in create_temporary_directory to avoid collision by @jmarrec in #4903
- Fix compiler warning treated as error by @macumber in #4866
- Fix #4837 - Geometry improvements - Detect incorrectly oriented surfaces in spaces, non convex spaces by @jmarrec in #4843
- Fix #4911 - Avoid extra warning message in ShadingControl by @jmarrec in #4914
- Deprecation handling - better error messages + compile-time error when time to deprecate by @jmarrec in #4912
- Fix #4897 - openstudiolib.dll/libopenstudiolib.so not found without C++ API Component selected in IFW by @jmarrec in #4900
- Fix #4918 - Add a
-l
/--loglevel
argument to the labs CLI by @jmarrec in #4919 - Add a swig out typemap for Json::Value + openstudio::path typemap in/out for Python + add toJSON() for Workfow files and BCLMeasure by @jmarrec in #4917
- Fix #4931 - Install C# OpenStudio.dll properly. by @jmarrec in #4933
- Shadowing introduced by mistake in #3973 by @jmarrec in #4939
- Fix #4692 - Modify Model::load to use the VersionTranslator by @jmarrec in #4923
- update allowed limits radiant changeover by @mdahlhausen in #4925
- More detailed data documentation by @mdahlhausen in #4953
- #4957 - Some copy constructors aren't declared in SWIG by @jmarrec in #4960
- Fix issue in create_temporary_directory (affecting XMLValidator with schematron) by @jmarrec in #4961
- v23.2.0-IOFreeze: Coil and Unitary systems changes by @jmarrec in #4958
- V23.2.0-IOFreeze - Fuel Type enum changes (DistrictHeatingWater / DistrictHeatingSteam) by @jmarrec in #4968
- Fix #4969 - add
json_schemer
to embedded ruby gems by @jmarrec in #4974 - Coil:Heating:*: on and off cycle name changes by @joseph-robertson in #4970
- V23.2.0-IOFreeze - wrap
DistrictHeating:Steam
and renameDistrictHeating
toDistrictHeatingWater
by @jmarrec in #4972 - Addresses #4941, wrap DistrictHeating:Steam by @joseph-robertson in #4954
- Addresses #4946, allow TableLookup curves for Coil:*:WaterToAirHeatPump:EquationFit objects by @joseph-robertson in #4950
- Fix #4978 - adjust definitions for boost 1.79 to work with modern clang/apple clang by @jmarrec in #4984
- #4963 - AirLoopHVACUnitarySystem Default Supply Air Flow Rate Method When No Cooling or Heating is Required to None by @jmarrec in #4971
- BoilerHotWater: on cycle name change by @joseph-robertson in #4985
- Update to v23.2.0-IOFreeze by @joseph-robertson in #4940
- Fix #4885 - Rewrite MeasureManager in C++ by @jmarrec in #4920
- Fix #4975 - Build python bindings on windows for python 3.11 by @jmarrec in #4986
- Fix #4977 - Address regression tests failures by @jmarrec in #4988
- Add deprecated ruby method IdfObject::to_ by @jmarrec in #4991
- Fix #4997 - Add Workspace casting methods in python bindings by @jmarrec in #4998
- Fix #4999 - Change latent degration constructor defaults for CoilCoolingWaterToAirHeatPump:XXXX by @jmarrec in #5000
- Fix #4979 - Add operator bool for optional in python bindings by @jmarrec in #4987
- [Partial] Update openstudio gems with new TBD and openstudio extensio… by @wenyikuang in #4996
Full Changelog: v3.6.0...v3.7.0
New Contributors:
- @mdahlhausen made their first contribution in #4925
- @wenyikuang made their first contribution in #4996