Skip to content

Commit

Permalink
Merge branch 'develop' into 10102-inconsistent-water-flow-rates-in-sw…
Browse files Browse the repository at this point in the history
…immingpoolindoor
  • Loading branch information
RKStrand committed Sep 19, 2023
2 parents 6e209a8 + 9819321 commit fa5fe5c
Show file tree
Hide file tree
Showing 334 changed files with 30,812 additions and 30,889 deletions.
8 changes: 6 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,12 @@ cmake_policy(SET CMP0048 NEW) # handling project_version_* variables
project(EnergyPlus)

# Raise an error if attempting to compile on macOS older than 10.15 - it does not work
if (APPLE AND CMAKE_OSX_DEPLOYMENT_TARGET VERSION_LESS "10.15")
message(FATAL_ERROR "The minimum required version for macOS is 10.15, however CMAKE_OSX_DEPLOYMENT_TARGET is set to ${CMAKE_OSX_DEPLOYMENT_TARGET}. Please set CMAKE_OSX_DEPLOYMENT_TARGET to 10.15 or greater and try again.")
if (APPLE)
if(NOT CMAKE_OSX_DEPLOYMENT_TARGET)
message(FATAL_ERROR "CMAKE_OSX_DEPLOYMENT_TARGET not set. Please set CMAKE_OSX_DEPLOYMENT_TARGET to 10.15 or greater and try again.")
elseif (CMAKE_OSX_DEPLOYMENT_TARGET VERSION_LESS "10.15")
message(FATAL_ERROR "The minimum required version for macOS is 10.15, however CMAKE_OSX_DEPLOYMENT_TARGET is set to ${CMAKE_OSX_DEPLOYMENT_TARGET}.")
endif()
endif()

if(${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} VERSION_GREATER "3.0")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,8 @@ \subsection{Built-In Variables}\label{built-in-variables}
\midrule
\endhead

Year & 1900--2100 \tabularnewline
Year & 1900--2100 (Read from EPW) \tabularnewline
CalendarYear & 1900--2100 (Assigned from RunPeriod - only valid for Weather File Run Periods) \tabularnewline
Month & 1--12 \tabularnewline
DayOfMonth & 1--31 \tabularnewline
DayOfWeek & 1--7 (1 = Sun, 2 = Mon, \ldots) \tabularnewline
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3385,7 +3385,7 @@ \subsubsection{Inputs}

\paragraph{Field: G-Function Reference Ratio}\label{field-g-function-reference-ratio}

The G-Functions may be formulated slightly differently based on the program which generated them. The original g-functions as defined by Eskilson are based on an borehole radius to active length ratio of 0.0005. If the physical ratio is different from this, a correction must be applied. EnergyPlus will apply the correction, based on the reference ratio entered in this field. Therefore, therefore two possible input configurations.
The G-Functions may be formulated slightly differently based on the program which generated them. The original g-functions as defined by Eskilson are based on an borehole radius to active length ratio of 0.0005. If the physical ratio is different from this, a correction must be applied. EnergyPlus will apply the correction, based on the reference ratio entered in this field. Therefore, there are two possible input configurations.

\begin{itemize}
\item
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3341,7 +3341,7 @@ \subsubsection{Surface Inside Face Conduction Heat Loss Rate {[}W{]}}\label{surf

These ``inside face conduction'' output variables describe heat flow by conduction right at the inside face of an opaque heat transfer surface. A positive value means that the conduction is from just inside the inside face toward the inside face. A negative value means that the conduction is from the inside face into the core of the heat transfer surface.

Note that Inside Face Conduction, when positive, does \textbf{not} indicate the heat flow from the surface to the zone air, which is governed by the inside face convection coefficient and the difference in temperature between the inside face and the zone air.
Note that Inside Face Conduction, when positive, does \textbf{not} necessarily indicate the heat flow from the surface to the zone air, which is governed by the inside face convection coefficient, the difference in temperature between the inside face and the zone air, and various radiation terms due to solar, internal gains, and radiant exchange with other surfaces in the zone.

Different versions of the reports are available. The basic heat gain rate (W) and a per unit area flux (W/m\(^{2}\)) can have positive or negative values with the sign convention that positive indicates heat flowing toward the face itself. There are also directed ``gain'' and ``loss'' versions that have only positive values or zero when the heat flow direction opposes.

Expand All @@ -3359,7 +3359,9 @@ \subsubsection{Surface Outside Face Conduction Heat Loss Rate {[}W{]}}\label{sur

These ``outside face conduction'' output variables describe heat flow by conduction right at the outside face of an opaque heat transfer surface. A positive value means that the conduction is from just inside the outside face toward the outside face. A negative value means that the conduction is from the outside face into the core of the heat transfer surface.

Note that outside face conduction, when positive, does \textbf{not} indicate the heat flow from the surface to the surrounding air, which is governed by the outside face convection coefficient and the difference in temperature between the inside face and the surrounding air.
Note that outside face conduction, when positive, does \textbf{not} necessarily indicate the heat flow from the surface to the surrounding air, due to the fact that there could be various terms such as convection and/or radiation terms based on whatever is the ''outside'' environment for this surface.

When the surface in question is a partition, the output for this variable is set to zero because there is no outside face because the surface is fully exposed to the zone. When the surface is an interzone partition, the value will be non-zero because there will potentially be conduction into or out of the zone on the other side at this surface.

Different versions of the reports are available. The basic heat transfer rate (W) and a per unit area flux (W/m\(^{2}\)) can have positive or negative values with the sign convention that positive indicates heat flowing toward the face itself. There are also directed ``gain'' and ``loss'' versions that have only positive values or zero when the heat flow direction opposes.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -443,7 +443,7 @@ \subsubsection{Outputs}\label{outputs-040}
\item
HVAC,Average,Water Heater Total Demand Heat Transfer Rate {[}W{]}
\item
HVAC,Sum,Water Heater Total Demand Energy {[}J{]}
HVAC,Sum,Water Heater Total Demand Heat Transfer Energy {[}J{]}
\item
HVAC,Average,Water Heater Heating Rate {[}W{]}
\item
Expand Down Expand Up @@ -562,7 +562,7 @@ \subsubsection{Outputs}\label{outputs-040}

The average heating rate demanded to maintain the setpoint temperature.

\paragraph{Water Heater Total Demand Energy {[}J{]}}\label{water-heater-total-demand-energy-j}
\paragraph{Water Heater Total Demand Heat Transfer Energy {[}J{]}}\label{water-heater-total-demand-heat-transfer-energy-j}

The heating energy demanded to maintain the setpoint temperature.

Expand Down
28 changes: 25 additions & 3 deletions doc/input-output-reference/src/overview/group-zone-equipment.tex
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,9 @@ \subsection{ZoneHVAC:AirDistributionUnit}\label{zonehvacairdistributionunit}
\item
\hyperref[airterminaldualductvavoutdoorair]{AirTerminal:DualDuct:VAV:OutdoorAir}
\item
\hyperref[airterminalsingleductconstantvolumereheat]{AirTerminal:SingleDuct:ConstantVolume:Reheat}
\hyperref[airterminalsingleductconstantvolumereheat]{AirTerminal:SingleDuct:ConstantVolume:Reheat}
\item
\hyperref[airterminalsingleductconstantvolumenoreheat]{AirTerminal:SingleDuct:ConstantVolume:NoReheat}
\item
\hyperref[airterminalsingleductvavreheat]{AirTerminal:SingleDuct:VAV:Reheat}
\item
Expand All @@ -68,6 +70,8 @@ \subsection{ZoneHVAC:AirDistributionUnit}\label{zonehvacairdistributionunit}
\hyperref[airterminalsingleductparallelpiureheat]{AirTerminal:SingleDuct:ParallelPIU:Reheat}
\item
\hyperref[airterminalsingleductconstantvolumefourpipeinduction]{AirTerminal:SingleDuct:ConstantVolume:FourPipeInduction}
\item
\hyperref[airterminalsingleductconstantvolumefourpipebeam]{AirTerminal:SingleDuct:ConstantVolume:FourPipeBeam}
\item
\hyperref[airterminalsingleductvavreheatvariablespeedfan]{AirTerminal:SingleDuct:VAV:Reheat:VariableSpeedFan}
\item
Expand All @@ -85,7 +89,25 @@ \subsection{ZoneHVAC:AirDistributionUnit}\label{zonehvacairdistributionunit}

Connections between the air distribution unit, the supply air duct, and the zone are specified in the input syntax for the air distribution unit and the \hyperref[airloophvaczonesplitter]{AirLoopHVAC:ZoneSplitter}. The input syntax also explicitly defines an outlet identifier. This implies a connection to a zone through a \hyperref[nodelist]{NodeList} for zone inlets (see the \hyperref[zonehvacequipmentconnections]{ZoneHVAC:EquipmentConnections} statement). Each air distribution unit is essentially a combined component-controller. Since controls are normally based on the zone thermostat, they can work in parallel or series in complex fashion. Each air distribution unit operates to meet all or part of the remaining thermostat load as specified in \hyperref[zonehvacequipmentlist]{ZoneHVAC:EquipmentList}.

The Air Distribution unit also allows the user to specify leaks in the supply air duct system. These inputs are used in the EnergyPlus Simplified Duct Leakage Model (SDLM). This model simulates a specific configuration: supply leaks to a return plenum in a commercial VAV or CV system. The system must have a constant static pressure setpoint. Within these limitations SDLM allows the user to easily evaluate the energy penalty due to duct leakage.
The Air Distribution unit also allows the user to specify leaks in the supply air duct system. These inputs are used in the EnergyPlus Simplified Duct Leakage Model (SDLM). This model simulates a specific configuration: supply leaks to a return plenum in a commercial VAV or CV system. The VAV system must have a constant static pressure setpoint, and a constant upstream air leakage flow rate is calculated using the upstream leakage fraction and design flow rate of the VAV box. For the CV system, a proportional leakage amount is calculated using the upstream leakage fraction and the maximum available air flow rate of the air terminal box. The downstream leakages are always calculated as a fraction of the current flow rate through the air terminal. Within these limitations SDLM allows the user to easily evaluate the energy penalty due to duct leakage.

The Simplified Duct Leakage Model (SDLM) is currently supported for the following air terminals:

\begin{itemize}
\item
\hyperref[airterminalsingleductvavreheat]{AirTerminal:SingleDuct:VAV:Reheat}
\item
\hyperref[airterminalsingleductvavnoreheat]{AirTerminal:SingleDuct:VAV:NoReheat}
\item
\hyperref[airterminalsingleductvavheatandcoolreheat]{AirTerminal:SingleDuct:VAV:HeatAndCool:Reheat}
\item
\hyperref[airterminalsingleductvavheatandcoolnoreheat]{AirTerminal:SingleDuct:VAV:HeatAndCool:NoReheat}
\item
\hyperref[airterminalsingleductconstantvolumereheat]{AirTerminal:SingleDuct:ConstantVolume:Reheat}
\item
\hyperref[airterminalsingleductconstantvolumenoreheat]{AirTerminal:SingleDuct:ConstantVolume:NoReheat}

\end{itemize}

\subsubsection{Inputs}\label{inputs-055}

Expand All @@ -107,7 +129,7 @@ \subsubsection{Inputs}\label{inputs-055}

\paragraph{Field: Nominal Upstream Leakage Fraction}\label{field-nominal-upstream-leakage-fraction}

This is the leakage upstream of the terminal unit as a fraction of the design flow rate through the unit. It is the leakage fraction at the design flow rate. It is used to calculate a leakage flow rate which is then held constant while the system air flow varies. This input is optional; the default is zero.
This is the leakage upstream of the terminal unit as a fraction of the design flow rate or maximum available flow rate through the unit. It is the leakage fraction at the design flow rate for the VAV air terminal and at the current maximum available flow rate for the CV air terminals. For the VAV air terminal, it is used to calculate a leakage flow rate, which is then held constant while the system airflow varies. The calculated leakage rate for the CV air terminal proportionally varies with the current maximum available flow rate. This input is optional; the default is zero.

\paragraph{Field: Constant Downstream Leakage Fraction}\label{field-constant-downstream-leakage-fraction}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1406,15 +1406,15 @@ \subsubsection{Predefined Monthly Summary Reports}\label{predefined-monthly-summ
\begin{itemize}
\item
Water Heater Total Demand Energy (SumOrAverage)
Water Heater Total Demand Heat Transfer Energy (SumOrAverage)
\item
Water Heater Use Side Heat Transfer Energy (SumOrAverage)
\item
Water Heater Burner Heating Energy (SumOrAverage)
\item
Water Heater Gas Consumption (SumOrAverage)
\item
Water Heater Total Demand Energy (HoursNonZero)
Water Heater Total Demand Heat Transfer Energy (HoursNonZero)
\item
Water Heater Loss Demand Energy (SumOrAverage)
\item
Expand Down
3 changes: 2 additions & 1 deletion doc/readthedocs/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
sphinx-rtd-theme
sphinx>3
urllib3==1.26.15
Jinja2<3.1 # cannot import name 'environmentfilter' from 'jinja2'
urllib3==1.26.15
2 changes: 1 addition & 1 deletion doc/readthedocs/sphinx/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -134,7 +134,7 @@
# # OK, now we need to make sure the epJSON schema is generated so we can process it
# Since this will primarily just be run by readthedocs, I'm just going to re-run the schema generator
try:
check_call(['python3', 'scripts/dev/generate_epJSON_schema/generate_epJSON_schema.py', 'idd'], cwd=repo_root)
check_call(['python3', 'idd/schema/generate_epJSON_schema.py', 'idd'], cwd=repo_root)
except CalledProcessError as e:
raise Exception(f"Schema Generation failed! Exception string: {str(e)}") from None
except FileNotFoundError as e:
Expand Down
8 changes: 6 additions & 2 deletions idd/Energy+.idd.in
Original file line number Diff line number Diff line change
Expand Up @@ -100940,7 +100940,9 @@ LifeCycleCost:UsePriceEscalation,
\key ElectricitySurplusSold
\key ElectricityNet
\key NaturalGas
\key Steam
\key DistrictCooling
\key DistrictHeatingWater
\key DistrictHeatingSteam
\key Gasoline
\key Diesel
\key Coal
Expand Down Expand Up @@ -101028,7 +101030,9 @@ LifeCycleCost:UseAdjustment,
\key ElectricitySurplusSold
\key ElectricityNet
\key NaturalGas
\key Steam
\key DistrictCooling
\key DistrictHeatingWater
\key DistrictHeatingSteam
\key Gasoline
\key Diesel
\key Coal
Expand Down
14 changes: 10 additions & 4 deletions src/ConvertInputFormat/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -36,15 +36,15 @@ if(BUILD_TESTING)
configure_file(${IDF_FILE} "${TEST_DIR}/1ZoneUncontrolled.idf" COPYONLY)
configure_file(${IDF_FILE} "${TEST_DIR}/1.ZoneUncontrolled.idf" COPYONLY)

add_test(NAME ConvertInputFormat2.RegularFile_AbsolutePath
add_test(NAME ConvertInputFormat.RegularFile_AbsolutePath
COMMAND "${Python_EXECUTABLE}" "${PROJECT_SOURCE_DIR}/test_convert_input_format.py"
--convertinputformat-exe $<TARGET_FILE:ConvertInputFormat>
--out-dir "${TEST_DIR}/RegularFile_AbsolutePath"
--expected-filename 1ZoneUncontrolled.epJSON
--input-file "${TEST_DIR}/1ZoneUncontrolled.idf"
)

add_test(NAME ConvertInputFormat2.RegularFile_RelativePath
add_test(NAME ConvertInputFormat.RegularFile_RelativePath
COMMAND "${Python_EXECUTABLE}" "${PROJECT_SOURCE_DIR}/test_convert_input_format.py"
--convertinputformat-exe $<TARGET_FILE:ConvertInputFormat>
--out-dir "RegularFile_AbsolutePath"
Expand All @@ -53,20 +53,26 @@ if(BUILD_TESTING)
WORKING_DIRECTORY ${TEST_DIR}
)

add_test(NAME ConvertInputFormat2.ExtraDotFile_AbsolutePath
add_test(NAME ConvertInputFormat.ExtraDotFile_AbsolutePath
COMMAND "${Python_EXECUTABLE}" "${PROJECT_SOURCE_DIR}/test_convert_input_format.py"
--convertinputformat-exe $<TARGET_FILE:ConvertInputFormat>
--out-dir "${TEST_DIR}/ExtraDotFile_AbsolutePath"
--expected-filename 1.ZoneUncontrolled.epJSON
--input-file "${TEST_DIR}/1.ZoneUncontrolled.idf"
)

add_test(NAME ConvertInputFormat2.ExtraDotFile__RelativePath
add_test(NAME ConvertInputFormat.ExtraDotFile__RelativePath
COMMAND "${Python_EXECUTABLE}" "${PROJECT_SOURCE_DIR}/test_convert_input_format.py"
--convertinputformat-exe $<TARGET_FILE:ConvertInputFormat>
--out-dir "ExtraDotFile__RelativePath"
--expected-filename 1.ZoneUncontrolled.epJSON
--input-file "1.ZoneUncontrolled.idf"
WORKING_DIRECTORY ${TEST_DIR}
)

add_test(NAME ConvertInputFormat.DDYtoEPJSON
COMMAND ConvertInputFormat --output "${TEST_DIR}/DDY" --format epJSON "${PROJECT_SOURCE_DIR}/../../weather/USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.ddy"
)
set_tests_properties(ConvertInputFormat.DDYtoEPJSON PROPERTIES FAIL_REGULAR_EXPRESSION "ERROR;Input file conversion failed")

endif()
Loading

5 comments on commit fa5fe5c

@nrel-bot
Copy link

Choose a reason for hiding this comment

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

10102-inconsistent-water-flow-rates-in-swimmingpoolindoor (RKStrand) - Win64-Windows-10-VisualStudio-16: Build Failed

Failures:\n

API Test Summary

  • Failed: 10
  • notrun: 5

ConvertInputFormat Test Summary

  • Failed: 4
  • notrun: 1

integration Test Summary

  • Passed: 2
  • Failed: 786

Build Badge Test Badge

@nrel-bot-3
Copy link

Choose a reason for hiding this comment

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

10102-inconsistent-water-flow-rates-in-swimmingpoolindoor (RKStrand) - x86_64-MacOS-10.17-clang-14.0.0: OK (3524 of 3526 tests passed, 1 test warnings)

Messages:\n

  • 2 tests had: EIO diffs.
  • 2 tests had: ESO big diffs.
  • 2 tests had: MTR small diffs.
  • 2 tests had: Table big diffs.
  • 1 test had: Table small diffs.

Failures:\n

regression Test Summary

  • Passed: 783
  • Failed: 2

Build Badge Test Badge

@nrel-bot-2
Copy link

Choose a reason for hiding this comment

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

10102-inconsistent-water-flow-rates-in-swimmingpoolindoor (RKStrand) - x86_64-Linux-Ubuntu-22.04-gcc-11.4: OK (3565 of 3567 tests passed, 0 test warnings)

Messages:\n

  • 2 tests had: EIO diffs.
  • 2 tests had: ESO big diffs.
  • 2 tests had: MTR small diffs.
  • 2 tests had: Table big diffs.

Failures:\n

regression Test Summary

  • Passed: 803
  • Failed: 2

Build Badge Test Badge

@nrel-bot-2
Copy link

Choose a reason for hiding this comment

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

10102-inconsistent-water-flow-rates-in-swimmingpoolindoor (RKStrand) - x86_64-Linux-Ubuntu-22.04-gcc-11.4-UnitTestsCoverage-Debug: OK (1954 of 1954 tests passed, 0 test warnings)

Build Badge Test Badge Coverage Badge

@nrel-bot-2b
Copy link

Choose a reason for hiding this comment

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

10102-inconsistent-water-flow-rates-in-swimmingpoolindoor (RKStrand) - x86_64-Linux-Ubuntu-22.04-gcc-11.4-IntegrationCoverage-Debug: OK (789 of 789 tests passed, 0 test warnings)

Build Badge Test Badge Coverage Badge

Please sign in to comment.