diff --git a/CMakeLists.txt b/CMakeLists.txt index d7c8267d614..f11abb7bbf0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -195,15 +195,15 @@ endif() # EnergyPlus Idd version set(ENERGYPLUS_VERSION_MAJOR 25) -set(ENERGYPLUS_VERSION_MINOR 1) +set(ENERGYPLUS_VERSION_MINOR 2) set(ENERGYPLUS_VERSION_PATCH 0) set(ENERGYPLUS_VERSION "${ENERGYPLUS_VERSION_MAJOR}.${ENERGYPLUS_VERSION_MINOR}.${ENERGYPLUS_VERSION_PATCH}") # Build SHA is not required to have a value, but if it does OpenStudio will require this build. -set(ENERGYPLUS_BUILD_SHA "1c11a3d85f") +set(ENERGYPLUS_BUILD_SHA "6a6bc0728b") # ENERGYPLUS_RELEASE_NAME is used to locate the E+ download # from the github releases -set(ENERGYPLUS_RELEASE_NAME "v25.1.0-WithDSOASpaceListFixes") +set(ENERGYPLUS_RELEASE_NAME "v25.2.0-IOFreeze") set(ENERGYPLUS_REPO "NREL") @@ -648,30 +648,30 @@ endif() if(UNIX) if(APPLE) if (ARCH MATCHES "arm64") - set(ENERGYPLUS_EXPECTED_HASH f2fce0c8883d057dae498d1a0a717a80) + set(ENERGYPLUS_EXPECTED_HASH 50c7092dee84ea5f94b6b32be6dd03d4) set(ENERGYPLUS_PLATFORM "Darwin-macOS13-arm64") else() - set(ENERGYPLUS_EXPECTED_HASH f3bd66b9555d86e7330f6bb86f18eb89) + set(ENERGYPLUS_EXPECTED_HASH 7c01999d5a840168c9bfbfad912794b9) set(ENERGYPLUS_PLATFORM "Darwin-macOS12.1-x86_64") endif() elseif(LSB_RELEASE_ID_SHORT MATCHES "CentOS") - set(ENERGYPLUS_EXPECTED_HASH 6fb9360c50ca797d16f74e167dd8b7ce) + set(ENERGYPLUS_EXPECTED_HASH daeb225a46744c714f49e50cda7de86d) set(ENERGYPLUS_PLATFORM "Linux-CentOS7.9.2009-x86_64") elseif(LSB_RELEASE_ID_SHORT MATCHES "AlmaLinux") - set(ENERGYPLUS_EXPECTED_HASH 67f00826449aad725a5a5b56fe0ec76a) + set(ENERGYPLUS_EXPECTED_HASH 7138b16742723aa7d39f6c185d33d741) set(ENERGYPLUS_PLATFORM "Linux-AlmaLinux9.6-x86_64") else() if(LSB_RELEASE_VERSION_SHORT MATCHES "24.04") if (ARCH MATCHES "arm64") - set(ENERGYPLUS_EXPECTED_HASH dbe28aebdbfc28ee8538cabb2dd15305) + set(ENERGYPLUS_EXPECTED_HASH 12b0e89296efcb3ecff2eab03b94f82c) else() - set(ENERGYPLUS_EXPECTED_HASH af8ee54182777923fa4154b122c39447) + set(ENERGYPLUS_EXPECTED_HASH dc23c201393665a352e160e6b5dd03c5) endif() elseif(LSB_RELEASE_VERSION_SHORT MATCHES "22.04") if (ARCH MATCHES "arm64") - set(ENERGYPLUS_EXPECTED_HASH 2ddd6ddb854cc3957943a9dd396c2dce) + set(ENERGYPLUS_EXPECTED_HASH 343a8477d3a93afa6e5d076257b3a08c) else() - set(ENERGYPLUS_EXPECTED_HASH 7700f3f7865e36e442b7d171c2e2f96a) + set(ENERGYPLUS_EXPECTED_HASH fff86a0b919c106cacc414129e2a465e) endif() else() # e.g., 18.04, 20.04 message(FATAL_ERROR "EnergyPlus no longer provides packages for Ubuntu < 22.04") @@ -708,11 +708,11 @@ elseif(WIN32) if(CMAKE_SIZEOF_VOID_P EQUAL 8) # 64 bit set(ENERGYPLUS_PATH "EnergyPlus-${ENERGYPLUS_VERSION}-${ENERGYPLUS_BUILD_SHA}-Windows-x86_64") set(ENERGYPLUS_ARCH 64) - set(ENERGYPLUS_EXPECTED_HASH 630e0b8de20dea68185224072c079d90) + set(ENERGYPLUS_EXPECTED_HASH 9d82c78d59b8ad4833843464296ef8c2) else() set(ENERGYPLUS_PATH "EnergyPlus-${ENERGYPLUS_VERSION}-${ENERGYPLUS_BUILD_SHA}-Windows-i386") set(ENERGYPLUS_ARCH 32) - set(ENERGYPLUS_EXPECTED_HASH e26ed12ee4df8dafa3d34a3340a9b780) + set(ENERGYPLUS_EXPECTED_HASH 8fc1c6fcbdc66b6348a2bf29df02d560) endif() if(EXISTS "${PROJECT_BINARY_DIR}/${ENERGYPLUS_PATH}.zip") file(MD5 "${PROJECT_BINARY_DIR}/${ENERGYPLUS_PATH}.zip" ENERGYPLUS_HASH) diff --git a/developer/doc/ReleaseNotes/OpenStudio_Release_Notes_3_10_1_TBD.md b/developer/doc/ReleaseNotes/OpenStudio_Release_Notes_3_10_1_TBD.md new file mode 100644 index 00000000000..9fafeb65d75 --- /dev/null +++ b/developer/doc/ReleaseNotes/OpenStudio_Release_Notes_3_10_1_TBD.md @@ -0,0 +1,110 @@ +# OpenStudio Version 3.10.1 + +_Release Notes_ - _TBD_ + +These release notes describe version 3.10.1 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](https://github.com/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.10.1**__ +- EnergyPlus +- Command Line Interface (CLI) +- Radiance +- Ruby API +- Python API +- C++ SDK + +**Note** that [PAT](https://github.com/NREL/OpenStudio-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](https://github.com/NREL/OpenStudio-PAT) GitHub page. + +# Where to Find OpenStudio SDK Documentation + +- OpenStudio SDK release documentation, including these release notes, tutorials, and other user documentation, is available at [https://www.openstudio.net/](https://www.openstudio.net/.) +- C++ API documentation is available at [OpenStudio SDK Documentation](https://openstudio-sdk-documentation.s3.amazonaws.com/index.html) +- Measure development documentation is available at [OpenStudio Measure Writer's Reference Guide](http://nrel.github.io/OpenStudio-user-documentation/reference/measure_writing_guide/ ) +- A roadmap for planned features is available at [Roadmap](http://nrel.github.io/OpenStudio-user-documentation/getting_started/roadmap/) + +# Installation Notes + +OpenStudio SDK 3.10.1 is supported on: + +* 64-bit Windows 7 – 11 +* macOS: 11.6+ x86_64, 12.1+ arm64 +* Ubuntu: 22.04 x86_64, 24.04 x86_64, 22.04 arm64 + +OpenStudio SDK 3.10.1 supports [EnergyPlus Release 25.2.0, Bug Fix Edition](https://github.com/NREL/EnergyPlus/releases/tag/v25.2.0), 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.10.1. + +OpenStudio SDK 3.10.1 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.10.1. + +As usual, you can refer to the **[OpenStudio SDK Compatibility Matrix](https://github.com/NREL/OpenStudio/wiki/OpenStudio-SDK-Version-Compatibility-Matrix)** for more information. + + +## Installation Steps + +- Download and install [OpenStudio SDK](https://github.com/NREL/openstudio) and/or any third party tool that embeds the OpenStudio SDK into their software such as [openstudiocoalition/OpenStudioApplication](https://github.com/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. +- A BCL AUth Key is no longer needed to access content on [Building Component Library (BCL)](https://bcl.nrel.gov) BCL is typically accessed through third party OpenStudio applications to provide modelers access to building components and OpenStudio measures; however you an also browse it and download content using the BCL link above. + +For help with common installation problems please visit [Getting Started](http://nrel.github.io/OpenStudio-user-documentation/getting_started/getting_started/). + +# OpenStudio SDK: Changelog + +The 3.10.1 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. + +## Python Bindings + +As of OpenStudio SDK 3.2.0, Python bindings are officially supported and distributed through Python Package Index (PyPI). 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.10.1` + +Please see [openstudio on PyPi](https://pypi.org/project/openstudio/) for further instructions on how to install. Users can also visit the test channel at [openstudio on TestPyPi](https://test.pypi.org/project/openstudio/) to install development bindings. + +You can also refer to the [OpenStudio SDK Python Binding Version Compatibility Matrix](https://github.com/NREL/OpenStudio/wiki/OpenStudio-SDK-Python-Binding-Version-Compatibility-Matrix) to see the list of supported platforms and python versions. + +## New Features, Major Fixes and API-breaking changes + +* [#5481](https://github.com/NREL/OpenStudio/pull/5481) - ExternalInterface's optional Initial Value field + * Field `Initial Value` is made optional for `ExternalInterface:FunctionalMockupUnitExport:To:Schedule` and `ExternalInterface:FunctionalMockupUnitExport:To:Actuator` + * API-breaking change for `ExternalInterface:FunctionalMockupUnitExport:To:Schedule` and `ExternalInterface:FunctionalMockupUnitExport:To:Actuator`: + * `initialValue` (`double` to `boost::optional`) + +## Minor changes and bug fixes + + + + +Refer to the changelog on the release page at [v3.10.1](https://github.com/NREL/OpenStudio/releases/v3.10.1) + +**Full Changelog**: https://github.com/NREL/OpenStudio/compare/v3.10.0...v3.10.1 + +**New Contributors**: + +### OpenStudio Standards v0.8.2 + +Update the openstudio-standards gem to version [0.8.2](https://github.com/NREL/openstudio-standards/releases/tag/v0.8.2) +In addition to some refactoring, this release also included conversion of 90.1 data to formal database. + +--- +# This YAML header controls the pandoc (via TeX) to PDF settings +# To convert the markdown to pdf, do `pandoc release_notes.md -o release_notes.pdf` +title: 'OpenStudio Release Notes - 3.10.1' +author: +- National Renewable Energy Laboratory +colorlinks: true +linkcolor: blue +urlcolor: Mahogany +toccolor: gray +geometry: +- margin=1in +--- diff --git a/resources/CMakeLists.txt b/resources/CMakeLists.txt index b5b55f90d26..3a46ca44a69 100644 --- a/resources/CMakeLists.txt +++ b/resources/CMakeLists.txt @@ -132,6 +132,7 @@ set(utilities_resources_src utilities/SqlFile/1ZoneEvapCooler-V24-1-0.sql utilities/SqlFile/1ZoneEvapCooler-V24-2-0.sql utilities/SqlFile/1ZoneEvapCooler-V25-1-0.sql + utilities/SqlFile/1ZoneEvapCooler-V25-2-0.sql utilities/xml/base.xml utilities/xml/hpxml_with_error.xml utilities/xml/schema/HPXML.xsd diff --git a/resources/energyplus/5ZoneAirCooled/in.idf b/resources/energyplus/5ZoneAirCooled/in.idf index 71999ab2093..cff7935be59 100644 --- a/resources/energyplus/5ZoneAirCooled/in.idf +++ b/resources/energyplus/5ZoneAirCooled/in.idf @@ -100,7 +100,7 @@ ! Environmental Emissions: None ! Utility Tariffs: None - Version,25.1; + Version,25.2; Building, Building, !- Name diff --git a/resources/energyplus/AllFuelTypes/in.idf b/resources/energyplus/AllFuelTypes/in.idf index 8c6d083db30..58e6e0439c7 100644 --- a/resources/energyplus/AllFuelTypes/in.idf +++ b/resources/energyplus/AllFuelTypes/in.idf @@ -1,4 +1,4 @@ - Version,25.1; + Version,25.2; Timestep,6; diff --git a/resources/energyplus/BestestEx/in.idf b/resources/energyplus/BestestEx/in.idf index 54780ded1be..001ddf2a265 100644 --- a/resources/energyplus/BestestEx/in.idf +++ b/resources/energyplus/BestestEx/in.idf @@ -5,7 +5,7 @@ !BESTEST-EX Case L200EX-PH BASE-CASE, developed by NREL !Use EnergyPlus IDFEditor to view inputs in IP units - Version,25.1; + Version,25.2; SimulationControl, No, !- Do Zone Sizing Calculation diff --git a/resources/energyplus/Daylighting_Office/in.idf b/resources/energyplus/Daylighting_Office/in.idf index 65455ca2402..6ce3db45a9d 100644 --- a/resources/energyplus/Daylighting_Office/in.idf +++ b/resources/energyplus/Daylighting_Office/in.idf @@ -140,7 +140,7 @@ ! schedule types, always on schedule, misc ! ***GENERAL SIMULATION PARAMETERS*** - Version,25.1; + Version,25.2; SimulationControl, YES, !- Do Zone Sizing Calculation diff --git a/resources/energyplus/Daylighting_School/in.idf b/resources/energyplus/Daylighting_School/in.idf index f395edebe0f..6221f88959e 100644 --- a/resources/energyplus/Daylighting_School/in.idf +++ b/resources/energyplus/Daylighting_School/in.idf @@ -33,7 +33,7 @@ ! WeatherFileName=USA_CO_Boulder_TMY2.epw ! End SimMetaData - Version,25.1; + Version,25.2; Timestep,6; diff --git a/resources/energyplus/FrameAndDivider/in.idf b/resources/energyplus/FrameAndDivider/in.idf index e83022d9634..d91bdc61a10 100644 --- a/resources/energyplus/FrameAndDivider/in.idf +++ b/resources/energyplus/FrameAndDivider/in.idf @@ -1,4 +1,4 @@ - Version,25.1; + Version,25.2; Timestep,4; diff --git a/resources/energyplus/HospitalBaseline/in.idf b/resources/energyplus/HospitalBaseline/in.idf index 23e606487f4..97bb4dd11ef 100644 --- a/resources/energyplus/HospitalBaseline/in.idf +++ b/resources/energyplus/HospitalBaseline/in.idf @@ -100,7 +100,7 @@ ! End SimMetaData ! Number of Zones: 130 - Version,25.1; + Version,25.2; Timestep,6; diff --git a/resources/energyplus/NewFileTemplate.idf b/resources/energyplus/NewFileTemplate.idf index 25db059870b..eea8fbf8769 100644 --- a/resources/energyplus/NewFileTemplate.idf +++ b/resources/energyplus/NewFileTemplate.idf @@ -1,6 +1,6 @@ !- =========== ALL OBJECTS IN CLASS: VERSION =========== - Version,25.1; + Version,25.2; !- =========== ALL OBJECTS IN CLASS: BUILDING =========== diff --git a/resources/energyplus/Office_With_Many_HVAC_Types/in.idf b/resources/energyplus/Office_With_Many_HVAC_Types/in.idf index 5e48e1c8b41..871ca48dda4 100644 --- a/resources/energyplus/Office_With_Many_HVAC_Types/in.idf +++ b/resources/energyplus/Office_With_Many_HVAC_Types/in.idf @@ -1,4 +1,4 @@ - Version,25.1; + Version,25.2; Building, Building 1, !- Name diff --git a/resources/energyplus/ProposedEnergy+.idd b/resources/energyplus/ProposedEnergy+.idd index 47fb2080358..2f72ec2bf4b 100644 --- a/resources/energyplus/ProposedEnergy+.idd +++ b/resources/energyplus/ProposedEnergy+.idd @@ -1,4 +1,4 @@ -!IDD_Version 25.1.0 +!IDD_Version 25.2.0 !IDD_BUILD TBD ! ************************************************************************** ! This file is the Input Data Dictionary (IDD) for EnergyPlus. @@ -405,7 +405,7 @@ Version, \format singleLine \min-fields 1 A1 ; \field Version Identifier - \default 25.1 + \default 25.2 SimulationControl, \unique-object @@ -774,7 +774,7 @@ ZoneAirHeatBalanceAlgorithm, \format singleLine \min-fields 2 A1 , \field Algorithm - \note Determines which algorithm will be used to solve the air heat balance + \note Determines which algorithm will be used to solve the air heat balance. \type choice \key ThirdOrderBackwardDifference \key AnalyticalSolution @@ -2382,12 +2382,23 @@ Site:WaterMainsTemperature, \note field is ignored. \type real \units C - N2 ; \field Maximum Difference In Monthly Average Outdoor Air Temperatures + N2 , \field Maximum Difference In Monthly Average Outdoor Air Temperatures \note If calculation method is CorrelationFromWeatherFile or Schedule, this input \note field is ignored. \type real \units deltaC \minimum 0 + N3 , \field Temperature Multiplier + \note If calculation method is Schedule, this input field is ignored. + \type real + \units dimensionless + \default 1 + \minimum 0 + N4 ; \field Temperature Offset + \note If calculation method is Schedule, this input field is ignored. + \type real + \units deltaC + \default 0 Site:Precipitation, \memo Used to describe the amount of water precipitation at the building site. @@ -2901,6 +2912,7 @@ Schedule:File, \type integer \minimum 1 \maximum 60 + \default 60 A6 ; \field Adjust Schedule for Daylight Savings \note "No" means do not include Daylight Savings Time in the schedule, instead, use the schedule directly from the Schedule:File csv (default) \note "Yes" means include Daylight Savings Time to the schedule @@ -5000,11 +5012,11 @@ MaterialProperty:PhaseChange, \type real \default 0.0 N2 , \field Temperature 1 + \begin-extensible \required-field \note for Temperature-enthalpy function \units C \type real - \begin-extensible N3; \field Enthalpy 1 \required-field \note for Temperature-enthalpy function corresponding to temperature 1 @@ -5116,11 +5128,11 @@ MaterialProperty:VariableThermalConductivity, \note Regular Material Name to which the additional properties will be added. \note this the material name for the basic material properties. N1 , \field Temperature 1 + \begin-extensible \required-field \note for Temperature-Thermal Conductivity function \units C \type real - \begin-extensible N2; \field Thermal Conductivity 1 \required-field \note for Temperature-Thermal Conductivity function corresponding to temperature 1 @@ -9837,6 +9849,7 @@ SurfaceProperty:SurroundingSurfaces, N1, \field Sky View Factor \minimum 0.0 \maximum 1.0 + \default 0.5 \note optional A2, \field Sky Temperature Schedule Name \type object-list @@ -9846,6 +9859,7 @@ SurfaceProperty:SurroundingSurfaces, N2, \field Ground View Factor \minimum 0.0 \maximum 1.0 + \default 0.5 \note optional A3, \field Ground Temperature Schedule Name \type object-list @@ -12039,8 +12053,8 @@ OtherEquipment, \key Coal \key OtherFuel1 \key OtherFuel2 - \key DistrictHeatingSteam \key DistrictHeatingWater + \key DistrictHeatingSteam \key DistrictCooling \default None A3 , \field Zone or ZoneList or Space or SpaceList Name @@ -13182,7 +13196,7 @@ ZoneInfiltration:FlowCoefficient, \required-field \type alpha A2 , \field Zone or Space Name - \note ZoneList and SpaceList names are not allowed + \note ZoneList and SpaceList names are not allowed. \required-field \type object-list \object-list ZoneNames @@ -13683,7 +13697,7 @@ ZoneCrossMixing, \units m3/s \type real \minimum 0 - N2 , \field Flow Rate per Floor + N2 , \field Flow Rate per Floor Area \type real \minimum 0 \units m3/s-m2 @@ -14941,6 +14955,7 @@ AirflowNetwork:Distribution:Node, \key OAMixerOutdoorAirStreamNode \key OutdoorAir:NodeList \key OutdoorAir:Node + \key Zone \key Other \default Other \note Designates Node type for the Node or Component Name defined in the field above. @@ -14954,6 +14969,7 @@ AirflowNetwork:Distribution:Node, \note the OutdoorAir:Mixer \note Other -- none of the above, the Node name already defined in the previous field is part \note of an air loop. + \note Zone -- Enter a zone name for duct simple model to calculate duct loss without using AFN model. N1 ; \field Node Height \type real \units m @@ -15131,6 +15147,10 @@ AirflowNetwork:Distribution:Component:Coil, \key Coil:Heating:Desuperheater \key Coil:Heating:Electric:MultiStage \key Coil:Heating:Gas:MultiStage + \key Coil:Cooling:WaterToAirHeatPump:EquationFit + \key Coil:Heating:WaterToAirHeatPump:EquationFit + \key Coil:Cooling:WaterToAirHeatPump:VariableSpeedEquationFit + \key Coil:Heating:WaterToAirHeatPump:VariableSpeedEquationFit \note Select the type of coil corresponding to the name entered in the field above. N1 , \field Air Path Length \required-field @@ -15299,6 +15319,7 @@ AirflowNetwork:Distribution:Linkage, \min-fields 4 \memo This object defines the connection between two nodes and a component. A1 , \field Name + \reference AirflowNetworkDistributionLinkageNames \required-field \type alpha \note Enter a unique name for this object. @@ -15333,7 +15354,7 @@ AirflowNetwork:Distribution:Linkage, AirflowNetwork:Distribution:DuctViewFactors, \extensible:2 \memo This object is used to allow user-defined view factors to be used for duct-surface radiation - \memo calculations. + \memo calculations. All surfaces must be in the same enclosure. A1, \field Linkage Name \required-field \type object-list @@ -15357,6 +15378,66 @@ AirflowNetwork:Distribution:DuctViewFactors, \minimum 0.0 \maximum 1.0 +AirflowNetwork:Distribution:DuctSizing, + \min-fields 8 + \unique-object + \memo This object defines required parameters for duct sizing in an Airflow Network simulation. + \memo To activate duct sizing, see AirflowNetwork:SimulationControl Do Distribution Duct Sizing Calculation. + A1 , \field Name + \required-field + \type object-list + A2 , \field Duct Sizing Method + \type choice + \key MaximumVelocity + \key PressureLoss + \key PressureLossWithMaximumVelocity + \default MaximumVelocity + N1 , \field Duct Sizing Factor + \type real + \minimum> 0.0 + \default 1.0 + N2 , \field Maximum Airflow Velocity + \type real + \units m/s + \minimum >0.0 + \maximum 25.0 + \default 5.0 + \note Used only if Duct Sizing Type = MaximumVelocity or PressureLossWithMaximumVelocity. + \note When MaximumVelocity is entered, duct diameter is calculated at D = flow rate / + \note cross section area. + \note When PressureLossWithMaximumVelocity is entered, duct diameter is calculated based on + \note PressureLoss. The value is used to check to ensure the final velocity is less than + \note the maximum value. If greater, final value will be obtained from MaximumVelocity. + \note This field is apply for trunk size, while branch size is based on total pressure drop. + N3 , \field Total Pressure Loss Across Supply Trunk + \type real + \units Pa + \minimum >0.0 + \note Used only if Duct Sizing Type = PressureLoss or PressureLossWithMaximumVelocity. + \note When PressureLoss is entered, duct diameter is calculated using Colebrook's equation + \note When PressureLossWithMaximumVelocity is entered, duct diameter is calculated based on + \note PressureLoss. The value is used to check to ensure the final velocity is less than + \note the maximum value. If greater, final value will be obtained from MaximumVelocity. + \note This field is apply for trunk size, while branch size is based on total pressure drop. + N4 , \field Total Pressure Loss Across Supply Branch + \type real + \units Pa + \minimum >0.0 + \note Duct diameter is calculated using Colebrook's equation. When there is no solution, + \note velocity = 5 m/s is used to calculate duct diameter. + N5 , \field Total Pressure Loss Across Return Trunk + \type real + \units Pa + \minimum >0.0 + \note Duct diameter is calculated using Colebrook's equation. When there is no solution, + \note velocity = 5 m/s is used to calculate duct diameter. + N6 ; \field Total Pressure Loss Across Return Branch + \type real + \units Pa + \minimum >0.0 + \note Duct diameter is calculated using Colebrook's equation. When there is no solution, + \note velocity = 5 m/s is used to calculate duct diameter. + AirflowNetwork:OccupantVentilationControl, \memo This object is used to provide advanced thermal comfort control of window opening and closing \memo for both exterior and interior windows. @@ -15479,6 +15560,56 @@ AirflowNetwork:IntraZone:Linkage, \note Only used when one of two nodes defined above are not located in the same zone, and \note the input of the Component Name field in this object is ignored +Duct:Loss:Conduction, + A1 , \field Name + \required-field + A2 , \field AirLoopHVAC Name + \required-field + \type object-list + \object-list AirPrimaryLoops + A3 , \field AirflowNetwork:Distribution:Linkage Name + \required-field + \type object-list + \object-list AirflowNetworkDistributionLinkageNames + A4 , \field Environment Type + \type choice + \key Zone + \key Schedule + \default Zone + A5 , \field Ambient Zone Name + \type object-list + \object-list ZoneNames + A6 , \field Ambient Temperature Schedule Name + \type object-list + \object-list ScheduleNames + A7 ; \field Ambient Humidity Ratio Schedule Name + \type object-list + \object-list ScheduleNames + +Duct:Loss:Leakage, + A1 , \field Name + \required-field + A2 , \field AirLoopHVAC Name + \required-field + \type object-list + \object-list AirPrimaryLoops + A3 ; \field AirflowNetwork:Distribution:Linkage Name + \required-field + \type object-list + \object-list AirflowNetworkDistributionLinkageNames + +Duct:Loss:MakeupAir, + A1 , \field Name + \required-field + A2 , \field AirLoopHVAC Name + \required-field + \type object-list + \object-list AirPrimaryLoops + A3 ; \field AirflowNetwork:Distribution:Linkage Name + \required-field + \type object-list + \object-list AirflowNetworkDistributionLinkageNames + \group Exterior Equipment ! This equipment is used merely for reporting. Exterior:Lights, @@ -15518,6 +15649,7 @@ Exterior:FuelEquipment, \required-field \type choice \key Electricity + \key Water \key NaturalGas \key Propane \key FuelOilNo1 @@ -15527,8 +15659,8 @@ Exterior:FuelEquipment, \key Coal \key OtherFuel1 \key OtherFuel2 - \key DistrictHeatingSteam \key DistrictHeatingWater + \key DistrictHeatingSteam \key DistrictCooling A3 , \field Schedule Name \required-field @@ -22366,6 +22498,8 @@ Sizing:Parameters, \note blank => set the timesteps in averaging window to \note Number of Timesteps per Hour resulting in a 1 hour averaging window \note default is number of timesteps for 1 hour averaging window + \note If the PerformancePrecisionTradeoffs Override Mode is set to non-Normal, + \note this field will be overwritten to 1 \type integer \minimum 1 @@ -22630,12 +22764,24 @@ Sizing:Zone, \note no humidistat is associated with this zone. \type object-list \object-list ScheduleNames - A15;\field Type of Space Sum to Use + A15,\field Type of Space Sum to Use \note NonCoincident is available only if Do Space Heat Balance for Sizing=Yes in ZoneAirHeatBalanceAlgorithm. \type choice \key Coincident \key NonCoincident \default Coincident + A16,\field Heating Coil Sizing Method + \type choice + \key None + \key CoolingCapacity + \key HeatingCapacity + \key GreaterOfHeatingOrCooling + \default None + N23;\field Maximum Heating Capacity To Cooling Load Sizing Ratio + \type real + \units W/W + \minimum 1.0 + \default 1.0 DesignSpecification:ZoneHVAC:Sizing, \min-fields 1 @@ -23142,7 +23288,7 @@ Sizing:System, \key VT \key OnOff \default OnOff - N27; \field Occupant Diversity + N27, \field Occupant Diversity \type real \maximum 1.0 \minimum 0.0 @@ -23151,6 +23297,20 @@ Sizing:System, \note The Occupant Diversity is used to determine a multi-zone system's outdoor air intake when the System Outdoor Air Method is \note Standard62.1VentilationRateProcedure or the Standard62.1SimplifiedProcedure. If set to be autosized, it will be calculated \note using the information in the People objects assigned to each zone attached to this system/airloop. + A12, \field Heating Coil Sizing Method + \note Size a heat pump heating coil using the Cooling, Heating or GreaterOfHeatingOrCooling capacities + \type choice + \key None + \key CoolingCapacity + \key HeatingCapacity + \key GreaterOfHeatingOrCooling + \default None + N28; \field Maximum Heating Capacity To Cooling Capacity Sizing Ratio + \note The limit of heating coil capacity to cooling coil capacity + \type real + \units W/W + \minimum 1.0 + \default 1.0 Sizing:Plant, \memo Specifies the input needed to autosize plant loop flow rates and equipment capacities. @@ -23922,10 +24082,58 @@ ZoneHVAC:IdealLoadsAirSystem, \minimum 0.0 \maximum 1.0 \default 0.65 - A17; \field Design Specification ZoneHVAC Sizing Object Name + A17, \field Design Specification ZoneHVAC Sizing Object Name \note Enter the name of a DesignSpecificationZoneHVACSizing object. \type object-list \object-list DesignSpecificationZoneHVACSizingName + A18, \field Heating Fuel Efficiency Schedule Name + \type object-list + \object-list ScheduleNames + \note Reference heating fuel efficiency value for converting heating + \note ideal loads into fuel energy consumption. + \note The minimum schedule value must be greater than 0.0. The maximum value + \note depends on the technology, and can exceed 1.0. + \note If blank, heating fuel efficiency value is always 1.0. + A19, \field Heating Fuel Type + \type choice + \key Electricity + \key NaturalGas + \key Propane + \key FuelOilNo1 + \key FuelOilNo2 + \key Coal + \key Diesel + \key Gasoline + \key OtherFuel1 + \key OtherFuel2 + \key DistrictCooling + \key DistrictHeatingWater + \key DistrictHeatingSteam + \default DistrictHeatingWater + A20, \field Cooling Fuel Efficiency Schedule Name + \type object-list + \object-list ScheduleNames + \note Reference cooling fuel efficiency value for converting cooling + \note ideal loads into fuel energy consumption. + \note The minimum schedule value must be greater than 0.0. The maximum value + \note depends on the technology, and can exceed 1.0. + \note If blank, cooling fuel efficiency value is always 1.0. + A21; \field Cooling Fuel Type + \type choice + \key Electricity + \key NaturalGas + \key Propane + \key FuelOilNo1 + \key FuelOilNo2 + \key Coal + \key Diesel + \key Gasoline + \key OtherFuel1 + \key OtherFuel2 + \key DistrictCooling + \key DistrictHeatingWater + \key DistrictHeatingSteam + \default DistrictCooling ZoneHVAC:FourPipeFanCoil, \memo Four pipe fan coil system. Forced-convection hydronic heating-cooling unit with @@ -24324,9 +24532,9 @@ ZoneHVAC:PackagedTerminalAirConditioner, A13, \field Cooling Coil Name \required-field \type object-list - \object-list CoilCoolingDX \object-list CoolingCoilsDXSingleSpeed \object-list CoolingCoilsDXVariableSpeed + \object-list CoilCoolingDX \note Needs to match a DX cooling coil object. A14, \field Fan Placement \type choice @@ -24514,9 +24722,9 @@ ZoneHVAC:PackagedTerminalHeatPump, A13, \field Cooling Coil Name \required-field \type object-list - \object-list CoilCoolingDX \object-list CoolingCoilsDXSingleSpeed \object-list CoolingCoilsDXVariableSpeed + \object-list CoilCoolingDX \note Needs to match in the DX Cooling Coil object. N8 , \field Cooling Convergence Tolerance \type real @@ -24582,13 +24790,19 @@ ZoneHVAC:PackagedTerminalHeatPump, \minimum 0.0 \autosizable \default autosize - N12; \field Maximum Supply Air Temperature in Heating Mode + N12, \field Maximum Supply Air Temperature in Heating Mode \note For Capacity Control Method = SingleZoneVAV, enter the maximum air temperature limit for reduced fan speed. \type real \units C \minimum 0.0 \autosizable \default autosize + N13; \field DX Heating Coil Sizing Ratio + \type real + \default 1.0 + \minimum> 0 + \note Used to adjust heat pump heating capacity with respect to DX cooling capacity + \note used only for heat pump configurations (i.e., a DX cooling and DX heating coil is used). ZoneHVAC:WaterToAirHeatPump, \memo Water-to-air heat pump. Forced-convection heating-cooling unit with supply fan, @@ -24649,7 +24863,7 @@ ZoneHVAC:WaterToAirHeatPump, \note is used when no heating or cooling is required and the DX coil compressor is off. \note If this field is left blank or zero, the supply air flow rate from the previous \note on cycle (either cooling or heating) is used. - A7, \field No Load Supply Air Flow Rate Control Set To Low Speed + A7 , \field No Load Supply Air Flow Rate Control Set To Low Speed \type choice \key Yes \key No @@ -24732,11 +24946,11 @@ ZoneHVAC:WaterToAirHeatPump, \object-list HeatingCoilName \note Needs to match in the supplemental heating coil object N7 , \field Maximum Supply Air Temperature from Supplemental Heater - \required-field + \note required-field disabled as it has a default \type real \units C \autosizable - \note default autosize disabled since it is required + \default autosize \note Supply air temperature from the supplemental heater will not exceed this value. N8 , \field Maximum Outdoor Dry-Bulb Temperature for Supplemental Heater Operation \type real @@ -24779,10 +24993,16 @@ ZoneHVAC:WaterToAirHeatPump, \type choice \key UnitarySystemPerformance:Multispeed \note Enter the type of performance specification object used to describe the multispeed coil or fan. - A23; \field Design Specification Multispeed Object Name + A23, \field Design Specification Multispeed Object Name \type object-list - \object-list UnitarySystemPerformaceNames + \object-list UnitarySystemPerformanceNames \note The name of the performance specification object used to describe the multispeed coil or fan. + N9; \field DX Heating Coil Sizing Ratio + \type real + \default 1.0 + \minimum> 0 + \note Used to adjust heat pump heating capacity with respect to DX cooling capacity + \note used only for heat pump configurations (i.e., a DX cooling and DX heating coil is used). ZoneHVAC:Dehumidifier:DX, \memo This object calculates the performance of zone (room) air dehumidifiers. @@ -25358,7 +25578,7 @@ ZoneHVAC:EvaporativeCoolerUnit, \units percent ZoneHVAC:HybridUnitaryHVAC, - \memo Hybrid Unitary HVAC. A black box model for multi-mode packaged forced air equipment. Independent variables include outdoor air conditions and indoor air conditions. Controlled inputs include operating mode, supply air flow rate, and outdoor air faction. Empirical lookup tables are required to map supply air temperature supply air humidity, electricity use, fuel uses, water use, fan electricity use, and external static pressure as a function of each indpednent varaible and each controlled input. In each timestep the model will choose one or more combinations of settings for mode, supply air flow rate, outdoor air faction, and part runtime fraction so as to satisfy zone requests for sensible cooling, heating, ventilation, and/or dehumidification with the least resource consumption. Equipment in this class may consume electricity, water, and up to two additional fuel types. + \memo Hybrid Unitary HVAC. A black box model for multi-mode packaged forced air equipment. Independent variables include outdoor air conditions and indoor air conditions. Controlled inputs include operating mode, supply air flow rate, and outdoor air faction. Empirical lookup tables are required to map supply air temperature supply air humidity, electricity use, fuel uses, water use, fan electricity use, and external static pressure as a function of each independent variable and each controlled input. In each timestep the model will choose one or more combinations of settings for mode, supply air flow rate, outdoor air faction, and part runtime fraction so as to satisfy zone requests for sensible cooling, heating, ventilation, and/or dehumidification with the least resource consumption. Equipment in this class may consume electricity, water, and up to two additional fuel types. \extensible:25 repeat last twenty five fields remembering to move the semi-colon to the last value A1, \field Name \required-field @@ -25461,8 +25681,8 @@ ZoneHVAC:HybridUnitaryHVAC, \key Coal \key OtherFuel1 \key OtherFuel2 - \key DistrictHeatingSteam \key DistrictHeatingWater + \key DistrictHeatingSteam \key DistrictCooling \note Select the fuel type associated with field: "System Electric Power Lookup Table" in each mode. \note If this field is blank, default first fuel type = Electricity. @@ -25480,8 +25700,8 @@ ZoneHVAC:HybridUnitaryHVAC, \key Coal \key OtherFuel1 \key OtherFuel2 - \key DistrictHeatingSteam \key DistrictHeatingWater + \key DistrictHeatingSteam \key DistrictCooling \note Select the fuel type associated with field: "System Second Fuel Consumption Lookup Table" in each mode. \note If this field is blank, default second fuel type = None. @@ -25499,8 +25719,8 @@ ZoneHVAC:HybridUnitaryHVAC, \key Coal \key OtherFuel1 \key OtherFuel2 - \key DistrictHeatingSteam \key DistrictHeatingWater + \key DistrictHeatingSteam \key DistrictCooling \note Select the fuel type associated with field: "System Third Fuel Consumption Lookup Table" in each mode. \note If this field is blank, default third fuel type = None. @@ -25700,7 +25920,7 @@ ZoneHVAC:HybridUnitaryHVAC, \type real \units C \note Enter the maximum return air temperature allowed for Mode 1. - \note Mode 1 will not be considred when the return air temperature is above the value in this field. + \note Mode 1 will not be considered when the return air temperature is above the value in this field. \note If this field is blank, there will be no upper constraint on return air temperature. N16, \field Mode 1 Minimum Return Air Humidity Ratio \type real @@ -26130,7 +26350,7 @@ ZoneHVAC:TerminalUnit:VariableRefrigerantFlow, \note Enter the type of performance specification object used to describe the multispeed coil or fan. A21; \field Design Specification Multispeed Object Name \type object-list - \object-list UnitarySystemPerformaceNames + \object-list UnitarySystemPerformanceNames \note The name of the performance specification object used to describe the multispeed coil or fan. \group Zone HVAC Radiative/Convective Units @@ -26140,7 +26360,7 @@ ZoneHVAC:Baseboard:RadiantConvective:Water:Design, A1, \field Name \required-field \type alpha - \reference BaseboardDesignObject + \reference RadiantDesignObject A2, \field Heating Design Capacity Method \type choice \key HeatingDesignCapacity @@ -26190,8 +26410,9 @@ ZoneHVAC:Baseboard:RadiantConvective:Water, \reference validBranchEquipmentNames \reference ZoneEquipmentNames A2, \field Design Object + \required-field \type object-list - \object-list BaseboardDesignObject + \object-list RadiantDesignObject A3, \field Availability Schedule Name \note Availability schedule name for this system. Schedule value > 0 means the system is available. \note If this field is blank, the system is always available. @@ -26304,9 +26525,10 @@ ZoneHVAC:Baseboard:RadiantConvective:Steam, \reference-class-name validBranchEquipmentTypes \reference validBranchEquipmentNames \reference ZoneEquipmentNames - A2, \field Design Object - \type object-list - \object-list RadiantDesignObject + A2, \field Design Object + \required-field + \type object-list + \object-list RadiantDesignObject A3, \field Availability Schedule Name \note Availability schedule name for this system. Schedule value > 0 means the system is available. \note If this field is blank, the system is always available. @@ -26659,6 +26881,7 @@ ZoneHVAC:LowTemperatureRadiant:VariableFlow, \reference validBranchEquipmentNames \reference ZoneEquipmentNames A2, \field Design Object + \required-field \type object-list \object-list RadiantDesignObject A3, \field Availability Schedule Name @@ -26867,6 +27090,7 @@ ZoneHVAC:LowTemperatureRadiant:ConstantFlow, \reference validBranchEquipmentNames \reference ZoneEquipmentNames A2 , \field Design Object + \required-field \type object-list \object-list RadiantDesignObject A3 , \field Availability Schedule Name @@ -27147,7 +27371,7 @@ ZoneHVAC:HighTemperatureRadiant, \extensible:2 - repeat last two fields, remembering to remove ; from "inner" fields. \memo The number of surfaces can be expanded beyond 100, if necessary, by adding more \memo groups to the end of the list - \min-fields 14 + \min-fields 15 A1, \field Name \required-field \reference ZoneEquipmentNames @@ -27233,7 +27457,9 @@ ZoneHVAC:HighTemperatureRadiant, \minimum 0 \default 2.0 A7 , \field Heating Setpoint Temperature Schedule Name - \note This setpoint is an "operative temperature" setpoint + \required-field + \note This setpoint is a "mean air temperature", a "mean radiant temperature" or an + \note "operative temperature" setpoint depending on the control type \type object-list \object-list ScheduleNames N9, \field Fraction of Radiant Energy Incident on People @@ -29067,7 +29293,7 @@ SpaceHVAC:EquipmentConnections, \memo Specifies the HVAC equipment connections for a space. Node names are specified for the \memo space air node, air inlet nodes, air exhaust nodes, and the air return node. \memo If any space in a zone has a SpaceHVAC:EquipmentConnections object, then all spaces in the zone must have one. - \memo Used only when ZoneAirHeatBalanceAlgorithm "Do Space Heat Balance for Sizing"is Yes. + \memo Used only when ZoneAirHeatBalanceAlgorithm "Do Space Heat Balance for Simulation" is Yes. \min-fields 4 A1 , \field Space Name \required-field @@ -29100,13 +29326,13 @@ SpaceHVAC:ZoneEquipmentSplitter, \memo Distributes the output from a piece of zone equipment to one or more Spaces in the Zone. \memo If any equipment in a zone has a SpaceHVAC:ZoneEquipmentSplitter, then all equipment in the zone must have one. \memo except Fan:ZoneExhaust. All spaces in the zone must also have a SpaceHVAC:EquipmentConnections object. - \memo Used only when ZoneAirHeatBalanceAlgorithm "Do Space Heat Balance for Sizing" = Yes. + \memo Used only when ZoneAirHeatBalanceAlgorithm "Do Space Heat Balance for Simulation" is Yes. \min-fields 10 A1, \field Name \required-field \reference SpaceSplitterNames A2, \field Zone Name - \note Must be a controlled zone which has a ZoneHVAC:EquipmentConfiguration object. + \note Must be a controlled zone which has a ZoneHVAC:EquipmentConnections object. \required-field \type object-list \object-list ZoneNames @@ -29196,13 +29422,13 @@ SpaceHVAC:ZoneEquipmentMixer, \extensible:3 \memo Mixes the airflow from one or more Spaces into a piece of zone equipment. \memo All spaces in the zone must also have a SpaceHVAC:EquipmentConnections object. - \memo Used only when ZoneAirHeatBalanceAlgorithm "Do Space Heat Balance for Sizing" = Yes. + \memo Used only when ZoneAirHeatBalanceAlgorithm "Do Space Heat Balance for Simulation" is Yes. \min-fields 7 A1, \field Name \required-field \reference SpaceMixerNames A2, \field Zone Name - \note Must be a controlled zone which has a ZoneHVAC:EquipmentConfiguration object. + \note Must be a controlled zone which has a ZoneHVAC:EquipmentConnections object. \required-field \type object-list \object-list ZoneNames @@ -29241,13 +29467,13 @@ SpaceHVAC:ZoneReturnMixer, \extensible:2 \memo Mixes the return airflow from one or more Spaces into a zone return node. \memo All spaces in the zone must also have a SpaceHVAC:EquipmentConnections object. - \memo Used only when ZoneAirHeatBalanceAlgorithm "Do Space Heat Balance for Sizing" = Yes. + \memo Used only when ZoneAirHeatBalanceAlgorithm "Do Space Heat Balance for Simulation" is Yes. \min-fields 5 A1, \field Name \required-field \reference SpaceMixerNames A2, \field Zone Name - \note Must be a controlled zone which has a ZoneHVAC:EquipmentConfiguration object. + \note Must be a controlled zone which has a ZoneHVAC:EquipmentConnections object. \required-field \type object-list \object-list ZoneNames @@ -30632,6 +30858,44 @@ Coil:Cooling:DX:CurveFit:Speed, \type object-list \object-list UnivariateFunctions +Coil:DX:ASHRAE205:Performance, + \memo DX coil performance specification referencing an ASHRAE Standard 205 compliant representation + \memo for air-to-air direct expansion refrigerant system (Representation Specification RS0004). As + \memo RS0004 files are intended to support both heating and cooling performance, this object may + \memo referenced by the Coil:Cooling:DX and the corresponding Coil:Heating:DX object (planned for + \memo future addition). + \min-fields 2 + A1, \field Name + \required-field + \type alpha + \reference DXCoolingPerformanceNames + A2, \field Representation File Name + \note The name of the ASHRAE 205 RS0004 (air-to-air direct expansion refrigerant system) representation file + \type alpha + \retaincase + \required-field + A3, \field Performance Interpolation Method + \type choice + \key Linear + \key Cubic + \default Linear + N1, \field Rated Total Cooling Capacity + \note Not yet implemented / reserved for future use. Full load cooling capacity at AHRI 210/240 "A" test conditions. + \note Used to scale representation data. + \type real + \units W + \minimum> 0.0 + \autosizable + \default autosize + N2; \field Rated Steady-State Heating Capacity + \note Not yet implemented / reserved for future use. Full load heating capacity at AHRI 210/240 "H1" test conditions. + \note Used to scale representation data. + \type real + \units W + \minimum> 0.0 + \autosizable + \default autosize + Coil:Cooling:DX:SingleSpeed, \memo Direct expansion (DX) cooling coil and condensing unit (includes electric compressor \memo and condenser fan), single-speed. Optional inputs for moisture evaporation from wet @@ -31500,16 +31764,22 @@ Coil:Cooling:DX:VariableSpeed, \memo ten sets of performance data and will interpolate between speeds. Modeled as a \memo single coil with variable-speed compressor. \extensible:12 - \min-fields 35 + \min-fields 36 A1, \field Name \required-field \type alpha \reference CoolingCoilsDXVariableSpeed \reference DesuperHeatingCoilSources - A2, \field Indoor Air Inlet Node Name + \reference AFNCoilNames + A2, \field Availability Schedule Name + \note Availability schedule name for this system. Schedule value > 0 means the system is available. + \note If this field is blank, the system is always available. + \type object-list + \object-list ScheduleNames + A3, \field Indoor Air Inlet Node Name \required-field \type node - A3, \field Indoor Air Outlet Node Name + A4, \field Indoor Air Outlet Node Name \required-field \type node N1, \field Number of Speeds @@ -31566,18 +31836,18 @@ Coil:Cooling:DX:VariableSpeed, \default 60 \note Programmed time delay for fan to shut off after compressor cycle off. \note Enter 0 when fan operating mode is continuous - A4, \field Energy Part Load Fraction Curve Name + A5, \field Energy Part Load Fraction Curve Name \required-field \type object-list \object-list UnivariateFunctions \note quadratic curve = a + b*PLR + c*PLR**2 \note cubic curve = a + b*PLR + c*PLR**2 + d*PLR**3 \note PLR = part load ratio (cooling load/steady state capacity) - A5, \field Condenser Air Inlet Node Name + A6, \field Condenser Air Inlet Node Name \type node \note Enter the name of an outdoor air node. This node name is also specified in \note an OutdoorAir:Node or OutdoorAir:NodeList object. - A6, \field Condenser Type + A7, \field Condenser Type \type choice \key AirCooled \key EvaporativelyCooled @@ -31595,7 +31865,7 @@ Coil:Cooling:DX:VariableSpeed, \default 0.0 \units W \ip-units W - A7, \field Crankcase Heater Capacity Function of Temperature Curve Name + A8, \field Crankcase Heater Capacity Function of Temperature Curve Name \note A Curve:* or Table:Lookup object encoding the relationship between \note the crankcase heater capacity and the outdoor air temperature. When this field is \note missing or empty, constant crankcase heater capacity will be assumed. @@ -31610,10 +31880,10 @@ Coil:Cooling:DX:VariableSpeed, \type real \default -25.0 \units C - A8, \field Supply Water Storage Tank Name + A9, \field Supply Water Storage Tank Name \type object-list \object-list WaterStorageTankNames - A9, \field Condensate Collection Water Storage Tank Name + A10, \field Condensate Collection Water Storage Tank Name \type object-list \object-list WaterStorageTankNames N14, \field Basin Heater Capacity @@ -31633,7 +31903,7 @@ Coil:Cooling:DX:VariableSpeed, \default 2.0 \note This field is only used for Condenser Type = EvaporativelyCooled. \note Enter the outdoor dry-bulb temperature when the basin heater turns on. - A10, \field Basin Heater Operating Schedule Name + A11, \field Basin Heater Operating Schedule Name \type object-list \object-list ScheduleNames \note This field is only used for Condenser Type = EvaporativelyCooled. @@ -31700,28 +31970,28 @@ Coil:Cooling:DX:VariableSpeed, \minimum 0 \maximum 1.0 \note This field is only used for Condenser Type = EvaporativelyCooled - A11, \field Speed 1 Total Cooling Capacity Function of Temperature Curve Name + A12, \field Speed 1 Total Cooling Capacity Function of Temperature Curve Name \required-field \type object-list \object-list BivariateFunctions \note curve = a + b*wb + c*wb**2 + d*odb + e*odb**2 + f*wb*odb \note wb = entering wet-bulb temperature (C) \note odb = air entering temperature seen by the condenser (C) - A12, \field Speed 1 Total Cooling Capacity Function of Air Flow Fraction Curve Name + A13, \field Speed 1 Total Cooling Capacity Function of Air Flow Fraction Curve Name \required-field \type object-list \object-list UnivariateFunctions \note quadratic curve = a + b*ffa + c*ffa**2 \note cubic curve = a + b*ffa + c*ffa**2 + d*ffa**3 \note ffa = Fraction of the full load Air Flow - A13, \field Speed 1 Energy Input Ratio Function of Temperature Curve Name + A14, \field Speed 1 Energy Input Ratio Function of Temperature Curve Name \required-field \type object-list \object-list BivariateFunctions \note curve = a + b*wb + c*wb**2 + d*odb + e*odb**2 + f*wb*odb \note wb = entering wet-bulb temperature (C) \note odb = air entering temperature seen by the condenser (C) - A14; \field Speed 1 Energy Input Ratio Function of Air Flow Fraction Curve Name + A15; \field Speed 1 Energy Input Ratio Function of Air Flow Fraction Curve Name \required-field \type object-list \object-list UnivariateFunctions @@ -31763,7 +32033,7 @@ Coil:Cooling:DX:TwoStageWithHumidityControlMode, A5 , \field Crankcase Heater Capacity Function of Temperature Curve Name \note A Curve:* or Table:Lookup object encoding the relationship between \note the crankcase heater capacity and the outdoor air temperature. When this field is - \note missing or empty, constant crankcase heater capacity will be assumed + \note missing or empty, constant crankcase heater capacity will be assumed. \type object-list \object-list UnivariateFunctions N2 , \field Maximum Outdoor Dry-Bulb Temperature for Crankcase Heater Operation @@ -33122,16 +33392,22 @@ Coil:Heating:DX:VariableSpeed, \memo controls. Requires two to ten sets of performance data and will interpolate between \memo speeds. \extensible:9 - \min-fields 26 - \max-fields 89 + \min-fields 27 + \max-fields 90 A1, \field Name \required-field \type alpha \reference HeatingCoilsDXVariableSpeed - A2, \field Indoor Air Inlet Node Name + \reference AFNCoilNames + A2, \field Availability Schedule Name + \note Availability schedule name for this system. Schedule value > 0 means the system is available. + \note If this field is blank, the system is always available. + \type object-list + \object-list ScheduleNames + A3, \field Indoor Air Inlet Node Name \required-field \type node - A3, \field Indoor Air Outlet Node Name + A4, \field Indoor Air Outlet Node Name \required-field \type node N1, \field Number of Speeds @@ -33155,14 +33431,14 @@ Coil:Heating:DX:VariableSpeed, \type real \autosizable \default autosize - A4, \field Energy Part Load Fraction Curve Name + A5, \field Energy Part Load Fraction Curve Name \required-field \type object-list \object-list UnivariateFunctions \note quadratic curve = a + b*PLR + c*PLR**2 \note cubic curve = a + b*PLR + c*PLR**2 + d*PLR**3 \note PLR = part load ratio (heating load/steady state capacity) - A5, \field Defrost Energy Input Ratio Function of Temperature Curve Name + A6, \field Defrost Energy Input Ratio Function of Temperature Curve Name \type object-list \object-list BivariateFunctions \note biquadratic curve = a + b*wb + c*wb**2 + d*oat + e*oat**2 + f*wb*oat @@ -33195,7 +33471,7 @@ Coil:Heating:DX:VariableSpeed, \default 0.0 \units W \ip-units W - A6, \field Crankcase Heater Capacity Function of Temperature Curve Name + A7, \field Crankcase Heater Capacity Function of Temperature Curve Name \note A Curve:* or Table:Lookup object encoding the relationship between \note the crankcase heater capacity and the outdoor air temperature. When this field is \note missing or empty, constant crankcase heater capacity will be assumed. @@ -33206,12 +33482,12 @@ Coil:Heating:DX:VariableSpeed, \minimum 0.0 \default 10.0 \units C - A7, \field Defrost Strategy + A8, \field Defrost Strategy \type choice \key ReverseCycle \key Resistive \default ReverseCycle - A8, \field Defrost Control + A9, \field Defrost Control \type choice \key Timed \key OnDemand @@ -33269,28 +33545,28 @@ Coil:Heating:DX:VariableSpeed, \minimum 0.0 \maximum 1505.0 \default 934.4 - A9, \field Speed 1 Heating Capacity Function of Temperature Curve Name + A10, \field Speed 1 Heating Capacity Function of Temperature Curve Name \required-field \type object-list \object-list BivariateFunctions \note curve = a + b*db + c*db**2 + d*oat + e*oat**2 + f*db*oat \note db = entering air dry-bulb temperature (C) \note oat = air entering temperature seen by the evaporator (C) - A10, \field Speed 1 Total Heating Capacity Function of Air Flow Fraction Curve Name + A11, \field Speed 1 Total Heating Capacity Function of Air Flow Fraction Curve Name \required-field \type object-list \object-list UnivariateFunctions \note quadratic curve = a + b*ffa + c*ffa**2 \note cubic curve = a + b*ffa + c*ffa**2 + d*ffa**3 \note ffa = Fraction of the full load Air Flow - A11, \field Speed 1 Energy Input Ratio Function of Temperature Curve Name + A12, \field Speed 1 Energy Input Ratio Function of Temperature Curve Name \required-field \type object-list \object-list BivariateFunctions \note curve = a + b*db + c*db**2 + d*oat + e*oat**2 + f*db*oat \note db = entering air dry-bulb temperature (C) \note oat = air entering temperature seen by the evaporator (C) - A12; \field Speed 1 Energy Input Ratio Function of Air Flow Fraction Curve Name + A13; \field Speed 1 Energy Input Ratio Function of Air Flow Fraction Curve Name \required-field \type object-list \object-list UnivariateFunctions @@ -33304,14 +33580,19 @@ Coil:Cooling:WaterToAirHeatPump:ParameterEstimation, \memo evaporation from wet coil when compressor cycles off with continuous fan operation. \memo Parameter estimation model is a deterministic model that requires a consistent set of \memo parameters to describe the operating conditions of the heat pump components. - \min-fields 31 - A1 , \field Name + \min-fields 32 + A1, \field Name \required-field \type alpha \reference CoolingCoilsWaterToAirHP \reference-class-name validBranchEquipmentTypes \reference validBranchEquipmentNames - A2 , \field Compressor Type + A2, \field Availability Schedule Name + \note Availability schedule name for this system. Schedule value > 0 means the system is available. + \note If this field is blank, the system is always available. + \type object-list + \object-list ScheduleNames + A3, \field Compressor Type \required-field \type choice \key Reciprocating @@ -33320,7 +33601,7 @@ Coil:Cooling:WaterToAirHeatPump:ParameterEstimation, \note Parameters 1-5 are as named below. \note Parameters 6-10 depend on the type of compressor and fluid. \note Refer to the InputOutputReference on the parameters required - A3, \field Refrigerant Type + A4, \field Refrigerant Type \type object-list \object-list FluidNames \default R22 @@ -33365,16 +33646,16 @@ Coil:Cooling:WaterToAirHeatPump:ParameterEstimation, \type real \minimum 0.0 \units Pa - A4, \field Water Inlet Node Name + A5, \field Water Inlet Node Name \required-field \type node - A5, \field Water Outlet Node Name + A6, \field Water Outlet Node Name \required-field \type node - A6, \field Air Inlet Node Name + A7, \field Air Inlet Node Name \required-field \type node - A7, \field Air Outlet Node Name + A8, \field Air Outlet Node Name \required-field \type node N7, \field Load Side Total Heat Transfer Coefficient @@ -33469,7 +33750,7 @@ Coil:Cooling:WaterToAirHeatPump:ParameterEstimation, \units W/K \minimum 0.0 \type real - A8, \field Part Load Fraction Correlation Curve Name + A9, \field Part Load Fraction Correlation Curve Name \note quadratic curve = a + b*PLR + c*PLR**2 \note cubic curve = a + b*PLR + c*PLR**2 + d*PLR**3 \note PLR = part load ratio (cooling load/steady state capacity) @@ -33505,14 +33786,19 @@ Coil:Heating:WaterToAirHeatPump:ParameterEstimation, \memo compressor), single-speed, parameter estimation model. Parameter estimation model is \memo a deterministic model that requires a consistent set of parameters to describe \memo the operating conditions of the heat pump components. - \min-fields 25 - A1 , \field Name + \min-fields 26 + A1, \field Name \required-field \type alpha \reference HeatingCoilsWaterToAirHP \reference-class-name validBranchEquipmentTypes \reference validBranchEquipmentNames - A2 , \field Compressor Type + A2, \field Availability Schedule Name + \note Availability schedule name for this system. Schedule value > 0 means the system is available. + \note If this field is blank, the system is always available. + \type object-list + \object-list ScheduleNames + A3, \field Compressor Type \required-field \type choice \key Reciprocating @@ -33521,7 +33807,7 @@ Coil:Heating:WaterToAirHeatPump:ParameterEstimation, \note Parameters 1-4 are as named below. \note Parameters 5-9 depend on the type of compressor. \note Refer to the InputOutputReference on the parameters required - A3, \field Refrigerant Type + A4, \field Refrigerant Type \type object-list \object-list FluidNames \default R22 @@ -33547,16 +33833,16 @@ Coil:Heating:WaterToAirHeatPump:ParameterEstimation, \type real \minimum 0.0 \units Pa - A4, \field Water Inlet Node Name + A5, \field Water Inlet Node Name \required-field \type node - A5, \field Water Outlet Node Name + A6, \field Water Outlet Node Name \required-field \type node - A6, \field Air Inlet Node Name + A7, \field Air Inlet Node Name \required-field \type node - A7, \field Air Outlet Node Name + A8, \field Air Outlet Node Name \required-field \type node N5, \field Load Side Total Heat Transfer Coefficient @@ -33646,7 +33932,7 @@ Coil:Heating:WaterToAirHeatPump:ParameterEstimation, \units W/K \minimum 0.0 \type real - A8; \field Part Load Fraction Correlation Curve Name + A9; \field Part Load Fraction Correlation Curve Name \note quadratic curve = a + b*PLR + c*PLR**2 \note cubic curve = a + b*PLR + c*PLR**2 + d*PLR**3 \note PLR = part load ratio (heating load/steady state capacity) @@ -33659,7 +33945,7 @@ Coil:Cooling:WaterToAirHeatPump:EquationFit, \memo compressor), single-speed, equation-fit model. Optional inputs for moisture \memo evaporation from wet coil when compressor cycles off with continuous fan operation. \memo Equation-fit model uses normalized curves to describe the heat pump performance. - \min-fields 22 + \min-fields 23 A1, \field Name \required-field \type alpha @@ -33667,16 +33953,22 @@ Coil:Cooling:WaterToAirHeatPump:EquationFit, \reference-class-name validBranchEquipmentTypes \reference validBranchEquipmentNames \reference DesuperHeatingWaterOnlySources - A2, \field Water Inlet Node Name + \reference AFNCoilNames + A2, \field Availability Schedule Name + \note Availability schedule name for this system. Schedule value > 0 means the system is available. + \note If this field is blank, the system is always available. + \type object-list + \object-list ScheduleNames + A3, \field Water Inlet Node Name \required-field \type node - A3, \field Water Outlet Node Name + A4, \field Water Outlet Node Name \required-field \type node - A4, \field Air Inlet Node Name + A5, \field Air Inlet Node Name \required-field \type node - A5, \field Air Outlet Node Name + A6, \field Air Outlet Node Name \required-field \type node N1, \field Rated Air Flow Rate @@ -33735,19 +34027,19 @@ Coil:Cooling:WaterToAirHeatPump:EquationFit, \type real \default 19.0 \minimum> 0 - A6, \field Total Cooling Capacity Curve Name + A7, \field Total Cooling Capacity Curve Name \required-field \type object-list \object-list QuadvariateFunctions - A7, \field Sensible Cooling Capacity Curve Name + A8, \field Sensible Cooling Capacity Curve Name \required-field \type object-list \object-list QuintvariateFunctions - A8, \field Cooling Power Consumption Curve Name + A9, \field Cooling Power Consumption Curve Name \required-field \type object-list \object-list QuadvariateFunctions - A9, \field Part Load Fraction Correlation Curve Name + A10, \field Part Load Fraction Correlation Curve Name \note quadratic curve = a + b*PLR + c*PLR**2 \note cubic curve = a + b*PLR + c*PLR**2 + d*PLR**3 \note PLR = part load ratio (cooling load/steady state capacity) @@ -33807,7 +34099,7 @@ Coil:Cooling:WaterToAirHeatPump:VariableSpeedEquationFit, \memo Requires two to ten sets of performance data and will interpolate between speeds. \memo Modeled as a single coil with variable-speed compressor. \extensible:13 - \min-fields 30 + \min-fields 31 A1, \field Name \required-field \type alpha @@ -33815,16 +34107,22 @@ Coil:Cooling:WaterToAirHeatPump:VariableSpeedEquationFit, \reference-class-name validBranchEquipmentTypes \reference validBranchEquipmentNames \reference DesuperHeatingWaterOnlySources - A2, \field Water-to-Refrigerant HX Water Inlet Node Name + \reference AFNCoilNames + A2, \field Availability Schedule Name + \note Availability schedule name for this system. Schedule value > 0 means the system is available. + \note If this field is blank, the system is always available. + \type object-list + \object-list ScheduleNames + A3, \field Water-to-Refrigerant HX Water Inlet Node Name \required-field \type node - A3, \field Water-to-Refrigerant HX Water Outlet Node Name + A4, \field Water-to-Refrigerant HX Water Outlet Node Name \required-field \type node - A4, \field Indoor Air Inlet Node Name + A5, \field Indoor Air Inlet Node Name \required-field \type node - A5, \field Indoor Air Outlet Node Name + A6, \field Indoor Air Outlet Node Name \required-field \type node N1, \field Number of Speeds @@ -33893,7 +34191,7 @@ Coil:Cooling:WaterToAirHeatPump:VariableSpeedEquationFit, \type real \minimum 0 \default 0 - A6, \field Energy Part Load Fraction Curve Name + A7, \field Energy Part Load Fraction Curve Name \required-field \type object-list \object-list UnivariateFunctions @@ -33929,42 +34227,42 @@ Coil:Cooling:WaterToAirHeatPump:VariableSpeedEquationFit, \type real \minimum 0 \required-field - A7, \field Speed 1 Total Cooling Capacity Function of Temperature Curve Name + A8, \field Speed 1 Total Cooling Capacity Function of Temperature Curve Name \required-field \type object-list \object-list BivariateFunctions \note curve = a + b*wb + c*wb**2 + d*ewt + e*ewt**2 + f*wb*ewt \note wb = entering wet-bulb temperature (C) \note ewt = water entering temperature seen by the condenser (C) - A8, \field Speed 1 Total Cooling Capacity Function of Air Flow Fraction Curve Name + A9, \field Speed 1 Total Cooling Capacity Function of Air Flow Fraction Curve Name \required-field \type object-list \object-list UnivariateFunctions \note quadratic curve = a + b*ffa + c*ffa**2 \note cubic curve = a + b*ffa + c*ffa**2 + d*ffa**3 \note ffa = Fraction of the full load Air Flow - A9, \field Speed 1 Total Cooling Capacity Function of Water Flow Fraction Curve Name + A10, \field Speed 1 Total Cooling Capacity Function of Water Flow Fraction Curve Name \required-field \type object-list \object-list UnivariateFunctions \note quadratic curve = a + b*ffw + c*ffw**2 \note cubic curve = a + b*ffw + c*ffw**2 + d*ffw**3 \note ffw = Fraction of the full load Water Flow - A10, \field Speed 1 Energy Input Ratio Function of Temperature Curve Name + A11, \field Speed 1 Energy Input Ratio Function of Temperature Curve Name \required-field \type object-list \object-list BivariateFunctions \note curve = a + b*wb + c*wb**2 + d*ewt + e*ewt**2 + f*wb*ewt \note wb = entering wet-bulb temperature (C) \note ewt = water entering temperature seen by the condenser (C) - A11, \field Speed 1 Energy Input Ratio Function of Air Flow Fraction Curve Name + A12, \field Speed 1 Energy Input Ratio Function of Air Flow Fraction Curve Name \required-field \type object-list \object-list UnivariateFunctions \note quadratic curve = a + b*ffa + c*ffa**2 \note cubic curve = a + b*ffa + c*ffa**2 + d*ffa**3 \note ffa = Fraction of the full load Air Flow - A12, \field Speed 1 Energy Input Ratio Function of Water Flow Fraction Curve Name + A13, \field Speed 1 Energy Input Ratio Function of Water Flow Fraction Curve Name \required-field \type object-list \object-list UnivariateFunctions @@ -33976,7 +34274,7 @@ Coil:Cooling:WaterToAirHeatPump:VariableSpeedEquationFit, \type real \minimum 0 \required-field - A13; \field Speed 1 Waste Heat Function of Temperature Curve Name + A14; \field Speed 1 Waste Heat Function of Temperature Curve Name \required-field \type object-list \object-list BivariateFunctions @@ -33988,23 +34286,29 @@ Coil:Heating:WaterToAirHeatPump:EquationFit, \memo Direct expansion (DX) heating coil for water-to-air heat pump (includes electric \memo compressor), single-speed, equation-fit model. Equation-fit model uses normalized \memo curves to describe the heat pump performance. - \min-fields 15 + \min-fields 16 A1, \field Name \required-field \type alpha \reference HeatingCoilsWaterToAirHP \reference-class-name validBranchEquipmentTypes \reference validBranchEquipmentNames - A2, \field Water Inlet Node Name + \reference AFNCoilNames + A2, \field Availability Schedule Name + \note Availability schedule name for this system. Schedule value > 0 means the system is available. + \note If this field is blank, the system is always available. + \type object-list + \object-list ScheduleNames + A3, \field Water Inlet Node Name \required-field \type node - A3, \field Water Outlet Node Name + A4, \field Water Outlet Node Name \required-field \type node - A4, \field Air Inlet Node Name + A5, \field Air Inlet Node Name \required-field \type node - A5, \field Air Outlet Node Name + A6, \field Air Outlet Node Name \required-field \type node N1, \field Rated Air Flow Rate @@ -34058,15 +34362,15 @@ Coil:Heating:WaterToAirHeatPump:EquationFit, \type real \minimum> 0 \default 1.0 - A6, \field Heating Capacity Curve Name + A7, \field Heating Capacity Curve Name \required-field \type object-list \object-list QuadvariateFunctions - A7, \field Heating Power Consumption Curve Name + A8, \field Heating Power Consumption Curve Name \required-field \type object-list \object-list QuadvariateFunctions - A8; \field Part Load Fraction Correlation Curve Name + A9; \field Part Load Fraction Correlation Curve Name \note quadratic curve = a + b*PLR + c*PLR**2 \note cubic curve = a + b*PLR + c*PLR**2 + d*PLR**3 \note PLR = part load ratio (heat load/steady state capacity) @@ -34080,23 +34384,29 @@ Coil:Heating:WaterToAirHeatPump:VariableSpeedEquationFit, \memo curves to describe the heat pump performance. Requires two to ten sets of performance \memo data and will interpolate between speeds. \extensible:12 - \min-fields 23 + \min-fields 24 A1, \field Name \required-field \type alpha \reference HeatingCoilsWaterToAirVSHP \reference-class-name validBranchEquipmentTypes \reference validBranchEquipmentNames - A2, \field Water-to-Refrigerant HX Water Inlet Node Name + \reference AFNCoilNames + A2, \field Availability Schedule Name + \note Availability schedule name for this system. Schedule value > 0 means the system is available. + \note If this field is blank, the system is always available. + \type object-list + \object-list ScheduleNames + A3, \field Water-to-Refrigerant HX Water Inlet Node Name \required-field \type node - A3, \field Water-to-Refrigerant HX Water Outlet Node Name + A4, \field Water-to-Refrigerant HX Water Outlet Node Name \required-field \type node - A4, \field Indoor Air Inlet Node Name + A5, \field Indoor Air Inlet Node Name \required-field \type node - A5, \field Indoor Air Outlet Node Name + A6, \field Indoor Air Outlet Node Name \required-field \type node N1, \field Number of Speeds @@ -34126,7 +34436,7 @@ Coil:Heating:WaterToAirHeatPump:VariableSpeedEquationFit, \type real \autosizable \default autosize - A6, \field Energy Part Load Fraction Curve Name + A7, \field Energy Part Load Fraction Curve Name \required-field \type object-list \object-list UnivariateFunctions @@ -34145,7 +34455,7 @@ Coil:Heating:WaterToAirHeatPump:VariableSpeedEquationFit, \units W/W \minimum> 0.0 \required-field - N8, \field Speed 1 Reference Unit Rated Air Flow + N8, \field Speed 1 Reference Unit Rated Air Flow Rate \units m3/s \type real \minimum 0 @@ -34156,42 +34466,42 @@ Coil:Heating:WaterToAirHeatPump:VariableSpeedEquationFit, \type real \minimum 0 \required-field - A7, \field Speed 1 Heating Capacity Function of Temperature Curve Name + A8, \field Speed 1 Heating Capacity Function of Temperature Curve Name \required-field \type object-list \object-list BivariateFunctions \note curve = a + b*db + c*db**2 + d*ewt + e*ewt**2 + f*db*ewt \note db = entering air dry-bulb temperature (C) \note ewt = water entering temperature seen by the evaporator (C) - A8, \field Speed 1 Total Heating Capacity Function of Air Flow Fraction Curve Name + A9, \field Speed 1 Total Heating Capacity Function of Air Flow Fraction Curve Name \required-field \type object-list \object-list UnivariateFunctions \note quadratic curve = a + b*ffa + c*ffa**2 \note cubic curve = a + b*ffa + c*ffa**2 + d*ffa**3 \note ffa = Fraction of the full load Air Flow - A9, \field Speed 1 Heating Capacity Function of Water Flow Fraction Curve Name + A10, \field Speed 1 Heating Capacity Function of Water Flow Fraction Curve Name \required-field \type object-list \object-list UnivariateFunctions \note quadratic curve = a + b*ffw + c*ffw**2 \note cubic curve = a + b*ffw + c*ffw**2 + d*ffw**3 \note ffw = Fraction of the full load Water Flow - A10, \field Speed 1 Energy Input Ratio Function of Temperature Curve Name + A11, \field Speed 1 Energy Input Ratio Function of Temperature Curve Name \required-field \type object-list \object-list BivariateFunctions \note curve = a + b*db + c*db**2 + d*ewt + e*ewt**2 + f*db*ewt \note db = entering air dry-bulb temperature (C) \note ewt = water entering temperature seen by the evaporator (C) - A11, \field Speed 1 Energy Input Ratio Function of Air Flow Fraction Curve Name + A12, \field Speed 1 Energy Input Ratio Function of Air Flow Fraction Curve Name \required-field \type object-list \object-list UnivariateFunctions \note quadratic curve = a + b*ffa + c*ffa**2 \note cubic curve = a + b*ffa + c*ffa**2 + d*ffa**3 \note ffa = Fraction of the full load Air Flow - A12, \field Speed 1 Energy Input Ratio Function of Water Flow Fraction Curve Name + A13, \field Speed 1 Energy Input Ratio Function of Water Flow Fraction Curve Name \required-field \type object-list \object-list UnivariateFunctions @@ -34203,7 +34513,7 @@ Coil:Heating:WaterToAirHeatPump:VariableSpeedEquationFit, \type real \minimum 0 \required-field - A13; \field Speed 1 Waste Heat Function of Temperature Curve Name + A14; \field Speed 1 Waste Heat Function of Temperature Curve Name \required-field \type object-list \object-list BivariateFunctions @@ -34215,12 +34525,17 @@ Coil:WaterHeating:AirToWaterHeatPump:Pumped, \memo Heat pump water heater (HPWH) heating coil, air-to-water direct-expansion (DX) \memo system which includes a water heating coil, evaporator air coil, evaporator \memo fan, electric compressor, and water pump. Part of a WaterHeater:HeatPump:PumpedCondenser system. - \min-fields 22 + \min-fields 23 A1 , \field Name \required-field \type alpha \reference HeatPumpWaterHeaterDXCoilsPumped \note Unique name for this instance of a heat pump water heater DX coil. + A2 , \field Availability Schedule Name + \note Availability schedule name for this system. Schedule value > 0 means the system is available. + \note If this field is blank, the system is always available. + \type object-list + \object-list ScheduleNames N1 , \field Rated Heating Capacity \required-field \type real @@ -34288,21 +34603,21 @@ Coil:WaterHeating:AirToWaterHeatPump:Pumped, \note A warning message will be issued if the ratio of Rated Condenser Water Flow Rate \note to Heating Capacity is less than 1.79405E-8 m3/s/W (0.083 gpm/MBH) \note or greater than 8.97024E-8 m3/s/W (0.417 gpm/MBH), but the simulation will continue. - A2 , \field Evaporator Fan Power Included in Rated COP + A3 , \field Evaporator Fan Power Included in Rated COP \type choice \key Yes \key No \default Yes \note Select Yes if the evaporator fan power is included in the rated COP. This choice field \note impacts the calculation of compressor electric power. - A3 , \field Condenser Pump Power Included in Rated COP + A4 , \field Condenser Pump Power Included in Rated COP \type choice \key Yes \key No \default No \note Select Yes if the condenser pump power is included in the rated COP. This choice field \note impacts the calculation of compressor electric power. - A4 , \field Condenser Pump Heat Included in Rated Heating Capacity and Rated COP + A5 , \field Condenser Pump Heat Included in Rated Heating Capacity and Rated COP \type choice \key Yes \key No @@ -34323,21 +34638,21 @@ Coil:WaterHeating:AirToWaterHeatPump:Pumped, \default 0.2 \note Fraction of pump heat transferred to the condenser water. The pump is assumed \note to be located downstream of the condenser. - A5 , \field Evaporator Air Inlet Node Name + A6 , \field Evaporator Air Inlet Node Name \required-field \type node \note The node from which the DX coil draws its inlet air. - A6 , \field Evaporator Air Outlet Node Name + A7 , \field Evaporator Air Outlet Node Name \required-field \type node \note The node to which the DX coil sends its outlet air. - A7 , \field Condenser Water Inlet Node Name + A8 , \field Condenser Water Inlet Node Name \required-field \type node \note The node from which the DX coil condenser draws its inlet water. \note This name should match the source side outlet node name in the associated \note water heater tank object. - A8 , \field Condenser Water Outlet Node Name + A9 , \field Condenser Water Outlet Node Name \required-field \type node \note The node to which the DX coil condenser sends its outlet water. @@ -34352,7 +34667,7 @@ Coil:WaterHeating:AirToWaterHeatPump:Pumped, \note surrounding the compressor is below the Maximum Ambient Temperature for Crankcase \note Heater Operation and the DX coil is off. The ambient temperature surrounding the \note compressor is set by the WaterHeater:HeatPump:PumpedCondenser parent object (field Compressor Location). - A9 , \field Crankcase Heater Capacity Function of Temperature Curve Name + A10, \field Crankcase Heater Capacity Function of Temperature Curve Name \note A Curve:* or Table:Lookup object encoding the relationship between \note the crankcase heater capacity and the outdoor air temperature. When this field is \note missing or empty, constant crankcase heater capacity will be assumed. @@ -34367,7 +34682,7 @@ Coil:WaterHeating:AirToWaterHeatPump:Pumped, \note surrounding the compressor is below the Maximum Outdoor Temperature for Crankcase \note Heater Operation and the unit is off. The ambient temperature surrounding the \note compressor is set by the WaterHeater:HeatPump:PumpedCondenser parent object (field Compressor Location). - A10, \field Evaporator Air Temperature Type for Curve Objects + A11, \field Evaporator Air Temperature Type for Curve Objects \type choice \key DryBulbTemperature \key WetBulbTemperature @@ -34375,7 +34690,7 @@ Coil:WaterHeating:AirToWaterHeatPump:Pumped, \note Determines temperature type for heating capacity curves and \note heating COP curves. This input determines whether \note the inlet air dry-bulb or wet-bulb temperature is used to evaluate these curves. - A11, \field Heating Capacity Function of Temperature Curve Name + A12, \field Heating Capacity Function of Temperature Curve Name \type object-list \object-list UnivariateFunctions \object-list BivariateFunctions @@ -34386,7 +34701,7 @@ Coil:WaterHeating:AirToWaterHeatPump:Pumped, \note tw = condenser inlet water temperature (C). \note The field Evaporator Air Temperature Type for Curve Objects determines if dry-bulb or wet-bulb \note is used as the evaporator inlet air temperature (ta). - A12, \field Heating Capacity Function of Air Flow Fraction Curve Name + A13, \field Heating Capacity Function of Air Flow Fraction Curve Name \type object-list \object-list UnivariateFunctions \note Heating capacity modifier curve (function of air flow fraction) should be quadratic or cubic. @@ -34395,7 +34710,7 @@ Coil:WaterHeating:AirToWaterHeatPump:Pumped, \note ff = fraction of the rated evaporator air flow rate. \note Use curve coefficients of 1,0,0 or leave this field blank when neglecting performance impacts \note due to variations in air flow rate fraction. - A13, \field Heating Capacity Function of Water Flow Fraction Curve Name + A14, \field Heating Capacity Function of Water Flow Fraction Curve Name \type object-list \object-list UnivariateFunctions \note Heating capacity modifier curve (function of water flow fraction) should be quadratic or cubic. @@ -34404,7 +34719,7 @@ Coil:WaterHeating:AirToWaterHeatPump:Pumped, \note ff = fraction of the rated condenser water flow rate. \note Use curve coefficients of 1,0,0 or leave this field blank when neglecting performance impacts \note due to variations in water flow rate fraction. - A14, \field Heating COP Function of Temperature Curve Name + A15, \field Heating COP Function of Temperature Curve Name \type object-list \object-list UnivariateFunctions \object-list BivariateFunctions @@ -34415,7 +34730,7 @@ Coil:WaterHeating:AirToWaterHeatPump:Pumped, \note tw = condenser inlet water temperature (C). \note The field Evaporator Air Temperature Type for Curve Objects determines if dry-bulb or wet-bulb \note is used as the evaporator inlet air temperature (ta). - A15, \field Heating COP Function of Air Flow Fraction Curve Name + A16, \field Heating COP Function of Air Flow Fraction Curve Name \type object-list \object-list UnivariateFunctions \note Heating COP modifier curve (function of air flow fraction) should be quadratic or cubic. @@ -34424,7 +34739,7 @@ Coil:WaterHeating:AirToWaterHeatPump:Pumped, \note ff = fraction of the rated evaporator air flow rate. \note Use curve coefficients of 1,0,0 or leave this field blank when neglecting performance impacts \note due to variations in air flow rate fraction. - A16, \field Heating COP Function of Water Flow Fraction Curve Name + A17, \field Heating COP Function of Water Flow Fraction Curve Name \type object-list \object-list UnivariateFunctions \note Heating COP modifier curve (function of water flow fraction) should be quadratic or cubic. @@ -34433,7 +34748,7 @@ Coil:WaterHeating:AirToWaterHeatPump:Pumped, \note ff = fraction of the rated condenser water flow rate. \note Use curve coefficients of 1,0,0 or leave this field blank when neglecting performance impacts \note due to variations in water flow rate fraction. - A17; \field Part Load Fraction Correlation Curve Name + A18; \field Part Load Fraction Correlation Curve Name \type object-list \object-list UnivariateFunctions \note Part Load Fraction Correlation (function of part load ratio) should be quadratic or cubic. @@ -34447,12 +34762,17 @@ Coil:WaterHeating:AirToWaterHeatPump:Wrapped, \memo Heat pump water heater (HPWH) heating coil, air-to-water direct-expansion (DX) \memo system which includes a water heating coil, evaporator air coil, evaporator \memo fan, electric compressor, and water pump. Part of a WaterHeater:HeatPump:WrappedCondenser system. - \min-fields 15 + \min-fields 16 A1 , \field Name \required-field \type alpha \reference HeatPumpWaterHeaterDXCoilsWrapped \note Unique name for this instance of a heat pump water heater DX coil. + A2 , \field Availability Schedule Name + \note Availability schedule name for this system. Schedule value > 0 means the system is available. + \note If this field is blank, the system is always available. + \type object-list + \object-list ScheduleNames N1 , \field Rated Heating Capacity \required-field \type real @@ -34508,18 +34828,18 @@ Coil:WaterHeating:AirToWaterHeatPump:Wrapped, \note Evaporator air flow rate corresponding to rated coil performance \note (heating capacity, COP and SHR). \note Default is 5.035E-5 m3/s/W (31.25 cfm/MBH) of rated heating capacity when autocalculated. - A2 , \field Evaporator Fan Power Included in Rated COP + A3 , \field Evaporator Fan Power Included in Rated COP \type choice \key Yes \key No \default Yes \note Select Yes if the evaporator fan power is included in the rated COP. This choice field \note impacts the calculation of compressor electric power. - A3, \field Evaporator Air Inlet Node Name + A4, \field Evaporator Air Inlet Node Name \required-field \type node \note The node from which the DX coil draws its inlet air. - A4, \field Evaporator Air Outlet Node Name + A5, \field Evaporator Air Outlet Node Name \required-field \type node \note The node to which the DX coil sends its outlet air. @@ -34532,7 +34852,7 @@ Coil:WaterHeating:AirToWaterHeatPump:Wrapped, \note surrounding the compressor is below the Maximum Ambient Temperature for Crankcase \note Heater Operation and the DX coil is off. The ambient temperature surrounding the \note compressor is set by the WaterHeater:HeatPump:WrappedCondenser parent object (field Compressor Location). - A5, \field Crankcase Heater Capacity Function of Temperature Curve Name + A6, \field Crankcase Heater Capacity Function of Temperature Curve Name \note A Curve:* or Table:Lookup object encoding the relationship between \note the crankcase heater capacity and the outdoor air temperature. When this field is \note missing or empty, constant crankcase heater capacity will be assumed. @@ -34547,7 +34867,7 @@ Coil:WaterHeating:AirToWaterHeatPump:Wrapped, \note surrounding the compressor is below the Maximum Outdoor Temperature for Crankcase \note Heater Operation and the unit is off. The ambient temperature surrounding the \note compressor is set by the WaterHeater:HeatPump:WrappedCondenser parent object (field Compressor Location). - A6, \field Evaporator Air Temperature Type for Curve Objects + A7, \field Evaporator Air Temperature Type for Curve Objects \type choice \key DryBulbTemperature \key WetBulbTemperature @@ -34555,7 +34875,7 @@ Coil:WaterHeating:AirToWaterHeatPump:Wrapped, \note Determines temperature type for heating capacity curves and \note heating COP curves. This input determines whether \note the inlet air dry-bulb or wet-bulb temperature is used to evaluate these curves. - A7, \field Heating Capacity Function of Temperature Curve Name + A8, \field Heating Capacity Function of Temperature Curve Name \type object-list \object-list UnivariateFunctions \object-list BivariateFunctions @@ -34566,7 +34886,7 @@ Coil:WaterHeating:AirToWaterHeatPump:Wrapped, \note tw = condenser inlet water temperature (C). \note The field Evaporator Air Temperature Type for Curve Objects determines if dry-bulb or wet-bulb \note is used as the evaporator inlet air temperature (ta). - A8, \field Heating Capacity Function of Air Flow Fraction Curve Name + A9, \field Heating Capacity Function of Air Flow Fraction Curve Name \type object-list \object-list UnivariateFunctions \note Heating capacity modifier curve (function of air flow fraction) should be quadratic or cubic. @@ -34575,7 +34895,7 @@ Coil:WaterHeating:AirToWaterHeatPump:Wrapped, \note ff = fraction of the rated evaporator air flow rate. \note Use curve coefficients of 1,0,0 or leave this field blank when neglecting performance impacts \note due to variations in air flow rate fraction. - A9, \field Heating COP Function of Temperature Curve Name + A10, \field Heating COP Function of Temperature Curve Name \type object-list \object-list UnivariateFunctions \object-list BivariateFunctions @@ -34586,7 +34906,7 @@ Coil:WaterHeating:AirToWaterHeatPump:Wrapped, \note tw = condenser inlet water temperature (C). \note The field Evaporator Air Temperature Type for Curve Objects determines if dry-bulb or wet-bulb \note is used as the evaporator inlet air temperature (ta). - A10, \field Heating COP Function of Air Flow Fraction Curve Name + A11, \field Heating COP Function of Air Flow Fraction Curve Name \type object-list \object-list UnivariateFunctions \note Heating COP modifier curve (function of air flow fraction) should be quadratic or cubic. @@ -34595,7 +34915,7 @@ Coil:WaterHeating:AirToWaterHeatPump:Wrapped, \note ff = fraction of the rated evaporator air flow rate. \note Use curve coefficients of 1,0,0 or leave this field blank when neglecting performance impacts \note due to variations in air flow rate fraction. - A11; \field Part Load Fraction Correlation Curve Name + A12; \field Part Load Fraction Correlation Curve Name \type object-list \object-list UnivariateFunctions \note Part Load Fraction Correlation (function of part load ratio) should be quadratic or cubic. @@ -34609,13 +34929,18 @@ Coil:WaterHeating:AirToWaterHeatPump:VariableSpeed, \memo variable-speed Heat pump water heater (VSHPWH) heating coil, air-to-water direct-expansion (DX) \memo system which includes a variable-speed water heating coil, evaporator air coil, evaporator \memo fan, electric compressor, and water pump. Part of a WaterHeater:HeatPump system. - \min-fields 34 + \min-fields 35 \extensible:12 A1 , \field Name \required-field \type alpha \reference HeatPumpWaterHeaterDXCoilsVariableSpeed \note Unique name for this instance of a variable-speed heat pump water heater DX coil. + A2 , \field Availability Schedule Name + \note Availability schedule name for this system. Schedule value > 0 means the system is available. + \note If this field is blank, the system is always available. + \type object-list + \object-list ScheduleNames N1, \field Number of Speeds \units dimensionless \type integer @@ -34676,21 +35001,21 @@ Coil:WaterHeating:AirToWaterHeatPump:VariableSpeed, \note A warning message will be issued if the ratio of Rated Condenser Water Flow Rate \note to Heating Capacity is less than 1.79405E-8 m3/s/W (0.083 gpm/MBH) \note or greater than 8.97024E-8 m3/s/W (0.417 gpm/MBH), but the simulation will continue. - A2 , \field Evaporator Fan Power Included in Rated COP + A3 , \field Evaporator Fan Power Included in Rated COP \type choice \key Yes \key No \default Yes \note Select Yes if the evaporator fan power is included in the rated COP. This choice field \note impacts the calculation of compressor electric power. - A3 , \field Condenser Pump Power Included in Rated COP + A4 , \field Condenser Pump Power Included in Rated COP \type choice \key Yes \key No \default No \note Select Yes if the condenser pump power is included in the rated COP. This choice field \note impacts the calculation of compressor electric power. - A4 , \field Condenser Pump Heat Included in Rated Heating Capacity and Rated COP + A5 , \field Condenser Pump Heat Included in Rated Heating Capacity and Rated COP \type choice \key Yes \key No @@ -34704,21 +35029,21 @@ Coil:WaterHeating:AirToWaterHeatPump:VariableSpeed, \default 0.2 \note Fraction of pump heat transferred to the condenser water. The pump is assumed \note to be located downstream of the condenser. - A5 , \field Evaporator Air Inlet Node Name + A6 , \field Evaporator Air Inlet Node Name \required-field \type node \note The node from which the DX coil draws its inlet air. - A6 , \field Evaporator Air Outlet Node Name + A7 , \field Evaporator Air Outlet Node Name \required-field \type node \note The node to which the DX coil sends its outlet air. - A7 , \field Condenser Water Inlet Node Name + A8 , \field Condenser Water Inlet Node Name \required-field \type node \note The node from which the DX coil condenser draws its inlet water. \note This name should match the source side outlet node name in the associated \note water heater tank object. - A8 , \field Condenser Water Outlet Node Name + A9 , \field Condenser Water Outlet Node Name \required-field \type node \note The node to which the DX coil condenser sends its outlet water. @@ -34733,7 +35058,7 @@ Coil:WaterHeating:AirToWaterHeatPump:VariableSpeed, \note surrounding the compressor is below the Maximum Ambient Temperature for Crankcase \note Heater Operation and the DX coil is off. The ambient temperature surrounding the \note compressor is set by the WaterHeater:HeatPump parent object (field Compressor Location). - A9 , \field Crankcase Heater Capacity Function of Temperature Curve Name + A10, \field Crankcase Heater Capacity Function of Temperature Curve Name \note A Curve:* or Table:Lookup object encoding the relationship between \note the crankcase heater capacity and the outdoor air temperature. When this field is \note missing or empty, constant crankcase heater capacity will be assumed. @@ -34748,7 +35073,7 @@ Coil:WaterHeating:AirToWaterHeatPump:VariableSpeed, \note surrounding the compressor is below the Maximum Outdoor Temperature for Crankcase \note Heater Operation and the unit is off. The ambient temperature surrounding the \note compressor is set by the WaterHeater:HeatPump parent object (field Compressor Location). - A10, \field Evaporator Air Temperature Type for Curve Objects + A11, \field Evaporator Air Temperature Type for Curve Objects \type choice \key DryBulbTemperature \key WetBulbTemperature @@ -34756,7 +35081,7 @@ Coil:WaterHeating:AirToWaterHeatPump:VariableSpeed, \note Determines temperature type for heating capacity curves and \note heating COP curves. This input determines whether \note the inlet air dry-bulb or wet-bulb temperature is used to evaluate these curves. - A11, \field Part Load Fraction Correlation Curve Name + A12, \field Part Load Fraction Correlation Curve Name \required-field \type object-list \object-list UnivariateFunctions @@ -34767,7 +35092,7 @@ Coil:WaterHeating:AirToWaterHeatPump:VariableSpeed, \note PLR = part load ratio (heating delivered/steady state heating capacity). \note Use curve coefficients of 1,0,0 or leave this field blank when neglecting performance impacts \note due to variations in part load ratio. - N12, \field Rated Water Heating Capacity at Speed 1 + N12, \field Speed 1 Rated Water Heating Capacity \required-field \type real \units W @@ -34776,7 +35101,7 @@ Coil:WaterHeating:AirToWaterHeatPump:VariableSpeed, \note Heating capacity at the rated inlet air temperatures, rated condenser inlet \note water temperature, rated air flow rate, and rated water flow rate. \note Can optionally include condenser pump heat. - N13, \field Rated Water Heating COP at Speed 1 + N13, \field Speed 1 Rated Water Heating COP \type real \units W/W \minimum> 0 @@ -34784,7 +35109,7 @@ Coil:WaterHeating:AirToWaterHeatPump:VariableSpeed, \note Heating coefficient of performance at the rated inlet air and water temperatures, \note rated condenser inlet water temperature, rated air flow rate, and rated water flow rate. \note Can optionally include condenser pump power and evaporator fan power (see fields below). - N14, \field Rated Sensible Heat Ratio at Speed 1 + N14, \field Speed 1 Rated Sensible Heat Ratio \type real \minimum 0.5 \maximum 1 @@ -34810,7 +35135,7 @@ Coil:WaterHeating:AirToWaterHeatPump:VariableSpeed, \type real \minimum 0 \required-field - A12, \field Speed 1 Total WH Capacity Function of Temperature Curve Name + A13, \field Speed 1 Total WH Capacity Function of Temperature Curve Name \required-field \type object-list \object-list BivariateFunctions @@ -34818,7 +35143,7 @@ Coil:WaterHeating:AirToWaterHeatPump:VariableSpeed, \note curve = a + b*wb + c*wb**2 + d*ewt + e*ewt**2 + f*wb*ewt \note wb = entering wet-bulb temperature or dry bulb temperature upon selection (C) \note ewt = water entering temperature seen by the condenser (C) - A13, \field Speed 1 Total WH Capacity Function of Air Flow Fraction Curve Name + A14, \field Speed 1 Total WH Capacity Function of Air Flow Fraction Curve Name \required-field \type object-list \object-list UnivariateFunctions @@ -34826,7 +35151,7 @@ Coil:WaterHeating:AirToWaterHeatPump:VariableSpeed, \note quadratic curve = a + b*ffa + c*ffa**2 \note cubic curve = a + b*ffa + c*ffa**2 + d*ffa**3 \note ffa = Fraction of the full load Air Flow - A14, \field Speed 1 Total WH Capacity Function of Water Flow Fraction Curve Name + A15, \field Speed 1 Total WH Capacity Function of Water Flow Fraction Curve Name \required-field \type object-list \object-list UnivariateFunctions @@ -34834,7 +35159,7 @@ Coil:WaterHeating:AirToWaterHeatPump:VariableSpeed, \note quadratic curve = a + b*ffw + c*ffw**2 \note cubic curve = a + b*ffw + c*ffw**2 + d*ffw**3 \note ffw = Fraction of the full load Water Flow - A15, \field Speed 1 COP Function of Temperature Curve Name + A16, \field Speed 1 COP Function of Temperature Curve Name \required-field \type object-list \object-list BivariateFunctions @@ -34842,7 +35167,7 @@ Coil:WaterHeating:AirToWaterHeatPump:VariableSpeed, \note curve = a + b*wb + c*wb**2 + d*ewt + e*ewt**2 + f*wb*ewt \note wb = entering wet-bulb temperature or dry bulb temperature upon selection (C) \note ewt = water entering temperature seen by the condenser (C) - A16, \field Speed 1 COP Function of Air Flow Fraction Curve Name + A17, \field Speed 1 COP Function of Air Flow Fraction Curve Name \required-field \type object-list \object-list UnivariateFunctions @@ -34850,7 +35175,7 @@ Coil:WaterHeating:AirToWaterHeatPump:VariableSpeed, \note quadratic curve = a + b*ffa + c*ffa**2 \note cubic curve = a + b*ffa + c*ffa**2 + d*ffa**3 \note ffa = Fraction of the full load Air Flow - A17; \field Speed 1 COP Function of Water Flow Fraction Curve Name + A18; \field Speed 1 COP Function of Water Flow Fraction Curve Name \required-field \type object-list \object-list UnivariateFunctions @@ -37218,7 +37543,7 @@ HeatExchanger:Desiccant:BalancedFlow, \type choice \key Yes \key No - \default No + \default Yes \note Yes means that the heat exchanger will be locked out (off) \note when the economizer is operating or high humidity control is active @@ -37915,7 +38240,7 @@ AirLoopHVAC:UnitarySystem, \note Enter the type of performance specification object used to describe the multispeed coil. A28; \field Design Specification Multispeed Object Name \type object-list - \object-list UnitarySystemPerformaceNames + \object-list UnitarySystemPerformanceNames \note The name of the performance specification object used to describe the multispeed coil. UnitarySystemPerformance:Multispeed, @@ -37925,7 +38250,7 @@ UnitarySystemPerformance:Multispeed, \extensible:2 - repeat last two fields, remembering to remove ; from "inner" fields. A1 , \field Name \required-field - \reference UnitarySystemPerformaceNames + \reference UnitarySystemPerformanceNames N1 , \field Number of Speeds for Heating \required-field \type integer @@ -38540,7 +38865,7 @@ AirLoopHVAC:UnitaryHeatPump:AirToAir, \note continuously regardless of cooling or heating coil operation). \note Leaving this schedule name blank will default to cycling fan mode for the \note entire simulation period. - A16; \field Dehumidification Control Type + A16, \field Dehumidification Control Type \type choice \key None \key Multimode @@ -38558,6 +38883,12 @@ AirLoopHVAC:UnitaryHeatPump:AirToAir, \note cooling coil types. When a heat exchanger assisted Cooling \note coil is used, the heat exchanger is locked on at all times. \note A ZoneControl:Humidistat object is also required. + N6; \field DX Heating Coil Sizing Ratio + \type real + \default 1.0 + \minimum> 0 + \note Used to adjust heat pump heating capacity with respect to DX cooling capacity + \note used only for heat pump configurations (i.e., a DX cooling and DX heating coil is used). AirLoopHVAC:UnitaryHeatPump:WaterToAir, \memo Unitary heat pump system, heating and cooling, single-speed with constant volume @@ -38681,7 +39012,7 @@ AirLoopHVAC:UnitaryHeatPump:WaterToAir, \note as required to meet the humidity setpoint. Valid only with \note Coil:Cooling:WaterToAirHeatPump:EquationFit or \note Coil:Cooling:WaterToAirHeatPump:VariableSpeedEquationFit - A18; \field Heat Pump Coil Water Flow Mode + A18, \field Heat Pump Coil Water Flow Mode \type choice \key Constant \key Cycling @@ -38691,6 +39022,12 @@ AirLoopHVAC:UnitaryHeatPump:WaterToAir, \note Constant results in 100% water flow regardless of compressor PLR \note Cycling results in water flow that matches compressor PLR \note ConstantOnDemand results in 100% water flow whenever the coil is on, but is 0% whenever the coil has no load + N6; \field DX Heating Coil Sizing Ratio + \type real + \default 1.0 + \minimum> 0 + \note Used to adjust heat pump heating capacity with respect to DX cooling capacity + \note used only for heat pump configurations (i.e., a DX cooling and DX heating coil is used). AirLoopHVAC:UnitaryHeatCool:VAVChangeoverBypass, \memo Unitary system, heating and cooling with constant volume supply fan (continuous or @@ -41052,7 +41389,7 @@ AirLoopHVAC:DedicatedOutdoorAirSystem, N5 , \field Number of AirLoopHVAC \required-field \type integer - \note Enter the number of the AirLoopHAVC served by AirLoopHVAC:DedicatedOutdoorAirSystem + \note Enter the number of the AirLoopHVAC served by AirLoopHVAC:DedicatedOutdoorAirSystem A6; \field AirLoopHVAC 1 Name \note The rest of fields are extensible. It requires AirLoopHVAC names served by \note an AirLoopHVAC:DedicatedOutdoorAirSystem. @@ -42998,7 +43335,7 @@ Boiler:HotWater, \type real \units W \autosizable - \minimum 0.0 + \minimum> 0.0 N2 , \field Nominal Thermal Efficiency \required-field \type real @@ -43934,7 +44271,7 @@ Chiller:Electric, \default General A14, \field Thermosiphon Capacity Fraction Curve Name \type object-list - \object-list UniVariateFunctions + \object-list UnivariateFunctions \note quadratic curve = a + b * (Tevap, out - Tcond, in) is typical, other univariate curves may be used \note Tevap, out = evaporator outlet temperature \note Tcond, in = condenser inlet temperature @@ -44324,7 +44661,7 @@ Chiller:ConstantCOP, \note throughout the entire simulation. A9 , \field Thermosiphon Capacity Fraction Curve Name \type object-list - \object-list UniVariateFunctions + \object-list UnivariateFunctions \note quadratic curve = a + b * (Tevap, out - Tcond, in) is typical, other univariate curves may be used \note Tevap, out = evaporator outlet temperature \note Tcond, in = condenser inlet temperature @@ -45189,14 +45526,14 @@ HeatPump:PlantLoop:EIR:Cooling, N5, \field Reference Coefficient of Performance \type real \minimum> 0.0 - \default 3.0 \units W/W + \default 3.0 N6, \field Sizing Factor \note Multiplies the autosized load side reference flow rate which is then used to autosize the capacity \type real \minimum> 0.0 \default 1.0 - A10, \field Capacity Modifier Function of Temperature Curve Name + A10, \field Capacity Modifier Function of Temperature Curve Name \note Cooling capacity modifier as a function of CW supply temp and entering condenser temp \required-field \type object-list @@ -45305,7 +45642,7 @@ HeatPump:PlantLoop:EIR:Cooling, HeatPump:PlantLoop:EIR:Heating, \memo An EIR formulated water to water heat pump model, heating operation - \min-fields 15 + \min-fields 18 A1, \field Name \type alpha \reference PLHPHeatingNames @@ -45377,8 +45714,8 @@ HeatPump:PlantLoop:EIR:Heating, N5, \field Reference Coefficient of Performance \type real \minimum> 0.0 - \default 3.0 \units W/W + \default 3.0 N6, \field Sizing Factor \note Multiplies the autosized load side reference flow rate which is then used to autosize the capacity \type real @@ -45549,12 +45886,10 @@ HeatPump:AirToWater:FuelFired:Heating, \min-fields 31 A1 , \field Name \required-field - \reference HeatPumpAirToWaterFuelFiredHeatingNames - \note Name of the fuel fired absorption heat pump system system - \reference-class-name validPlantEquipmentTypes - \reference validPlantEquipmentNames \reference-class-name validBranchEquipmentTypes \reference validBranchEquipmentNames + \reference HeatPumpAirToWaterFuelFiredHeatingNames + \note Name of the fuel fired absorption heat pump system system A2 , \field Water Inlet Node Name \required-field \type node @@ -45617,7 +45952,7 @@ HeatPump:AirToWater:FuelFired:Heating, \units deltaC \note Design Temperature Lift in [degree C] N6 , \field Sizing Factor - \minimum 1.0 + \minimum 0.0 \default 1.0 \note Sizing Factor for equipment sizing A8 , \field Flow Mode @@ -45717,23 +46052,26 @@ HeatPump:AirToWater:FuelFired:Heating, \object-list UnivariateFunctions \note Auxiliary Electric EIRFPLR - Auxiliary Electric Energy Input Ratio Function of PLR (Part Load Ratio) Curve Name, \note which is a cubic curve or a lookup table. - N13; \field Standby Electric Power + N13, \field Standby Electric Power \units W \minimum 0 \default 0 \note Standby Electric Power in [W] + N14; \field Minimum Unloading Ratio + \minimum 0 + \maximum 1 + \default 0.25 + \note Minimum modulation level of the gas-fired heat pump. Typically less than 1.0 and slightly higher than the minimum part load ratio. HeatPump:AirToWater:FuelFired:Cooling, \memo The object defines a fuel-fired absorption heat pump based on equation-fit models. \min-fields 26 A1 , \field Name \required-field - \reference HeatPumpAirToWaterFuelFiredCoolingNames - \note Name of the fuel fired absorption heat pump system system - \reference-class-name validPlantEquipmentTypes - \reference validPlantEquipmentNames \reference-class-name validBranchEquipmentTypes \reference validBranchEquipmentNames + \reference HeatPumpAirToWaterFuelFiredCoolingNames + \note Name of the fuel fired absorption heat pump system system A2 , \field Water Inlet Node Name \required-field \type node @@ -45796,7 +46134,7 @@ HeatPump:AirToWater:FuelFired:Cooling, \units deltaC \note Design Temperature Lift in [degree C] N6 , \field Sizing Factor - \minimum 1.0 + \minimum 0.0 \default 1.0 \note Sizing Factor for equipment sizing A8 , \field Flow Mode @@ -45868,11 +46206,593 @@ HeatPump:AirToWater:FuelFired:Cooling, \object-list UnivariateFunctions \note Auxiliary Electric EIRFPLR - Auxiliary Electric Energy Input Ratio Function of PLR (Part Load Ratio) Curve Name, \note which is a cubic curve or a lookup table. - N10; \field Standby Electric Power + N10, \field Standby Electric Power \units W \minimum 0 \default 0 \note Standby Electric Power in [W] + N11; \field Minimum Unloading Ratio + \minimum 0 + \maximum 1 + \default 0.25 + \note Minimum modulation level of the gas-fired heat pump. Typically less than 1.0 and slightly higher than the minimum part load ratio. + +HeatPump:AirToWater, + \memo air-to-water heat pump system which provides either chilled or hot water with single- or variable speed compressors. + \min-fields 77 + A1 , \field Name + \required-field + \type alpha + \required-field + \reference-class-name validPlantEquipmentTypes + \reference validPlantEquipmentNames + \reference-class-name validBranchEquipmentTypes + \reference validBranchEquipmentNames + A2 , \field Availability Schedule Name Heating + \type object-list + \object-list ScheduleNames + \note Enter the name of a schedule that defines the availability of the unit in heating mode + \note Schedule values of 0 denote the unit is off. All other values denote the unit is available + \note If this field is left blank, the unit is available the entire simulation + A3 , \field Availability Schedule Name Cooling + \type object-list + \object-list ScheduleNames + \note Enter the name of a schedule that defines the availability of the unit in cooling mode + \note Schedule values of 0 denote the unit is off. All other values denote the unit is available + \note If this field is left blank, the unit is available the entire simulation + A4 , \field Operating Mode Control Method + \type choice + \key ScheduledModes + \key EMSControlled + \key Load + \default Load + A5, \field Operating Mode Control Option for Multiple Unit + \note this determines how the operation mode is assigned when the load + \note is too large to be met by multiple heat pump units + \type choice + \key SingleMode + \key CoolingPriority + \key HeatingPriority + \key Balanced + \default SingleMode + \note SingleMode: all units will operate in the same mode (either all + \note cooling or all heating). If the heating load is larger, then all unit + \note operates in heating mode; otherwise, all operate in cooling mode. + \note CoolingPriority: each unit will be staged one by one based on + \note cooling demand first, after all cooling demand is met, if there are + \note remaining heat pumps, they will be used to fulfill the remaining heating + \note demand. + \note HeatingPriority: similar to the previous cooling priority one, + \note but will prioritize to meet the heating demand first + \note Balanced: balance the percent satisfied heating or cooling load + A6 , \field Operating Mode Control Schedule Name + \note This field is used if the control method is set to ScheduledModes + \note Schedule values control operating mode: 0=off, 1=cooling, 2=heating + \type object-list + \object-list ScheduleNames + N1, \field Minimum Part Load Ratio + \note Below this operating limit compressor cycling will occur + \type real + \minimum 0.0 + \default 0.0 + N2 , \field Rated Inlet Air Temperature in Heating Mode + \type real + \units C + \default 8 + \note inlet air dry-bulb temperature corresponding to rated heat pump performance + \note (capacity, COP). + N3 , \field Rated Air Flow Rate in Heating Mode + \type real + \units m3/s + \minimum> 0.0 + \autosizable + \default autosize + \note air flow rate corresponding to rated heat pump performance + \note (capacity, COP). + N4 , \field Rated Leaving Water Temperature in Heating Mode + \type real + \units C + \default 40 + \note outlet water temperature corresponding to rated heat pump performance + \note (heating capacity, COP). + N5 , \field Rated Water Flow Rate in Heating Mode + \type real + \units m3/s + \ip-units gal/min + \minimum> 0.0 + \autosizable + \default autosize + \note Condenser water flow rate corresponding to rated heat pump performance + \note (capacity, COP). + N6, \field Minimum Outdoor Air Temperature in Heating Mode + \type real + \units C + \default -30.0 + \note Enter the minimum outdoor temperature allowed for heating operation + \note Heating is disabled below this temperature + N7, \field Maximum Outdoor Air Temperature in Heating Mode + \type real + \units C + \default 100 + \note Enter the maximum outdoor temperature allowed for heating operation + \note Heating is disabled above this temperature + A7, \field Minimum Leaving Water Temperature Curve Name in Heating Mode + \type object-list + \object-list UnivariateFunctions + \note quadratic curve = a + b*OAT is typical, other univariate curves may be used + \note OAT = Outdoor Dry-Bulb Temperature + A8, \field Maximum Leaving Water Temperature Curve Name in Heating Mode + \type object-list + \object-list UnivariateFunctions + \note quadratic curve = a + b*OAT is typical, other univariate curves may be used + \note OAT = Outdoor Dry-Bulb Temperature + N8, \field Sizing Factor for Heating + \note Multiplies the autosized capacity and flow rates + \type real + \minimum> 0.0 + \default 1.0 + N9, \field Rated Inlet Air Temperature in Cooling Mode + \type real + \units C + \default 30 + \note inlet air dry-bulb temperature corresponding to rated heat pump performance + \note (capacity, COP). + N10, \field Rated Air Flow Rate in Cooling Mode + \type real + \units m3/s + \minimum> 0.0 + \autosizable + \default autosize + \note air flow rate corresponding to rated heat pump performance + \note (capacity, COP). + N11 , \field Rated Leaving Water Temperature in Cooling Mode + \type real + \units C + \default 8 + \note inlet water temperature corresponding to rated performance + \note (heating capacity, COP). + N12 , \field Rated Water Flow Rate in Cooling Mode + \type real + \units m3/s + \ip-units gal/min + \minimum> 0.0 + \autosizable + \default autosize + \note Condenser water flow rate corresponding to rated heat pump performance + \note (capacity, COP). + N13 , \field Minimum Outdoor Air Temperature in Cooling Mode + \type real + \units C + \default -30.0 + \note Enter the minimum outdoor temperature allowed for cooling operation + \note Cooling is disabled below this temperature + N14, \field Maximum Outdoor Air Temperature in Cooling Mode + \type real + \units C + \default 100.0 + \note Enter the maximum outdoor temperature allowed for cooling operation + \note Cooling is disabled above this temperature + A9, \field Minimum Leaving Water Temperature Curve Name in Cooling Mode + \type object-list + \object-list UnivariateFunctions + \note quadratic curve = a + b*OAT is typical, other univariate curves may be used + \note OAT = Outdoor Dry-Bulb Temperature + A10, \field Maximum Leaving Water Temperature Curve Name in Cooling Mode + \type object-list + \object-list UnivariateFunctions + \note quadratic curve = a + b*OAT is typical, other univariate curves may be used + \note OAT = Outdoor Dry-Bulb Temperature + N15, \field Sizing Factor for Cooling + \note Multiplies the autosized capacity and flow rates + \type real + \minimum> 0.0 + \default 1.0 + A11, \field Air Inlet Node Name + \required-field + \type node + \note The node from which the heat pump draws its inlet air. + A12, \field Air Outlet Node Name + \required-field + \type node + \note The node to which the heat pump sends its outlet air. + A13, \field Hot Water Inlet Node Name + \type node + \note The node connects to the hot water loop + A14, \field Hot Water Outlet Node Name + \type node + \note The node connects to the hot water loop + A15, \field Chilled Water Inlet Node Name + \type node + \note The node connects to the chilled water loop + A16, \field Chilled Water Outlet Node Name + \type node + \note The node connects to the chilled water loop + N16, \field Maximum Outdoor Dry Bulb Temperature For Defrost Operation + \type real + \default 10.0 + \note defrost operation will not be active above this outdoor temperature + A17, \field Heat Pump Defrost Control + \type choice + \key None + \key Timed + \key OnDemand + \key TimedEmpirical + \default None + N17, \field Heat Pump Defrost Time Period Fraction + \type real + \minimum 0.0 + \default 0.058333 + \note Fraction of time in defrost mode + \note only applicable if timed defrost control is specified + N18, \field Resistive Defrost Heater Capacity + \type real + \minimum 0.0 + \default 0.0 + \units W + \note only applicable if resistive defrost strategy is specified + A18, \field Defrost Energy Input Ratio Function of Temperature Curve Name + \type object-list + \object-list BivariateFunctions + \note univariate curve = a + b*OAT is typical, other univariate curves may be used + \note bivariate curve = a + b*WB + c*WB**2 + d*OAT + e*OAT**2 + f*WB*OAT + \note OAT = outdoor air dry-bulb temperature (C) + \note WB = wet-bulb temperature (C) of air entering the indoor coil + \note only required if Timed or OnDemand defrost strategy is specified + N19, \field Heat Pump Multiplier + \type integer + \default 1 + \note intend to model modular heat pumps + A19, \field Control Type + \type choice + \key FixedSpeed + \key VariableSpeed + \default VariableSpeed + N20, \field Crankcase Heater Capacity + \type real + \minimum 0.0 + \default 0.0 + \units W + \note The compressor crankcase heater only operates when the dry-bulb temperature of air + \note surrounding the compressor is below the Maximum Ambient Temperature for Crankcase + \note Heater Operation and the heat pump is off. The ambient temperature uses the outdoor air temperature. + A20, \field Crankcase Heater Capacity Function of Temperature Curve Name + \note A Curve:* or Table:Lookup object encoding the relationship between + \note the crankcase heater capacity and the outdoor air temperature. When this field is + \note missing or empty, constant crankcase heater capacity will be assumed. + \type object-list + \object-list UnivariateFunctions + N21, \field Maximum Ambient Temperature for Crankcase Heater Operation + \type real + \minimum 0.0 + \default 10.0 + \units C + \note The compressor crankcase heater only operates when the dry-bulb temperature of air + \note surrounding the compressor is below the Maximum Outdoor Temperature for Crankcase + \note Heater Operation and the unit is off. + N24, \field Number of Speeds for Heating + \type integer + \note the number of speed levels in heating mode + \minimum 0 + \maximum 5 + \default 1 + \note if there's only cooling component, set this field to 0 + N25, \field Rated Heating Capacity at Speed 1 + \type real + \units W + \minimum> 0.0 + \autosizable + \default autosize + N26, \field Rated COP for Heating at Speed 1 + \type real + \minimum> 0.0 + \units W/W + \default 3.0 + A22, \field Normalized Heating Capacity Function of Temperature Curve Name at Speed 1 + \type object-list + \object-list BivariateFunctions + \note: CAPFT - Normalized Capacity Function of Temperature Curve Name, + \note which is a biquadratic curve or a lookup table of air and water temperature. + A23, \field Heating Energy Input Ratio Function of Temperature Curve Name at Speed 1 + \type object-list + \object-list BivariateFunctions + \note EIRFT - Fuel Energy Input Ratio Function of Temperature Curve Name, + \note which is a biquadratic curve or a lookup table of air and water temperature. + A24, \field Heating Energy Input Ratio Function of PLR Curve Name at Speed 1 + \type object-list + \object-list UnivariateFunctions + \note EIRFPLR - Fuel Energy Input Ratio Function of Part Load Ratio(PLR) Curve Name, + \note which is a cubic curve or a lookup table. + N27, \field Rated Heating Capacity at Speed 2 + \type real + \units W + \minimum> 0.0 + \autosizable + \default autosize + N28, \field Rated COP for Heating at Speed 2 + \type real + \minimum> 0.0 + \units W/W + A25, \field Normalized Heating Capacity Function of Temperature Curve Name at Speed 2 + \type object-list + \object-list BivariateFunctions + \note: CAPFT - Normalized Capacity Function of Temperature Curve Name, + \note which is a biquadratic curve or a lookup table of air and water temperature. + A26, \field Heating Energy Input Ratio Function of Temperature Curve Name at Speed 2 + \type object-list + \object-list BivariateFunctions + \note EIRFT - Fuel Energy Input Ratio Function of Temperature Curve Name, + \note which is a biquadratic curve or a lookup table of air and water temperature. + A27, \field Heating Energy Input Ratio Function of PLR Curve Name at Speed 2 + \type object-list + \object-list UnivariateFunctions + \note EIRFPLR - Fuel Energy Input Ratio Function of Part Load Ratio(PLR) Curve Name, + \note which is a cubic curve or a lookup table. + N29, \field Rated Heating Capacity at Speed 3 + \type real + \units W + \minimum> 0.0 + \autosizable + \default autosize + N30, \field Rated COP for Heating at Speed 3 + \type real + \minimum> 0.0 + \units W/W + A28, \field Normalized Heating Capacity Function of Temperature Curve Name at Speed 3 + \type object-list + \object-list BivariateFunctions + \note: CAPFT - Normalized Capacity Function of Temperature Curve Name, + \note which is a biquadratic curve or a lookup table of air and water temperature. + A29, \field Heating Energy Input Ratio Function of Temperature Curve Name at Speed 3 + \type object-list + \object-list BivariateFunctions + \note EIRFT - Fuel Energy Input Ratio Function of Temperature Curve Name, + \note which is a biquadratic curve or a lookup table of air and water temperature. + A30, \field Heating Energy Input Ratio Function of PLR Curve Name at Speed 3 + \type object-list + \object-list UnivariateFunctions + \note EIRFPLR - Fuel Energy Input Ratio Function of Part Load Ratio(PLR) Curve Name, + \note which is a cubic curve or a lookup table. + N31, \field Rated Heating Capacity at Speed 4 + \type real + \units W + \minimum> 0.0 + \autosizable + \default autosize + N32,\field Rated COP for Heating at Speed 4 + \type real + \minimum> 0.0 + \units W/W + A31, \field Normalized Heating Capacity Function of Temperature Curve Name at Speed 4 + \type object-list + \object-list BivariateFunctions + \note: CAPFT - Normalized Capacity Function of Temperature Curve Name, + \note which is a biquadratic curve or a lookup table of air and water temperature. + A32, \field Heating Energy Input Ratio Function of Temperature Curve Name at Speed 4 + \type object-list + \object-list BivariateFunctions + \note EIRFT - Fuel Energy Input Ratio Function of Temperature Curve Name, + \note which is a biquadratic curve or a lookup table of air and water temperature. + A33, \field Heating Energy Input Ratio Function of PLR Curve Name at Speed 4 + \type object-list + \object-list UnivariateFunctions + \note EIRFPLR - Fuel Energy Input Ratio Function of Part Load Ratio(PLR) Curve Name, + \note which is a cubic curve or a lookup table. + N33, \field Rated Heating Capacity at Speed 5 + \type real + \units W + \minimum> 0.0 + \autosizable + \default autosize + N34, \field Rated COP for Heating at Speed 5 + \type real + \minimum> 0.0 + \units W/W + A34, \field Normalized Heating Capacity Function of Temperature Curve Name at Speed 5 + \type object-list + \object-list BivariateFunctions + \note: CAPFT - Normalized Capacity Function of Temperature Curve Name, + \note which is a biquadratic curve or a lookup table of air and water temperature. + A35, \field Heating Energy Input Ratio Function of Temperature Curve Name at Speed 5 + \type object-list + \object-list BivariateFunctions + \note EIRFT - Fuel Energy Input Ratio Function of Temperature Curve Name, + \note which is a biquadratic curve or a lookup table of air and water temperature. + A36, \field Heating Energy Input Ratio Function of PLR Curve Name at Speed 5 + \type object-list + \object-list UnivariateFunctions + \note EIRFPLR - Fuel Energy Input Ratio Function of Part Load Ratio(PLR) Curve Name, + \note which is a cubic curve or a lookup table. + A37, \field Booster Mode On Heating + \type choice + \key Yes + \key No + \default No + N35, \field Rated Heating Capacity in Booster Mode + \type real + \units W + \minimum> 0.0 + N36, \field Rated Heating COP in Booster Mode + \type real + \minimum> 0.0 + \units W/W + \default 3.0 + A38, \field Normalized Heating Capacity Function of Temperature Curve Name in Booster Mode + \type object-list + \object-list BivariateFunctions + \note: CAPFT - Normalized Capacity Function of Temperature Curve Name, + \note which is a biquadratic curve or a lookup table of air and water temperature. + A39, \field Heating Energy Input Ratio Function of Temperature Curve Name in Booster Mode + \type object-list + \object-list BivariateFunctions + \note EIRFT - Fuel Energy Input Ratio Function of Temperature Curve Name, + \note which is a biquadratic curve or a lookup table of air and water temperature. + A40, \field Heating Energy Input Ratio Function of PLR Curve Name in Booster Mode + \type object-list + \object-list UnivariateFunctions + \note EIRFPLR - Fuel Energy Input Ratio Function of Part Load Ratio(PLR) Curve Name, + \note which is a cubic curve or a lookup table. + N37, \field Number of Speeds for Cooling + \type integer + \minimum 0 + \maximum 5 + \default 1 + \note the number of speed levels in cooling mode + \note if there's only heating component, set this field to 0 + N38, \field Rated Cooling Capacity at Speed 1 + \type real + \units W + \minimum> 0.0 + \autosizable + \default autosize + N39, \field Rated COP for Cooling at Speed 1 + \type real + \minimum> 0.0 + \units W/W + \default 3.0 + A41, \field Normalized Cooling Capacity Function of Temperature Curve Name at Speed 1 + \type object-list + \object-list BivariateFunctions + \note: CAPFT - Normalized Capacity Function of Temperature Curve Name, + \note which is a biquadratic curve or a lookup table of air and water temperature. + A42, \field Cooling Energy Input Ratio Function of Temperature Curve Name at Speed 1 + \type object-list + \object-list BivariateFunctions + \note EIRFT - Fuel Energy Input Ratio Function of Temperature Curve Name, + \note which is a biquadratic curve or a lookup table of air and water temperature. + A43, \field Cooling Energy Input Ratio Function of PLR Curve Name at Speed 1 + \type object-list + \object-list UnivariateFunctions + \note EIRFPLR - Fuel Energy Input Ratio Function of Part Load Ratio(PLR) Curve Name, + \note which is a cubic curve or a lookup table. + N40, \field Rated Cooling Capacity at Speed 2 + \type real + \units W + \minimum> 0.0 + \autosizable + \default autosize + N41, \field Rated COP for Cooling at Speed 2 + \type real + \minimum> 0.0 + \units W/W + A44, \field Normalized Cooling Capacity Function of Temperature Curve Name at Speed 2 + \type object-list + \object-list BivariateFunctions + \note: CAPFT - Normalized Capacity Function of Temperature Curve Name, + \note which is a biquadratic curve or a lookup table of air and water temperature. + A45, \field Cooling Energy Input Ratio Function of Temperature Curve Name at Speed 2 + \type object-list + \object-list BivariateFunctions + \note EIRFT - Fuel Energy Input Ratio Function of Temperature Curve Name, + \note which is a biquadratic curve or a lookup table of air and water temperature. + A46, \field Cooling Energy Input Ratio Function of PLR Curve Name at Speed 2 + \type object-list + \object-list UnivariateFunctions + \note EIRFPLR - Fuel Energy Input Ratio Function of Part Load Ratio(PLR) Curve Name, + \note which is a cubic curve or a lookup table. + N42, \field Rated Cooling Capacity at Speed 3 + \type real + \units W + \minimum> 0.0 + \autosizable + \default autosize + N43, \field Rated COP for Cooling at Speed 3 + \type real + \minimum> 0.0 + \units W/W + A47, \field Normalized Cooling Capacity Function of Temperature Curve Name at Speed 3 + \type object-list + \object-list BivariateFunctions + \note: CAPFT - Normalized Capacity Function of Temperature Curve Name, + \note which is a biquadratic curve or a lookup table of air and water temperature. + A48, \field Cooling Energy Input Ratio Function of Temperature Curve Name at Speed 3 + \type object-list + \object-list BivariateFunctions + \note EIRFT - Fuel Energy Input Ratio Function of Temperature Curve Name, + \note which is a biquadratic curve or a lookup table of air and water temperature. + A49, \field Cooling Energy Input Ratio Function of PLR Curve Name at Speed 3 + \type object-list + \object-list UnivariateFunctions + \note EIRFPLR - Fuel Energy Input Ratio Function of Part Load Ratio(PLR) Curve Name, + \note which is a cubic curve or a lookup table. + N44, \field Rated Cooling Capacity at Speed 4 + \type real + \units W + \minimum> 0.0 + \autosizable + \default autosize + N45, \field Rated COP for Cooling at Speed 4 + \type real + \minimum> 0.0 + \units W/W + A50, \field Normalized Cooling Capacity Function of Temperature Curve Name at Speed 4 + \type object-list + \object-list BivariateFunctions + \note: CAPFT - Normalized Capacity Function of Temperature Curve Name, + \note which is a biquadratic curve or a lookup table of air and water temperature. + A51, \field Cooling Energy Input Ratio Function of Temperature Curve Name at Speed 4 + \type object-list + \object-list BivariateFunctions + \note EIRFT - Fuel Energy Input Ratio Function of Temperature Curve Name, + \note which is a biquadratic curve or a lookup table of air and water temperature. + A52, \field Cooling Energy Input Ratio Function of PLR Curve Name at Speed 4 + \type object-list + \object-list UnivariateFunctions + \note EIRFPLR - Fuel Energy Input Ratio Function of Part Load Ratio(PLR) Curve Name, + \note which is a cubic curve or a lookup table. + N46, \field Rated Cooling Capacity at Speed 5 + \type real + \units W + \minimum> 0.0 + \autosizable + \default autosize + N47, \field Rated COP for Cooling at Speed 5 + \type real + \minimum> 0.0 + \units W/W + A53, \field Normalized Cooling Capacity Function of Temperature Curve Name at Speed 5 + \type object-list + \object-list BivariateFunctions + \note: CAPFT - Normalized Capacity Function of Temperature Curve Name, + \note which is a biquadratic curve or a lookup table of air and water temperature. + A54, \field Cooling Energy Input Ratio Function of Temperature Curve Name at Speed 5 + \type object-list + \object-list BivariateFunctions + \note EIRFT - Fuel Energy Input Ratio Function of Temperature Curve Name, + \note which is a biquadratic curve or a lookup table of air and water temperature. + A55, \field Cooling Energy Input Ratio Function of PLR Curve Name at Speed 5 + \type object-list + \object-list UnivariateFunctions + \note EIRFPLR - Fuel Energy Input Ratio Function of Part Load Ratio(PLR) Curve Name, + \note which is a cubic curve or a lookup table. + A56, \field Booster Mode On Cooling + \type choice + \key Yes + \key No + \default No + N48, \field Rated Cooling Capacity in Booster Mode + \type real + \units W + \minimum> 0.0 + N49, \field Rated Cooling COP in Booster Mode + \type real + \minimum> 0.0 + \units W/W + \default 3.0 + A57, \field Normalized Cooling Capacity Function of Temperature Curve Name in Booster Mode + \type object-list + \object-list BivariateFunctions + \note: CAPFT - Normalized Capacity Function of Temperature Curve Name, + \note which is a biquadratic curve or a lookup table of air and water temperature. + A58, \field Cooling Energy Input Ratio Function of Temperature Curve Name in Booster Mode + \type object-list + \object-list BivariateFunctions + \note EIRFT - Fuel Energy Input Ratio Function of Temperature Curve Name, + \note which is a biquadratic curve or a lookup table of air and water temperature. + A59; \field Cooling Energy Input Ratio Function of PLR Curve Name in Booster Mode + \type object-list + \object-list UnivariateFunctions + \note EIRFPLR - Fuel Energy Input Ratio Function of Part Load Ratio(PLR) Curve Name, + \note which is a cubic curve or a lookup table. HeatPump:WaterToWater:EquationFit:Heating, \memo simple water-water hp curve-fit model @@ -46308,22 +47228,22 @@ CentralHeatPumpSystem, \key SmartMixing \default SmartMixing A3, \field Cooling Loop Inlet Node Name - \type alpha + \type node \required-field A4, \field Cooling Loop Outlet Node Name - \type alpha + \type node \required-field A5, \field Source Loop Inlet Node Name - \type alpha + \type node \required-field A6, \field Source Loop Outlet Node Name - \type alpha + \type node \required-field A7, \field Heating Loop Inlet Node Name - \type alpha + \type node \required-field A8, \field Heating Loop Outlet Node Name - \type alpha + \type node \required-field N1, \field Ancillary Power \type real @@ -47404,7 +48324,7 @@ CoolingTower:VariableSpeed:Merkel, \default 0.008 \note Rate of drift loss as a percentage of circulating condenser water flow rate \note Typical values are between 0.002 and 0.2% The default value is 0.008% - A11 ,\field Blowdown Calculation Mode + A11, \field Blowdown Calculation Mode \type choice \key ConcentrationRatio \key ScheduledRate @@ -48073,6 +48993,8 @@ EvaporativeFluidCooler:SingleSpeed, \type real \units C \minimum> 0.0 + \default autosize + \autosizable \ip-units F \note Only used for Performance Input Method = UserSpecifiedDesignCapacity; \note for other Performance Input Methods, this field is ignored. @@ -48080,6 +49002,7 @@ EvaporativeFluidCooler:SingleSpeed, N10, \field Design Entering Air Temperature \type real \units C + \default 35.0 \minimum> 0.0 \ip-units F \note Only used for Performance Input Method = UserSpecifiedDesignCapacity; @@ -48089,6 +49012,7 @@ EvaporativeFluidCooler:SingleSpeed, N11, \field Design Entering Air Wet-bulb Temperature \type real \units C + \default 25.6 \minimum> 0.0 \ip-units F \note Only used for Performance Input Method = UserSpecifiedDesignCapacity; @@ -48320,6 +49244,8 @@ EvaporativeFluidCooler:TwoSpeed, \type real \units C \minimum> 0.0 + \default autosize + \autosizable \ip-units F \note Only used for Performance Input Method = UserSpecifiedDesignCapacity; \note for other Performance Input Methods, this field is ignored. @@ -48327,6 +49253,7 @@ EvaporativeFluidCooler:TwoSpeed, N20, \field Design Entering Air Temperature \type real \units C + \default 35.0 \minimum> 0.0 \ip-units F \note Only used for Performance Input Method = UserSpecifiedDesignCapacity; @@ -48336,6 +49263,7 @@ EvaporativeFluidCooler:TwoSpeed, N21, \field Design Entering Air Wet-bulb Temperature \type real \units C + \default 25.6 \minimum> 0.0 \ip-units F \note Only used for Performance Input Method = UserSpecifiedDesignCapacity; @@ -48670,15 +49598,98 @@ GroundHeatExchanger:System, \type choice \key UHFcalc \key UBHWTcalc + \key FullDesign \default UHFcalc - A8, \field GHE:Vertical:Array Object Name + A8, \field GHE:Vertical:Sizing Object Type + \type choice + \key GroundHeatExchanger:Vertical:Sizing:Rectangle + A9, \field GHE:Vertical:Sizing Object Name + \type object-list + \object-list GroundHeatExchangerVerticalSizingNames + \note Only needed when g-function calculation method is FullDesign + A10, \field GHE:Vertical:Array Object Name \type object-list \object-list GroundHeatExchangerVerticalArrayNames - A9; \field GHE:Vertical:Single Object Name 1 + A11; \field GHE:Vertical:Single Object Name 1 \begin-extensible \type object-list \object-list GroundHeatExchangerVerticalSingleNames +GroundHeatExchanger:Vertical:Sizing:Rectangle, + \memo Specifies parameters to be used for Ground Heat Exchanger borehole + \memo field design and sizing. + \min-fields 6 + A1, \field Name + \required-field + \type alpha + \reference GroundHeatExchangerVerticalSizingNames + A2, \field SizingPeriod:WeatherFileDays Name + \required-field + \type object-list + \object-list SizingPeriodWeatherFileDays + \note Specifies the SizingPeriod:WeatherFileDays required to perform GHE sizing + N1, \field Design Flow Rate Per Borehole + \type real + \minimum> 0.0 + \default 0.0005 + \units m3/s + \note Design flow rate per borehole used to size borehole field + N2, \field Available Borehole Field Length + \type real + \minimum> 0.0 + \units m + \required-field + \note Available length of the area available for designing the borehole field + N3, \field Available Borehole Field Width + \type real + \minimum> 0.0 + \units m + \required-field + \note Available width of the area available for designing the borehole field + N4, \field Maximum Number of Boreholes + \type real + \minimum> 0.0 + \required-field + \note User specified maximum number of boreholes + N5, \field Minimum Borehole Spacing + \type real + \minimum> 0.0 + \default 4.0 + \units m + \note Minimum borehole-to-borehole spacing + N6, \field Maximum Borehole Spacing + \type real + \minimum> 0.0 + \default 6.0 + \units m + \note Maximum borehole-to-borehole spacing + N7, \field Minimum Borehole Vertical Length + \type real + \minimum> 0.0 + \default 60.0 + \units m + \note Minimum drilled depth of the vertical borehole + N8, \field Maximum Borehole Vertical Length + \type real + \minimum> 0.0 + \default 135.0 + \units m + \note Maximum drilled depth fo the vertical borehole + N9, \field Minimum Exiting Fluid Temperature for Sizing + \type real + \minimum> 0.0 + \default 5.0 + \units C + \note Minimum ground heat exchanger exiting fluid temperature used + \note when designing the borehole field + N10; \field Maximum Exiting Fluid Temperature for Sizing + \type real + \minimum> 0.0 + \default 35.0 + \units C + \note Maximum ground heat exchanger exiting fluid temperature used + \note when designing the borehole field + GroundHeatExchanger:Vertical:Properties, \memo Properties for vertical ground heat exchanger systems \min-fields 11 @@ -49385,8 +50396,8 @@ WaterHeater:Mixed, \key Gasoline \key OtherFuel1 \key OtherFuel2 - \key DistrictHeatingSteam \key DistrictHeatingWater + \key DistrictHeatingSteam N8 , \field Heater Thermal Efficiency \required-field \type real @@ -49411,8 +50422,8 @@ WaterHeater:Mixed, \key Gasoline \key OtherFuel1 \key OtherFuel2 - \key DistrictHeatingSteam \key DistrictHeatingWater + \key DistrictHeatingSteam N10, \field Off Cycle Parasitic Heat Fraction to Tank \type real \minimum 0.0 @@ -49435,8 +50446,8 @@ WaterHeater:Mixed, \key Gasoline \key OtherFuel1 \key OtherFuel2 - \key DistrictHeatingSteam \key DistrictHeatingWater + \key DistrictHeatingSteam N12, \field On Cycle Parasitic Heat Fraction to Tank \type real \minimum 0.0 @@ -49649,8 +50660,8 @@ WaterHeater:Stratified, \key Gasoline \key OtherFuel1 \key OtherFuel2 - \key DistrictHeatingSteam \key DistrictHeatingWater + \key DistrictHeatingSteam N11, \field Heater Thermal Efficiency \required-field \type real @@ -49672,8 +50683,8 @@ WaterHeater:Stratified, \key Gasoline \key OtherFuel1 \key OtherFuel2 - \key DistrictHeatingSteam \key DistrictHeatingWater + \key DistrictHeatingSteam N13, \field Off Cycle Parasitic Heat Fraction to Tank \type real \minimum 0.0 @@ -49701,8 +50712,8 @@ WaterHeater:Stratified, \key Gasoline \key OtherFuel1 \key OtherFuel2 - \key DistrictHeatingSteam \key DistrictHeatingWater + \key DistrictHeatingSteam N16, \field On Cycle Parasitic Heat Fraction to Tank \type real \minimum 0.0 @@ -50547,12 +51558,17 @@ ThermalStorage:Ice:Simple, \type real \units GJ \ip-units ton-hrs + \autosizable A3, \field Inlet Node Name \type node \required-field - A4; \field Outlet Node Name + A4, \field Outlet Node Name \type node \required-field + A5; \field Thermal Storage Sizing Object Name + \type object-list + \object-list ThermalStorageSizing + \note used only when tank capacity is autosized ThermalStorage:Ice:Detailed, \min-fields 14 @@ -50575,6 +51591,7 @@ ThermalStorage:Ice:Detailed, N1 , \field Capacity \note This includes only the latent storage capacity \units GJ + \autosizable \required-field A3 , \field Inlet Node Name \required-field @@ -50620,13 +51637,17 @@ ThermalStorage:Ice:Detailed, \note parameters input above is inappropriate and not advised. \units C \default 0.0 - A9 ; \field Thaw Process Indicator + A9 , \field Thaw Process Indicator \note This field determines whether the system uses internal or external melt \note during discharging. This will then have an impact on charging performance. \type choice \key InsideMelt \key OutsideMelt \default OutsideMelt + A10; \field Thermal Storage Sizing Object Name + \type object-list + \object-list ThermalStorageSizing + \note used only when tank capacity is autosized ThermalStorage:ChilledWater:Mixed, \memo Chilled water storage with a well-mixed, single-node tank. The chilled water is @@ -50772,8 +51793,8 @@ ThermalStorage:ChilledWater:Stratified, N4 , \field Deadband Temperature Difference \type real \units deltaC - \minimum 0.0 - \default 0.0 + \minimum 0.0001 + \default 0.0001 N5, \field Temperature Sensor Height \units m \minimum 0.0 @@ -50783,6 +51804,8 @@ ThermalStorage:ChilledWater:Stratified, N7 , \field Nominal Cooling Capacity \type real \units W + \autosizable + \default autosize A4 , \field Ambient Temperature Indicator \required-field \type choice @@ -50943,6 +51966,312 @@ ThermalStorage:ChilledWater:Stratified, \units W/K \default 0.0 +ThermalStorage:HotWater:Stratified, + A1 , \field Name + \required-field + \type alpha + \reference-class-name validPlantEquipmentTypes + \reference validPlantEquipmentNames + \reference-class-name validCondenserEquipmentTypes + \reference validCondenserEquipmentNames + \reference-class-name validBranchEquipmentTypes + \reference validBranchEquipmentNames + N1 , \field Tank Volume + \required-field + \type real + \units m3 + \minimum> 0.0 + \ip-units gal + N2 , \field Tank Height + \required-field + \type real + \units m + \minimum> 0.0 + \note Height is measured in the axial direction for horizontal cylinders + A2 , \field Tank Shape + \type choice + \key VerticalCylinder + \key HorizontalCylinder + \key Other + \default VerticalCylinder + N3 , \field Tank Perimeter + \type real + \units m + \minimum 0.0 + \note Only used if Tank Shape is Other + A3 , \field Top Setpoint Temperature Schedule Name + \type object-list + \object-list ScheduleNames + A4 , \field Bottom Setpoint Temperature Schedule Name + \type object-list + \object-list ScheduleNames + N4 , \field Deadband Temperature Difference + \type real + \units deltaC + \minimum 0.0001 + \default 0.0001 + N5, \field Top Temperature Sensor Height + \units m + \minimum 0.0 + N6, \field Bottom Temperature Sensor Height + \units m + \minimum 0.0 + N7 , \field Maximum Temperature Limit + \type real + \units C + N8 , \field Nominal Heating Capacity + \type real + \units W + \autosizable + \default autosize + A5 , \field Ambient Temperature Indicator + \required-field + \type choice + \key Schedule + \key Zone + \key Outdoors + A6 , \field Ambient Temperature Schedule Name + \type object-list + \object-list ScheduleNames + A7 , \field Ambient Temperature Zone Name + \type object-list + \object-list ZoneNames + A8, \field Ambient Temperature Outdoor Air Node Name + \type node + \note required for Ambient Temperature Indicator=Outdoors + N9 , \field Uniform Skin Loss Coefficient per Unit Area to Ambient Temperature + \type real + \units W/m2-K + \minimum 0.0 + A9, \field Use Side Inlet Node Name + \type node + A10, \field Use Side Outlet Node Name + \type node + A11, \field Use Side Flow Direction Schedule + \note allowed value is -1 and 1. When the value is 1, water flows in from + \note the inlet and flows out from the outlet node. When the value is -1, water + \note flows in from the outlet node and flows out from the inlet node (i.e. the + \note flow direction is reversed) + N10, \field Use Side Heat Transfer Effectiveness + \type real + \minimum 0.0 + \maximum 1.0 + \default 1.0 + \note The use side effectiveness in the stratified tank model is a simplified analogy of + \note a heat exchanger's effectiveness. This effectiveness is equal to the fraction of + \note use mass flow rate that directly mixes with the tank fluid. And one minus the + \note effectiveness is the fraction that bypasses the tank. The use side mass flow rate + \note that bypasses the tank is mixed with the fluid or water leaving the stratified tank. + A12, \field Use Side Availability Schedule Name + \note Availability schedule name for use side. Schedule value > 0 means the system is available. + \note If this field is blank, the system is always available. + \type object-list + \object-list ScheduleNames + N11 , \field Use Side Inlet Height + \type real + \units m + \minimum 0.0 + \autocalculatable + \default autocalculate + \note Defaults to top of tank + N12, \field Use Side Outlet Height + \type real + \units m + \minimum 0.0 + \default 0.0 + \note Defaults to bottom of tank + N13, \field Use Side Design Flow Rate + \type real + \autosizable + \default autosize + \units m3/s + \ip-units gal/min + \minimum 0.0 + A13, \field Source Side Inlet Node Name + \type node + A14, \field Source Side Outlet Node Name + \type node + A15, \field Source Side Flow Direction Schedule + \type alpha + \note allowed value is -1 and 1. When the value is 1, water flows in from + \note the inlet and flows out from the outlet node. When the value is -1, water + \note flows in from the outlet node and flows out from the inlet node (i.e. the + \note flow direction is reversed) + N14, \field Source Side Heat Transfer Effectiveness + \type real + \minimum> 0.0 + \maximum 1.0 + \default 1.0 + \note The source side effectiveness in the stratified tank model is a simplified analogy of + \note a heat exchanger's effectiveness. This effectiveness is equal to the fraction of + \note source mass flow rate that directly mixes with the tank fluid. And one minus the + \note effectiveness is the fraction that bypasses the tank. The source side mass flow rate + \note that bypasses the tank is mixed with the fluid or water leaving the stratified tank. + A16, \field Source Side Availability Schedule Name + \note Availability schedule name for use side. Schedule value > 0 means the system is available. + \note If this field is blank, the system is always available. + \type object-list + \object-list ScheduleNames + N15, \field Source Side Inlet Height + \type real + \units m + \minimum 0.0 + \default 0.0 + \note Defaults to bottom of tank + N16, \field Source Side Outlet Height + \type real + \units m + \minimum 0.0 + \autocalculatable + \default autocalculate + \note Defaults to top of tank + N17, \field Source Side Design Flow Rate + \type real + \autosizable + \default autosize + \units m3/s + \ip-units gal/min + \minimum 0.0 + N18, \field Tank Recovery Time + \type real + \default 4.0 + \note Parameter for autosizing design flow rates for indirectly cooled water tanks + \note time required to lower temperature of entire tank from 14.4C to 9.0C + \units hr + \minimum> 0.0 + A17, \field Inlet Mode + \type choice + \key Fixed + \key Seeking + \default Fixed + N19, \field Number of Nodes + \type integer + \minimum 1 + \maximum 10 + \default 1 + N20, \field Additional Destratification Conductivity + \type real + \units W/m-K + \minimum 0.0 + \default 0.0 + N21, \field Node 1 Additional Loss Coefficient + \type real + \units W/K + \default 0.0 + N22, \field Node 2 Additional Loss Coefficient + \type real + \units W/K + \default 0.0 + N23, \field Node 3 Additional Loss Coefficient + \type real + \units W/K + \default 0.0 + N24, \field Node 4 Additional Loss Coefficient + \type real + \units W/K + \default 0.0 + N25, \field Node 5 Additional Loss Coefficient + \type real + \units W/K + \default 0.0 + N26, \field Node 6 Additional Loss Coefficient + \type real + \units W/K + \default 0.0 + N27, \field Node 7 Additional Loss Coefficient + \type real + \units W/K + \default 0.0 + N28, \field Node 8 Additional Loss Coefficient + \type real + \units W/K + \default 0.0 + N29, \field Node 9 Additional Loss Coefficient + \type real + \units W/K + \default 0.0 + N30; \field Node 10 Additional Loss Coefficient + \type real + \units W/K + \default 0.0 + +ThermalStorage:PCM, + \min-fields 11 + \memo This thermal storage model is PCM-based + \memo It requires PCM material property connection + \memo In addition to the object linking, this object needs PCM Latent heat storage capacity and Heat Loss Rate + \memo This model needs 4 nodes: 2 plant side nodes and 2 use side nodes. + A1, \field Name + \type alpha + \required-field + \reference-class-name validPlantEquipmentTypes + \reference validPlantEquipmentNames + \reference-class-name validBranchEquipmentTypes + \reference validBranchEquipmentNames + A2 , \field Availability Schedule Name + \required-field + \type object-list + \object-list ScheduleNames + A3 , \field Plant Side Inlet Node Name + \type node + \required-field + A4 , \field Plant Side Outlet Node Name + \type node + \required-field + A5 , \field Use Side Inlet Node Name + \type node + \required-field + A6 , \field Use Side Outlet Node Name + \type node + \required-field + A7 , \field PCM Material Name + \type alpha + \object-list MaterialName + \required-field + N1 , \field Tank Capacity + \type real + \units kg + \minimum > 0 + \autosizable + \required-field + N2 , \field Heat Loss Rate + \type real + \units W + \default 0.0 + N3 , \field Use Side Design Flow Rate + \type real + \units m3/s + \minimum > 0 + \autosizable + \required-field + N4 ; \field Plant Side Design Flow Rate + \type real + \units m3/s + \minimum > 0 + \autosizable + \required-field + +ThermalStorage:Sizing, + \memo Sizing information for thermal energy stoarge capacity. + A1, \field Name + \required-field + \type alpha + \reference ThermalStorageSizing + N1, \field On Peak Period Start Time + \required-field + \type real + \units hr + \note Start time of on peak period in hours + N2, \field On Peak Period End Time + \note End time of on peak period in hours + \required-field + \type real + \units hr + N3; \field Sizing Factor + \type real + \minimum> 0.0 + \default 1.0 + \group Plant-Condenser Loops !*****************PLANT AND CONDENSER LOOP SPECIFICATION********************* !Plant and condenser loops are specified as follows: @@ -51057,13 +52386,19 @@ PlantLoop, \key LoopFlowCorrection \key None \default None - N6; \field Loop Circulation Time + N6, \field Loop Circulation Time \note This field is only used to autocalculate the Plant Loop Volume. \note Loop Volume = Loop Circulation Time * Maximum Loop Flow Rate \type real \units minutes \minimum 0.0 \default 2.0 + A19; \field Water Loop Type + \type choice + \key HotWater + \key ChilledWater + \key None + \default None CondenserLoop, \memo Defines a central plant condenser loop. CondenserLoop and PlantLoop are nearly @@ -51172,8 +52507,8 @@ PlantEquipmentList, \memo If no equipment object types and equipment names are specified, then the corresponding \memo PlantEquipmentOperation:* object will assume all available plant equipment for the loop \memo should be OFF (not operate) within the specified lower/upper limit. - \extensible:2 \min-fields 1 + \extensible:2 A1 , \field Name \required-field \reference PlantAndCondenserEquipmentLists @@ -51192,8 +52527,8 @@ CondenserEquipmentList, \memo If no equipment object types and equipment names are specified, then the corresponding \memo PlantEquipmentOperation:* object will assume all available condenser equipment for the loop \memo should be OFF (not operate) within the specified lower/upper limit. - \extensible:2 \min-fields 1 + \extensible:2 \max-fields 21 A1 , \field Name \required-field @@ -51563,6 +52898,7 @@ PlantEquipmentOperation:ThermalEnergyStorage, \key Chiller:Electric:EIR \key Chiller:Electric:ReformulatedEIR \key Chiller:Electric + \key Chiller:Electric:ASHRAE205 \key Chiller:Absorption:Indirect \key Chiller:Absorption \key Chiller:ConstantCOP @@ -51592,6 +52928,7 @@ PlantEquipmentOperation:ThermalEnergyStorage, \key Chiller:Electric:EIR \key Chiller:Electric:ReformulatedEIR \key Chiller:Electric + \key Chiller:Electric:ASHRAE205 \key Chiller:Absorption:Indirect \key Chiller:Absorption \key Chiller:ConstantCOP @@ -51621,6 +52958,7 @@ PlantEquipmentOperation:ThermalEnergyStorage, \key Chiller:Electric:EIR \key Chiller:Electric:ReformulatedEIR \key Chiller:Electric + \key Chiller:Electric:ASHRAE205 \key Chiller:Absorption:Indirect \key Chiller:Absorption \key Chiller:ConstantCOP @@ -51650,6 +52988,7 @@ PlantEquipmentOperation:ThermalEnergyStorage, \key Chiller:Electric:EIR \key Chiller:Electric:ReformulatedEIR \key Chiller:Electric + \key Chiller:Electric:ASHRAE205 \key Chiller:Absorption:Indirect \key Chiller:Absorption \key Chiller:ConstantCOP @@ -51679,6 +53018,7 @@ PlantEquipmentOperation:ThermalEnergyStorage, \key Chiller:Electric:EIR \key Chiller:Electric:ReformulatedEIR \key Chiller:Electric + \key Chiller:Electric:ASHRAE205 \key Chiller:Absorption:Indirect \key Chiller:Absorption \key Chiller:ConstantCOP @@ -51708,6 +53048,7 @@ PlantEquipmentOperation:ThermalEnergyStorage, \key Chiller:Electric:EIR \key Chiller:Electric:ReformulatedEIR \key Chiller:Electric + \key Chiller:Electric:ASHRAE205 \key Chiller:Absorption:Indirect \key Chiller:Absorption \key Chiller:ConstantCOP @@ -51737,6 +53078,7 @@ PlantEquipmentOperation:ThermalEnergyStorage, \key Chiller:Electric:EIR \key Chiller:Electric:ReformulatedEIR \key Chiller:Electric + \key Chiller:Electric:ASHRAE205 \key Chiller:Absorption:Indirect \key Chiller:Absorption \key Chiller:ConstantCOP @@ -52201,9 +53543,9 @@ EnergyManagementSystem:MeteredOutputVariable, \key WellWaterDrawn \key CondensateWaterCollected \key EnergyTransfer - \key DistrictHeatingSteam \key DistrictCooling \key DistrictHeatingWater + \key DistrictHeatingSteam \key ElectricityProducedOnSite \key SolarWaterHeating \key SolarAirHeating @@ -52550,8 +53892,7 @@ ExternalInterface:FunctionalMockupUnitExport:To:Schedule, \retaincase N1 ; \field Initial Value \type real - \required-field - \note Used during the first call of EnergyPlus. + \note Used during EnergyPlus sizing and warm-up. ExternalInterface:FunctionalMockupUnitExport:To:Actuator, \memo Hardware portion of EMS used to set up actuators in the model @@ -52577,8 +53918,8 @@ ExternalInterface:FunctionalMockupUnitExport:To:Actuator, \retaincase N1 ; \field Initial Value \type real - \required-field - \note Used during the first call of EnergyPlus. + \note Used during EnergyPlus sizing and warm-up. + \note If no value is specified, then the actuated component will only be updated after sizing and warm-up. ExternalInterface:FunctionalMockupUnitExport:To:Variable, \memo Declares Erl variable as having global scope @@ -52596,7 +53937,7 @@ ExternalInterface:FunctionalMockupUnitExport:To:Variable, N1 ; \field Initial Value \type real \required-field - \note Used during the first call of EnergyPlus. + \note Used during EnergyPlus sizing and warm-up. \group User Defined HVAC and Plant Component Models @@ -52858,6 +54199,7 @@ PlantComponent:UserDefined, A8 ,\field Plant Connection 1 Simulation Program Calling Manager Name \type object-list \object-list ProgramNames + \note For use with the API (Library, Callback) workflow, this field should be the same string that the user \note provides when registering a callback function using the API. In this workflow, the callback name is not entered \note elsewhere in the IDF, so the object-list will not include this user-specified function identifier. This will \note cause a warning when editing this field in IDF-Editor. @@ -56761,7 +58103,6 @@ Generator:MicroTurbine, \type alpha \reference GeneratorNames \reference MicroTurbineGeneratorNames - ! The following references (especially validPlantEquipmentNames) is needed or the PlantEquipmentList will end up empty \reference-class-name validPlantEquipmentTypes \reference validPlantEquipmentNames \reference-class-name validCondenserEquipmentTypes @@ -63074,7 +64415,57 @@ Output:Table:Annual, \minimum 0 \maximum 10 - +Output:Table:ReportPeriod, + \memo This object allows the user to generate the resilience tabular reports over a subset of a run period. + \memo When it is defined, a series of reporting-period-specific resilience summary tables will be generated + \memo at the end of all tabular reports. Multiple reporting periods may be input. + A1, \field Name + \required-field + \note descriptive name + \note cannot be blank and must be unique + A2, \field Report Name + \type choice + \key ThermalResilienceSummary + \key CO2ResilienceSummary + \key VisualResilienceSummary + \key AllResilienceSummaries + \note currently only allow for these tables, could be extended in the future + N1, \field Begin Year + \note start year of reporting, if specified + \type integer + N2, \field Begin Month + \required-field + \minimum 1 + \maximum 12 + \type integer + N3, \field Begin Day of Month + \required-field + \minimum 1 + \maximum 31 + \type integer + N4, \field Begin Hour of Day + \required-field + \minimum 1 + \maximum 24 + \type integer + N5, \field End Year + \note start year of reporting, if specified + \type integer + N6, \field End Month + \required-field + \minimum 1 + \maximum 12 + \type integer + N7, \field End Day of Month + \required-field + \minimum 1 + \maximum 31 + \type integer + N8; \field End Hour of Day + \required-field + \minimum 1 + \maximum 24 + \type integer OutputControl:Table:Style, \memo default style for the OutputControl:Table:Style is comma -- this works well for @@ -63096,7 +64487,7 @@ OutputControl:Table:Style, \key XMLandHTML \key All \default Comma - A2; \field Unit Conversion + A2, \field Unit Conversion \type choice \key None \key JtoKWH @@ -63105,6 +64496,13 @@ OutputControl:Table:Style, \key InchPound \key InchPoundExceptElectricity \default None + A3; \field Format Numeric Values + \memo If No, all digits are shown after the decimal point without any rounding (23.238769213). + \memo If Yes, values are rounded for readability (23.24). + \type choice + \key Yes + \key No + \default Yes OutputControl:ReportingTolerances, \memo Calculations of the time that setpoints are not met use a tolerance of 0.2C. @@ -63307,8 +64705,8 @@ Meter:Custom, \key Coal \key OtherFuel1 \key OtherFuel2 - \key DistrictHeatingSteam \key DistrictHeatingWater + \key DistrictHeatingSteam \key DistrictCooling \key Water \key Generic @@ -63335,8 +64733,8 @@ Meter:CustomDecrement, \key Coal \key OtherFuel1 \key OtherFuel2 - \key DistrictHeatingSteam \key DistrictHeatingWater + \key DistrictHeatingSteam \key DistrictCooling \key Water \key Generic @@ -63545,11 +64943,30 @@ Output:JSON, \key Yes \key No \default No - A4 ; \field Output MessagePack + A4 , \field Output MessagePack \type choice \key Yes \key No \default No + A5 , \field Unit Conversion for Tabular Data + \type choice + \note Unit conversion option used when writing JSON Tabular Data + \note This option applies to TabularData and TabularDatawithString in the JSON file(s) + \key UseOutputControlTableStyle + \key None + \key JtoKWH + \key JtoMJ + \key JtoGJ + \key InchPound + \key InchPoundExceptElectricity + \default UseOutputControlTableStyle + A6 ; \field Format Numeric Values for Tabular Data + \memo If No, all digits are shown after the decimal point without any rounding (23.238769213). + \memo If Yes, values are rounded for readability (23.24). + \type choice + \key Yes + \key No + \default Yes Output:SQLite, \memo Output from EnergyPlus can be written to an SQLite format file. @@ -63558,7 +64975,7 @@ Output:SQLite, \type choice \key Simple \key SimpleAndTabular - A2 ; \field Unit Conversion for Tabular Data + A2 , \field Unit Conversion for Tabular Data \type choice \note Unit conversion option used when writing SQLite Tabular Data \note This option applies to TabularData and TabularDatawithString in the SQLite file @@ -63570,6 +64987,13 @@ Output:SQLite, \key InchPound \key InchPoundExceptElectricity \default UseOutputControlTableStyle + A3 ; \field Format Numeric Values for Tabular Data + \memo If No, all digits are shown after the decimal point without any rounding (23.238769213). + \memo If Yes, values are rounded for readability (23.24). + \type choice + \key Yes + \key No + \default Yes Output:EnvironmentalImpactFactors, \memo This is used to Automatically report the facility meters and turn on the Environmental Impact Report calculations @@ -63939,9 +65363,9 @@ PythonPlugin:OutputVariable, \key WellWaterDrawn \key CondensateWaterCollected \key EnergyTransfer - \key DistrictHeatingSteam \key DistrictCooling \key DistrictHeatingWater + \key DistrictHeatingSteam \key ElectricityProducedOnSite \key SolarWaterHeating \key SolarAirHeating diff --git a/resources/energyplus/RefLargeOffice/RefBldgLargeOfficeNew2004_Chicago.idf b/resources/energyplus/RefLargeOffice/RefBldgLargeOfficeNew2004_Chicago.idf index ee78000ab62..289e177b284 100644 --- a/resources/energyplus/RefLargeOffice/RefBldgLargeOfficeNew2004_Chicago.idf +++ b/resources/energyplus/RefLargeOffice/RefBldgLargeOfficeNew2004_Chicago.idf @@ -68,7 +68,7 @@ ! ***GENERAL SIMULATION PARAMETERS*** ! Number of Zones: 19 - Version,25.1; + Version,25.2; SimulationControl, YES, !- Do Zone Sizing Calculation diff --git a/resources/energyplus/ScheduleFile/in.idf b/resources/energyplus/ScheduleFile/in.idf index 8a6b5556c80..623f46cfe3c 100644 --- a/resources/energyplus/ScheduleFile/in.idf +++ b/resources/energyplus/ScheduleFile/in.idf @@ -1,4 +1,4 @@ - Version,25.1; + Version,25.2; Timestep,4; diff --git a/resources/energyplus/SimpleSurfaces/4ZoneWithShading_Simple_2.idf b/resources/energyplus/SimpleSurfaces/4ZoneWithShading_Simple_2.idf index 85a0a41364b..fb2f5c97133 100644 --- a/resources/energyplus/SimpleSurfaces/4ZoneWithShading_Simple_2.idf +++ b/resources/energyplus/SimpleSurfaces/4ZoneWithShading_Simple_2.idf @@ -81,7 +81,7 @@ ! Environmental Emissions: None ! Utility Tariffs: None - Version,25.1; + Version,25.2; Timestep,4; diff --git a/resources/energyplus/SimpleSurfaces/SimpleSurfaces_Reference.idf b/resources/energyplus/SimpleSurfaces/SimpleSurfaces_Reference.idf index 04d9cb40de4..a59e06af103 100644 --- a/resources/energyplus/SimpleSurfaces/SimpleSurfaces_Reference.idf +++ b/resources/energyplus/SimpleSurfaces/SimpleSurfaces_Reference.idf @@ -1,7 +1,7 @@ ! Basecase reference for SimpleSurfaces_Test !- =========== ALL OBJECTS IN CLASS: VERSION =========== - Version,25.1; + Version,25.2; !- =========== ALL OBJECTS IN CLASS: BUILDING =========== diff --git a/resources/energyplus/SimpleSurfaces/SimpleSurfaces_Relative.idf b/resources/energyplus/SimpleSurfaces/SimpleSurfaces_Relative.idf index 594d84be2e6..7ba94ad3983 100644 --- a/resources/energyplus/SimpleSurfaces/SimpleSurfaces_Relative.idf +++ b/resources/energyplus/SimpleSurfaces/SimpleSurfaces_Relative.idf @@ -1,7 +1,7 @@ ! File to test the import of simple surfaces !- =========== ALL OBJECTS IN CLASS: VERSION =========== - Version,25.1; + Version,25.2; !- =========== ALL OBJECTS IN CLASS: BUILDING =========== diff --git a/resources/energyplus/SmallOffice/SmallOffice.idf b/resources/energyplus/SmallOffice/SmallOffice.idf index 656983c30b3..7b299ba2e27 100644 --- a/resources/energyplus/SmallOffice/SmallOffice.idf +++ b/resources/energyplus/SmallOffice/SmallOffice.idf @@ -67,7 +67,7 @@ ! ExtWallConstruction=Mass ! End SimMetaData - Version,25.1; + Version,25.2; Timestep,6; diff --git a/resources/energyplus/ZoneBoundaryCondition/Bug_486_zone_bdr_test.idf b/resources/energyplus/ZoneBoundaryCondition/Bug_486_zone_bdr_test.idf index d59ac2d9c8b..9910a114fc9 100644 --- a/resources/energyplus/ZoneBoundaryCondition/Bug_486_zone_bdr_test.idf +++ b/resources/energyplus/ZoneBoundaryCondition/Bug_486_zone_bdr_test.idf @@ -1,6 +1,6 @@ !- =========== ALL OBJECTS IN CLASS: VERSION =========== - Version,25.1; + Version,25.2; !- =========== ALL OBJECTS IN CLASS: BUILDING =========== diff --git a/resources/model/OpenStudio.idd b/resources/model/OpenStudio.idd index d20de0c2b35..d001d2e6158 100644 --- a/resources/model/OpenStudio.idd +++ b/resources/model/OpenStudio.idd @@ -1411,10 +1411,21 @@ OS:Site:WaterMainsTemperature, N1, \field Annual Average Outdoor Air Temperature \type real \units C - N2; \field Maximum Difference In Monthly Average Outdoor Air Temperatures + N2, \field Maximum Difference In Monthly Average Outdoor Air Temperatures \type real \units deltaC \minimum 0 + N3, \field Temperature Multiplier + \note If calculation method is Schedule, this input field is ignored. + \type real + \units dimensionless + \required-field + \minimum 0 + N4; \field Temperature Offset + \note If calculation method is Schedule, this input field is ignored. + \type real + \units deltaC + \required-field OS:SizingPeriod:DesignDay, \min-fields 20 @@ -13748,7 +13759,7 @@ OS:Boiler:HotWater, \type real \units W \autosizable - \minimum 0.0 + \minimum> 0.0 \default autosize N2, \field Nominal Thermal Efficiency \type real @@ -40723,7 +40734,6 @@ OS:ExternalInterface:FunctionalMockupUnitExport:To:Schedule, \retaincase N1 ; \field Initial Value \type real - \required-field \note Used during the first call of EnergyPlus. OS:ExternalInterface:FunctionalMockupUnitExport:To:Actuator, @@ -40755,8 +40765,8 @@ OS:ExternalInterface:FunctionalMockupUnitExport:To:Actuator, \retaincase N1 ; \field Initial Value \type real - \required-field \note Used during the first call of EnergyPlus. + \note If no value is specified, then the actuated component will only be updated after sizing and warm-up. OS:ExternalInterface:FunctionalMockupUnitExport:To:Variable, \memo Declares Erl variable as having global scope diff --git a/resources/utilities/Idf/CommentTest.idf b/resources/utilities/Idf/CommentTest.idf index c2cf5667563..8da4ac09046 100644 --- a/resources/utilities/Idf/CommentTest.idf +++ b/resources/utilities/Idf/CommentTest.idf @@ -2,7 +2,7 @@ ! Written by Elaine T. Hale, 15 September 2010 ! Version object should keep up with EnergyPlus version number. - Version,25.1; + Version,25.2; ! Timestep should be > 1. diff --git a/resources/utilities/Idf/DosLineEndingTest.idf b/resources/utilities/Idf/DosLineEndingTest.idf index c2cf5667563..8da4ac09046 100644 --- a/resources/utilities/Idf/DosLineEndingTest.idf +++ b/resources/utilities/Idf/DosLineEndingTest.idf @@ -2,7 +2,7 @@ ! Written by Elaine T. Hale, 15 September 2010 ! Version object should keep up with EnergyPlus version number. - Version,25.1; + Version,25.2; ! Timestep should be > 1. diff --git a/resources/utilities/Idf/FormatPropertyTest_Formatted.idf b/resources/utilities/Idf/FormatPropertyTest_Formatted.idf index fb3931e721d..5525a90cc41 100644 --- a/resources/utilities/Idf/FormatPropertyTest_Formatted.idf +++ b/resources/utilities/Idf/FormatPropertyTest_Formatted.idf @@ -5,7 +5,7 @@ !- =========== ALL OBJECTS IN CLASS: VERSION =========== ! \format singleLine - Version,25.1; + Version,25.2; !- =========== ALL OBJECTS IN CLASS: HEATBALANCEALGORITHM =========== ! \format singleLine diff --git a/resources/utilities/Idf/FormatPropertyTest_Unformatted.idf b/resources/utilities/Idf/FormatPropertyTest_Unformatted.idf index 1347628720d..d094f79e122 100644 --- a/resources/utilities/Idf/FormatPropertyTest_Unformatted.idf +++ b/resources/utilities/Idf/FormatPropertyTest_Unformatted.idf @@ -5,7 +5,7 @@ !- =========== ALL OBJECTS IN CLASS: VERSION =========== ! \format singleLine - Version,25.1; + Version,25.2; !- =========== ALL OBJECTS IN CLASS: HEATBALANCEALGORITHM =========== ! \format singleLine diff --git a/resources/utilities/Idf/MixedLineEndingTest.idf b/resources/utilities/Idf/MixedLineEndingTest.idf index c2cf5667563..8da4ac09046 100644 --- a/resources/utilities/Idf/MixedLineEndingTest.idf +++ b/resources/utilities/Idf/MixedLineEndingTest.idf @@ -2,7 +2,7 @@ ! Written by Elaine T. Hale, 15 September 2010 ! Version object should keep up with EnergyPlus version number. - Version,25.1; + Version,25.2; ! Timestep should be > 1. diff --git a/resources/utilities/Idf/UnixLineEndingTest.idf b/resources/utilities/Idf/UnixLineEndingTest.idf index c2cf5667563..8da4ac09046 100644 --- a/resources/utilities/Idf/UnixLineEndingTest.idf +++ b/resources/utilities/Idf/UnixLineEndingTest.idf @@ -2,7 +2,7 @@ ! Written by Elaine T. Hale, 15 September 2010 ! Version object should keep up with EnergyPlus version number. - Version,25.1; + Version,25.2; ! Timestep should be > 1. diff --git a/resources/utilities/SqlFile/1ZoneEvapCooler-V25-2-0.idf b/resources/utilities/SqlFile/1ZoneEvapCooler-V25-2-0.idf new file mode 100644 index 00000000000..274c9d8d304 --- /dev/null +++ b/resources/utilities/SqlFile/1ZoneEvapCooler-V25-2-0.idf @@ -0,0 +1,642 @@ +!-Generator IDFEditor 1.34 +!-Option OriginalOrderTop UseSpecialFormat +!-NOTE: All comments with '!-' are ignored by the IDFEditor and are generated automatically. +!- Use '!' comments if they need to be retained when using the IDFEditor. +! 1ZoneEvapCooler.idf +! +! Basic file description: This file models a small one-zone house with a whole-house direct evaporative cooler system. +! Because evaporative coolers cannot be controlled with the ZoneControl:Thermostat object, +! this file illustrates how an evaporative cooler system can be thermostatically controlled +! in a crude manner using the AvailabilityManager objects: +! +! AvailabilityManager:LowTemperatureTurnOff +! AvailabilityManager:HighTemperatureTurnOn +! +! Availability managers are capable of turning on or off the fan for an air system (or the pump +! for a plant system) by monitoring temperature conditions at a user-specified system node. +! In this model, the availability managers are monitoring the zone outlet air node to act as +! a crude thermostatic control for the zone. +! +! Keep in mind that availability manager control is "lagged". This means that the node +! conditions from the previous time step are used to make control decisions at the current +! time step. +! +! There are two ways to use the availability managers for controlling an evaporative cooler: +! +! Method 1. The fan is scheduled to be available at all times, meaning that the system +! is on all the time by default. This usually results in over-cooling. +! To prevent over-cooling, the LOW TEMPERATURE TURN OFF object is used to +! turn off the system fan when the temperature falls below the setpoint (23 C). +! +! Method 2. The fan is scheduled to be unavailable at all times, meaning that the system +! is off all the time by default. This usually results in under-cooling. +! To prevent under-cooling, the HIGH TEMPERATURE TURN ON object is used to +! turn on the system fan when the temperature rises above the setpoint (26 C). +! +! With either method, all other equipment is scheduled to be always available. In this file, +! for demonstration purposes only, the fan is scheduled to be available from 12 AM-12 PM to +! to demonstrate Method 1, and scheduled to be unavailable from 12 PM-12 AM for Method 2. +! +! Note that ZoneControl:Thermostat is still used in this model to control the baseboard +! heating in the winter, but it does not effect the evaporative cooler system. +! +! Highlights: Test of AvailabilityManagers for controlling an air system. +! +! Simulation Location/Run: DENVER_STAPLETON_CO_USA_WMO_724690, 2 design days, 1 run period, +! Run Control executes two design days (see RUN PERIOD object) +! +! Location: Denver, CO +! +! Design Days: DENVER_STAPLETON_CO_USA Annual Heating 99%, MaxDB=-16°C +! DENVER_STAPLETON_CO_USA Annual Cooling (DB=>MWB) 1%, MaxDB=32.6°C MWB=15.5°C +! +! Run Period (Weather File): Full Annual Simulation, DENVER_STAPLETON_CO_USA_WMO_724690 +! +! Run Control: No zone or system sizing, design day run control (no weather file simulation) +! +! Building: Fictional 1 zone building with resistive walls based on 1ZoneUncontrolled example. +! No windows. No internal gains. No internal mass. The building is oriented due north. +! +! Floor Area: 232.25 m2 +! Number of Stories: 1 + + Version,25.2; + + Timestep,6; + + Building, + Bldg, !- Name + 0.0, !- North Axis {deg} + Suburbs, !- Terrain + 0.05, !- Loads Convergence Tolerance Value {W} + 0.05, !- Temperature Convergence Tolerance Value {deltaC} + MinimalShadowing, !- Solar Distribution + 30, !- Maximum Number of Warmup Days + 6; !- Minimum Number of Warmup Days + + HeatBalanceAlgorithm,ConductionTransferFunction; + + SurfaceConvectionAlgorithm:Inside,TARP; + + SurfaceConvectionAlgorithm:Outside,DOE-2; + + SimulationControl, + No, !- Do Zone Sizing Calculation + No, !- Do System Sizing Calculation + No, !- Do Plant Sizing Calculation + Yes, !- Run Simulation for Sizing Periods + Yes, !- Run Simulation for Weather File Run Periods + No, !- Do HVAC Sizing Simulation for Sizing Periods + 1; !- Maximum Number of HVAC Sizing Simulation Passes + + RunPeriod, + Run Period 1, !- Name + 1, !- Begin Month + 1, !- Begin Day of Month + , !- Begin Year + 12, !- End Month + 31, !- End Day of Month + , !- End Year + Tuesday, !- Day of Week for Start Day + Yes, !- Use Weather File Holidays and Special Days + Yes, !- Use Weather File Daylight Saving Period + No, !- Apply Weekend Holiday Rule + Yes, !- Use Weather File Rain Indicators + Yes; !- Use Weather File Snow Indicators + + Site:Location, + Denver Centennial CO USA WMO=724666, !- Name + 39.74, !- Latitude {deg} + -105.18, !- Longitude {deg} + -7.00, !- Time Zone {hr} + 1793.00; !- Elevation {m} + + ! WMO=724666 Time Zone=NAM (GMT-07:00) Mountain Time (US & Canada) + ! Data Source=ASHRAE 2009 Annual Design Conditions + ! Using Design Conditions from "Climate Design Data 2009 ASHRAE Handbook" + ! Denver Centennial CO USA Extreme Annual Wind Speeds, 1%=11.1m/s, 2.5%=9.5m/s, 5%=8.4m/s + ! Denver Centennial CO USA Extreme Annual Temperatures, Max Drybulb=-22.9°C Min Drybulb=36.1°C + ! Denver Centennial CO USA Annual Heating Design Conditions Wind Speed=3m/s Wind Dir=340 + ! Coldest Month=December + ! Denver Centennial CO USA Annual Heating 99.6%, MaxDB=-18.8°C + + SizingPeriod:DesignDay, + Denver Centennial Ann Htg 99.6% Condns DB, !- Name + 12, !- Month + 21, !- Day of Month + WinterDesignDay, !- Day Type + -18.8, !- Maximum Dry-Bulb Temperature {C} + 0.0, !- Daily Dry-Bulb Temperature Range {deltaC} + , !- Dry-Bulb Temperature Range Modifier Type + , !- Dry-Bulb Temperature Range Modifier Day Schedule Name + Wetbulb, !- Humidity Condition Type + -18.8, !- Wetbulb or DewPoint at Maximum Dry-Bulb {C} + , !- Humidity Condition Day Schedule Name + , !- Humidity Ratio at Maximum Dry-Bulb {kgWater/kgDryAir} + , !- Enthalpy at Maximum Dry-Bulb {J/kg} + , !- Daily Wet-Bulb Temperature Range {deltaC} + 81560., !- Barometric Pressure {Pa} + 3, !- Wind Speed {m/s} + 340, !- Wind Direction {deg} + No, !- Rain Indicator + No, !- Snow Indicator + No, !- Daylight Saving Time Indicator + ASHRAEClearSky, !- Solar Model Indicator + , !- Beam Solar Day Schedule Name + , !- Diffuse Solar Day Schedule Name + , !- ASHRAE Clear Sky Optical Depth for Beam Irradiance (taub) {dimensionless} + , !- ASHRAE Clear Sky Optical Depth for Diffuse Irradiance (taud) {dimensionless} + 0.00; !- Sky Clearness + + ! Denver Centennial Annual Cooling Design Conditions Wind Speed=4.9m/s Wind Dir=0 + ! Hottest Month=July + ! Denver Centennial CO USA Annual Cooling (DB=>MWB) 1%, MaxDB=32°C MWB=15.5°C + + SizingPeriod:DesignDay, + Denver Centennial Ann Clg 1% Condns DB=>MWB, !- Name + 7, !- Month + 21, !- Day of Month + SummerDesignDay, !- Day Type + 32, !- Maximum Dry-Bulb Temperature {C} + 15.2, !- Daily Dry-Bulb Temperature Range {deltaC} + , !- Dry-Bulb Temperature Range Modifier Type + , !- Dry-Bulb Temperature Range Modifier Day Schedule Name + Wetbulb, !- Humidity Condition Type + 15.5, !- Wetbulb or DewPoint at Maximum Dry-Bulb {C} + , !- Humidity Condition Day Schedule Name + , !- Humidity Ratio at Maximum Dry-Bulb {kgWater/kgDryAir} + , !- Enthalpy at Maximum Dry-Bulb {J/kg} + , !- Daily Wet-Bulb Temperature Range {deltaC} + 81560., !- Barometric Pressure {Pa} + 4.9, !- Wind Speed {m/s} + 0, !- Wind Direction {deg} + No, !- Rain Indicator + No, !- Snow Indicator + No, !- Daylight Saving Time Indicator + ASHRAEClearSky, !- Solar Model Indicator + , !- Beam Solar Day Schedule Name + , !- Diffuse Solar Day Schedule Name + , !- ASHRAE Clear Sky Optical Depth for Beam Irradiance (taub) {dimensionless} + , !- ASHRAE Clear Sky Optical Depth for Diffuse Irradiance (taud) {dimensionless} + 1.00; !- Sky Clearness + + Material:NoMass, + R13LAYER, !- Name + Rough, !- Roughness + 2.290965, !- Thermal Resistance {m2-K/W} + 0.9000000, !- Thermal Absorptance + 0.7500000, !- Solar Absorptance + 0.7500000; !- Visible Absorptance + + Material:NoMass, + R31LAYER, !- Name + Rough, !- Roughness + 5.456, !- Thermal Resistance {m2-K/W} + 0.9000000, !- Thermal Absorptance + 0.7500000, !- Solar Absorptance + 0.7500000; !- Visible Absorptance + + Material, + C5 - 4 IN HW CONCRETE, !- Name + MediumRough, !- Roughness + 0.1014984, !- Thickness {m} + 1.729577, !- Conductivity {W/m-K} + 2242.585, !- Density {kg/m3} + 836.8000, !- Specific Heat {J/kg-K} + 0.9000000, !- Thermal Absorptance + 0.6500000, !- Solar Absorptance + 0.6500000; !- Visible Absorptance + + Construction, + R13WALL, !- Name + R13LAYER; !- Outside Layer + + Construction, + FLOOR, !- Name + C5 - 4 IN HW CONCRETE; !- Outside Layer + + Construction, + ROOF31, !- Name + R31LAYER; !- Outside Layer + + Site:GroundTemperature:BuildingSurface,18.89,18.92,19.02,19.12,19.21,19.23,19.07,19.32,19.09,19.21,19.13,18.96; + + Zone, + Main Zone, !- Name + 0, !- Direction of Relative North {deg} + 0, !- X Origin {m} + 0, !- Y Origin {m} + 0, !- Z Origin {m} + 1, !- Type + 1, !- Multiplier + autocalculate, !- Ceiling Height {m} + autocalculate; !- Volume {m3} + + ScheduleTypeLimits, + Fraction, !- Name + 0.0, !- Lower Limit Value + 1.0, !- Upper Limit Value + CONTINUOUS; !- Numeric Type + + GlobalGeometryRules, + UpperLeftCorner, !- Starting Vertex Position + CounterClockWise, !- Vertex Entry Direction + World; !- Coordinate System + + BuildingSurface:Detailed, + Zn001:Wall001, !- Name + Wall, !- Surface Type + R13WALL, !- Construction Name + Main Zone, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + 0.5000000, !- View Factor to Ground + 4, !- Number of Vertices + 0,0,4.572000, !- X,Y,Z ==> Vertex 1 {m} + 0,0,0, !- X,Y,Z ==> Vertex 2 {m} + 15.24000,0,0, !- X,Y,Z ==> Vertex 3 {m} + 15.24000,0,4.572000; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Zn001:Wall002, !- Name + Wall, !- Surface Type + R13WALL, !- Construction Name + Main Zone, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + 0.5000000, !- View Factor to Ground + 4, !- Number of Vertices + 15.24000,0,4.572000, !- X,Y,Z ==> Vertex 1 {m} + 15.24000,0,0, !- X,Y,Z ==> Vertex 2 {m} + 15.24000,15.24000,0, !- X,Y,Z ==> Vertex 3 {m} + 15.24000,15.24000,4.572000; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Zn001:Wall003, !- Name + Wall, !- Surface Type + R13WALL, !- Construction Name + Main Zone, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + 0.5000000, !- View Factor to Ground + 4, !- Number of Vertices + 15.24000,15.24000,4.572000, !- X,Y,Z ==> Vertex 1 {m} + 15.24000,15.24000,0, !- X,Y,Z ==> Vertex 2 {m} + 0,15.24000,0, !- X,Y,Z ==> Vertex 3 {m} + 0,15.24000,4.572000; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Zn001:Wall004, !- Name + Wall, !- Surface Type + R13WALL, !- Construction Name + Main Zone, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + 0.5000000, !- View Factor to Ground + 4, !- Number of Vertices + 0,15.24000,4.572000, !- X,Y,Z ==> Vertex 1 {m} + 0,15.24000,0, !- X,Y,Z ==> Vertex 2 {m} + 0,0,0, !- X,Y,Z ==> Vertex 3 {m} + 0,0,4.572000; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Zn001:Flr001, !- Name + Floor, !- Surface Type + FLOOR, !- Construction Name + Main Zone, !- Zone Name + , !- Space Name + Surface, !- Outside Boundary Condition + Zn001:Flr001, !- Outside Boundary Condition Object + NoSun, !- Sun Exposure + NoWind, !- Wind Exposure + 1.000000, !- View Factor to Ground + 4, !- Number of Vertices + 15.24000,0.000000,0.0, !- X,Y,Z ==> Vertex 1 {m} + 0.000000,0.000000,0.0, !- X,Y,Z ==> Vertex 2 {m} + 0.000000,15.24000,0.0, !- X,Y,Z ==> Vertex 3 {m} + 15.24000,15.24000,0.0; !- X,Y,Z ==> Vertex 4 {m} + + BuildingSurface:Detailed, + Zn001:Roof001, !- Name + Roof, !- Surface Type + ROOF31, !- Construction Name + Main Zone, !- Zone Name + , !- Space Name + Outdoors, !- Outside Boundary Condition + , !- Outside Boundary Condition Object + SunExposed, !- Sun Exposure + WindExposed, !- Wind Exposure + 0, !- View Factor to Ground + 4, !- Number of Vertices + 0.000000,15.24000,4.572, !- X,Y,Z ==> Vertex 1 {m} + 0.000000,0.000000,4.572, !- X,Y,Z ==> Vertex 2 {m} + 15.24000,0.000000,4.572, !- X,Y,Z ==> Vertex 3 {m} + 15.24000,15.24000,4.572; !- X,Y,Z ==> Vertex 4 {m} + + ZoneInfiltration:DesignFlowRate, + Main Zone Infiltration, !- Name + Main Zone, !- Zone or ZoneList or Space or SpaceList Name + System Availability Schedule, !- Schedule Name + Flow/Zone, !- Design Flow Rate Calculation Method + 0.02, !- Design Flow Rate {m3/s} + , !- Flow per Zone Floor Area {m3/s-m2} + , !- Flow per Exterior Surface Area {m3/s-m2} + , !- Air Changes per Hour {1/hr} + 1.0000, !- Constant Term Coefficient + 0.0000, !- Temperature Term Coefficient + 0.0000, !- Velocity Term Coefficient + 0.0000; !- Velocity Squared Term Coefficient + + ScheduleTypeLimits, + Any Number; !- Name + + Schedule:Compact, + System Availability Schedule, !- Name + Any Number, !- Schedule Type Limits Name + THROUGH: 12/31, !- Field 1 + FOR: AllDays, !- Field 2 + UNTIL: 24:00,1; !- Field 3 + + Schedule:Compact, + Fan Availability Schedule, !- Name + Any Number, !- Schedule Type Limits Name + THROUGH: 12/31, !- Field 1 + FOR: AllDays, !- Field 2 + UNTIL: 12:00,1, !- Field 3 + UNTIL: 24:00,0; !- Field 5 + + AirLoopHVAC, + Evap Cooler System, !- Name + , !- Controller List Name + Evap Cooler Availability List, !- Availability Manager List Name + 2.0, !- Design Supply Air Flow Rate {m3/s} + Air Loop Branches, !- Branch List Name + , !- Connector List Name + Supply Inlet Node, !- Supply Side Inlet Node Name + Zone Equipment Outlet Node, !- Demand Side Outlet Node Name + Zone Equipment Inlet Node, !- Demand Side Inlet Node Names + Supply Outlet Node; !- Supply Side Outlet Node Names + + AvailabilityManagerAssignmentList, + Evap Cooler Availability List, !- Name + AvailabilityManager:LowTemperatureTurnOff, !- Availability Manager 1 Object Type + Low Temperature Turn Off Availability Manager, !- Availability Manager 1 Name + AvailabilityManager:HighTemperatureTurnOn, !- Availability Manager 2 Object Type + High Temperature Turn On Availability Manager; !- Availability Manager 2 Name + + AvailabilityManager:LowTemperatureTurnOff, + Low Temperature Turn Off Availability Manager, !- Name + Main Zone Outlet Node, !- Sensor Node Name + 23.0; !- Temperature {C} + + AvailabilityManager:HighTemperatureTurnOn, + High Temperature Turn On Availability Manager, !- Name + Main Zone Outlet Node, !- Sensor Node Name + 27.0; !- Temperature {C} + + BranchList, + Air Loop Branches, !- Name + Air Loop Main Branch; !- Branch 1 Name + + Branch, + Air Loop Main Branch, !- Name + , !- Pressure Drop Curve Name + AirLoopHVAC:OutdoorAirSystem, !- Component 1 Object Type + Outside Air System, !- Component 1 Name + Supply Inlet Node, !- Component 1 Inlet Node Name + Fan Inlet Node, !- Component 1 Outlet Node Name + Fan:ConstantVolume, !- Component 2 Object Type + Supply Fan, !- Component 2 Name + Fan Inlet Node, !- Component 2 Inlet Node Name + Evap Cooler Inlet Node, !- Component 2 Outlet Node Name + EvaporativeCooler:Direct:CelDekPad, !- Component 3 Object Type + Evaporative Cooler, !- Component 3 Name + Evap Cooler Inlet Node, !- Component 3 Inlet Node Name + Supply Outlet Node; !- Component 3 Outlet Node Name + + AirLoopHVAC:OutdoorAirSystem, + Outside Air System, !- Name + Outside Air System Controllers, !- Controller List Name + Outside Air System Equipment; !- Outdoor Air Equipment List Name + + OutdoorAir:Node, + Outside Air Inlet Node; !- Name + + AirLoopHVAC:ControllerList, + Outside Air System Controllers, !- Name + Controller:OutdoorAir, !- Controller 1 Object Type + Outside Air Controller; !- Controller 1 Name + + Controller:OutdoorAir, + Outside Air Controller, !- Name + Relief Air Outlet Node, !- Relief Air Outlet Node Name + Supply Inlet Node, !- Return Air Node Name + Fan Inlet Node, !- Mixed Air Node Name + Outside Air Inlet Node, !- Actuator Node Name + 2.0, !- Minimum Outdoor Air Flow Rate {m3/s} + 2.0, !- Maximum Outdoor Air Flow Rate {m3/s} + NoEconomizer, !- Economizer Control Type + ModulateFlow, !- Economizer Control Action Type + 19., !- Economizer Maximum Limit Dry-Bulb Temperature {C} + , !- Economizer Maximum Limit Enthalpy {J/kg} + , !- Economizer Maximum Limit Dewpoint Temperature {C} + , !- Electronic Enthalpy Limit Curve Name + 4., !- Economizer Minimum Limit Dry-Bulb Temperature {C} + NoLockout, !- Lockout Type + FixedMinimum; !- Minimum Limit Type + + AirLoopHVAC:OutdoorAirSystem:EquipmentList, + Outside Air System Equipment, !- Name + OutdoorAir:Mixer, !- Component 1 Object Type + Outside Air Mixing Box; !- Component 1 Name + + OutdoorAir:Mixer, + Outside Air Mixing Box, !- Name + Fan Inlet Node, !- Mixed Air Node Name + Outside Air Inlet Node, !- Outdoor Air Stream Node Name + Relief Air Outlet Node, !- Relief Air Stream Node Name + Supply Inlet Node; !- Return Air Stream Node Name + + Fan:ConstantVolume, + Supply Fan, !- Name + Fan Availability Schedule, !- Availability Schedule Name + 0.7, !- Fan Total Efficiency + 600.0, !- Pressure Rise {Pa} + 2.0, !- Maximum Flow Rate {m3/s} + 0.9, !- Motor Efficiency + 1.0, !- Motor In Airstream Fraction + Fan Inlet Node, !- Air Inlet Node Name + Evap Cooler Inlet Node; !- Air Outlet Node Name + + EvaporativeCooler:Direct:CelDekPad, + Evaporative Cooler, !- Name + System Availability Schedule, !- Availability Schedule Name + 0.6, !- Direct Pad Area {m2} + 0.2, !- Direct Pad Depth {m} + 225, !- Recirculating Water Pump Power Consumption {W} + Evap Cooler Inlet Node, !- Air Inlet Node Name + Supply Outlet Node, !- Air Outlet Node Name + CONSTANT; !- Control Type + + AirLoopHVAC:SupplyPath, + Zone Supply Air Path, !- Name + Zone Equipment Inlet Node, !- Supply Air Path Inlet Node Name + AirLoopHVAC:ZoneSplitter,!- Component 1 Object Type + Zone Supply Air Splitter;!- Component 1 Name + + AirLoopHVAC:ZoneSplitter, + Zone Supply Air Splitter,!- Name + Zone Equipment Inlet Node, !- Inlet Node Name + Main Zone Inlet Node ATInlet; !- Outlet 1 Node Name + + AirLoopHVAC:ReturnPath, + Zone Return Air Path, !- Name + Zone Equipment Outlet Node, !- Return Air Path Outlet Node Name + AirLoopHVAC:ZoneMixer, !- Component 1 Object Type + Zone Return Air Mixer; !- Component 1 Name + + AirLoopHVAC:ZoneMixer, + Zone Return Air Mixer, !- Name + Zone Equipment Outlet Node, !- Outlet Node Name + Main Zone Outlet Node; !- Inlet 1 Node Name + + ZoneHVAC:EquipmentConnections, + Main Zone, !- Zone Name + Main Zone Equipment, !- Zone Conditioning Equipment List Name + Main Zone Inlet Node, !- Zone Air Inlet Node or NodeList Name + , !- Zone Air Exhaust Node or NodeList Name + Main Zone Node, !- Zone Air Node Name + Main Zone Outlet Node; !- Zone Return Air Node or NodeList Name + + ZoneHVAC:EquipmentList, + Main Zone Equipment, !- Name + SequentialLoad, !- Load Distribution Scheme + ZoneHVAC:AirDistributionUnit, !- Zone Equipment 1 Object Type + Main Zone Direct Air ADU,!- Zone Equipment 1 Name + 1, !- Zone Equipment 1 Cooling Sequence + 2, !- Zone Equipment 1 Heating or No-Load Sequence + , !- Zone Equipment 1 Sequential Cooling Fraction Schedule Name + , !- Zone Equipment 1 Sequential Heating Fraction Schedule Name + ZoneHVAC:Baseboard:Convective:Electric, !- Zone Equipment 2 Object Type + Main Zone Baseboard, !- Zone Equipment 2 Name + 2, !- Zone Equipment 2 Cooling Sequence + 1, !- Zone Equipment 2 Heating or No-Load Sequence + , !- Zone Equipment 2 Sequential Cooling Fraction Schedule Name + ; !- Zone Equipment 2 Sequential Heating Fraction Schedule Name + + AirTerminal:SingleDuct:ConstantVolume:NoReheat, + Main Zone Direct Air, !- Name + System Availability Schedule, !- Availability Schedule Name + Main Zone Inlet Node ATInlet, !- Air Inlet Node Name + Main Zone Inlet Node, !- Air Outlet Node Name + 1.5, !- Maximum Air Flow Rate {m3/s} + , !- Design Specification Outdoor Air Object Name + ; !- Per Person Ventilation Rate Mode + + ZoneHVAC:AirDistributionUnit, + Main Zone Direct Air ADU,!- Name + Main Zone Inlet Node, !- Air Distribution Unit Outlet Node Name + AirTerminal:SingleDuct:ConstantVolume:NoReheat, !- Air Terminal Object Type + Main Zone Direct Air, !- Air Terminal Name + , !- Nominal Upstream Leakage Fraction + , !- Constant Downstream Leakage Fraction + ; !- Design Specification Air Terminal Sizing Object Name + + ZoneHVAC:Baseboard:Convective:Electric, + Main Zone Baseboard, !- Name + System Availability Schedule, !- Availability Schedule Name + HeatingDesignCapacity, !- Heating Design Capacity Method + 8000, !- Heating Design Capacity {W} + , !- Heating Design Capacity Per Floor Area {W/m2} + , !- Fraction of Autosized Heating Design Capacity + 0.97; !- Efficiency + + ZoneControl:Thermostat, + Main Zone Thermostat, !- Name + Main Zone, !- Zone or ZoneList Name + Zone Control Type Sched, !- Control Type Schedule Name + ThermostatSetpoint:SingleHeating, !- Control 1 Object Type + Heating Setpoint; !- Control 1 Name + + Schedule:Compact, + Zone Control Type Sched, !- Name + Any Number, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,1; !- Field 3 + + ThermostatSetpoint:SingleHeating, + Heating Setpoint, !- Name + Heating Setpoint Schedule; !- Setpoint Temperature Schedule Name + + Schedule:Compact, + Heating Setpoint Schedule, !- Name + Any Number, !- Schedule Type Limits Name + Through: 12/31, !- Field 1 + For: AllDays, !- Field 2 + Until: 24:00,20.0; !- Field 3 + + Output:VariableDictionary,Regular; + + Output:Surfaces:Drawing,DXF; + + Output:Constructions,Constructions; + + Output:Variable,*,Site Outdoor Air Drybulb Temperature,hourly; + + Output:Variable,*,Site Outdoor Air Wetbulb Temperature,hourly; + + Output:Variable,*,Site Outdoor Air Humidity Ratio,hourly; + + Output:Variable,*,Site Outdoor Air Relative Humidity,hourly; + + Output:Variable,*,Zone Mean Air Temperature,Annual; + + Output:Variable,*,Zone Mean Air Temperature,RunPeriod; + + Output:Variable,*,Zone Mean Air Temperature,Environment; + + Output:Variable,*,Zone Mean Air Temperature,Monthly; + + Output:Variable,*,Zone Mean Air Temperature,Daily; + + Output:Variable,*,Zone Mean Air Temperature,Hourly; + + Output:Variable,*,Zone Mean Air Temperature,Timestep; + + Output:Variable,*,Zone Mean Air Temperature,Detailed; + + Output:Variable,Supply Outlet Node,System Node Mass Flow Rate,hourly; + + Output:Variable,*,System Node Temperature,hourly; + + Output:Variable,*,Baseboard Electricity Rate,hourly; + + Output:Meter:MeterFileOnly,Electricity:Facility,monthly; + + Output:Meter:MeterFileOnly,Electricity:HVAC,monthly; + + Output:Meter:MeterFileOnly,Electricity:Facility,runperiod; + + Output:Meter:MeterFileOnly,Electricity:HVAC,runperiod; + + OutputControl:Table:Style, + TabAndHTML; !- Column Separator + + Output:Table:SummaryReports, + AllSummary; !- Report 1 Name + + Output:SQLite, + SimpleAndTabular; !- Option Type diff --git a/resources/utilities/SqlFile/1ZoneEvapCooler-V25-2-0.sql b/resources/utilities/SqlFile/1ZoneEvapCooler-V25-2-0.sql new file mode 100644 index 00000000000..64230619c08 Binary files /dev/null and b/resources/utilities/SqlFile/1ZoneEvapCooler-V25-2-0.sql differ diff --git a/resources/utilities/SqlFile/Reproduce.txt b/resources/utilities/SqlFile/Reproduce.txt index 8d8a0fdce48..e0fcee6eab5 100644 --- a/resources/utilities/SqlFile/Reproduce.txt +++ b/resources/utilities/SqlFile/Reproduce.txt @@ -1,7 +1,7 @@ Run files with corresponding version of EnergyPlus and copy of `USA_CO_Golden-NREL.724666_TMY3.epw` for that version: ``` -/c/EnergyPlusV25-1-0/energyplus.exe -w /c/EnergyPlusV24-5-1/WeatherData/USA_CO_Golden-NREL.724666_TMY3.epw -r 1ZoneEvapCooler-V25-1-0.idf +/c/EnergyPlusV25-2-0/energyplus.exe -w /c/EnergyPlusV25-2-0/WeatherData/USA_CO_Golden-NREL.724666_TMY3.epw -r 1ZoneEvapCooler-V25-2-0.idf ``` *Note*: the weather file does change across versions of EnergyPlus. (Actually, it hasn't changed since 8.2.0) diff --git a/resources/utilities/SqlFile/update_all.sh b/resources/utilities/SqlFile/update_all.sh index fe79deae235..cb42844ad77 100755 --- a/resources/utilities/SqlFile/update_all.sh +++ b/resources/utilities/SqlFile/update_all.sh @@ -8,7 +8,7 @@ fi; # All versions you want to run # declare -a all_versions=("8.5.0" "8.6.0" "8.7.0" "8.8.0" "8.9.0" "9.0.1" "9.1.0" "9.2.0" "9.3.0", "9.4.0", "9.5.0", "9.6.0", "22.1.0", "22.2.0", "23.1.0", "23.2.0", "24.1.0", "24.2.0", "25.1.0") -declare -a all_versions=("25.1.0") +declare -a all_versions=("25.2.0") # DO NOT RERUN IF SQL ALREADY THERE rerun_if_already_there=false diff --git a/src/energyplus/ForwardTranslator.hpp b/src/energyplus/ForwardTranslator.hpp index 25a4de3f5fb..24a8e5f209f 100644 --- a/src/energyplus/ForwardTranslator.hpp +++ b/src/energyplus/ForwardTranslator.hpp @@ -515,7 +515,7 @@ namespace energyplus { boost::optional translateDesignSpecificationOutdoorAir(model::DesignSpecificationOutdoorAir& modelObject); }; // namespace detail -#define ENERGYPLUS_VERSION "25.1" +#define ENERGYPLUS_VERSION "25.2" class ENERGYPLUS_API ForwardTranslator { diff --git a/src/energyplus/ForwardTranslator/ForwardTranslateCoilHeatingWaterToAirHeatPumpVariableSpeedEquationFit.cpp b/src/energyplus/ForwardTranslator/ForwardTranslateCoilHeatingWaterToAirHeatPumpVariableSpeedEquationFit.cpp index fb519aac8e6..f8f5de451c7 100644 --- a/src/energyplus/ForwardTranslator/ForwardTranslateCoilHeatingWaterToAirHeatPumpVariableSpeedEquationFit.cpp +++ b/src/energyplus/ForwardTranslator/ForwardTranslateCoilHeatingWaterToAirHeatPumpVariableSpeedEquationFit.cpp @@ -114,7 +114,7 @@ namespace energyplus { // SpeedReferenceUnitRatedAirFlow if ((value = speed.referenceUnitRatedAirFlow())) { - eg.setDouble(Coil_Heating_WaterToAirHeatPump_VariableSpeedEquationFitExtensibleFields::SpeedReferenceUnitRatedAirFlow, value.get()); + eg.setDouble(Coil_Heating_WaterToAirHeatPump_VariableSpeedEquationFitExtensibleFields::SpeedReferenceUnitRatedAirFlowRate, value.get()); } // SpeedReferenceUnitRatedWaterFlowRate diff --git a/src/energyplus/ForwardTranslator/ForwardTranslateCoilWaterHeatingAirToWaterHeatPumpVariableSpeed.cpp b/src/energyplus/ForwardTranslator/ForwardTranslateCoilWaterHeatingAirToWaterHeatPumpVariableSpeed.cpp index 7540561b9fb..d92a9a471dc 100644 --- a/src/energyplus/ForwardTranslator/ForwardTranslateCoilWaterHeatingAirToWaterHeatPumpVariableSpeed.cpp +++ b/src/energyplus/ForwardTranslator/ForwardTranslateCoilWaterHeatingAirToWaterHeatPumpVariableSpeed.cpp @@ -135,17 +135,17 @@ namespace energyplus { // Rated Water Heating Capacity at Speed if ((value = speed.ratedWaterHeatingCapacity())) { - eg.setDouble(Coil_WaterHeating_AirToWaterHeatPump_VariableSpeedExtensibleFields::RatedWaterHeatingCapacityatSpeed, value.get()); + eg.setDouble(Coil_WaterHeating_AirToWaterHeatPump_VariableSpeedExtensibleFields::SpeedRatedWaterHeatingCapacity, value.get()); } // Rated Water Heating COP at Speed if ((value = speed.ratedWaterHeatingCOP())) { - eg.setDouble(Coil_WaterHeating_AirToWaterHeatPump_VariableSpeedExtensibleFields::RatedWaterHeatingCOPatSpeed, value.get()); + eg.setDouble(Coil_WaterHeating_AirToWaterHeatPump_VariableSpeedExtensibleFields::SpeedRatedWaterHeatingCOP, value.get()); } // Rated Sensible Heat Ratio at Speed if ((value = speed.ratedSensibleHeatRatio())) { - eg.setDouble(Coil_WaterHeating_AirToWaterHeatPump_VariableSpeedExtensibleFields::RatedSensibleHeatRatioatSpeed, value.get()); + eg.setDouble(Coil_WaterHeating_AirToWaterHeatPump_VariableSpeedExtensibleFields::SpeedRatedSensibleHeatRatio, value.get()); } // Speed Reference Unit Rated Air Flow Rate diff --git a/src/energyplus/ForwardTranslator/ForwardTranslateSiteWaterMainsTemperature.cpp b/src/energyplus/ForwardTranslator/ForwardTranslateSiteWaterMainsTemperature.cpp index 1cdeeeaa4ae..a38f3213d43 100644 --- a/src/energyplus/ForwardTranslator/ForwardTranslateSiteWaterMainsTemperature.cpp +++ b/src/energyplus/ForwardTranslator/ForwardTranslateSiteWaterMainsTemperature.cpp @@ -44,6 +44,12 @@ namespace energyplus { idfObject.setDouble(Site_WaterMainsTemperatureFields::MaximumDifferenceInMonthlyAverageOutdoorAirTemperatures, *d); } + const double temperatureMultiplier = modelObject.temperatureMultiplier(); + idfObject.setDouble(Site_WaterMainsTemperatureFields::TemperatureMultiplier, temperatureMultiplier); + + const double temperatureOffset = modelObject.temperatureOffset(); + idfObject.setDouble(Site_WaterMainsTemperatureFields::TemperatureOffset, temperatureOffset); + return idfObject; } diff --git a/src/energyplus/Resources/LCCusePriceEscalationDataSet2011.idf b/src/energyplus/Resources/LCCusePriceEscalationDataSet2011.idf index af4da0ba828..c39fcb48d17 100644 --- a/src/energyplus/Resources/LCCusePriceEscalationDataSet2011.idf +++ b/src/energyplus/Resources/LCCusePriceEscalationDataSet2011.idf @@ -23,7 +23,7 @@ ! converted into EnergyPlus objects using a spreadsheet called ConvertENCOSTtoEnergyPlusLifeCycleCost.xls ! which is available upon request. - Version,25.1; + Version,25.2; LifeCycleCost:UsePriceEscalation, NorthEast Residential-Electricity, !- LCC Price Escalation Name diff --git a/src/energyplus/ReverseTranslator/ReverseTranslateSiteWaterMainsTemperature.cpp b/src/energyplus/ReverseTranslator/ReverseTranslateSiteWaterMainsTemperature.cpp index 52b6ed432a9..e7a893dc409 100644 --- a/src/energyplus/ReverseTranslator/ReverseTranslateSiteWaterMainsTemperature.cpp +++ b/src/energyplus/ReverseTranslator/ReverseTranslateSiteWaterMainsTemperature.cpp @@ -49,6 +49,16 @@ namespace energyplus { mo.setMaximumDifferenceInMonthlyAverageOutdoorAirTemperatures(value.get()); } + value = workspaceObject.getDouble(Site_WaterMainsTemperatureFields::TemperatureMultiplier); + if (value) { + mo.setTemperatureMultiplier(value.get()); + } + + value = workspaceObject.getDouble(Site_WaterMainsTemperatureFields::TemperatureOffset); + if (value) { + mo.setTemperatureOffset(value.get()); + } + return mo; } diff --git a/src/energyplus/ReverseTranslator/ReverseTranslateZoneCrossMixing.cpp b/src/energyplus/ReverseTranslator/ReverseTranslateZoneCrossMixing.cpp index 84feac3c3bc..264f4409240 100644 --- a/src/energyplus/ReverseTranslator/ReverseTranslateZoneCrossMixing.cpp +++ b/src/energyplus/ReverseTranslator/ReverseTranslateZoneCrossMixing.cpp @@ -108,7 +108,7 @@ namespace energyplus { LOG(Error, "Flow/Zone value not found for workspace object " << workspaceObject); } } else if (istringEqual("Flow/Area", *s)) { - d = workspaceObject.getDouble(openstudio::ZoneCrossMixingFields::FlowRateperFloor); + d = workspaceObject.getDouble(openstudio::ZoneCrossMixingFields::FlowRateperFloorArea); if (d) { mixing.setFlowRateperFloorArea(*d); reverseMixing.setFlowRateperFloorArea(*d); diff --git a/src/energyplus/Test/CoilHeatingWaterToAirHeatPumpVariableSpeedEquationFit_GTest.cpp b/src/energyplus/Test/CoilHeatingWaterToAirHeatPumpVariableSpeedEquationFit_GTest.cpp index ee51ee6a0e0..ec52b1a5fb2 100644 --- a/src/energyplus/Test/CoilHeatingWaterToAirHeatPumpVariableSpeedEquationFit_GTest.cpp +++ b/src/energyplus/Test/CoilHeatingWaterToAirHeatPumpVariableSpeedEquationFit_GTest.cpp @@ -148,7 +148,7 @@ TEST_F(EnergyPlusFixture, ForwardTranslator_CoilHeatingWaterToAirHeatPumpVariabl EXPECT_EQ(speed.referenceUnitGrossRatedHeatingCOP(), eg.getDouble(Coil_Heating_WaterToAirHeatPump_VariableSpeedEquationFitExtensibleFields::SpeedReferenceUnitGrossRatedHeatingCOP).get()); EXPECT_EQ(speed.referenceUnitRatedAirFlow(), - eg.getDouble(Coil_Heating_WaterToAirHeatPump_VariableSpeedEquationFitExtensibleFields::SpeedReferenceUnitRatedAirFlow).get()); + eg.getDouble(Coil_Heating_WaterToAirHeatPump_VariableSpeedEquationFitExtensibleFields::SpeedReferenceUnitRatedAirFlowRate).get()); EXPECT_EQ(speed.referenceUnitRatedWaterFlowRate(), eg.getDouble(Coil_Heating_WaterToAirHeatPump_VariableSpeedEquationFitExtensibleFields::SpeedReferenceUnitRatedWaterFlowRate).get()); diff --git a/src/energyplus/Test/CoilWaterHeatingAirToWaterHeatPumpVariableSpeed_GTest.cpp b/src/energyplus/Test/CoilWaterHeatingAirToWaterHeatPumpVariableSpeed_GTest.cpp index 4eb93d0079b..80e834dfc1d 100644 --- a/src/energyplus/Test/CoilWaterHeatingAirToWaterHeatPumpVariableSpeed_GTest.cpp +++ b/src/energyplus/Test/CoilWaterHeatingAirToWaterHeatPumpVariableSpeed_GTest.cpp @@ -99,9 +99,9 @@ TEST_F(EnergyPlusFixture, ForwardTranslator_CoilWaterHeatingAirToWaterHeatPumpVa EXPECT_EQ(1u, idf_coil.numExtensibleGroups()); auto w_eg = idf_coil.extensibleGroups()[0].cast(); - EXPECT_EQ(400.0, w_eg.getDouble(Coil_WaterHeating_AirToWaterHeatPump_VariableSpeedExtensibleFields::RatedWaterHeatingCapacityatSpeed, false).get()); - EXPECT_EQ(5.0, w_eg.getDouble(Coil_WaterHeating_AirToWaterHeatPump_VariableSpeedExtensibleFields::RatedWaterHeatingCOPatSpeed, false).get()); - EXPECT_EQ(0.8, w_eg.getDouble(Coil_WaterHeating_AirToWaterHeatPump_VariableSpeedExtensibleFields::RatedSensibleHeatRatioatSpeed, false).get()); + EXPECT_EQ(400.0, w_eg.getDouble(Coil_WaterHeating_AirToWaterHeatPump_VariableSpeedExtensibleFields::SpeedRatedWaterHeatingCapacity, false).get()); + EXPECT_EQ(5.0, w_eg.getDouble(Coil_WaterHeating_AirToWaterHeatPump_VariableSpeedExtensibleFields::SpeedRatedWaterHeatingCOP, false).get()); + EXPECT_EQ(0.8, w_eg.getDouble(Coil_WaterHeating_AirToWaterHeatPump_VariableSpeedExtensibleFields::SpeedRatedSensibleHeatRatio, false).get()); EXPECT_EQ(0.02014, w_eg.getDouble(Coil_WaterHeating_AirToWaterHeatPump_VariableSpeedExtensibleFields::SpeedReferenceUnitRatedAirFlowRate, false).get()); EXPECT_EQ(0.000018, diff --git a/src/energyplus/Test/ForwardTranslator_GTest.cpp b/src/energyplus/Test/ForwardTranslator_GTest.cpp index ba1621c4c04..5829dad5638 100644 --- a/src/energyplus/Test/ForwardTranslator_GTest.cpp +++ b/src/energyplus/Test/ForwardTranslator_GTest.cpp @@ -527,12 +527,14 @@ TEST_F(EnergyPlusFixture, ForwardTranslatorTest_TranslateSiteWaterMainsTemperatu ASSERT_EQ(1u, workspace.numObjectsOfType(IddObjectType::Site_WaterMainsTemperature)); IdfObject watertempIdf = workspace.getObjectsByType(IddObjectType::Site_WaterMainsTemperature)[0]; - EXPECT_EQ(unsigned(4), watertempIdf.numFields()); + EXPECT_EQ(unsigned(6), watertempIdf.numFields()); EXPECT_EQ("Correlation", *(watertempIdf.getString(0))); EXPECT_EQ("", *(watertempIdf.getString(1))); EXPECT_EQ(9.69, *(watertempIdf.getDouble(2))); EXPECT_EQ(28.1, *(watertempIdf.getDouble(3))); + EXPECT_EQ(1.0, *(watertempIdf.getDouble(4))); + EXPECT_EQ(0.0, *(watertempIdf.getDouble(5))); } /* diff --git a/src/energyplus/Test/HeatExchangerDesiccantBalancedFlow_GTest.cpp b/src/energyplus/Test/HeatExchangerDesiccantBalancedFlow_GTest.cpp index a230d06cc84..910dea465a4 100644 --- a/src/energyplus/Test/HeatExchangerDesiccantBalancedFlow_GTest.cpp +++ b/src/energyplus/Test/HeatExchangerDesiccantBalancedFlow_GTest.cpp @@ -75,7 +75,7 @@ TEST_F(EnergyPlusFixture, ForwardTranslator_HeatExchangerDesiccantBalancedFlow) if (woPerformance) { EXPECT_EQ(woPerformance->iddObject().type(), IddObjectType::HeatExchanger_Desiccant_BalancedFlow_PerformanceDataType1); } - EXPECT_EQ("No", idfHX.getString(HeatExchanger_Desiccant_BalancedFlowFields::EconomizerLockout, false).get()); + EXPECT_EQ("Yes", idfHX.getString(HeatExchanger_Desiccant_BalancedFlowFields::EconomizerLockout, false).get()); } TEST_F(EnergyPlusFixture, ForwardTranslator_CoilSystemCoolingDXHeatExchangerAssisted_HeatExchangerDesiccantBalancedFlow) { diff --git a/src/model/ExternalInterfaceFunctionalMockupUnitExportToActuator.cpp b/src/model/ExternalInterfaceFunctionalMockupUnitExportToActuator.cpp index 5557d0f1685..4cc9e9fece9 100644 --- a/src/model/ExternalInterfaceFunctionalMockupUnitExportToActuator.cpp +++ b/src/model/ExternalInterfaceFunctionalMockupUnitExportToActuator.cpp @@ -76,12 +76,8 @@ namespace model { return ""; } - double ExternalInterfaceFunctionalMockupUnitExportToActuator_Impl::initialValue() const { - boost::optional value = getDouble(OS_ExternalInterface_FunctionalMockupUnitExport_To_ActuatorFields::InitialValue, true); - if (value) { - return value.get(); - } - return -9999; + boost::optional ExternalInterfaceFunctionalMockupUnitExportToActuator_Impl::initialValue() const { + return getDouble(OS_ExternalInterface_FunctionalMockupUnitExport_To_ActuatorFields::InitialValue, true); } bool ExternalInterfaceFunctionalMockupUnitExportToActuator_Impl::setActuatedComponentUnique(const ModelObject& modelObject) { @@ -117,6 +113,22 @@ namespace model { } // namespace detail + ExternalInterfaceFunctionalMockupUnitExportToActuator::ExternalInterfaceFunctionalMockupUnitExportToActuator( + const ModelObject& modelObject, const std::string& actuatedComponentType, const std::string& actuatedComponentControlType, + const std::string& fMUVariableName) + : ModelObject(ExternalInterfaceFunctionalMockupUnitExportToActuator::iddObjectType(), modelObject.model()) { + OS_ASSERT(getImpl()); + + bool ok = setActuatedComponentUnique(modelObject); + if (!ok) { + remove(); + LOG_AND_THROW("Unable to set " << briefDescription() << "'s ActuatedComponentUnique to " << modelObject.nameString() << "."); + } + setActuatedComponentType(actuatedComponentType); + setActuatedComponentControlType(actuatedComponentControlType); + setFMUVariableName(fMUVariableName); + } + ExternalInterfaceFunctionalMockupUnitExportToActuator::ExternalInterfaceFunctionalMockupUnitExportToActuator( const ModelObject& modelObject, const std::string& actuatedComponentType, const std::string& actuatedComponentControlType, const std::string& fMUVariableName, double initialValue) @@ -154,7 +166,7 @@ namespace model { return getImpl()->fMUVariableName(); } - double ExternalInterfaceFunctionalMockupUnitExportToActuator::initialValue() const { + boost::optional ExternalInterfaceFunctionalMockupUnitExportToActuator::initialValue() const { return getImpl()->initialValue(); } diff --git a/src/model/ExternalInterfaceFunctionalMockupUnitExportToActuator.hpp b/src/model/ExternalInterfaceFunctionalMockupUnitExportToActuator.hpp index 6c28af330c8..3fd42d6d1a5 100644 --- a/src/model/ExternalInterfaceFunctionalMockupUnitExportToActuator.hpp +++ b/src/model/ExternalInterfaceFunctionalMockupUnitExportToActuator.hpp @@ -26,6 +26,10 @@ namespace model { /** @name Constructors and Destructors */ //@{ + explicit ExternalInterfaceFunctionalMockupUnitExportToActuator(const ModelObject& modelObject, const std::string& actuatedComponentType, + const std::string& actuatedComponentControlType, + const std::string& fMUVariableName); + explicit ExternalInterfaceFunctionalMockupUnitExportToActuator(const ModelObject& modelObject, const std::string& actuatedComponentType, const std::string& actuatedComponentControlType, const std::string& fMUVariableName, double initialValue); @@ -52,7 +56,7 @@ namespace model { std::string fMUVariableName() const; - double initialValue() const; + boost::optional initialValue() const; //@} /** @name Setters */ diff --git a/src/model/ExternalInterfaceFunctionalMockupUnitExportToActuator_Impl.hpp b/src/model/ExternalInterfaceFunctionalMockupUnitExportToActuator_Impl.hpp index 2733fb21a3f..f2279b4c78b 100644 --- a/src/model/ExternalInterfaceFunctionalMockupUnitExportToActuator_Impl.hpp +++ b/src/model/ExternalInterfaceFunctionalMockupUnitExportToActuator_Impl.hpp @@ -51,7 +51,7 @@ namespace model { std::string fMUVariableName() const; - double initialValue() const; + boost::optional initialValue() const; //@} /** @name Setters */ diff --git a/src/model/ExternalInterfaceFunctionalMockupUnitExportToSchedule.cpp b/src/model/ExternalInterfaceFunctionalMockupUnitExportToSchedule.cpp index 1af98b68c7c..c0f439e2831 100644 --- a/src/model/ExternalInterfaceFunctionalMockupUnitExportToSchedule.cpp +++ b/src/model/ExternalInterfaceFunctionalMockupUnitExportToSchedule.cpp @@ -72,7 +72,9 @@ namespace model { std::vector ExternalInterfaceFunctionalMockupUnitExportToSchedule_Impl::values() const { DoubleVector result; - result.push_back(initialValue()); + if (boost::optional _initialValue = initialValue()) { + result.push_back(_initialValue.get()); + } return result; } @@ -84,12 +86,8 @@ namespace model { return ""; } - double ExternalInterfaceFunctionalMockupUnitExportToSchedule_Impl::initialValue() const { - boost::optional value = getDouble(OS_ExternalInterface_FunctionalMockupUnitExport_To_ScheduleFields::InitialValue, true); - if (value) { - return value.get(); - } - return -9999; + boost::optional ExternalInterfaceFunctionalMockupUnitExportToSchedule_Impl::initialValue() const { + return getDouble(OS_ExternalInterface_FunctionalMockupUnitExport_To_ScheduleFields::InitialValue, true); } bool ExternalInterfaceFunctionalMockupUnitExportToSchedule_Impl::setScheduleTypeLimits(const ScheduleTypeLimits& scheduleTypeLimits) { @@ -123,6 +121,14 @@ namespace model { } // namespace detail + ExternalInterfaceFunctionalMockupUnitExportToSchedule::ExternalInterfaceFunctionalMockupUnitExportToSchedule(const Model& model, + const std::string& fMUVariableName) + : Schedule(ExternalInterfaceFunctionalMockupUnitExportToSchedule::iddObjectType(), model) { + OS_ASSERT(getImpl()); + + setFMUVariableName(fMUVariableName); + } + ExternalInterfaceFunctionalMockupUnitExportToSchedule::ExternalInterfaceFunctionalMockupUnitExportToSchedule(const Model& model, const std::string& fMUVariableName, double initialValue) @@ -141,7 +147,7 @@ namespace model { return getImpl()->fMUVariableName(); } - double ExternalInterfaceFunctionalMockupUnitExportToSchedule::initialValue() const { + boost::optional ExternalInterfaceFunctionalMockupUnitExportToSchedule::initialValue() const { return getImpl()->initialValue(); } diff --git a/src/model/ExternalInterfaceFunctionalMockupUnitExportToSchedule.hpp b/src/model/ExternalInterfaceFunctionalMockupUnitExportToSchedule.hpp index c86377e01e5..2871667aeea 100644 --- a/src/model/ExternalInterfaceFunctionalMockupUnitExportToSchedule.hpp +++ b/src/model/ExternalInterfaceFunctionalMockupUnitExportToSchedule.hpp @@ -26,6 +26,8 @@ namespace model { /** @name Constructors and Destructors */ //@{ + explicit ExternalInterfaceFunctionalMockupUnitExportToSchedule(const Model& model, const std::string& fMUVariableName); + explicit ExternalInterfaceFunctionalMockupUnitExportToSchedule(const Model& model, const std::string& fMUVariableName, double initialValue); virtual ~ExternalInterfaceFunctionalMockupUnitExportToSchedule() override = default; @@ -44,7 +46,7 @@ namespace model { std::string fMUVariableName() const; - double initialValue() const; + boost::optional initialValue() const; //@} /** @name Setters */ diff --git a/src/model/ExternalInterfaceFunctionalMockupUnitExportToSchedule_Impl.hpp b/src/model/ExternalInterfaceFunctionalMockupUnitExportToSchedule_Impl.hpp index a417c4eaa3b..0d72a6b38fb 100644 --- a/src/model/ExternalInterfaceFunctionalMockupUnitExportToSchedule_Impl.hpp +++ b/src/model/ExternalInterfaceFunctionalMockupUnitExportToSchedule_Impl.hpp @@ -52,7 +52,7 @@ namespace model { std::string fMUVariableName() const; - double initialValue() const; + boost::optional initialValue() const; //@} /** @name Setters */ diff --git a/src/model/HeatExchangerDesiccantBalancedFlow.cpp b/src/model/HeatExchangerDesiccantBalancedFlow.cpp index b973568cc2d..a9f5ddc2383 100644 --- a/src/model/HeatExchangerDesiccantBalancedFlow.cpp +++ b/src/model/HeatExchangerDesiccantBalancedFlow.cpp @@ -269,7 +269,7 @@ namespace model { bool ok = setHeatExchangerPerformance(heatExchangerPerformance); OS_ASSERT(ok); - setEconomizerLockout(false); + setEconomizerLockout(true); } HeatExchangerDesiccantBalancedFlow::HeatExchangerDesiccantBalancedFlow( @@ -287,7 +287,7 @@ namespace model { << heatExchangerPerformance.briefDescription() << "."); } - setEconomizerLockout(false); + setEconomizerLockout(true); } IddObjectType HeatExchangerDesiccantBalancedFlow::iddObjectType() { diff --git a/src/model/SiteWaterMainsTemperature.cpp b/src/model/SiteWaterMainsTemperature.cpp index f6aa77f1ebd..fb8f4fa21c8 100644 --- a/src/model/SiteWaterMainsTemperature.cpp +++ b/src/model/SiteWaterMainsTemperature.cpp @@ -87,6 +87,18 @@ namespace model { return getDouble(OS_Site_WaterMainsTemperatureFields::MaximumDifferenceInMonthlyAverageOutdoorAirTemperatures, true); } + double SiteWaterMainsTemperature_Impl::temperatureMultiplier() const { + boost::optional value = getDouble(OS_Site_WaterMainsTemperatureFields::TemperatureMultiplier, true); + OS_ASSERT(value); + return value.get(); + } + + double SiteWaterMainsTemperature_Impl::temperatureOffset() const { + boost::optional value = getDouble(OS_Site_WaterMainsTemperatureFields::TemperatureOffset, true); + OS_ASSERT(value); + return value.get(); + } + bool SiteWaterMainsTemperature_Impl::setCalculationMethod(const std::string& calculationMethod) { bool result = setString(OS_Site_WaterMainsTemperatureFields::CalculationMethod, calculationMethod); return result; @@ -149,6 +161,16 @@ namespace model { OS_ASSERT(result); } + bool SiteWaterMainsTemperature_Impl::setTemperatureMultiplier(double temperatureMultiplier) { + const bool result = setDouble(OS_Site_WaterMainsTemperatureFields::TemperatureMultiplier, temperatureMultiplier); + return result; + } + + bool SiteWaterMainsTemperature_Impl::setTemperatureOffset(double temperatureOffset) { + const bool result = setDouble(OS_Site_WaterMainsTemperatureFields::TemperatureOffset, temperatureOffset); + return result; + } + std::vector SiteWaterMainsTemperature_Impl::calculationMethodValues() const { return SiteWaterMainsTemperature::calculationMethodValues(); } @@ -183,6 +205,10 @@ namespace model { OS_ASSERT(getImpl()); bool ok = setCalculationMethod("CorrelationFromWeatherFile"); OS_ASSERT(ok); + ok = setTemperatureMultiplier(1.0); + OS_ASSERT(ok); + ok = setTemperatureOffset(0.0); + OS_ASSERT(ok); } IddObjectType SiteWaterMainsTemperature::iddObjectType() { @@ -214,6 +240,14 @@ namespace model { return getImpl()->maximumDifferenceInMonthlyAverageOutdoorAirTemperatures(); } + double SiteWaterMainsTemperature::temperatureMultiplier() const { + return getImpl()->temperatureMultiplier(); + } + + double SiteWaterMainsTemperature::temperatureOffset() const { + return getImpl()->temperatureOffset(); + } + bool SiteWaterMainsTemperature::setCalculationMethod(const std::string& calculationMethod) { return getImpl()->setCalculationMethod(calculationMethod); } @@ -244,6 +278,14 @@ namespace model { getImpl()->resetMaximumDifferenceInMonthlyAverageOutdoorAirTemperatures(); } + bool SiteWaterMainsTemperature::setTemperatureMultiplier(double temperatureMultiplier) { + return getImpl()->setTemperatureMultiplier(temperatureMultiplier); + } + + bool SiteWaterMainsTemperature::setTemperatureOffset(double temperatureOffset) { + return getImpl()->setTemperatureOffset(temperatureOffset); + } + /// @cond SiteWaterMainsTemperature::SiteWaterMainsTemperature(std::shared_ptr impl) : ModelObject(std::move(impl)) {} /// @endcond diff --git a/src/model/SiteWaterMainsTemperature.hpp b/src/model/SiteWaterMainsTemperature.hpp index ce7bd0fdd78..d55424f5eae 100644 --- a/src/model/SiteWaterMainsTemperature.hpp +++ b/src/model/SiteWaterMainsTemperature.hpp @@ -55,6 +55,10 @@ namespace model { boost::optional maximumDifferenceInMonthlyAverageOutdoorAirTemperatures() const; + double temperatureMultiplier() const; + + double temperatureOffset() const; + //@} /** @name Setters */ //@{ @@ -78,6 +82,10 @@ namespace model { /** Also sets calculation method to 'Correlation'. */ void resetMaximumDifferenceInMonthlyAverageOutdoorAirTemperatures(); + bool setTemperatureMultiplier(double temperatureMultiplier); + + bool setTemperatureOffset(double temperatureOffset); + //@} protected: /// @cond diff --git a/src/model/SiteWaterMainsTemperature_Impl.hpp b/src/model/SiteWaterMainsTemperature_Impl.hpp index 3bf9296cb75..533f589f15e 100644 --- a/src/model/SiteWaterMainsTemperature_Impl.hpp +++ b/src/model/SiteWaterMainsTemperature_Impl.hpp @@ -56,6 +56,10 @@ namespace model { boost::optional maximumDifferenceInMonthlyAverageOutdoorAirTemperatures() const; + double temperatureMultiplier() const; + + double temperatureOffset() const; + //@} /** @name Setters */ //@{ @@ -75,6 +79,10 @@ namespace model { void resetMaximumDifferenceInMonthlyAverageOutdoorAirTemperatures(); + bool setTemperatureMultiplier(double temperatureMultiplier); + + bool setTemperatureOffset(double temperatureOffset); + //@} protected: private: diff --git a/src/model/test/BoilerHotWater_GTest.cpp b/src/model/test/BoilerHotWater_GTest.cpp index cb174ce8d12..0ad225d09b7 100644 --- a/src/model/test/BoilerHotWater_GTest.cpp +++ b/src/model/test/BoilerHotWater_GTest.cpp @@ -39,6 +39,12 @@ TEST_F(ModelFixture, BoilerHotWater_BoilerHotWater) { EXPECT_TRUE(boiler.setOffCycleParasiticFuelLoad(0.8)); EXPECT_EQ(0.8, boiler.offCycleParasiticFuelLoad()); + + EXPECT_TRUE(boiler.setNominalCapacity(1000.0)); + ASSERT_TRUE(boiler.nominalCapacity()); + EXPECT_EQ(1000.0, boiler.nominalCapacity().get()); + EXPECT_FALSE(boiler.setNominalCapacity(0.0)); + EXPECT_EQ(1000.0, boiler.nominalCapacity().get()); } TEST_F(ModelFixture, BoilerHotWater_connections) { diff --git a/src/model/test/ExternalInterfaceFunctionalMockupUnitExportToActuator_GTest.cpp b/src/model/test/ExternalInterfaceFunctionalMockupUnitExportToActuator_GTest.cpp index c0d3ac3ac02..88fb764912e 100644 --- a/src/model/test/ExternalInterfaceFunctionalMockupUnitExportToActuator_GTest.cpp +++ b/src/model/test/ExternalInterfaceFunctionalMockupUnitExportToActuator_GTest.cpp @@ -68,9 +68,11 @@ TEST_F(ModelFixture, ExternalInterfaceFunctionalMockupUnitExportToActuator) { fanActuator.setActuatedComponentUnique(fan2); EXPECT_EQ(fan2, fanActuator.actuatedComponentUnique()); - EXPECT_EQ(10, fanActuator.initialValue()); + ASSERT_TRUE(fanActuator.initialValue()); + EXPECT_EQ(10, fanActuator.initialValue().get()); fanActuator.setInitialValue(1); - EXPECT_EQ(1.0, fanActuator.initialValue()); + ASSERT_TRUE(fanActuator.initialValue()); + EXPECT_EQ(1.0, fanActuator.initialValue().get()); //add electric equipment actuator ElectricEquipmentDefinition definition(model); diff --git a/src/model/test/ExternalInterfaceFunctionalMockupUnitExportToSchedule_GTest.cpp b/src/model/test/ExternalInterfaceFunctionalMockupUnitExportToSchedule_GTest.cpp index e1a804352b9..4576f1c8632 100644 --- a/src/model/test/ExternalInterfaceFunctionalMockupUnitExportToSchedule_GTest.cpp +++ b/src/model/test/ExternalInterfaceFunctionalMockupUnitExportToSchedule_GTest.cpp @@ -22,9 +22,11 @@ TEST_F(ModelFixture, ExternalInterfaceFunctionalMockupUnitExportToSchedule) { Model model; ExternalInterfaceFunctionalMockupUnitExportToSchedule schedule(model, "FMU name", 10); - EXPECT_EQ(10.0, schedule.initialValue()); + ASSERT_TRUE(schedule.initialValue()); + EXPECT_EQ(10.0, schedule.initialValue().get()); schedule.setInitialValue(-0.1); - EXPECT_EQ(-0.1, schedule.initialValue()); + ASSERT_TRUE(schedule.initialValue()); + EXPECT_EQ(-0.1, schedule.initialValue().get()); EXPECT_TRUE(checkOrAssignScheduleTypeLimits("Lights", "Lighting", schedule)); ValidityReport report = schedule.validityReport(StrictnessLevel(StrictnessLevel::Final)); ASSERT_EQ(0u, report.numErrors()); @@ -41,7 +43,8 @@ TEST_F(ModelFixture, ExternalInterfaceFunctionalMockupUnitExportToSchedule2) { Model model; ExternalInterfaceFunctionalMockupUnitExportToSchedule schedule(model, "FMU name", 10); - EXPECT_EQ(10.0, schedule.initialValue()); + ASSERT_TRUE(schedule.initialValue()); + EXPECT_EQ(10.0, schedule.initialValue().get()); EXPECT_EQ("External Interface Functional Mockup Unit Export To Schedule 1", schedule.nameString()); ExternalInterfaceFunctionalMockupUnitExportToSchedule schedule2(model, "FMU 2 name", 10); diff --git a/src/model/test/HeatExchangerDesiccantBalancedFlow_GTest.cpp b/src/model/test/HeatExchangerDesiccantBalancedFlow_GTest.cpp index 24337641fa2..38dedb8a010 100644 --- a/src/model/test/HeatExchangerDesiccantBalancedFlow_GTest.cpp +++ b/src/model/test/HeatExchangerDesiccantBalancedFlow_GTest.cpp @@ -51,12 +51,12 @@ TEST_F(ModelFixture, HeatExchangerDesiccantBalancedFlow_HeatExchangerDesiccantBa EXPECT_EQ(alwaysOn, hx.availabilitySchedule()); EXPECT_NE(p, hx.heatExchangerPerformance()); EXPECT_NE(p.handle(), hx.heatExchangerPerformance().handle()); - EXPECT_FALSE(hx.economizerLockout()); + EXPECT_TRUE(hx.economizerLockout()); EXPECT_EQ(alwaysOn, hx2.availabilitySchedule()); EXPECT_EQ(p, hx2.heatExchangerPerformance()); EXPECT_EQ(p.handle(), hx2.heatExchangerPerformance().handle()); - EXPECT_FALSE(hx2.economizerLockout()); + EXPECT_TRUE(hx2.economizerLockout()); } TEST_F(ModelFixture, HeatExchangerDesiccantBalancedFlow_GettersSetters) { diff --git a/src/model/test/SiteWaterMainsTemperature_GTest.cpp b/src/model/test/SiteWaterMainsTemperature_GTest.cpp index 1f0fe84daa5..3aed7348833 100644 --- a/src/model/test/SiteWaterMainsTemperature_GTest.cpp +++ b/src/model/test/SiteWaterMainsTemperature_GTest.cpp @@ -43,6 +43,8 @@ TEST_F(ModelFixture, SiteWaterMainsTemperature_SiteWaterMainsTemperature) { EXPECT_FALSE(siteWater.temperatureSchedule()); EXPECT_FALSE(siteWater.annualAverageOutdoorAirTemperature()); EXPECT_FALSE(siteWater.maximumDifferenceInMonthlyAverageOutdoorAirTemperatures()); + EXPECT_EQ(1.0, siteWater.temperatureMultiplier()); + EXPECT_EQ(0.0, siteWater.temperatureOffset()); } // test setting and getting @@ -57,6 +59,8 @@ TEST_F(ModelFixture, SiteWaterMainsTemperature_SetGetFields) { siteWater.setCalculationMethod("Correlation"); siteWater.setAnnualAverageOutdoorAirTemperature(50); siteWater.setMaximumDifferenceInMonthlyAverageOutdoorAirTemperatures(60); + siteWater.setTemperatureMultiplier(1.2); + siteWater.setTemperatureOffset(-0.5); // check the fields EXPECT_EQ("Correlation", siteWater.calculationMethod()); @@ -64,6 +68,8 @@ TEST_F(ModelFixture, SiteWaterMainsTemperature_SetGetFields) { EXPECT_EQ(50, siteWater.annualAverageOutdoorAirTemperature().get()); ASSERT_TRUE(siteWater.maximumDifferenceInMonthlyAverageOutdoorAirTemperatures()); EXPECT_EQ(60, siteWater.maximumDifferenceInMonthlyAverageOutdoorAirTemperatures().get()); + EXPECT_EQ(1.2, siteWater.temperatureMultiplier()); + EXPECT_EQ(-0.5, siteWater.temperatureOffset()); // reset them one by one siteWater.resetAnnualAverageOutdoorAirTemperature(); diff --git a/src/osversion/VersionTranslator.cpp b/src/osversion/VersionTranslator.cpp index bfc4818f653..bcd0c65932f 100644 --- a/src/osversion/VersionTranslator.cpp +++ b/src/osversion/VersionTranslator.cpp @@ -146,7 +146,8 @@ namespace osversion { m_updateMethods[VersionString("3.8.0")] = &VersionTranslator::update_3_7_0_to_3_8_0; m_updateMethods[VersionString("3.9.0")] = &VersionTranslator::update_3_8_0_to_3_9_0; m_updateMethods[VersionString("3.10.0")] = &VersionTranslator::update_3_9_0_to_3_10_0; - m_updateMethods[VersionString("3.10.1")] = &VersionTranslator::defaultUpdate; + m_updateMethods[VersionString("3.10.1")] = &VersionTranslator::update_3_10_0_to_3_10_1; + // m_updateMethods[VersionString("3.10.1")] = &VersionTranslator::defaultUpdate; // List of previous versions that may be updated to this one. // - To increment the translator, add an entry for the version just released (branched for @@ -9746,5 +9747,48 @@ namespace osversion { } // end update_3_9_0_to_3_10_0 + std::string VersionTranslator::update_3_10_0_to_3_10_1(const IdfFile& idf_3_10_0, const IddFileAndFactoryWrapper& idd_3_10_1) { + std::stringstream ss; + boost::optional value; + + ss << idf_3_10_0.header() << '\n' << '\n'; + IdfFile targetIdf(idd_3_10_1.iddFile()); + ss << targetIdf.versionObject().get(); + + for (const IdfObject& object : idf_3_10_0.objects()) { + auto iddname = object.iddObject().name(); + + if (iddname == "OS:Site:WaterMainsTemperature") { + + // 2 Fields have been inserted from 3.10.0 to 3.10.1: + // ------------------------------------------------ + // * Temperature Multiplier * 5 + // * Temperature Offset * 6 + + auto iddObject = idd_3_10_1.getObject(iddname); + IdfObject newObject(iddObject.get()); + + for (size_t i = 0; i < object.numFields(); ++i) { + if ((value = object.getString(i))) { + newObject.setString(i, value.get()); + } + } + + newObject.setDouble(5, 1.0); + newObject.setDouble(6, 0.0); + + ss << newObject; + m_refactored.emplace_back(std::move(object), std::move(newObject)); + + // No-op + } else { + ss << object; + } + } + + return ss.str(); + + } // end update_3_10_0_to_3_10_1 + } // namespace osversion } // namespace openstudio diff --git a/src/osversion/VersionTranslator.hpp b/src/osversion/VersionTranslator.hpp index 14c9d4ed570..b876c193747 100644 --- a/src/osversion/VersionTranslator.hpp +++ b/src/osversion/VersionTranslator.hpp @@ -238,6 +238,7 @@ namespace osversion { std::string update_3_7_0_to_3_8_0(const IdfFile& idf_3_7_0, const IddFileAndFactoryWrapper& idd_3_8_0); std::string update_3_8_0_to_3_9_0(const IdfFile& idf_3_8_0, const IddFileAndFactoryWrapper& idd_3_9_0); std::string update_3_9_0_to_3_10_0(const IdfFile& idf_3_9_0, const IddFileAndFactoryWrapper& idd_3_10_0); + std::string update_3_10_0_to_3_10_1(const IdfFile& idf_3_10_0, const IddFileAndFactoryWrapper& idd_3_10_1); IdfObject updateUrlField_0_7_1_to_0_7_2(const IdfObject& object, unsigned index); diff --git a/src/osversion/test/3_10_1/test_vt_SiteWaterMainsTemperature.osm b/src/osversion/test/3_10_1/test_vt_SiteWaterMainsTemperature.osm new file mode 100644 index 00000000000..b180170557c --- /dev/null +++ b/src/osversion/test/3_10_1/test_vt_SiteWaterMainsTemperature.osm @@ -0,0 +1,9 @@ + +OS:Version, + {8eaa7162-0bc2-45e3-a0b0-67e13a6ed442}, !- Handle + 3.10.0; !- Version Identifier + +OS:Site:WaterMainsTemperature, + {7b6cc74d-15d7-4c99-8167-5a87099ba702}, !- Handle + CorrelationFromWeatherFile; !- Calculation Method + diff --git a/src/osversion/test/3_10_1/test_vt_SiteWaterMainsTemperature.rb b/src/osversion/test/3_10_1/test_vt_SiteWaterMainsTemperature.rb new file mode 100644 index 00000000000..7bc85140266 --- /dev/null +++ b/src/osversion/test/3_10_1/test_vt_SiteWaterMainsTemperature.rb @@ -0,0 +1,9 @@ +#require '/usr/local/openstudio-3.10.0/Ruby/openstudio' + +include OpenStudio::Model + +m = Model.new + +mains = m.getSiteWaterMainsTemperature + +m.save('test_vt_SiteWaterMainsTemperature.osm', true) diff --git a/src/osversion/test/VersionTranslator_GTest.cpp b/src/osversion/test/VersionTranslator_GTest.cpp index ad89dde0687..2598308b42f 100644 --- a/src/osversion/test/VersionTranslator_GTest.cpp +++ b/src/osversion/test/VersionTranslator_GTest.cpp @@ -4628,3 +4628,24 @@ TEST_F(OSVersionFixture, can_still_load_older_components) { EXPECT_EQ(1, model.getObjectsByType("OS:ComponentData").size()); EXPECT_EQ(2, model.objects().size()); } + +TEST_F(OSVersionFixture, update_3_10_0_to_3_10_1_SiteWaterMainsTemperature) { + openstudio::path path = resourcesPath() / toPath("osversion/3_10_1/test_vt_SiteWaterMainsTemperature.osm"); + osversion::VersionTranslator vt; + boost::optional model = vt.loadModel(path); + ASSERT_TRUE(model) << "Failed to load " << path; + + openstudio::path outPath = resourcesPath() / toPath("osversion/3_10_1/test_vt_SiteWaterMainsTemperature_updated.osm"); + model->save(outPath, true); + + std::vector swmts = model->getObjectsByType("OS:Site:WaterMainsTemperature"); + ASSERT_EQ(1u, swmts.size()); + const auto& swmt = swmts.front(); + + EXPECT_EQ("CorrelationFromWeatherFile", swmt.getString(1).get()); // Calculation Method + EXPECT_TRUE(swmt.isEmpty(2)); // Temperature Schedule Name + EXPECT_TRUE(swmt.isEmpty(3)); // Annual Average Outdoor Air Temperature + EXPECT_TRUE(swmt.isEmpty(4)); // Maximum Difference In Monthly Average Outdoor Air Temperatures + EXPECT_EQ(1.0, swmt.getDouble(5).get()); // Temperature Multiplier + EXPECT_EQ(0.0, swmt.getDouble(6).get()); // Temperature Offset +} diff --git a/src/utilities/idd/Test/IddFile_GTest.cpp b/src/utilities/idd/Test/IddFile_GTest.cpp index 9afe91d4228..d8d2c1946e1 100644 --- a/src/utilities/idd/Test/IddFile_GTest.cpp +++ b/src/utilities/idd/Test/IddFile_GTest.cpp @@ -55,7 +55,7 @@ TEST_F(IddFixture, EpIddFile) { EXPECT_EQ("", logMessage.logMessage()); } - EXPECT_EQ("25.1.0", loadedIddFile->version()); + EXPECT_EQ("25.2.0", loadedIddFile->version()); EXPECT_EQ(epIddFile.objects().size(), loadedIddFile->objects().size()); if (epIddFile.objects().size() != loadedIddFile->objects().size()) { // get sets of IddObjectType diff --git a/src/utilities/idf/Test/WorkspaceObject_GTest.cpp b/src/utilities/idf/Test/WorkspaceObject_GTest.cpp index 228e7a0c4dd..c1a6422fab7 100644 --- a/src/utilities/idf/Test/WorkspaceObject_GTest.cpp +++ b/src/utilities/idf/Test/WorkspaceObject_GTest.cpp @@ -267,7 +267,7 @@ TEST_F(IdfFixture, WorkspaceObject_FieldSettingWithHiddenPushes) { OptionalWorkspaceObject tObject = scratch.getObject(w1->handle()); ASSERT_TRUE(tObject); WorkspaceObject object = *tObject; - EXPECT_EQ(static_cast(14), object.numFields()); + EXPECT_EQ(static_cast(15), object.numFields()); // create schedule object to point to from non-extensible field text.str(""); @@ -326,15 +326,15 @@ TEST_F(IdfFixture, WorkspaceObject_FieldSettingWithHiddenPushes) { // hidden pushing for setting nonextensible double EXPECT_FALSE(object.setDouble(9, 1.5)); - EXPECT_EQ(14u, object.numFields()); + EXPECT_EQ(15u, object.numFields()); EXPECT_TRUE(object.setDouble(9, 0.6)); - EXPECT_EQ(14u, object.numFields()); + EXPECT_EQ(15u, object.numFields()); // hidden pushing for setting nonextensible string EXPECT_FALSE(object.setString(12, "bad key")); - EXPECT_EQ(14u, object.numFields()); + EXPECT_EQ(15u, object.numFields()); EXPECT_TRUE(object.setString(12, "MeanAirTemperature")); - EXPECT_EQ(14u, object.numFields()); + EXPECT_EQ(15u, object.numFields()); // hidden pushing for setting nonextensible pointer EXPECT_TRUE(object.setString(14, "")); diff --git a/src/utilities/sql/Test/SqlFile_GTest.cpp b/src/utilities/sql/Test/SqlFile_GTest.cpp index 3e2c058a847..12739e2fdd0 100644 --- a/src/utilities/sql/Test/SqlFile_GTest.cpp +++ b/src/utilities/sql/Test/SqlFile_GTest.cpp @@ -318,16 +318,17 @@ TEST_F(SqlFileFixture, AnnualTotalCosts) { // SqlResults ep_950 = {191927299.41, 27898.69, 407.55, 361.09, 776.63, 3322855.45, 188575000.0}; // SqlResults ep_960 = {191927297.14, 27898.69, 407.55, 361.09, 776.63, 3322853.18, 188575000.0}; // SqlResults ep_2210 = {191927297.14, 27898.69, 407.55, 361.09, 776.63, 3322853.18, 188575000.0}; + // Note: historically we had a PTAC and a PTHP both with a Fan:ConstantVolume but a blank Supply Air Fan Operating Mode Schedule + // 22.2.0 forces you to use a schedule with a value of 1, so that produces a lot of deviations + // = {252660024.14000002, 28129.12, 428.19, 360.93, 781.28, 3322324.62, 249308000.0}; + // To reduce the deviation, I switched the PTAC/PTHP to a Fan:OnOff with a Always Off Discrete Schedule, but it still behaves slightly differently // SqlResults ep_2220 = {191883303.43, 27902.68, 407.55, 361.09, 776.63, 3322855.48, 188531000.0}; // SqlResults ep_2310 = {191883303.43, 27902.68, 407.55, 361.09, 776.63, 3322855.48, 188531000.0}; // SqlResults ep_2320 = {191883303.43, 27902.68, 407.55, 361.09, 776.63, 3322855.48, 188531000.0}; // SqlResults ep_2410 = {191883303.43, 27902.68, 407.55, 361.09, 776.63, 3322855.48, 188531000.0}; // SqlResults ep_2420 = {191879399.92, 27905.27, 407.55, 361.09, 776.63, 3328949.38, 188521000.0} - // Note: historically we had a PTAC and a PTHP both with a Fan:ConstantVolume but a blank Supply Air Fan Operating Mode Schedule - // 22.2.0 forces you to use a schedule with a value of 1, so that produces a lot of deviations - // = {252660024.14000002, 28129.12, 428.19, 360.93, 781.28, 3322324.62, 249308000.0}; - // To reduce the deviation, I switched the PTAC/PTHP to a Fan:OnOff with a Always Off Discrete Schedule, but it still behaves slightly differently - SqlResults ep_2510 = {191879399.92, 27905.27, 407.55, 361.09, 776.63, 3328949.38, 188521000.0}; + // SqlResults ep_2510 = {191879399.92, 27905.27, 407.55, 361.09, 776.63, 3328949.38, 188521000.0}; + SqlResults ep_2520 = {191876887.69, 27893.06, 407.55, 361.09, 776.63, 3328949.36, 188518500.0}; // To update, cd build/resources, then in Ruby /** ```ruby sqlFile2 = OpenStudio::SqlFile.new('energyplus/Office_With_Many_HVAC_Types/eplusout.sql') @@ -360,15 +361,15 @@ TEST_F(SqlFileFixture, AnnualTotalCosts) { // =========== Check that within our development based on the current E+ version we do not make the results vary (at all) ================= // Total annual costs for all fuel types - EXPECT_NEAR(ep_2510.annualTotalUtilityCost, sqlFile2.annualTotalUtilityCost().get(), 0.03); + EXPECT_NEAR(ep_2520.annualTotalUtilityCost, sqlFile2.annualTotalUtilityCost().get(), 0.03); // Costs by fuel type - EXPECT_DOUBLE_EQ(ep_2510.annualTotalCost_Electricity, sqlFile2.annualTotalCost(FuelType::Electricity).get()); - EXPECT_DOUBLE_EQ(ep_2510.annualTotalCost_Gas, sqlFile2.annualTotalCost(FuelType::Gas).get()); - EXPECT_DOUBLE_EQ(ep_2510.annualTotalCost_DistrictCooling, sqlFile2.annualTotalCost(FuelType::DistrictCooling).get()); - EXPECT_DOUBLE_EQ(ep_2510.annualTotalCost_DistrictHeating, sqlFile2.annualTotalCost(FuelType::DistrictHeating).get()); - EXPECT_NEAR(ep_2510.annualTotalCost_Water, sqlFile2.annualTotalCost(FuelType::Water).get(), 0.03); - EXPECT_DOUBLE_EQ(ep_2510.annualTotalCost_FuelOil_1, sqlFile2.annualTotalCost(FuelType::FuelOil_1).get()); + EXPECT_DOUBLE_EQ(ep_2520.annualTotalCost_Electricity, sqlFile2.annualTotalCost(FuelType::Electricity).get()); + EXPECT_DOUBLE_EQ(ep_2520.annualTotalCost_Gas, sqlFile2.annualTotalCost(FuelType::Gas).get()); + EXPECT_DOUBLE_EQ(ep_2520.annualTotalCost_DistrictCooling, sqlFile2.annualTotalCost(FuelType::DistrictCooling).get()); + EXPECT_DOUBLE_EQ(ep_2520.annualTotalCost_DistrictHeating, sqlFile2.annualTotalCost(FuelType::DistrictHeating).get()); + EXPECT_NEAR(ep_2520.annualTotalCost_Water, sqlFile2.annualTotalCost(FuelType::Water).get(), 0.03); + EXPECT_DOUBLE_EQ(ep_2520.annualTotalCost_FuelOil_1, sqlFile2.annualTotalCost(FuelType::FuelOil_1).get()); // These have a relatively high tolerance and shouldn't fail, and they depend on the above values divided by square footage which shouldn't vary // So it's fine to keep it as is