Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adopt the Extended Heat Index calculation in zone resilience #10548

Merged
merged 37 commits into from
Sep 11, 2024
Merged
Show file tree
Hide file tree
Changes from 30 commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
2859666
Initial commit
Jun 5, 2024
4a878d9
add license info
Jun 5, 2024
b9bcd55
add extended HI as a new output for testing, will replace old
Jun 18, 2024
e63da1e
fix error in main function and a typo
Jun 18, 2024
715ce03
add unit test, change root solver algorithm type
Jun 18, 2024
9fd8b8e
separate out RH=0 test case in find_T, still has issue
Jun 26, 2024
e220820
Merge remote-tracking branch 'origin/develop' into extendedHI
Jun 26, 2024
a37e569
use extended HI to replace old HI, no new var created
Jul 2, 2024
d5681ec
add a test function to compare old and new HI
Jul 2, 2024
b396a09
minor: double to Real64
Jul 2, 2024
ab429d1
Add documentation
Jul 3, 2024
ec909ee
use constexpr for constants
Jul 3, 2024
6bad131
clang-format
Jul 3, 2024
4889461
Fix input variable unit of measure
Jul 3, 2024
5d5a76e
fix unit test
Jul 3, 2024
497bbc8
remove unused constants from the previous HI method
Jul 3, 2024
f9a444f
Merge remote-tracking branch 'origin/develop' into extendedHI
Jul 5, 2024
31e6b51
remove extended HI output (it replaces the old one)
Jul 8, 2024
b339fd8
modify latex escape char
Jul 9, 2024
ad65114
rename files with PascalCased names
Jul 9, 2024
7ce97e7
rename unit test file to PascalCased
Jul 9, 2024
21ae523
removing debugging print code
Jul 9, 2024
ba01af9
change namespace to PascalCased, add newline EOF
Jul 9, 2024
9abc1b9
remove string output of find_T
Jul 17, 2024
5e7e921
simplify find_eqvar, find_T, adjust precision of unit tests
Jul 21, 2024
7e15f98
fix enum format, clang-format, include filename
Jul 22, 2024
ce88b29
more clang-format
Jul 22, 2024
7f824c1
prevent creating a rootsolver object while saving old value
Jul 22, 2024
99fe16e
Merge remote-tracking branch 'origin/develop' into extendedHI
Jul 23, 2024
691618b
fix CMakeList unit test file name
Jul 24, 2024
17341b0
remove setting root solver root finding scheme to bisection
Aug 12, 2024
473e566
simplify find_eqvar to return name and value separately
Aug 12, 2024
d03e380
Revert "remove setting root solver root finding scheme to bisection"
Aug 14, 2024
2ad0d51
Revert "prevent creating a rootsolver object while saving old value"
Aug 14, 2024
076983f
Merge remote-tracking branch 'origin/develop' into extendedHI
Myoldmopar Aug 16, 2024
2c8acda
Merge remote-tracking branch 'origin/develop' into extendedHI
Myoldmopar Aug 21, 2024
5302783
Merge remote-tracking branch 'origin/develop' into extendedHI
Myoldmopar Sep 10, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -66,69 +66,17 @@ \subsubsection{Heat Index}\label{heat-index}
\end{tabular}
\end{table}

The computation of the heat index is a refinement of a result obtained by
Before version 24.2, the computation of the heat index is a refinement of a result obtained by
multiple regression analysis carried out by Lans P. Rothfusz and described in a
1990 National Weather Service (NWS) Technical Attachment (SR 90-23) [4-5]. The
calculation is based on degree Fahrenheit.
1990 National Weather Service (NWS) Technical Attachment (SR 90-23) [4-5].

The regression equation of Rothfusz is
\begin{equation} \label{eq:rm-1}
HI = c_1 + c_2T + c_3R + c_4TR + c_5T^2 + c_6R^2 + c_7T^2R + c_8TR^2 + c_9T^2R^2
\end{equation}

where

HI = heat index (expressed as an apparent temperature in degrees Fahrenheit),

T = ambient dry-bulb temperature (in degrees Fahrenheit),

R = relative humidity (percentage value between 0 and 100),

$c_1$ = -42.379,

$c_2$ = 2.04901523,

$c_3$ = 10.14333127,

$c_4$ = -0.22475541,

$c_5$ = -0.00683783,

$c_6$ = -0.05481717,

$c_7$ = 0.00122874,

$c_8$ = 0.00085282,

$c_9$ = -0.00000199.

If the RH is less than 13\% and the temperature is between 80 and \IP{112}{\fahrenheit}, then
the following adjustment is subtracted from HI:

\begin{equation} \label{eq:rm-2}
HI = (13 - R) / 4 * ((17 - |T - 95|) / 17)^{0.5}
\end{equation}

Otherwise, if the RH is greater than 85\% and the temperature is between 80 and
\IP{87}{\fahrenheit}, then the following adjustment is added to HI:

\begin{equation} \label{eq:rm-3}
HI = (R - 85) / 10 * (87 - T) / 5
\end{equation}

The Rothfusz regression is not appropriate when conditions of temperature and
humidity warrant a heat index value below about \IP{80}{\fahrenheit}. In those cases, a simpler
formula is applied to calculate values consistent with Steadman's results:

\begin{equation} \label{eq:rm-4}
HI = 0.5 * (T + 61.0 + (T - 68.0) * 1.2 + (R * 0.094))
\end{equation}

In practice, the simple formula is computed first based on the temperature and
humidity. If this heat index value is \IP{80}{\fahrenheit} or higher, the full regression
equation along with any adjustment as described above is applied. The Rothfusz
regression is not valid for extreme temperature and relative humidity conditions
beyond the range of data considered by Steadman.
Starting from version 24.2, the heat index calculation adopts the extended heat
index method developed by Lu \& Romps [17]. The previous heat index gives
unrealistic results for very hot and humid or very cold and dry conditions. The
extended index extends the domain of the heat index calculation to all
combinations of temperature and relative humidity and gives a more realistic heat
index for the extreme conditions. The implementation in EnergyPlus is based on
the released Python code by Lu and Romps [18].

The Heat Index Hours (accumulated hours for a space) and Heat Index
OccupantHours (accumulated hours for the sum of all occupants in a space) of
Expand Down Expand Up @@ -516,3 +464,11 @@ \subsection{References}

{[}16{]} ACGIH, Threshold Limit Values (TLVs) and Biological Exposure Indices
(BEIs), 2012. doi:10.1073/pnas.0703993104.

{[}17{]} Lu, Yi-Chuan, and David M. Romps. ``Extending the heat index''. Journal
of Applied Meteorology and Climatology 61, no. 10 (2022): 1367-1383.
doi:10.1073/pnas.0703993104.

{[}18{]} Lu, Yi-Chuan, and David M. Romps. ``Lu and Romps, Extending the heat index, JAMC, 2022'',
Physics of Climate, February 23, 2023.
https://romps.berkeley.edu/papers/pubs-2020-heatindex.html.
2 changes: 2 additions & 0 deletions src/EnergyPlus/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -262,6 +262,8 @@ set(SRC
EvaporativeFluidCoolers.hh
ExhaustAirSystemManager.cc
ExhaustAirSystemManager.hh
ExtendedHI.cc
ExtendedHI.hh
ExteriorEnergyUse.cc
ExteriorEnergyUse.hh
ExternalInterface.cc
Expand Down
Loading
Loading