-
Notifications
You must be signed in to change notification settings - Fork 393
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
Indoor living wall module #10385
Indoor living wall module #10385
Conversation
…rGreen_T2b # Conflicts: # src/EnergyPlus/OutputProcessor.cc # src/EnergyPlus/OutputProcessor.hh
OK, I'm going to dig in, as I think this is one of maybe two PRs that are going to drop before we freeze I/O. If anyone else has thoughts on this, feel free to comment today. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Alright, so after looking it over, I think my biggest concern is how the actuated evapotranspiration is handled. I think we should be consistent with other actuated things in EnergyPlus, where we, by default, just use an internal calculation, and if the user is overriding the value with an actuator, just use that overridden value. I don't think we need the extra input to say it is specifically being actuated.
My second biggest concern was the use of "data-driven" around the input, docs, and code. But I think that will go away if we remove that extra input option.
@LipingWang thank you for this contribution! Even with the changes I've requested, you are like 98% of the way there. Let me know if you want to chat about my requests. And if you are totally out of time and unable to make any changes, we can discuss options there as well.
@mjwitte let me know if you disagree with any of my review comments!
\subsection{Indoor Living Wall}\label{indoor-living-wall} | ||
|
||
An actuator called ``IndoorLivingWall'' is available with a control type called ``ETCaldatadriven'' (in \unit{\kilo\gram\per\square\meter\per\second}). This allows you to set the evapotranspiration rates for each IndoorLivingWall object directly using EMS, Python PlugIns, or Python API. The unique identifier is the name of the IndoorLivingWall input object. | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not quite sure about the ETCaldatadriven
key. Is there something more clear we can use? "Evapotranspiration Rate"? This actuator is intended to be available for more than just a specific data driven function, right?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you! Update to ET Rate
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am going to change this to the full Evapotranspiration Rate for control type. One day EnergyPlus may be used for space-applications, and I don't want to confuse the acronym ET. OK, joking there, but really I think it's better to just spell out evapotranspiration here.
|
||
\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} | ||
\end{equation} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These feel....more complex than necessary. I can't tell exactly why, but these equations should be pretty simple looking, even in LaTeX. Don't worry about changing them for now.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please let me know if you have some suggestions on this. Thank you!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I pulled it and started tweaking it then realized I was distracting myself and snapped out of it. I'm leaving it :) The one thing I noticed quickly is that it says "kg_mass_schedload", and I'm not sure you need the word mass when it is on a kg variable. Anyway, leave it.
@@ -22668,7 +22670,76 @@ OtherEquipment, | |||
\type alpha | |||
\retaincase | |||
\default General | |||
|
|||
IndoorLivingWall, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we should have a blank line between objects in the IDD. I don't know that any of our parsers or dev/scripts rely on that, but it should be consistent anyway.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
added
\type real | ||
\minimum 0.0 | ||
\maximum 1.0 | ||
\default 0.6 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Blank line at the end of the object.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
updated
src/EnergyPlus/HVACManager.cc
Outdated
@@ -246,7 +247,8 @@ void ManageHVAC(EnergyPlusData &state) | |||
} | |||
} | |||
} | |||
|
|||
// LW to do check and test for the right position |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is fine, but you don't have to tag with LW. We have Git history to track who did what.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
removed this comment.
state.dataIPShortCut->cNumericFieldNames(1), | ||
state.dataIPShortCut->rNumericArgs(1))); | ||
ErrorsFound = true; | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is there a worker function you can reuse for these invalid field errors?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is there an existing function I can use or should I create a new function in utility? Thank you!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I may look into it with my final tweaks here, but it's fine for now.
src/EnergyPlus/IndoorGreen.cc
Outdated
} break; | ||
case ETCalculationMethod::DataDriven: { | ||
// set with EMS value if being called for. | ||
if (ig.EMSETCalOverrideOn) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
And actually -- you don't have to have a separate input option for actuated ET. You can just default to one of the built-in options, and if the user is overriding it with an actuator, just use the actuated value. This is what we do all over the code. We can discuss this more for sure.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It makes sense! I removed the input option for data-driven
ETRate = (1 / hfg) * (slopepat * (In - G) + (2 * LAI * rhoair * CpAir * ZoneVPD) / ra) / | ||
(slopepat + psyconst * (1 + rs / ra)); // Stanghellini ET model | ||
return ETRate; // mm/s; kg/(m2s) | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These two functions look too similar. I think you can collapse almost all of the contents into a single function and just have a switch to behave differently.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you! Combined into one function.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So both functions were identical?
{ | ||
new (this) IndoorGreenData(); | ||
} | ||
}; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍
thisindoorgreen.ETRate = | ||
IndoorGreen::ETStanghellini(*state, ZonePreTemp, ZonePreHum, thisindoorgreen.ZCO2, thisindoorgreen.ZPPFD, thisindoorgreen.ZVPD, LAI); | ||
EXPECT_EQ(thisindoorgreen.ETRate, 0.0); | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a fine set of unit tests, although coverage could be better. Your new test file IDF covers 54% of the code here, and your unit tests cover 28% -- although many of the missed lines are error conditions. You could consider whether to add some more cases to the unit tests here to cover more of the code, but it doesn't have to be a priority right now.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Updated the unit test. Please let me know if you have addtional test in mind I can add in. Thank you!
Thank you very much for your suggestion! Now override the ET rates through |
@LipingWang There's a failed unit test here. |
@LipingWang Fix added. I learned something new today. |
Thank you very much for the quick fix! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@LipingWang thanks for fixing things up! I've made a few comments, but I am going to go ahead and make those changes myself and get this wrapped up. If it goes smoothly, and I can get tests passing and happy, this should be ready to merge soon.
Do you have changes locally that I should wait for you to push before making any of my own?
\subsection{Indoor Living Wall}\label{indoor-living-wall} | ||
|
||
An actuator called ``IndoorLivingWall'' is available with a control type called ``ETCaldatadriven'' (in \unit{\kilo\gram\per\square\meter\per\second}). This allows you to set the evapotranspiration rates for each IndoorLivingWall object directly using EMS, Python PlugIns, or Python API. The unique identifier is the name of the IndoorLivingWall input object. | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am going to change this to the full Evapotranspiration Rate for control type. One day EnergyPlus may be used for space-applications, and I don't want to confuse the acronym ET. OK, joking there, but really I think it's better to just spell out evapotranspiration here.
|
||
\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} | ||
\end{equation} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I pulled it and started tweaking it then realized I was distracting myself and snapped out of it. I'm leaving it :) The one thing I noticed quickly is that it says "kg_mass_schedload", and I'm not sure you need the word mass when it is on a kg variable. Anyway, leave it.
ET=1/\lambda \cdot (\Delta \cdot(I_n-G)+(2 \cdot Cp LAI \cdot Cp \rho_a \cdot Cp \cdot VPD)/r_a )/(\Delta+\gamma \cdot (1+r_s/r_a ) ) | ||
\end{equation} | ||
|
||
Users can also define a customized ET model through Energy Management System (EMS) objects, Python PlugIns objects, and Python API with the indoor living wall model. Please refer the Application Guide for EMS. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I want to tweak this phrase a little.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you!
\object-list ScheduleNames | ||
\note units in Schedule should be fraction applied to design level of other equipment, generally (0.0 - 1.0) | ||
A4 , \field ET Calculation Method | ||
\note Model selection for caclulating evapotranspiration of indoor greenery system. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it might be worth a note here about the actuator.
state.dataIPShortCut->cNumericFieldNames(1), | ||
state.dataIPShortCut->rNumericArgs(1))); | ||
ErrorsFound = true; | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I may look into it with my final tweaks here, but it's fine for now.
src/EnergyPlus/IndoorGreen.cc
Outdated
ErrorsFound = true; | ||
} | ||
if (state.dataGlobal->AnyEnergyManagementSystemInModel) { | ||
SetupEMSActuator(state, "IndoorLivingWall", ig.Name, "ET Rate", "[kg_m2s]", ig.EMSETCalOverrideOn, ig.EMSET); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm changing the control type name here.
default: | ||
break; | ||
} | ||
if (ig.EMSETCalOverrideOn) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This should be done before the switch statement above, that way if the user is overriding the value, it won't waste calculation time. Also...what is happening here if you don't use EMS...is it failing?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Agreed that save time to move in front of switch statement. Run successfully with PenmanMonteith and Stanghellini methods.
ETRate = (1 / hfg) * (slopepat * (In - G) + (2 * LAI * rhoair * CpAir * ZoneVPD) / ra) / | ||
(slopepat + psyconst * (1 + rs / ra)); // Stanghellini ET model | ||
return ETRate; // mm/s; kg/(m2s) | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So both functions were identical?
Thank you very much for wrapping this up! No additional changes on my side. |
@Myoldmopar |
@LipingWang if you take a look at my last commit 8354df2, you'll see I:
Everything is building and testing happily for me now, so I plan on merging this unless anyone sees anything else. FYI @mjwitte @LipingWang |
@Myoldmopar Thank you very much! |
Decent isn't picking it up, but I'm getting it passing all green here, including no regressions. I am going to merge. Thanks @LipingWang. If we encounter any issues after I/O freeze, we can address things before 24.1 goes out next month. Thanks for fixing things and reviewing @mjwitte |
@Myoldmopar @mjwitte @amirroth @JasonGlazer Will do! Thank you so much for all the comments and support! |
@LipingWang I have addressed the IDF Editor issue here: Please take a look. |
\units umol_m2s | ||
\type real | ||
\ip-units umol_m2s |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I noticed it because OpenStudio's parser choked on it.
I find this units
confusing the way it's written, and inconsistent with the rest of units used throughout the IDD. We use stuff like W/(m3/s)
and W/(gal/min)
which is much clearer. I suggest changing it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I see this has been fixed via 4f36bf8 already by @JasonGlazer (probably due to IDF Editor)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I noticed it because OpenStudio's parser choked on it.
I find this
units
confusing the way it's written, and inconsistent with the rest of units used throughout the IDD. We use stuff likeW/(m3/s)
andW/(gal/min)
which is much clearer. I suggest changing it.
@jmarrec umol_m2s
is the unit for photosynthetic photon flux density (PPFD). It represents how many PAR photons are landing on a specific area. It is used for lighting intensity in indoor growing spaces.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@LipingWang we understand the intention of the units but we changed "umol_m2s" to "umol/m-s" to be consistent with the way other units are expressed in EnergyPlus IDD. I did this already as part of the IDF Editor changes #10414 which have already been merged.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
New Xetex warnings poped up due to this PR
This is XeTeX, Version 3.14159265-2.6-0.999991 (TeX Live 2019/Debian) (preloaded format=xelatex)
restricted \write18 enabled.
entering extended mode
engineering-reference Pass 3: TOC OK, Number of entries in TOC = 65
[ 92%][24/26] Running utility command for zPDF_EngineeringReference
[LATEXERROR::doc/engineering-reference/src/simulation-models-encyclopedic-reference-003/indoor-living-wall.tex:129::Undefined control sequence.l.129 \(C\) is the conversion factor from \unit {\mega\watt\per\square\meter}... The control sequence at the end of the top line of your error message was never \def'ed. If you have misspelled it (e.g., `\hobx'), type `I' and the correct spelling (e.g., `I\hbox'). Otherwise just continue, and I'll forget about whatever was undefined.]
[LATEXERROR::doc/engineering-reference/src/simulation-models-encyclopedic-reference-003/indoor-living-wall.tex:None::Undefined control sequence.\mega ->\ERROR]
[LATEXERROR::doc/engineering-reference/src/simulation-models-encyclopedic-reference-003/indoor-living-wall.tex:None::Undefined control sequence.\watt ->\ERROR]
[LATEXERROR::doc/engineering-reference/src/simulation-models-encyclopedic-reference-003/indoor-living-wall.tex:None::Undefined control sequence.\per ->\ERROR]
[LATEXERROR::doc/engineering-reference/src/simulation-models-encyclopedic-reference-003/indoor-living-wall.tex:129::Missing $ inserted.<inserted text> $ l.129 ...n factor from \unit{\mega\watt\per\square \meter} to \unit{\micro\mo... I've inserted a begin-math/end-math symbol since I think you left one out. Proceed, with fingers crossed.]
[LATEXERROR::doc/engineering-reference/src/simulation-models-encyclopedic-reference-003/indoor-living-wall.tex:None::Undefined control sequence.\meter ->\ERROR]
[LATEXERROR::doc/engineering-reference/src/simulation-models-encyclopedic-reference-003/indoor-living-wall.tex:129::Extra }, or forgotten $.l.129 ...r from \unit{\mega\watt\per\square\meter} to \unit{\micro\mole\per\... I've deleted a group-closing symbol because it seems to be spurious, as in `$x}$'. But perhaps the } is legitimate and you forgot something else, as in `\hbox{$x}'. In such cases the way to recover is to insert both the forgotten and the deleted material, e.g., by typing `I$}'.]
[LATEXERROR::doc/engineering-reference/src/simulation-models-encyclopedic-reference-003/indoor-living-wall.tex:129::Undefined control sequence.l.129 ...nit{\mega\watt\per\square\meter} to \unit {\micro\mole\per\square\me... The control sequence at the end of the top line of your error message was never \def'ed. If you have misspelled it (e.g., `\hobx'), type `I' and the correct spelling (e.g., `I\hbox'). Otherwise just continue, and I'll forget about whatever was undefined.]
[LATEXERROR::doc/engineering-reference/src/simulation-models-encyclopedic-reference-003/indoor-living-wall.tex:None::Undefined control sequence.\micro ->\ERROR]
[LATEXERROR::doc/engineering-reference/src/simulation-models-encyclopedic-reference-003/indoor-living-wall.tex:None::Undefined control sequence.\mole ->\ERROR]
[LATEXERROR::doc/engineering-reference/src/simulation-models-encyclopedic-reference-003/indoor-living-wall.tex:None::Undefined control sequence.\per ->\ERROR]
[LATEXERROR::doc/engineering-reference/src/simulation-models-encyclopedic-reference-003/indoor-living-wall.tex:None::Undefined control sequence.\meter ->\ERROR]
[LATEXERROR::doc/engineering-reference/src/simulation-models-encyclopedic-reference-003/indoor-living-wall.tex:None::Undefined control sequence.\per ->\ERROR]
[LATEXERROR::doc/engineering-reference/src/simulation-models-encyclopedic-reference-003/indoor-living-wall.tex:None::Undefined control sequence.\second ->\ERROR]
[LATEXERROR::doc/engineering-reference/src/simulation-models-encyclopedic-reference-003/indoor-living-wall.tex:130::Missing $ inserted.<inserted text> $ l.130]
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am wondering if this is related to the Latex compiler. I am following the guide for "Building EnergyPlus" and using MiKTeX and the pdf seems Ok. I am happy to test this using different Latex if you like.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think I'm using a slightly older Xetex and siunits package than what CI is using (since the documentation workflows do not throw the same warnings)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[ 61%][16/26] Running utility command for zPDF_EMSApplicationGuide
[LATEXERROR::doc/ems-application-guide/src/ems-actuators/internal-gains-and-exterior-lights.tex:None::Undefined control sequence.\kilo ->\ERROR]
[LATEXERROR::doc/ems-application-guide/src/ems-actuators/internal-gains-and-exterior-lights.tex:None::Undefined control sequence.\gram ->\ERROR]
[LATEXERROR::doc/ems-application-guide/src/ems-actuators/internal-gains-and-exterior-lights.tex:None::Undefined control sequence.\per ->\ERROR]
[LATEXERROR::doc/ems-application-guide/src/ems-actuators/internal-gains-and-exterior-lights.tex:33::Missing $ inserted.<inserted text> $ l.33 ...ion Rate'' (in \unit{\kilo\gram\per\square \meter\per\second}). This ... I've inserted a begin-math/end-math symbol since I think you left one out. Proceed, with fingers crossed.]
[LATEXERROR::doc/ems-application-guide/src/ems-actuators/internal-gains-and-exterior-lights.tex:None::Undefined control sequence.\meter ->\ERROR]
[LATEXERROR::doc/ems-application-guide/src/ems-actuators/internal-gains-and-exterior-lights.tex:None::Undefined control sequence.\per ->\ERROR]
[LATEXERROR::doc/ems-application-guide/src/ems-actuators/internal-gains-and-exterior-lights.tex:None::Undefined control sequence.\second ->\ERROR]
[LATEXERROR::doc/ems-application-guide/src/ems-actuators/internal-gains-and-exterior-lights.tex:33::Extra }, or forgotten $.l.33 ...it{\kilo\gram\per\square\meter\per\second} ). This allows you to set ... I've deleted a group-closing symbol because it seems to be spurious, as in `$x}$'. But perhaps the } is legitimate and you forgot something else, as in `\hbox{$x}'. In such cases the way to recover is to insert both the forgotten and the deleted material, e.g., by typing `I$}'.]
[LATEXERROR::doc/ems-application-guide/src/ems-actuators/internal-gains-and-exterior-lights.tex:34::Missing $ inserted.<inserted text> $ l.34]
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[100%][26/26] Running utility command for zPDF_InputOutputReference
[LATEXERROR::doc/input-output-reference/src/overview/group-internal-gains-people-lights-other.tex:2383::Undefined control sequence.l.2383 ...flux density (PPFD) in the unit of \unit {\micro\mole\per\square\me... The control sequence at the end of the top line of your error message was never \def'ed. If you have misspelled it (e.g., `\hobx'), type `I' and the correct spelling (e.g., `I\hbox'). Otherwise just continue, and I'll forget about whatever was undefined.]
[LATEXERROR::doc/input-output-reference/src/overview/group-internal-gains-people-lights-other.tex:None::Undefined control sequence.\micro ->\ERROR]
[LATEXERROR::doc/input-output-reference/src/overview/group-internal-gains-people-lights-other.tex:None::Undefined control sequence.\mole ->\ERROR]
[LATEXERROR::doc/input-output-reference/src/overview/group-internal-gains-people-lights-other.tex:None::Undefined control sequence.\per ->\ERROR]
[LATEXERROR::doc/input-output-reference/src/overview/group-internal-gains-people-lights-other.tex:2383::Missing $ inserted.<inserted text> $ l.2383 ...the unit of \unit{\micro\mole\per\square \meter\per\second} for ind... I've inserted a begin-math/end-math symbol since I think you left one out. Proceed, with fingers crossed.]
[LATEXERROR::doc/input-output-reference/src/overview/group-internal-gains-people-lights-other.tex:None::Undefined control sequence.\meter ->\ERROR]
[LATEXERROR::doc/input-output-reference/src/overview/group-internal-gains-people-lights-other.tex:None::Undefined control sequence.\per ->\ERROR]
[LATEXERROR::doc/input-output-reference/src/overview/group-internal-gains-people-lights-other.tex:None::Undefined control sequence.\second ->\ERROR]
[LATEXERROR::doc/input-output-reference/src/overview/group-internal-gains-people-lights-other.tex:2383::Extra }, or forgotten $.l.2383 ...\micro\mole\per\square\meter\per\second} for indoor living wall sy... I've deleted a group-closing symbol because it seems to be spurious, as in `$x}$'. But perhaps the } is legitimate and you forgot something else, as in `\hbox{$x}'. In such cases the way to recover is to insert both the forgotten and the deleted material, e.g., by typing `I$}'.]
[LATEXERROR::doc/input-output-reference/src/overview/group-internal-gains-people-lights-other.tex:2384::Missing $ inserted.<inserted text> $ l.2384]
[LATEXERROR::doc/input-output-reference/src/overview/group-internal-gains-people-lights-other.tex:2387::Undefined control sequence.l.2387 ...e estimated one-sided leaf area {[}\unit {\square\meter}{]} of an i... The control sequence at the end of the top line of your error message was never \def'ed. If you have misspelled it (e.g., `\hobx'), type `I' and the correct spelling (e.g., `I\hbox'). Otherwise just continue, and I'll forget about whatever was undefined.]
[LATEXERROR::doc/input-output-reference/src/overview/group-internal-gains-people-lights-other.tex:2387::Missing $ inserted.<inserted text> $ l.2387 ...ted one-sided leaf area {[}\unit{\square \meter}{]} of an indoor li... I've inserted a begin-math/end-math symbol since I think you left one out. Proceed, with fingers crossed.]
[LATEXERROR::doc/input-output-reference/src/overview/group-internal-gains-people-lights-other.tex:None::Undefined control sequence.\meter ->\ERROR]
[LATEXERROR::doc/input-output-reference/src/overview/group-internal-gains-people-lights-other.tex:2387::Extra }, or forgotten $.l.2387 ...-sided leaf area {[}\unit{\square\meter} {]} of an indoor living wa... I've deleted a group-closing symbol because it seems to be spurious, as in `$x}$'. But perhaps the } is legitimate and you forgot something else, as in `\hbox{$x}'. In such cases the way to recover is to insert both the forgotten and the deleted material, e.g., by typing `I$}'.]
[LATEXERROR::doc/input-output-reference/src/overview/group-internal-gains-people-lights-other.tex:2388::Missing $ inserted.<inserted text> $ l.2388]
[LATEXERROR::doc/input-output-reference/src/overview/group-internal-gains-people-lights-other.tex:2391::Undefined control sequence.l.2391 ...ED grow light. PPFD is measured in \unit {\micro\mole\per\square\me... The control sequence at the end of the top line of your error message was never \def'ed. If you have misspelled it (e.g., `\hobx'), type `I' and the correct spelling (e.g., `I\hbox'). Otherwise just continue, and I'll forget about whatever was undefined.]
[LATEXERROR::doc/input-output-reference/src/overview/group-internal-gains-people-lights-other.tex:None::Undefined control sequence.\micro ->\ERROR]
[LATEXERROR::doc/input-output-reference/src/overview/group-internal-gains-people-lights-other.tex:None::Undefined control sequence.\mole ->\ERROR]
[LATEXERROR::doc/input-output-reference/src/overview/group-internal-gains-people-lights-other.tex:None::Undefined control sequence.\per ->\ERROR]
[LATEXERROR::doc/input-output-reference/src/overview/group-internal-gains-people-lights-other.tex:2391::Missing $ inserted.<inserted text> $ l.2391 ...measured in \unit{\micro\mole\per\square \meter\per\second} which e... I've inserted a begin-math/end-math symbol since I think you left one out. Proceed, with fingers crossed.]
[LATEXERROR::doc/input-output-reference/src/overview/group-internal-gains-people-lights-other.tex:None::Undefined control sequence.\meter ->\ERROR]
[LATEXERROR::doc/input-output-reference/src/overview/group-internal-gains-people-lights-other.tex:None::Undefined control sequence.\per ->\ERROR]
[LATEXERROR::doc/input-output-reference/src/overview/group-internal-gains-people-lights-other.tex:None::Undefined control sequence.\second ->\ERROR]
[LATEXERROR::doc/input-output-reference/src/overview/group-internal-gains-people-lights-other.tex:2391::Extra }, or forgotten $.l.2391 ...\micro\mole\per\square\meter\per\second} which establishes exactly... I've deleted a group-closing symbol because it seems to be spurious, as in `$x}$'. But perhaps the } is legitimate and you forgot something else, as in `\hbox{$x}'. In such cases the way to recover is to insert both the forgotten and the deleted material, e.g., by typing `I$}'.]
[LATEXERROR::doc/input-output-reference/src/overview/group-internal-gains-people-lights-other.tex:2392::Missing $ inserted.<inserted text> $ l.2392]
[LATEXERROR::doc/input-output-reference/src/overview/group-internal-gains-people-lights-other.tex:2395::Undefined control sequence.l.2395 ...defines nominal total LED power {[}\unit {\W}{]} for an indoor livi... The control sequence at the end of the top line of your error message was never \def'ed. If you have misspelled it (e.g., `\hobx'), type `I' and the correct spelling (e.g., `I\hbox'). Otherwise just continue, and I'll forget about whatever was undefined.]
[LATEXERROR::doc/input-output-reference/src/overview/group-internal-gains-people-lights-other.tex:None::Undefined control sequence.\W ->\ERROR]
[LATEXERROR::doc/input-output-reference/src/overview/group-internal-gains-people-lights-other.tex:2432::Undefined control sequence.l.2432 ...ng Wall Evapotranspiration Rate {[}\unit {\kilo\gram\per\square\met... The control sequence at the end of the top line of your error message was never \def'ed. If you have misspelled it (e.g., `\hobx'), type `I' and the correct spelling (e.g., `I\hbox'). Otherwise just continue, and I'll forget about whatever was undefined.]
[LATEXERROR::doc/input-output-reference/src/overview/group-internal-gains-people-lights-other.tex:None::Undefined control sequence.\kilo ->\ERROR]
[LATEXERROR::doc/input-output-reference/src/overview/group-internal-gains-people-lights-other.tex:None::Undefined control sequence.\gram ->\ERROR]
[LATEXERROR::doc/input-output-reference/src/overview/group-internal-gains-people-lights-other.tex:None::Undefined control sequence.\per ->\ERROR]
[LATEXERROR::doc/input-output-reference/src/overview/group-internal-gains-people-lights-other.tex:2432::Missing $ inserted.<inserted text> $ l.2432 ...tion Rate {[}\unit{\kilo\gram\per\square \meter\per\second}{]} I've inserted a begin-math/end-math symbol since I think you left one out. Proceed, with fingers crossed.]
[LATEXERROR::doc/input-output-reference/src/overview/group-internal-gains-people-lights-other.tex:None::Undefined control sequence.\meter ->\ERROR]
[LATEXERROR::doc/input-output-reference/src/overview/group-internal-gains-people-lights-other.tex:None::Undefined control sequence.\per ->\ERROR]
[LATEXERROR::doc/input-output-reference/src/overview/group-internal-gains-people-lights-other.tex:None::Undefined control sequence.\second ->\ERROR]
[LATEXERROR::doc/input-output-reference/src/overview/group-internal-gains-people-lights-other.tex:2432::Extra }, or forgotten $.l.2432 ...{\kilo\gram\per\square\meter\per\second} {]} I've deleted a group-closing symbol because it seems to be spurious, as in `$x}$'. But perhaps the } is legitimate and you forgot something else, as in `\hbox{$x}'. In such cases the way to recover is to insert both the forgotten and the deleted material, e.g., by typing `I$}'.]
[LATEXERROR::doc/input-output-reference/src/overview/group-internal-gains-people-lights-other.tex:None::LaTeX Error: Command \item invalid in math mode.]
[LATEXERROR::doc/input-output-reference/src/overview/group-internal-gains-people-lights-other.tex:None::LaTeX Error: Something's wrong--perhaps a missing \item.]
[LATEXERROR::doc/input-output-reference/src/overview/group-internal-gains-people-lights-other.tex:None::LaTeX Error: Something's wrong--perhaps a missing \item.]
[LATEXERROR::doc/input-output-reference/src/overview/group-internal-gains-people-lights-other.tex:2434::Undefined control sequence.l.2434 ...vapotranspiration Per Unit Area {[}\unit {W/m^2}{]} The control sequence at the end of the top line of your error message was never \def'ed. If you have misspelled it (e.g., `\hobx'), type `I' and the correct spelling (e.g., `I\hbox'). Otherwise just continue, and I'll forget about whatever was undefined.]
[LATEXERROR::doc/input-output-reference/src/overview/group-internal-gains-people-lights-other.tex:None::LaTeX Error: Command \item invalid in math mode.]
[LATEXERROR::doc/input-output-reference/src/overview/group-internal-gains-people-lights-other.tex:2436::Missing $ inserted.<inserted text> $ l.2436 Z one,Average,Indoor Living Wall LED Operational PPFD {[}\unit{\micr... I've inserted a begin-math/end-math symbol since I think you left one out. Proceed, with fingers crossed.]
[LATEXERROR::doc/input-output-reference/src/overview/group-internal-gains-people-lights-other.tex:2436::Missing } inserted.<inserted text> } l.2436 Z one,Average,Indoor Living Wall LED Operational PPFD {[}\unit{\micr... I've inserted something that you may have forgotten. (See the <inserted text> above.) With luck, this will get me unwedged. But if you really didn't forget anything, try typing `2' now; then my insertion and my current dilemma will both disappear.]
[LATEXERROR::doc/input-output-reference/src/overview/group-internal-gains-people-lights-other.tex:2436::Undefined control sequence.l.2436 ...iving Wall LED Operational PPFD {[}\unit {\micro\mole\per\square\me... The control sequence at the end of the top line of your error message was never \def'ed. If you have misspelled it (e.g., `\hobx'), type `I' and the correct spelling (e.g., `I\hbox'). Otherwise just continue, and I'll forget about whatever was undefined.]
[LATEXERROR::doc/input-output-reference/src/overview/group-internal-gains-people-lights-other.tex:None::Undefined control sequence.\micro ->\ERROR]
[LATEXERROR::doc/input-output-reference/src/overview/group-internal-gains-people-lights-other.tex:None::Undefined control sequence.\mole ->\ERROR]
[LATEXERROR::doc/input-output-reference/src/overview/group-internal-gains-people-lights-other.tex:None::Undefined control sequence.\per ->\ERROR]
[LATEXERROR::doc/input-output-reference/src/overview/group-internal-gains-people-lights-other.tex:2436::Missing $ inserted.<inserted text> $ l.2436 ...nal PPFD {[}\unit{\micro\mole\per\square \meter\per\second}{]} I've inserted a begin-math/end-math symbol since I think you left one out. Proceed, with fingers crossed.]
[LATEXERROR::doc/input-output-reference/src/overview/group-internal-gains-people-lights-other.tex:None::Undefined control sequence.\meter ->\ERROR]
[LATEXERROR::doc/input-output-reference/src/overview/group-internal-gains-people-lights-other.tex:None::Undefined control sequence.\per ->\ERROR]
[LATEXERROR::doc/input-output-reference/src/overview/group-internal-gains-people-lights-other.tex:None::Undefined control sequence.\second ->\ERROR]
[LATEXERROR::doc/input-output-reference/src/overview/group-internal-gains-people-lights-other.tex:2436::Extra }, or forgotten $.l.2436 ...\micro\mole\per\square\meter\per\second} {]} I've deleted a group-closing symbol because it seems to be spurious, as in `$x}$'. But perhaps the } is legitimate and you forgot something else, as in `\hbox{$x}'. In such cases the way to recover is to insert both the forgotten and the deleted material, e.g., by typing `I$}'.]
[LATEXERROR::doc/input-output-reference/src/overview/group-internal-gains-people-lights-other.tex:None::LaTeX Error: Command \item invalid in math mode.]
[LATEXERROR::doc/input-output-reference/src/overview/group-internal-gains-people-lights-other.tex:None::LaTeX Error: Something's wrong--perhaps a missing \item.]
[LATEXERROR::doc/input-output-reference/src/overview/group-internal-gains-people-lights-other.tex:None::LaTeX Error: Something's wrong--perhaps a missing \item.]
[LATEXERROR::doc/input-output-reference/src/overview/group-internal-gains-people-lights-other.tex:2438::Undefined control sequence.l.2438 ...Average,Indoor Living Wall PPFD {[}\unit {\micro\mole\per\square\me... The control sequence at the end of the top line of your error message was never \def'ed. If you have misspelled it (e.g., `\hobx'), type `I' and the correct spelling (e.g., `I\hbox'). Otherwise just continue, and I'll forget about whatever was undefined.]
[LATEXERROR::doc/input-output-reference/src/overview/group-internal-gains-people-lights-other.tex:None::Undefined control sequence.\micro ->\ERROR]
[LATEXERROR::doc/input-output-reference/src/overview/group-internal-gains-people-lights-other.tex:None::Undefined control sequence.\mole ->\ERROR]
[LATEXERROR::doc/input-output-reference/src/overview/group-internal-gains-people-lights-other.tex:None::Undefined control sequence.\per ->\ERROR]
[LATEXERROR::doc/input-output-reference/src/overview/group-internal-gains-people-lights-other.tex:None::Undefined control sequence.\meter ->\ERROR]
[LATEXERROR::doc/input-output-reference/src/overview/group-internal-gains-people-lights-other.tex:None::Undefined control sequence.\per ->\ERROR]
[LATEXERROR::doc/input-output-reference/src/overview/group-internal-gains-people-lights-other.tex:None::Undefined control sequence.\second ->\ERROR]
[LATEXERROR::doc/input-output-reference/src/overview/group-internal-gains-people-lights-other.tex:None::LaTeX Error: Command \item invalid in math mode.]
[LATEXERROR::doc/input-output-reference/src/overview/group-internal-gains-people-lights-other.tex:2440::Missing $ inserted.<inserted text> $ l.2440 Z one,Average,Indoor Living Wall Vapor Pressure Deficit {[}Pa{]} I've inserted a begin-math/end-math symbol since I think you left one out. Proceed, with fingers crossed.]
[LATEXERROR::doc/input-output-reference/src/overview/group-internal-gains-people-lights-other.tex:2440::Missing } inserted.<inserted text> } l.2440 Z one,Average,Indoor Living Wall Vapor Pressure Deficit {[}Pa{]} I've inserted something that you may have forgotten. (See the <inserted text> above.) With luck, this will get me unwedged. But if you really didn't forget anything, try typing `2' now; then my insertion and my current dilemma will both disappear.
\(h_{ip}\) is the convective heat transfer coefficient(W/(m\(^2\)\(^{\circ}\)C)); | ||
|
||
\(T_z\) is the zone air temperature (\(^{\circ}\)C); | ||
|
||
\(T_p\) is the plant surface temperature (\(^{\circ}\)C); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Throughout the document, I question the use of Celsius versus Kelvin? I find reading rates in particular in x/C
(as opposed to x/K
) a bit weird. Is it a conscious choice?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Both zone air and plant surface temperatures are in Celsius (C)for the convective heat transfer. People may have different preferences although W/(m2C) and W/(m2K) are both correct. To be consistent, C is used throughout the description for this section.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@LipingWang when you look through the Engineering Reference, K is much more likely to be used than C in the denominator of units. It would be good to clean this up.
\paragraph{Baseboard Electricity Rate {[}W{]}}\label{baseboard-electric-power-w} | ||
|
||
This field is the electric power for the ZoneBaseboard:OutdoorTemperatureControlled object in Watts. | ||
|
||
\paragraph{Baseboard Electricity Energy {[}J{]}}\label{baseboard-electric-energy-j} | ||
|
||
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} | ||
Electricity:Facility | ||
Electricity:Building | ||
Electricity:Zone:<Zone Name> | ||
Electricity:SpaceType:<Space Type Name> | ||
InteriorEquipment:Electricity | ||
InteriorEquipment:Electricity:Zone:<Zone Name> | ||
InteriorEquipment:Electricity:SpaceType:<Space Type Name> | ||
<End-Use Subcategory>:InteriorEquipment:Electricity | ||
<End-Use Subcategory>:InteriorEquipment:Electricity:Zone:<Zone Name> | ||
<End-Use Subcategory>:InteriorEquipment:Electricity:SpaceType:<Space Type Name> | ||
\end{lstlisting} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Copy pasting
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you very much for catching this! This section should be removed. @Myoldmopar, I will update this by removing this redundant section from the input-output manual and submit a request.
Pull request overview
Indoor living walls provide natural cooling effects through plant evapotranspiration (ET) in the built environment and contribute to improving indoor environmental quality. The new module "IndoorLivingWall" simulates the thermal performance of indoor living wall systems. The module directly connects with the inside surface heat balance, zone air heat balance, and zone air moisture balance in EnergyPlus.
A series of tests have been conducted to illustrate the effects of indoor living walls on building cooling loads. The results shown in this pull request are for a south perimeter zone of a five zone building served by an ideal load system. A 30 m2 indoor living wall was placed 1.5 m away from the south window.
This figure shows the total cooling rate for the living wall scenario and the baseline on July 16. Total cooling rates were reduced by 9.0% on July 16 over 24 hours for the indoor living wall scenario.
This figure illustrates the daylighting and LED lighting intensity levels. Our targeted lighting intensity is 32.5 μmol/(m2·s). It can be observed that the LED operates as supplementary lights to daylighting based on the sensing data at a reference point.
Please refer to Engineering Reference for methodology and heat and mass balance equations.
NOTE: ENHANCEMENTS MUST FOLLOW A SUBMISSION PROCESS INCLUDING A FEATURE PROPOSAL AND DESIGN DOCUMENT PRIOR TO SUBMITTING CODE
Pull Request Author
Add to this list or remove from it as applicable. This is a simple templated set of guidelines.
Reviewer
This will not be exhaustively relevant to every PR.