Skip to content

Commit

Permalink
Merge pull request #10411 from NREL/WheelFixes
Browse files Browse the repository at this point in the history
More IO Freeze Fixes
  • Loading branch information
Myoldmopar authored Feb 23, 2024
2 parents 3a22bbb + d5b2d77 commit 69e977a
Show file tree
Hide file tree
Showing 12 changed files with 187 additions and 29 deletions.
20 changes: 19 additions & 1 deletion .github/workflows/mac_release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ on:
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
BUILD_TYPE: Release
FC: gfortran-11
FC: gfortran-13
SDKROOT: /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk
Python_REQUIRED_VERSION: 3.8

Expand Down Expand Up @@ -65,6 +65,9 @@ jobs:
# The MACOSX_DEPLOYMENT_TARGET environment variable sets the default value for the CMAKE_OSX_DEPLOYMENT_TARGET variable.
# We use cmake commands to build some subprojects, so setting it globally
echo MACOSX_DEPLOYMENT_TARGET=${{ matrix.macos_dev_target }} >> $GITHUB_ENV
echo "Installing gcc@13 for gfortran support of -static-libquadmath"
brew list gcc@13 || brew install gcc@13
which gfortran-13 || echo "FC=$(brew --prefix gcc@13)/bin/gfortran-13" >> $GITHUB_ENV
- name: Create Build Directory
run: cmake -E make_directory ./build/
Expand All @@ -79,13 +82,28 @@ jobs:
-DPython_ROOT_DIR:PATH=$RUNNER_TOOL_CACHE/Python/${{ steps.setup-python.outputs.python-version }}/x64/ \
-DBUILD_FORTRAN:BOOL=ON -DBUILD_PACKAGE:BOOL=ON \
-DDOCUMENTATION_BUILD:STRING="BuildWithAll" -DTEX_INTERACTION:STRING="batchmode" \
-DENABLE_OPENMP:BOOL=OFF -DUSE_OpenMP:BOOL=OFF \
../
- name: Build Package
working-directory: ./build
shell: bash
run: cmake --build . --target package -j 3

- name: otool the exes and libs
shell: bash
working-directory: ./build
run: |
set -x
cd _CPack_Packages/Darwin/TGZ/EnergyPlus*/
otool -L ExpandObjects || true
otool -L ConvertInputFormat || true
otool -L energyplus || true
otool -L libenergyplusapi.dylib || true
otool -L PreProcess/IDFVersionUpdater/Transition-V23-1-0-to-V23-2-0 || true
otool -L PostProcess/ReadVarsESO || true
otool -L PostProcess/HVAC-Diagram || true
- name: Upload Tarball to release
uses: svenstaro/upload-release-action@v2
with:
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,7 @@ cmake-build-*
build-wheel/
dist/
energyplus.egg-info
wheelhouse/

# App-specific project files, for example, for Geany IDE:
*.geany
Expand Down
13 changes: 11 additions & 2 deletions .readthedocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,18 @@ version: 2

sphinx:
configuration: doc/readthedocs/sphinx/conf.py
builder: html

build:
os: ubuntu-22.04
tools:
python: "3.11"
apt_packages:
- doxygen

# read the docs image build already includes sphinx-rtd-theme, so this isn't needed
# however, keeping it here and running it on RTD is a near zero cost operation and makes sure the requirements are ok
python:
install:
- requirements: doc/readthedocs/requirements.txt

submodules:
exclude: all
2 changes: 2 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -349,6 +349,8 @@ if(BUILD_TESTING)
set_target_properties(TestAPI_Runtime_C PROPERTIES FOLDER Testing)
set_target_properties(TestAPI_Functional_C PROPERTIES FOLDER Testing)
set_target_properties(TestEnergyPlusCallbacks PROPERTIES FOLDER Testing)
set_target_properties(TestAPI_RuntimeDeleteState_C PROPERTIES FOLDER Testing)
set_target_properties(TestAPI_RuntimeResetState_C PROPERTIES FOLDER Testing)
endif()

add_subdirectory(src/ConvertInputFormat)
Expand Down
1 change: 1 addition & 0 deletions cmake/Install.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -237,6 +237,7 @@ install(CODE "execute_process(COMMAND \"${Python_EXECUTABLE}\" \"${PROJECT_SOURC
install(FILES "${DOCS_OUT}/ExampleFiles-ObjectsLink.html" DESTINATION "./ExampleFiles/" COMPONENT ExampleFiles)

option(BUILD_CHANGELOG "Build a changelog for this package -- requires GITHUB_TOKEN in environment" OFF)
mark_as_advanced(FORCE BUILD_CHANGELOG)
if(BUILD_CHANGELOG)
# build the change log, only if we do have a github token in the environment
# Watch out! GITHUB_TOKEN could go out of scope by the time install target is run.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,19 +33,18 @@ \subsection{Energy Balance of Indoor Living Wall}\label{energy-balance-of-indoor
Indoor air heat balance connects with indoor living walls through convective heat transfer, which has the opposite sign of the term in surface heat balance. Convective portion of heat gain from LED lights also contributes to zone air heat balance equation.

\begin{equation}
\begin{array}{l}{\rho_{air}}{V_z}{c_p}{dT_z}/{dt} = \sum\limits_{i = 1}^{{N_{sl}}} {\dot Q_i^{}} + \sum\limits_{i = 1}^{{N_{surfaces}}} {{h_i}} {A_i} ({{T_{si}} - {T_z}}) + {{h_ip}}{A_ip}({{T_{p}} - {T_z}})\\ + \sum\limits_{i = 1}^{{N_{zones}}} {{{\dot m}_i}} {C_p}{{T_{zi}} - {T_z}} + {\dot m_{\inf }}{C_p}( {{T_\infty } - {T_z}}) +{\dot Q_{sys}}\right)\end{array}
\begin{array}{l}{\rho_{air}}{V_z}{c_p}{dT_z}/{dt} = \sum\limits_{i = 1}^{{N_{sl}}} {\dot Q_i^{}} + \sum\limits_{i = 1}^{{N_{surfaces}}} {{h_i}} {A_i} ({{T_{si}} - {T_z}}) + {{h_ip}}{A_ip}({{T_{p}} - {T_z}})\\ + \sum\limits_{i = 1}^{{N_{zones}}} {{{\dot m}_i}} {C_p}{{T_{zi}} - {T_z}} + {\dot m_{\inf }}{C_p}( {{T_\infty } - {T_z}}) +{\dot Q_{sys}}\end{array}
\end{equation}

where:

\({\rho_{air}}{V_z}{c_p}\(dT_z}/{dt}\) represents energy stored in zone air during each timestep (W);
$\frac{\rho_{air} V_z c_p dT_z}{dt}$ represents energy stored in zone air during each timestep (W);

\({\rho_{air}}\) is zone air density (kg/m\(^3\));
$\rho_{air}$ is zone air density (kg/m\(^3\));

$c_p$ is the air specific heat (J/(kg\(^{\circ}\)C)) ;

\(c_p\) is the air specific heat (J/(kg\(^{\circ}\)C)) ;
\(V_z\) is zone air volume (m\(^3\));
$V_z$ is zone air volume (m$^3$);

\(\dot Q_i\) is the convective heat from internal loads (W);

Expand All @@ -62,7 +61,7 @@ \subsection{Energy Balance of Indoor Living Wall}\label{energy-balance-of-indoor
A modified zone air moisture balance equation shown below considers indoor living walls.

\begin{equation}
\begin{array}{l}{\rho_{air}}{V_z}{C_W}{\left( {\delta t} \right)^{ - 1}}\left( {W_z^t - W_z^{t - \delta t}} \right) = \sum\limits_{i = 1}^{{N_{sl}}} {k{g_{mas{s_{sched\;load}}}}} + kg_{mass_{et}} \\ + \sum\limits_{i = 1}^{{N_{surfaces}}} {{A_i}{h_{mi}}} {\rho_{ai{r_z}}}\left( {{W_{surf{s_i}}} - W_z^t} \right)+ \sum\limits_{i = 1}^{{N_{zones}}} {{{\dot m}_i}} \left( {{W_{zi}} - W_z^t} \right) + {{\dot m}_{\inf }}\left( {{W_\infty } - W_z^t} \right) + {{\dot m}_{sys}}\left( {{W_{\sup }} - W_z^t} \right)\end{array}
\begin{array}{l} \frac{\rho_{air} V_z C_W}{\delta t} \left( {W_z^t - W_z^{t - \delta t}} \right) = \sum\limits_{i = 1}^{{N_{sl}}} {kg_{mass_{sched\;load}}} + kg_{mass_{et}} \\ + \sum\limits_{i = 1}^{{N_{surfaces}}} {{A_i}{h_{mi}}} {\rho_{ai{r_z}}}\left( {{W_{surf{s_i}}} - W_z^t} \right)+ \sum\limits_{i = 1}^{{N_{zones}}} {{{\dot m}_i}} \left( {{W_{zi}} - W_z^t} \right) + {{\dot m}_{\inf }}\left( {{W_\infty } - W_z^t} \right) + {{\dot m}_{sys}}\left( {{W_{\sup }} - W_z^t} \right)\end{array}
\end{equation}

where:
Expand All @@ -71,7 +70,7 @@ \subsection{Energy Balance of Indoor Living Wall}\label{energy-balance-of-indoor

\(W\) is the humidity ratio of moisture air (kg moisture/kg dry air);

\({\rho_{air}}{V_z}{C_W}{({\delta t})^{ - 1}})({W_z^t - W_z^{t - \delta t}}) \right)\) represents moisture stored in zone air during each timestep (kg/s);
$\frac{\rho_air V_z C_W}{\delta t} \left(W_z^t - W_z^{t-\delta t}\right)$ represents moisture stored in zone air during each timestep (kg/s);

\(kg_{mass_{et}}\) represents moisture rate from plant evapotranspiration added to zone air (kg/s);

Expand Down Expand Up @@ -115,7 +114,7 @@ \subsection{Evapotranspiration from indoor living wall}\label{evaporation-from-i

\(r_a\) represents aerodynamic resistance, which is the resistance to the flow of water vapor and sensible heat from the surface of the leaf to the surrounding air (s/m).

Empirical models of stomatal resistance such as the Jarvis and the Ball models require experimental data to generate submodel structure and fit the model coefficients. In this module, we used the surface and aerodynamic resistance models from Graamans et al. to calculate r_s and r_a.
Empirical models of stomatal resistance such as the Jarvis and the Ball models require experimental data to generate submodel structure and fit the model coefficients. In this module, we used the surface and aerodynamic resistance models from Graamans et al. to calculate $r_s$ and $r_a$.

\begin{equation}
r_s=60 \cdot (1500+I_n/C)/(200+I_n/C)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3291,11 +3291,11 @@ \subsubsection{Outputs}\label{outputs-14-002}
Zone,Average,Zone Baseboard Total Heating Rate {[}W{]}
\end{itemize}

\paragraph{Baseboard Electricity Rate {[}W{]}}\label{baseboard-electric-power-w}
\paragraph{Baseboard Electricity Rate {[}W{]}}\label{baseboard-electric-power-w-2}

This field is the electric power for the ZoneBaseboard:OutdoorTemperatureControlled object in Watts.

\paragraph{Baseboard Electricity Energy {[}J{]}}\label{baseboard-electric-energy-j}
\paragraph{Baseboard Electricity Energy {[}J{]}}\label{baseboard-electric-energy-j-2}

The outdoor temperature controlled baseboard heat option is assumed to be fueled by electricity. This field is the same as the Baseboard Total Heating Energy (above) in joules. This energy is included in the following meters:
\begin{lstlisting}
Expand All @@ -3311,47 +3311,47 @@ \subsubsection{Outputs}\label{outputs-14-002}
<End-Use Subcategory>:InteriorEquipment:Electricity:SpaceType:<Space Type Name>
\end{lstlisting}

\paragraph{Baseboard Radiant Heating Rate {[}W{]}}\label{baseboard-radiant-heating-rate-w}
\paragraph{Baseboard Radiant Heating Rate {[}W{]}}\label{baseboard-radiant-heating-rate-w-2a}

\paragraph{Baseboard Radiant Heating Energy {[}J{]}}\label{baseboard-radiant-heating-energy-j}
\paragraph{Baseboard Radiant Heating Energy {[}J{]}}\label{baseboard-radiant-heating-energy-j-2a}

These output variables are the amount of radiant heat gain for the Zone\-Baseboard:\-Outdoor\-Temperature\-Controlled object in Watts (for rate) or Joules. This is determined by the current heat gain from the heater to the zone and the ``Fraction Radiant'' specified in the input. The radiant gains (long wavelength) are distributed to the surfaces using an area weighting scheme.

\paragraph{Baseboard Convective Heating Rate {[}W{]}}\label{baseboard-convective-heating-rate-w}
\paragraph{Baseboard Convective Heating Rate {[}W{]}}\label{baseboard-convective-heating-rate-w-2a}

\paragraph{Baseboard Convective Heating Energy {[}J{]}}\label{baseboard-convective-heating-energy-j}
\paragraph{Baseboard Convective Heating Energy {[}J{]}}\label{baseboard-convective-heating-energy-j-2a}

These output variables are the amount of convective heat gain for the Zone\-Baseboard:\-Outdoor\-Temperature\-Controlled object in Watts (for rate) or Joules. This is determined by the current heat gain from the heater to the zone and the ``Fraction Radiant'' specified in input (1-FractionRadiant = FractionConvected). The convective heat gain is added to the zone air heat balance directly.

\paragraph{Baseboard Total Heating Rate {[}W{]}}\label{baseboard-total-heating-rate-w}
\paragraph{Baseboard Total Heating Rate {[}W{]}}\label{baseboard-total-heating-rate-w-2a}

\paragraph{Baseboard Total Heating Energy {[}J{]}}\label{baseboard-total-heating-energy-j}
\paragraph{Baseboard Total Heating Energy {[}J{]}}\label{baseboard-total-heating-energy-j-2a}

These output variables are the amount of heat gain for the Zone\-Baseboard:\-Outdoor\-Temperature\-Controlled object in Watts (for rate) or Joules. This is determined by the sum of the radiant and convective heat gains from the baseboard heat.

\paragraph{Space or Zone Baseboard Electricity Rate {[}W{]}}\label{zone-baseboard-electric-power-w}
\paragraph{Space or Zone Baseboard Electricity Rate {[}W{]}}\label{zone-baseboard-electric-power-w-2}

This field is the electric power for all Zone\-Baseboard:\-Outdoor\-Temperature\-Controlled objects within the space or zone in Watts.

\paragraph{Space or Zone Baseboard Electricity Energy {[}J{]}}\label{zone-baseboard-electric-energy-j}
\paragraph{Space or Zone Baseboard Electricity Energy {[}J{]}}\label{zone-baseboard-electric-energy-j-2}

The outdoor temperature controlled baseboard heat option is assumed to be fueled by electricity. This field is the same as the Baseboard Total Heating Energy (above) in joules.

\paragraph{Space or Zone Baseboard Radiant Heating Rate {[}W{]}}\label{zone-baseboard-radiant-heating-rate-w}
\paragraph{Space or Zone Baseboard Radiant Heating Rate {[}W{]}}\label{zone-baseboard-radiant-heating-rate-w-2}

\paragraph{Space or Zone Baseboard Radiant Heating Energy {[}J{]}}\label{zone-baseboard-radiant-heating-energy-j}
\paragraph{Space or Zone Baseboard Radiant Heating Energy {[}J{]}}\label{zone-baseboard-radiant-heating-energy-j-2}

These output variables are the amount of radiant heat gain for all Zone\-Baseboard:\-Outdoor\-Temperature\-Controlled objects within the space or zone in Watts (for rate) or Joules. This is determined by the current heat gain from the heater to the space or zone and the ``Fraction Radiant'' specified in the input. The radiant gains (long wavelength) are distributed to the surfaces using an area weighting scheme.

\paragraph{Space or Zone Baseboard Convective Heating Rate {[}W{]}}\label{zone-baseboard-convective-heating-rate-w}
\paragraph{Space or Zone Baseboard Convective Heating Rate {[}W{]}}\label{zone-baseboard-convective-heating-rate-w-2}

\paragraph{Space or Zone Baseboard Convective Heating Energy {[}J{]}}\label{zone-baseboard-convective-heating-energy-j}
\paragraph{Space or Zone Baseboard Convective Heating Energy {[}J{]}}\label{zone-baseboard-convective-heating-energy-j-2}

These output variables are the amount of convective heat gain for all Zone\-Baseboard:\-Outdoor\-Temperature\-Controlled objects within the space or zone in Watts (for rate) or Joules. This is determined by the current heat gain from the heater to the space or zone and the ``Fraction Radiant'' specified in input (1-FractionRadiant = FractionConvected). The convective heat gain is added to the space or zone air heat balance directly.

\paragraph{Space or Zone Baseboard Total Heating Rate {[}W{]}}\label{zone-baseboard-total-heating-rate-w}
\paragraph{Space or Zone Baseboard Total Heating Rate {[}W{]}}\label{zone-baseboard-total-heating-rate-w-2}

\paragraph{Space or Zone Baseboard Total Heating Energy {[}J{]}}\label{zone-baseboard-total-heating-energy-j}
\paragraph{Space or Zone Baseboard Total Heating Energy {[}J{]}}\label{zone-baseboard-total-heating-energy-j-2}

These output variables are the amount of heat gain for all Zone\-Baseboard:\-Outdoor\-Temperature\-Controlled objects within the space or zone in Watts (for rate) or Joules. This is determined by the sum of the radiant and convective heat gains from the baseboard heat.

Expand Down
2 changes: 2 additions & 0 deletions idd/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,8 @@ install(FILES "versions/V9-5-0-Energy+.idd" DESTINATION "PreProcess/IDFVersionUp
install(FILES "versions/V9-6-0-Energy+.idd" DESTINATION "PreProcess/IDFVersionUpdater")
install(FILES "versions/V22-1-0-Energy+.idd" DESTINATION "PreProcess/IDFVersionUpdater")
install(FILES "versions/V22-2-0-Energy+.idd" DESTINATION "PreProcess/IDFVersionUpdater")
install(FILES "versions/V23-1-0-Energy+.idd" DESTINATION "PreProcess/IDFVersionUpdater")
install(FILES "versions/V23-2-0-Energy+.idd" DESTINATION "PreProcess/IDFVersionUpdater")

# For fortran...
set(PREVIOUS_IDD "${CMAKE_CURRENT_SOURCE_DIR}/versions/V${PREV_RELEASE_MAJOR}-${PREV_RELEASE_MINOR}-${PREV_RELEASE_PATCH}-Energy+.idd")
Expand Down
Loading

5 comments on commit 69e977a

@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.

develop (Myoldmopar) - x86_64-Linux-Ubuntu-22.04-gcc-11.4: OK (2788 of 2788 tests passed, 0 test warnings)

Build Badge Test Badge

@nrel-bot
Copy link

Choose a reason for hiding this comment

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

develop (Myoldmopar) - Win64-Windows-10-VisualStudio-16: OK (2766 of 2766 tests passed, 0 test warnings)

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.

develop (Myoldmopar) - x86_64-MacOS-10.18-clang-15.0.0: OK (2766 of 2767 tests passed, 0 test warnings)

Build Badge Test 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.

develop (Myoldmopar) - x86_64-Linux-Ubuntu-22.04-gcc-11.4-UnitTestsCoverage-Debug: OK (1978 of 1978 tests passed, 0 test warnings)

Build Badge Test Badge Coverage Badge

@nrel-bot-2c
Copy link

Choose a reason for hiding this comment

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

develop (Myoldmopar) - x86_64-Linux-Ubuntu-22.04-gcc-11.4-IntegrationCoverage-Debug: OK (791 of 791 tests passed, 0 test warnings)

Build Badge Test Badge Coverage Badge

Please sign in to comment.