Line data Source code
1 : // EnergyPlus, Copyright (c) 1996-2025, The Board of Trustees of the University of Illinois,
2 : // The Regents of the University of California, through Lawrence Berkeley National Laboratory
3 : // (subject to receipt of any required approvals from the U.S. Dept. of Energy), Oak Ridge
4 : // National Laboratory, managed by UT-Battelle, Alliance for Sustainable Energy, LLC, and other
5 : // contributors. All rights reserved.
6 : //
7 : // NOTICE: This Software was developed under funding from the U.S. Department of Energy and the
8 : // U.S. Government consequently retains certain rights. As such, the U.S. Government has been
9 : // granted for itself and others acting on its behalf a paid-up, nonexclusive, irrevocable,
10 : // worldwide license in the Software to reproduce, distribute copies to the public, prepare
11 : // derivative works, and perform publicly and display publicly, and to permit others to do so.
12 : //
13 : // Redistribution and use in source and binary forms, with or without modification, are permitted
14 : // provided that the following conditions are met:
15 : //
16 : // (1) Redistributions of source code must retain the above copyright notice, this list of
17 : // conditions and the following disclaimer.
18 : //
19 : // (2) Redistributions in binary form must reproduce the above copyright notice, this list of
20 : // conditions and the following disclaimer in the documentation and/or other materials
21 : // provided with the distribution.
22 : //
23 : // (3) Neither the name of the University of California, Lawrence Berkeley National Laboratory,
24 : // the University of Illinois, U.S. Dept. of Energy nor the names of its contributors may be
25 : // used to endorse or promote products derived from this software without specific prior
26 : // written permission.
27 : //
28 : // (4) Use of EnergyPlus(TM) Name. If Licensee (i) distributes the software in stand-alone form
29 : // without changes from the version obtained under this License, or (ii) Licensee makes a
30 : // reference solely to the software portion of its product, Licensee must refer to the
31 : // software as "EnergyPlus version X" software, where "X" is the version number Licensee
32 : // obtained under this License and may not use a different name for the software. Except as
33 : // specifically required in this Section (4), Licensee shall not use in a company name, a
34 : // product name, in advertising, publicity, or other promotional activities any name, trade
35 : // name, trademark, logo, or other designation of "EnergyPlus", "E+", "e+" or confusingly
36 : // similar designation, without the U.S. Department of Energy's prior written consent.
37 : //
38 : // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
39 : // IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
40 : // AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
41 : // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
42 : // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
43 : // SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
44 : // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
45 : // OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
46 : // POSSIBILITY OF SUCH DAMAGE.
47 :
48 : // ObjexxFCL Headers
49 : #include <ObjexxFCL/Array.functions.hh>
50 :
51 : // EnergyPlus Headers
52 : #include <EnergyPlus/Data/EnergyPlusData.hh>
53 : #include <EnergyPlus/OutputReportPredefined.hh>
54 :
55 : namespace EnergyPlus {
56 :
57 : namespace OutputReportPredefined {
58 :
59 : // MODULE INFORMATION:
60 : // AUTHOR Jason Glazer of GARD Analytics, Inc.
61 : // DATE WRITTEN August 2006
62 : // MODIFIED na
63 : // RE-ENGINEERED na
64 : // PURPOSE OF THIS MODULE:
65 : // Support the creation of predefined tabular output.
66 : // METHODOLOGY EMPLOYED:
67 : // REFERENCES:
68 : // None.
69 : // OTHER NOTES:.
70 : // Using/Aliasing
71 : // Data
72 : // The following section initializes the predefined column heading variables
73 : // The variables get their value in AssignPredefined
74 :
75 : // Internal data structures to store information provided by calls
76 :
77 232 : void SetPredefinedTables(EnergyPlusData &state)
78 : {
79 : // SUBROUTINE INFORMATION:
80 : // AUTHOR Jason Glazer
81 : // DATE WRITTEN August 2006
82 : // MODIFIED
83 : // RE-ENGINEERED na
84 :
85 : // PURPOSE OF THIS SUBROUTINE:
86 : // Creates the structure of the predefined reports
87 : // including the name and abbreviation of the report
88 : // the subtables involved and the column headings.
89 : // The variables defined for the columns are then
90 : // used throughout the program to assign values
91 : // to the subtables.
92 :
93 : // METHODOLOGY EMPLOYED:
94 : // Simple assignments to public variables.
95 :
96 : // Climate Summary Report
97 :
98 232 : auto const &s = state.dataOutRptPredefined;
99 :
100 232 : s->pdrClim = newPreDefReport(state, "ClimaticDataSummary", "Clim", "Climatic Data Summary");
101 :
102 232 : s->pdstDesDay = newPreDefSubTable(state, s->pdrClim, "SizingPeriod:DesignDay");
103 :
104 232 : s->pdchDDmaxDB = newPreDefColumn(state, s->pdstDesDay, "Maximum Dry Bulb [C]");
105 232 : s->pdchDDrange = newPreDefColumn(state, s->pdstDesDay, "Daily Temperature Range [deltaC]");
106 232 : s->pdchDDhumid = newPreDefColumn(state, s->pdstDesDay, "Humidity Value");
107 232 : s->pdchDDhumTyp = newPreDefColumn(state, s->pdstDesDay, "Humidity Type");
108 232 : s->pdchDDwindSp = newPreDefColumn(state, s->pdstDesDay, "Wind Speed [m/s]");
109 232 : s->pdchDDwindDr = newPreDefColumn(state, s->pdstDesDay, "Wind Direction");
110 :
111 232 : s->pdstMonthlyPrec = newPreDefSubTable(state, s->pdrClim, "Monthly Precipitation Summary");
112 :
113 232 : s->pdchMonthlyTotalPrecInWeather = newPreDefColumn(state, s->pdstMonthlyPrec, "Monthly Total Precipitation from .epw [mm]");
114 232 : s->pdchMonthlyTotalHrRain = newPreDefColumn(state, s->pdstMonthlyPrec, "Monthly Total Hours of Rain from .epw");
115 232 : s->pdchMonthlyTotalPrecInSitePrec = newPreDefColumn(state, s->pdstMonthlyPrec, "Monthly Total Precipitation in Site:Precipitation [mm]");
116 232 : s->pdchMonthlyTotalIrrDep = newPreDefColumn(state, s->pdstMonthlyPrec, "Monthly Total Roof Irrigation Depth [mm]");
117 232 : s->pdchMonthlyTotalRainCol = newPreDefColumn(state, s->pdstMonthlyPrec, "Monthly Total Rain Collection Volume [m3]");
118 :
119 232 : s->pdstWthr = newPreDefSubTable(state, s->pdrClim, "Weather Statistics File");
120 232 : s->pdchWthrVal = newPreDefColumn(state, s->pdstWthr, "Value");
121 :
122 : // Envelope Report
123 :
124 232 : s->pdrEnvelope = newPreDefReport(state, "EnvelopeSummary", "Env", "Envelope Summary");
125 :
126 232 : s->pdstOpaque = newPreDefSubTable(state, s->pdrEnvelope, "Opaque Exterior");
127 :
128 232 : s->pdchOpCons = newPreDefColumn(state, s->pdstOpaque, "Construction");
129 232 : s->pdchOpZone = newPreDefColumn(state, s->pdstOpaque, "Zone");
130 232 : s->pdchOpSpace = newPreDefColumn(state, s->pdstOpaque, "Space");
131 232 : s->pdchOpRefl = newPreDefColumn(state, s->pdstOpaque, "Reflectance");
132 232 : s->pdchOpUfactFilm = newPreDefColumn(state, s->pdstOpaque, "U-Factor with Film [W/m2-K]");
133 232 : s->pdchOpUfactNoFilm = newPreDefColumn(state, s->pdstOpaque, "U-Factor no Film [W/m2-K]");
134 232 : s->pdchOpGrArea = newPreDefColumn(state, s->pdstOpaque, "Gross Area [m2]");
135 232 : s->pdchOpNetArea = newPreDefColumn(state, s->pdstOpaque, "Net Area [m2]");
136 232 : s->pdchOpAzimuth = newPreDefColumn(state, s->pdstOpaque, "Azimuth [deg]");
137 232 : s->pdchOpTilt = newPreDefColumn(state, s->pdstOpaque, "Tilt [deg]");
138 232 : s->pdchOpDir = newPreDefColumn(state, s->pdstOpaque, "Cardinal Direction");
139 :
140 232 : s->pdstIntOpaque = newPreDefSubTable(state, s->pdrEnvelope, "Opaque Interior");
141 :
142 232 : s->pdchIntOpCons = newPreDefColumn(state, s->pdstIntOpaque, "Construction");
143 232 : s->pdchIntOpZone = newPreDefColumn(state, s->pdstIntOpaque, "Zone");
144 232 : s->pdchIntOpSpace = newPreDefColumn(state, s->pdstIntOpaque, "Space");
145 232 : s->pdchIntOpAdjSurf = newPreDefColumn(state, s->pdstIntOpaque, "Adjacent Surface");
146 232 : s->pdchIntOpRefl = newPreDefColumn(state, s->pdstIntOpaque, "Reflectance");
147 232 : s->pdchIntOpUfactFilm = newPreDefColumn(state, s->pdstIntOpaque, "U-Factor with Film [W/m2-K]");
148 232 : s->pdchIntOpUfactNoFilm = newPreDefColumn(state, s->pdstIntOpaque, "U-Factor no Film [W/m2-K]");
149 232 : s->pdchIntOpGrArea = newPreDefColumn(state, s->pdstIntOpaque, "Gross Area [m2]");
150 232 : s->pdchIntOpNetArea = newPreDefColumn(state, s->pdstIntOpaque, "Net Area [m2]");
151 232 : s->pdchIntOpAzimuth = newPreDefColumn(state, s->pdstIntOpaque, "Azimuth [deg]");
152 232 : s->pdchIntOpTilt = newPreDefColumn(state, s->pdstIntOpaque, "Tilt [deg]");
153 232 : s->pdchIntOpDir = newPreDefColumn(state, s->pdstIntOpaque, "Cardinal Direction");
154 :
155 232 : s->pdstFen = newPreDefSubTable(state, s->pdrEnvelope, "Exterior Fenestration");
156 :
157 232 : s->pdchFenCons = newPreDefColumn(state, s->pdstFen, "Construction");
158 232 : s->pdchFenZone = newPreDefColumn(state, s->pdstFen, "Zone");
159 232 : s->pdchFenSpace = newPreDefColumn(state, s->pdstFen, "Space");
160 232 : s->pdchFenFrameDivName = newPreDefColumn(state, s->pdstFen, "Frame and Divider");
161 232 : s->pdchFenGlassAreaOf1 = newPreDefColumn(state, s->pdstFen, "Glass Area [m2]");
162 232 : s->pdchFenFrameAreaOf1 = newPreDefColumn(state, s->pdstFen, "Frame Area [m2]");
163 232 : s->pdchFenDividerAreaOf1 = newPreDefColumn(state, s->pdstFen, "Divider Area [m2]");
164 232 : s->pdchFenAreaOf1 = newPreDefColumn(state, s->pdstFen, "Area of One Opening [m2]");
165 232 : s->pdchFenArea = newPreDefColumn(state, s->pdstFen, "Area of Multiplied Openings [m2]");
166 232 : s->pdchFenUfact = newPreDefColumn(state, s->pdstFen, "Glass U-Factor [W/m2-K]");
167 232 : s->pdchFenSHGC = newPreDefColumn(state, s->pdstFen, "Glass SHGC");
168 232 : s->pdchFenVisTr = newPreDefColumn(state, s->pdstFen, "Glass Visible Transmittance");
169 232 : s->pdchFenFrameConductance = newPreDefColumn(state, s->pdstFen, "Frame Conductance [W/m2-K]");
170 232 : s->pdchFenDividerConductance = newPreDefColumn(state, s->pdstFen, "Divider Conductance [W/m2-K]");
171 232 : s->pdchFenAssemNfrcType = newPreDefColumn(state, s->pdstFen, "NFRC Product Type");
172 232 : s->pdchFenAssemUfact = newPreDefColumn(state, s->pdstFen, "Assembly U-Factor [W/m2-K]");
173 232 : s->pdchFenAssemSHGC = newPreDefColumn(state, s->pdstFen, "Assembly SHGC");
174 232 : s->pdchFenAssemVisTr = newPreDefColumn(state, s->pdstFen, "Assembly Visible Transmittance");
175 232 : s->pdchFenSwitchable = newPreDefColumn(state, s->pdstFen, "Shade Control");
176 232 : s->pdchFenParent = newPreDefColumn(state, s->pdstFen, "Parent Surface");
177 232 : s->pdchFenAzimuth = newPreDefColumn(state, s->pdstFen, "Azimuth [deg]");
178 232 : s->pdchFenTilt = newPreDefColumn(state, s->pdstFen, "Tilt [deg]");
179 232 : s->pdchFenDir = newPreDefColumn(state, s->pdstFen, "Cardinal Direction");
180 :
181 232 : s->pdstFenShd = newPreDefSubTable(state, s->pdrEnvelope, "Exterior Fenestration Shaded State");
182 :
183 232 : s->pdchFenShdFrameDiv = newPreDefColumn(state, s->pdstFenShd, "Frame and Divider");
184 232 : s->pdchFenShdUfact = newPreDefColumn(state, s->pdstFenShd, "Glass U-Factor [W/m2-K]");
185 232 : s->pdchFenShdSHGC = newPreDefColumn(state, s->pdstFenShd, "Glass SHGC");
186 232 : s->pdchFenShdVisTr = newPreDefColumn(state, s->pdstFenShd, "Glass Visible Transmittance");
187 232 : s->pdchFenShdAssemNfrcType = newPreDefColumn(state, s->pdstFenShd, "NFRC Product Type");
188 232 : s->pdchFenShdAssemUfact = newPreDefColumn(state, s->pdstFenShd, "Assembly U-Factor [W/m2-K]");
189 232 : s->pdchFenShdAssemSHGC = newPreDefColumn(state, s->pdstFenShd, "Assembly SHGC");
190 232 : s->pdchFenShdAssemVisTr = newPreDefColumn(state, s->pdstFenShd, "Assembly Visible Transmittance");
191 :
192 232 : s->pdstIntFen = newPreDefSubTable(state, s->pdrEnvelope, "Interior Fenestration");
193 :
194 232 : s->pdchIntFenCons = newPreDefColumn(state, s->pdstIntFen, "Construction");
195 232 : s->pdchIntFenZone = newPreDefColumn(state, s->pdstIntFen, "Zone");
196 232 : s->pdchIntFenSpace = newPreDefColumn(state, s->pdstIntFen, "Space");
197 232 : s->pdchIntFenAreaOf1 = newPreDefColumn(state, s->pdstIntFen, "Area of One Opening [m2]");
198 232 : s->pdchIntFenArea = newPreDefColumn(state, s->pdstIntFen, "Area of Openings [m2]");
199 232 : s->pdchIntFenUfact = newPreDefColumn(state, s->pdstIntFen, "Glass U-Factor [W/m2-K]");
200 232 : s->pdchIntFenSHGC = newPreDefColumn(state, s->pdstIntFen, "Glass SHGC");
201 232 : s->pdchIntFenVisTr = newPreDefColumn(state, s->pdstIntFen, "Glass Visible Transmittance");
202 232 : s->pdchIntFenParent = newPreDefColumn(state, s->pdstIntFen, "Parent Surface");
203 : // s->pdchIntFenGlassAreaOf1 = newPreDefColumn(state, s->pdstIntFen,'Glass Area [m2]')
204 : // s->pdchIntFenFrameAreaOf1 = newPreDefColumn(state, s->pdstIntFen,'Frame Area [m2]')
205 : // s->pdchIntFenDividerAreaOf1 = newPreDefColumn(state, s->pdstIntFen,'Divider Area [m2]')
206 : // s->pdchIntFenFrameConductance = newPreDefColumn(state, s->pdstIntFen,'Frame Conductance [W/m2-K]')
207 : // s->pdchIntFenDividerConductance = newPreDefColumn(state, s->pdstIntFen,'Divider Conductance [W/m2-K]')
208 :
209 232 : s->pdstDoor = newPreDefSubTable(state, s->pdrEnvelope, "Exterior Door");
210 232 : s->pdchDrCons = newPreDefColumn(state, s->pdstDoor, "Construction");
211 232 : s->pdchDrZone = newPreDefColumn(state, s->pdstDoor, "Zone");
212 232 : s->pdchDrSpace = newPreDefColumn(state, s->pdstDoor, "Space");
213 232 : s->pdchDrUfactFilm = newPreDefColumn(state, s->pdstDoor, "U-Factor with Film [W/m2-K]");
214 232 : s->pdchDrUfactNoFilm = newPreDefColumn(state, s->pdstDoor, "U-Factor no Film [W/m2-K]");
215 232 : s->pdchDrGrArea = newPreDefColumn(state, s->pdstDoor, "Gross Area [m2]");
216 232 : s->pdchDrParent = newPreDefColumn(state, s->pdstDoor, "Parent Surface");
217 :
218 232 : s->pdstIntDoor = newPreDefSubTable(state, s->pdrEnvelope, "Interior Door");
219 :
220 232 : s->pdchIntDrCons = newPreDefColumn(state, s->pdstIntDoor, "Construction");
221 232 : s->pdchIntDrZone = newPreDefColumn(state, s->pdstIntDoor, "Zone");
222 232 : s->pdchIntDrSpace = newPreDefColumn(state, s->pdstIntDoor, "Space");
223 232 : s->pdchIntDrUfactFilm = newPreDefColumn(state, s->pdstIntDoor, "U-Factor with Film [W/m2-K]");
224 232 : s->pdchIntDrUfactNoFilm = newPreDefColumn(state, s->pdstIntDoor, "U-Factor no Film [W/m2-K]");
225 232 : s->pdchIntDrGrArea = newPreDefColumn(state, s->pdstIntDoor, "Gross Area [m2]");
226 232 : s->pdchIntDrParent = newPreDefColumn(state, s->pdstIntDoor, "Parent Surface");
227 :
228 232 : s->pdstOpqConsLayers = newPreDefSubTable(state, s->pdrEnvelope, "Opaque Construction Layers");
229 :
230 232 : s->pdchOpqConsLayCol.push_back(newPreDefColumn(state, s->pdstOpqConsLayers, "Layer 1"));
231 232 : s->pdchOpqConsLayCol.push_back(newPreDefColumn(state, s->pdstOpqConsLayers, "Layer 2"));
232 232 : s->pdchOpqConsLayCol.push_back(newPreDefColumn(state, s->pdstOpqConsLayers, "Layer 3"));
233 232 : s->pdchOpqConsLayCol.push_back(newPreDefColumn(state, s->pdstOpqConsLayers, "Layer 4"));
234 232 : s->pdchOpqConsLayCol.push_back(newPreDefColumn(state, s->pdstOpqConsLayers, "Layer 5"));
235 232 : s->pdchOpqConsLayCol.push_back(newPreDefColumn(state, s->pdstOpqConsLayers, "Layer 6"));
236 232 : s->pdchOpqConsLayCol.push_back(newPreDefColumn(state, s->pdstOpqConsLayers, "Layer 7"));
237 232 : s->pdchOpqConsLayCol.push_back(newPreDefColumn(state, s->pdstOpqConsLayers, "Layer 8"));
238 232 : s->pdchOpqConsLayCol.push_back(newPreDefColumn(state, s->pdstOpqConsLayers, "Layer 9"));
239 232 : s->pdchOpqConsLayCol.push_back(newPreDefColumn(state, s->pdstOpqConsLayers, "Layer 10"));
240 :
241 : // Shading Report
242 232 : s->pdrShading = newPreDefReport(state, "ShadingSummary", "Shade", "Shading Summary");
243 :
244 232 : s->pdstSunlitFrac = newPreDefSubTable(state, s->pdrShading, "Sunlit Fraction");
245 :
246 232 : s->pdchSlfMar21_9 = newPreDefColumn(state, s->pdstSunlitFrac, "March 21 9am");
247 232 : s->pdchSlfMar21_12 = newPreDefColumn(state, s->pdstSunlitFrac, "March 21 noon");
248 232 : s->pdchSlfMar21_15 = newPreDefColumn(state, s->pdstSunlitFrac, "March 21 3pm");
249 232 : s->pdchSlfJun21_9 = newPreDefColumn(state, s->pdstSunlitFrac, "June 21 9am");
250 232 : s->pdchSlfJun21_12 = newPreDefColumn(state, s->pdstSunlitFrac, "June 21 noon");
251 232 : s->pdchSlfJun21_15 = newPreDefColumn(state, s->pdstSunlitFrac, "June 21 3pm");
252 232 : s->pdchSlfDec21_9 = newPreDefColumn(state, s->pdstSunlitFrac, "December 21 9am");
253 232 : s->pdchSlfDec21_12 = newPreDefColumn(state, s->pdstSunlitFrac, "December 21 noon");
254 232 : s->pdchSlfDec21_15 = newPreDefColumn(state, s->pdstSunlitFrac, "December 21 3pm");
255 :
256 232 : s->pdstWindowControl = newPreDefSubTable(state, s->pdrShading, "Window Control");
257 :
258 232 : s->pdchWscName = newPreDefColumn(state, s->pdstWindowControl, "Name");
259 232 : s->pdchWscShading = newPreDefColumn(state, s->pdstWindowControl, "Type");
260 232 : s->pdchWscShadCons = newPreDefColumn(state, s->pdstWindowControl, "Shaded Construction");
261 232 : s->pdchWscControl = newPreDefColumn(state, s->pdstWindowControl, "Control");
262 232 : s->pdchWscGlare = newPreDefColumn(state, s->pdstWindowControl, "Glare Control");
263 :
264 : // Lighting Report
265 232 : s->pdrLighting = newPreDefReport(state, "LightingSummary", "Light", "Lighting Summary");
266 :
267 232 : s->pdstInLite = newPreDefSubTable(state, s->pdrLighting, "Interior Lighting");
268 :
269 232 : s->pdchInLtZone = newPreDefColumn(state, s->pdstInLite, "Zone Name");
270 232 : s->pdchInLtSpace = newPreDefColumn(state, s->pdstInLite, "Space Name");
271 232 : s->pdchInLtSpaceType = newPreDefColumn(state, s->pdstInLite, "Space Type");
272 232 : s->pdchInLtDens = newPreDefColumn(state, s->pdstInLite, "Lighting Power Density [W/m2]");
273 232 : s->pdchInLtArea = newPreDefColumn(state, s->pdstInLite, "Space Area [m2]");
274 232 : s->pdchInLtPower = newPreDefColumn(state, s->pdstInLite, "Total Power [W]");
275 232 : s->pdchInLtEndUse = newPreDefColumn(state, s->pdstInLite, "End Use Subcategory");
276 232 : s->pdchInLtSchd = newPreDefColumn(state, s->pdstInLite, "Schedule Name");
277 232 : s->pdchInLtAvgHrSchd = newPreDefColumn(state, s->pdstInLite, "Scheduled Hours/Week [hr]");
278 232 : s->pdchInLtAvgHrOper = newPreDefColumn(state, s->pdstInLite, "Hours/Week > 1% [hr]");
279 232 : s->pdchInLtFullLoadHrs = newPreDefColumn(state, s->pdstInLite, "Full Load Hours/Week [hr]");
280 232 : s->pdchInLtRetAir = newPreDefColumn(state, s->pdstInLite, "Return Air Fraction");
281 232 : s->pdchInLtCond = newPreDefColumn(state, s->pdstInLite, "Conditioned (Y/N)");
282 232 : s->pdchInLtConsump = newPreDefColumn(state, s->pdstInLite, "Consumption [GJ]");
283 :
284 232 : s->pdstDaylight = newPreDefSubTable(state, s->pdrLighting, "Daylighting");
285 :
286 232 : s->pdchDyLtZone = newPreDefColumn(state, s->pdstDaylight, "Zone");
287 232 : s->pdchDyLtCtrlName = newPreDefColumn(state, s->pdstDaylight, "Control Name");
288 232 : s->pdchDyLtKind = newPreDefColumn(state, s->pdstDaylight, "Daylighting Method"); // detailed or DElight
289 232 : s->pdchDyLtCtrlType = newPreDefColumn(state, s->pdstDaylight, "Control Type"); // stepped or continuous
290 232 : s->pdchDyLtFrac = newPreDefColumn(state, s->pdstDaylight, "Fraction Controlled");
291 232 : s->pdchDyLtWInst = newPreDefColumn(state, s->pdstDaylight, "Lighting Installed in Zone [W]");
292 232 : s->pdchDyLtWCtrl = newPreDefColumn(state, s->pdstDaylight, "Lighting Controlled [W]");
293 :
294 232 : s->pdstExtLite = newPreDefSubTable(state, s->pdrLighting, "Exterior Lighting");
295 :
296 232 : s->pdchExLtPower = newPreDefColumn(state, s->pdstExtLite, "Total Watts");
297 232 : s->pdchExLtClock = newPreDefColumn(state, s->pdstExtLite, "Astronomical Clock/Schedule");
298 232 : s->pdchExLtSchd = newPreDefColumn(state, s->pdstExtLite, "Schedule Name");
299 232 : s->pdchExLtAvgHrSchd = newPreDefColumn(state, s->pdstExtLite, "Scheduled Hours/Week [hr]");
300 232 : s->pdchExLtAvgHrOper = newPreDefColumn(state, s->pdstExtLite, "Hours/Week > 1% [hr]");
301 232 : s->pdchExLtFullLoadHrs = newPreDefColumn(state, s->pdstExtLite, "Full Load Hours/Week [hr]");
302 232 : s->pdchExLtConsump = newPreDefColumn(state, s->pdstExtLite, "Consumption [GJ]");
303 :
304 : // HVAC Equipment Report
305 :
306 232 : s->pdrEquip = newPreDefReport(state, "EquipmentSummary", "Equip", "Equipment Summary");
307 :
308 232 : s->pdstMech = newPreDefSubTable(state, s->pdrEquip, "Central Plant");
309 :
310 232 : s->pdchMechType = newPreDefColumn(state, s->pdstMech, "Type");
311 232 : s->pdchMechNomCap = newPreDefColumn(state, s->pdstMech, "Reference Capacity [W]");
312 232 : s->pdchMechNomEff = newPreDefColumn(state, s->pdstMech, "Reference Efficiency [W/W]");
313 232 : s->pdchMechRatCap = newPreDefColumn(state, s->pdstMech, "Rated Capacity [W]");
314 232 : s->pdchMechRatEff = newPreDefColumn(state, s->pdstMech, "Rated Efficiency [W/W]");
315 : // Note: We don't want any of these to convert.
316 : // The Btu/W-h isn't going to convert anyways, and the W/W will convert to W/W since it has "SI" in the string as a hint
317 232 : s->pdchMechIPLVSI = newPreDefColumn(state, s->pdstMech, "IPLV in SI Units [W/W]");
318 232 : s->pdchMechIPLVIP = newPreDefColumn(state, s->pdstMech, "IPLV in IP Units [Btu/W-h]");
319 :
320 : // Ok Constant Object Name Module Example File
321 : // -- ------------------------------- -------------------------------------- ------------------------ -----------------
322 : // o CoilDX_CoolingSingleSpeed Coil:Cooling:DX:SingleSpeed DXCoil FurnaceWithDXSystem
323 : // x CoilDX_CoolingTwoSpeed Coil:Cooling:DX:TwoSpeed DXCoil 5ZoneAutoDXVAV
324 : // o CoilDX_CoolingTwoStageWHumControl Coil:Cooling:DX: DXCoil SmOffPSZ-MultiModeDX
325 : // TwoStageWithHumidityControlMode
326 : // o CoilDX_MultiSpeedCooling Coil:Cooling:DX:MultiSpeed DXCoil MultispeedHeatPump
327 : // o Coil_CoolingWater Coil:Cooling:Water HVACWaterCoilComponent 5ZoneAirCooled
328 : // o Coil_CoolingWaterDetailed Coil:Cooling:Water:DetailedGeometry HVACWaterCoilComponent 5zoneWaterSystems
329 : // o Coil_CoolingWaterToAirHP Coil:Cooling:WaterToAirHeatPump: HVACWaterToAir 5ZoneWaterLoopHeatPump
330 : // ParameterEstimation
331 : // o Coil_CoolingWaterToAirHPSimple Coil:Cooling:WaterToAirHeatPump: HVACWaterToAir HeatPumpWaterToAirEquationFit
332 : // EquationFit
333 :
334 : // o CoilDX_HeatingEmpirical Coil:Heating:DX:SingleSpeed DXCoil HeatPumpAuto
335 : // o CoilDX_MultiSpeedHeating Coil:Heating:DX:MultiSpeed DXCoil MultispeedHeatPump
336 : // o Coil_HeatingGasOrOtherFuel Coil:Heating:Fuel HVACHeatingCoils 5ZoneAutoDXVAV
337 : // o Coil_HeatingElectric Coil:Heating:Electric HVACHeatingCoils PackagedTerminalAirConditioner
338 : // o Coil_HeatingDesuperheater Coil:Heating:Desuperheater HVACHeatingCoils SuperMarket_DesuperHeatingCoil
339 : // o Coil_HeatingWater Coil:Heating:Water HVACWaterCoilComponent 5ZoneAirCooled
340 : // o Coil_HeatingWaterToAirHP Coil:Heating:WaterToAirHeatPump: HVACWaterToAir 5ZoneWaterLoopHeatPump
341 : // ParameterEstimation
342 : // o Coil_HeatingWaterToAirHPSimple Coil:Heating:WaterToAirHeatPump: HVACWaterToAir HeatPumpWaterToAirEquationFit
343 : // EquationFit
344 : // o CoilDX_HeatPumpWaterHeater Coil:WaterHeating:AirToWaterHeatPump DXCoil HeatPumpWaterHeater
345 :
346 : // NOT INCLUDED:
347 : // CoilDX_CoolingHXAssisted CoilSystem:Cooling:DX: HVACHXAssistedCooolingCoil
348 : // HeatExchangerAssisted
349 : // CoilWater_CoolingHXAssisted CoilSystem:Cooling:Water: HVACHXAssistedCooolingCoil
350 : // HeatExchangerAssisted
351 :
352 232 : s->pdstCoolCoil = newPreDefSubTable(state, s->pdrEquip, "Cooling Coils");
353 :
354 232 : s->pdchCoolCoilType = newPreDefColumn(state, s->pdstCoolCoil, "Type");
355 232 : s->pdchCoolCoilDesCap = newPreDefColumn(state, s->pdstCoolCoil, "Design Coil Load [W]");
356 232 : s->pdchCoolCoilTotCap = newPreDefColumn(state, s->pdstCoolCoil, "Nominal Total Capacity [W]");
357 232 : s->pdchCoolCoilSensCap = newPreDefColumn(state, s->pdstCoolCoil, "Nominal Sensible Capacity [W]");
358 232 : s->pdchCoolCoilLatCap = newPreDefColumn(state, s->pdstCoolCoil, "Nominal Latent Capacity [W]");
359 232 : s->pdchCoolCoilSHR = newPreDefColumn(state, s->pdstCoolCoil, "Nominal Sensible Heat Ratio");
360 232 : s->pdchCoolCoilNomEff = newPreDefColumn(state, s->pdstCoolCoil, "Nominal Efficiency [W/W]");
361 232 : s->pdchCoolCoilUATotal = newPreDefColumn(state, s->pdstCoolCoil, "Nominal Coil UA Value [W/C]");
362 232 : s->pdchCoolCoilArea = newPreDefColumn(state, s->pdstCoolCoil, "Nominal Coil Surface Area [m2]");
363 :
364 232 : s->pdstDXCoolCoil = newPreDefSubTable(state, s->pdrEquip, "DX Cooling Coil Standard Ratings 2017");
365 232 : s->pdchDXCoolCoilType = newPreDefColumn(state, s->pdstDXCoolCoil, "Cooling Coil Type (1)");
366 232 : s->pdchDXCoolCoilNetCapSI = newPreDefColumn(state, s->pdstDXCoolCoil, "Standard Rating Net Cooling Capacity [W][2]");
367 :
368 232 : s->pdchDXCoolCoilCOP = newPreDefColumn(state, s->pdstDXCoolCoil, "Standard Rating Net COP [W/W][2]");
369 232 : s->pdchDXCoolCoilEERIP = newPreDefColumn(state, s->pdstDXCoolCoil, "EER [Btu/W-h][2]");
370 232 : s->pdchDXCoolCoilSEERUserIP = newPreDefColumn(state, s->pdstDXCoolCoil, "SEER User [Btu/W-h][2,3]");
371 232 : s->pdchDXCoolCoilSEERStandardIP = newPreDefColumn(state, s->pdstDXCoolCoil, "SEER Standard [Btu/W-h][2,3]");
372 232 : s->pdchDXCoolCoilIEERIP = newPreDefColumn(state, s->pdstDXCoolCoil, "IEER [Btu/W-h][2]");
373 :
374 : // for DX Cooling Coil AHRI Standard 2023 Ratings | SEER2
375 232 : s->pdstDXCoolCoil_2023 = newPreDefSubTable(state, s->pdrEquip, "DX Cooling Coil Standard Ratings 2023");
376 232 : s->pdchDXCoolCoilType_2023 = newPreDefColumn(state, s->pdstDXCoolCoil_2023, "Cooling Coil Type (1)");
377 232 : s->pdchDXCoolCoilNetCapSI_2023 = newPreDefColumn(state, s->pdstDXCoolCoil_2023, "Standard Rating Net Cooling Capacity [W][2]");
378 :
379 232 : s->pdchDXCoolCoilCOP_2023 = newPreDefColumn(state, s->pdstDXCoolCoil_2023, "Standard Rating Net COP2 [W/W][2,4]");
380 232 : s->pdchDXCoolCoilEERIP_2023 = newPreDefColumn(state, s->pdstDXCoolCoil_2023, "EER2 [Btu/W-h][2,4]");
381 232 : s->pdchDXCoolCoilSEER2UserIP_2023 = newPreDefColumn(state, s->pdstDXCoolCoil_2023, "SEER2 User [Btu/W-h][2,3]");
382 232 : s->pdchDXCoolCoilSEER2StandardIP_2023 = newPreDefColumn(state, s->pdstDXCoolCoil_2023, "SEER2 Standard [Btu/W-h][2,3]");
383 232 : s->pdchDXCoolCoilIEERIP_2023 = newPreDefColumn(state, s->pdstDXCoolCoil_2023, "IEER [Btu/W-h][2]");
384 :
385 : // for DX Cooling Coil ASHRAE 127-12 Report
386 232 : s->pdstDXCoolCoil2 = newPreDefSubTable(state, s->pdrEquip, "DX Cooling Coil ASHRAE 127 Standard Ratings Report");
387 232 : s->pdchDXCoolCoilType2 = newPreDefColumn(state, s->pdstDXCoolCoil2, "DX Cooling Coil Type");
388 232 : s->pdchDXCoolCoilNetCapSIA = newPreDefColumn(state, s->pdstDXCoolCoil2, "Rated Net Cooling Capacity Test A [W]");
389 232 : s->pdchDXCoolCoilElecPowerA = newPreDefColumn(state, s->pdstDXCoolCoil2, "Rated Electric Power Test A [W]");
390 232 : s->pdchDXCoolCoilNetCapSIB = newPreDefColumn(state, s->pdstDXCoolCoil2, "Rated Net Cooling Capacity Test B [W]");
391 232 : s->pdchDXCoolCoilElecPowerB = newPreDefColumn(state, s->pdstDXCoolCoil2, "Rated Electric Power Test B [W]");
392 232 : s->pdchDXCoolCoilNetCapSIC = newPreDefColumn(state, s->pdstDXCoolCoil2, "Rated Net Cooling Capacity Test C [W]");
393 232 : s->pdchDXCoolCoilElecPowerC = newPreDefColumn(state, s->pdstDXCoolCoil2, "Rated Electric Power Test C [W]");
394 232 : s->pdchDXCoolCoilNetCapSID = newPreDefColumn(state, s->pdstDXCoolCoil2, "Rated Net Cooling Capacity Test D [W]");
395 232 : s->pdchDXCoolCoilElecPowerD = newPreDefColumn(state, s->pdstDXCoolCoil2, "Rated Electric Power Test D [W]");
396 :
397 : // Water-to-Air HP report
398 232 : s->pdstWAHP = newPreDefSubTable(state, s->pdrEquip, "Water-to-Air Heat Pumps at Rated Temperatures Report");
399 232 : s->pdchWAHPType = newPreDefColumn(state, s->pdstWAHP, "Coil Type");
400 232 : s->pdchWAHPRatedCapAtRatedCdts = newPreDefColumn(state, s->pdstWAHP, "Rated Total Capacity [W]");
401 232 : s->pdchWAHPRatedSensCapAtRatedCdts = newPreDefColumn(state, s->pdstWAHP, "Rated Sensible Capacity [W]");
402 232 : s->pdchWAHPRatedPowerAtRatedCdts = newPreDefColumn(state, s->pdstWAHP, "Rated Power[W]");
403 232 : s->pdchWAHPRatedCOPAtRatedCdts = newPreDefColumn(state, s->pdstWAHP, "Rated COP [W/W]");
404 232 : s->pdchWAHPRatedAirDBT = newPreDefColumn(state, s->pdstWAHP, "Rated Air Dry-bulb Temperature [C]");
405 232 : s->pdchWAHPRatedAirWBT = newPreDefColumn(state, s->pdstWAHP, "Rated Air Wet-bulb Temperature [C]");
406 232 : s->pdchWAHPRatedWtrT = newPreDefColumn(state, s->pdstWAHP, "Rated Water Temperature [C]");
407 232 : s->pdchWAHPDD = newPreDefColumn(state, s->pdstWAHP, "Design Day used for Sizing");
408 :
409 232 : s->pdstDXHeatCoil = newPreDefSubTable(state, s->pdrEquip, "DX Heating Coils");
410 232 : s->pdchDXHeatCoilType = newPreDefColumn(state, s->pdstDXHeatCoil, "DX Heating Coil Type");
411 232 : s->pdchDXHeatCoilHighCap = newPreDefColumn(state, s->pdstDXHeatCoil, "High Temperature Heating (net) Rating Capacity [W]");
412 232 : s->pdchDXHeatCoilLowCap = newPreDefColumn(state, s->pdstDXHeatCoil, "Low Temperature Heating (net) Rating Capacity [W]");
413 232 : s->pdchDXHeatCoilHSPFIP = newPreDefColumn(state, s->pdstDXHeatCoil, "HSPF [Btu/W-h]");
414 232 : s->pdchDXHeatCoilRegionNum = newPreDefColumn(state, s->pdstDXHeatCoil, "Region Number");
415 : // Std 229 Predef outputs for DX Heating Coils
416 464 : s->pdchDXHeatCoilMinOADBTforCompOp =
417 232 : newPreDefColumn(state, s->pdstDXHeatCoil, "Minimum Outdoor Dry-Bulb Temperature for Compressor Operation [C]");
418 232 : s->pdchDXHeatCoilSuppHiT = newPreDefColumn(state, s->pdstDXHeatCoil, "Supplemental Heat High Shutoff Temperature [C]");
419 232 : s->pdchDXHeatCoilAirloopName = newPreDefColumn(state, s->pdstDXHeatCoil, "Airloop Name");
420 :
421 : // for DX Heating Coil AHRI Standard 2023 Ratings | HSPF2
422 232 : s->pdstDXHeatCoil_2023 = newPreDefSubTable(state, s->pdrEquip, "DX Heating Coils AHRI 2023");
423 232 : s->pdchDXHeatCoilType_2023 = newPreDefColumn(state, s->pdstDXHeatCoil_2023, "DX Heating Coil Type");
424 232 : s->pdchDXHeatCoilHighCap_2023 = newPreDefColumn(state, s->pdstDXHeatCoil_2023, "High Temperature Heating (net) Rating Capacity [W]");
425 232 : s->pdchDXHeatCoilLowCap_2023 = newPreDefColumn(state, s->pdstDXHeatCoil_2023, "Low Temperature Heating (net) Rating Capacity [W]");
426 232 : s->pdchDXHeatCoilHSPF2IP_2023 = newPreDefColumn(state, s->pdstDXHeatCoil_2023, "HSPF2 [Btu/W-h]");
427 232 : s->pdchDXHeatCoilRegionNum_2023 = newPreDefColumn(state, s->pdstDXHeatCoil_2023, "Region Number");
428 : // Std 229 Predef outputs for DX Heating Coils AHRI 2023
429 464 : s->pdchDXHeatCoilMinOADBTforCompOp_2023 =
430 232 : newPreDefColumn(state, s->pdstDXHeatCoil_2023, "Minimum Outdoor Dry-Bulb Temperature for Compressor Operation [C]");
431 232 : s->pdchDXHeatCoilAirloopName_2023 = newPreDefColumn(state, s->pdstDXHeatCoil_2023, "Airloop Name");
432 :
433 232 : s->pdstHeatCoil = newPreDefSubTable(state, s->pdrEquip, "Heating Coils");
434 :
435 232 : s->pdchHeatCoilType = newPreDefColumn(state, s->pdstHeatCoil, "Type");
436 232 : s->pdchHeatCoilDesCap = newPreDefColumn(state, s->pdstHeatCoil, "Design Coil Load [W]");
437 232 : s->pdchHeatCoilNomCap = newPreDefColumn(state, s->pdstHeatCoil, "Nominal Total Capacity [W]");
438 232 : s->pdchHeatCoilNomEff = newPreDefColumn(state, s->pdstHeatCoil, "Nominal Efficiency [W/W]");
439 : // Std 229 Predef outputs for Heating Coils
440 232 : s->pdchHeatCoilUsedAsSupHeat = newPreDefColumn(state, s->pdstHeatCoil, "Used as Supplementary Heat");
441 232 : s->pdchHeatCoilAirloopName = newPreDefColumn(state, s->pdstHeatCoil, "Airloop Name");
442 232 : s->pdchHeatCoilPlantloopName = newPreDefColumn(state, s->pdstHeatCoil, "Plantloop Name");
443 :
444 232 : s->pdstFan = newPreDefSubTable(state, s->pdrEquip, "Fans");
445 :
446 232 : s->pdchFanType = newPreDefColumn(state, s->pdstFan, "Type");
447 232 : s->pdchFanTotEff = newPreDefColumn(state, s->pdstFan, "Total Efficiency [W/W]");
448 232 : s->pdchFanDeltaP = newPreDefColumn(state, s->pdstFan, "Delta Pressure [pa]");
449 232 : s->pdchFanVolFlow = newPreDefColumn(state, s->pdstFan, "Max Air Flow Rate [m3/s]");
450 232 : s->pdchFanPwr = newPreDefColumn(state, s->pdstFan, "Rated Electricity Rate [W]");
451 232 : s->pdchFanPwrPerFlow = newPreDefColumn(state, s->pdstFan, "Rated Power Per Max Air Flow Rate [W-s/m3]");
452 232 : s->pdchFanMotorIn = newPreDefColumn(state, s->pdstFan, "Motor Heat In Air Fraction");
453 232 : s->pdchFanEnergyIndex = newPreDefColumn(state, s->pdstFan, "Fan Energy Index");
454 232 : s->pdchFanEndUse = newPreDefColumn(state, s->pdstFan, "End Use Subcategory");
455 232 : s->pdchFanDesDay = newPreDefColumn(state, s->pdstFan, "Design Day Name for Fan Sizing Peak");
456 232 : s->pdchFanPkTime = newPreDefColumn(state, s->pdstFan, "Date/Time for Fan Sizing Peak");
457 : // Std 229 Predef outputs for Fans
458 232 : s->pdchFanPurpose = newPreDefColumn(state, s->pdstFan, "Purpose");
459 232 : s->pdchFanAutosized = newPreDefColumn(state, s->pdstFan, "Is Autosized");
460 232 : s->pdchFanMotorEff = newPreDefColumn(state, s->pdstFan, "Motor Efficiency");
461 232 : s->pdchFanMotorHeatToZoneFrac = newPreDefColumn(state, s->pdstFan, "Motor Heat to Zone Fraction");
462 232 : s->pdchFanMotorHeatZone = newPreDefColumn(state, s->pdstFan, "Motor Loss Zone Name");
463 232 : s->pdchFanAirLoopName = newPreDefColumn(state, s->pdstFan, "Airloop Name");
464 :
465 232 : s->pdstPump = newPreDefSubTable(state, s->pdrEquip, "Pumps");
466 232 : s->pdchPumpType = newPreDefColumn(state, s->pdstPump, "Type");
467 232 : s->pdchPumpControl = newPreDefColumn(state, s->pdstPump, "Control");
468 232 : s->pdchPumpHead = newPreDefColumn(state, s->pdstPump, "Head [pa]");
469 232 : s->pdchPumpFlow = newPreDefColumn(state, s->pdstPump, "Water Flow [m3/s]");
470 232 : s->pdchPumpPower = newPreDefColumn(state, s->pdstPump, "Electricity Rate [W]");
471 232 : s->pdchPumpPwrPerFlow = newPreDefColumn(state, s->pdstPump, "Power Per Water Flow Rate [W-s/m3]");
472 232 : s->pdchMotEff = newPreDefColumn(state, s->pdstPump, "Motor Efficiency [W/W]");
473 232 : s->pdchPumpEndUse = newPreDefColumn(state, s->pdstPump, "End Use Subcategory");
474 : // Std 229 Predef outputs for Pumps
475 232 : s->pdchPumpAutosized = newPreDefColumn(state, s->pdstPump, "Is Autosized");
476 232 : s->pdchPumpPlantloopName = newPreDefColumn(state, s->pdstPump, "Plantloop Name");
477 232 : s->pdchPumpPlantloopBranchName = newPreDefColumn(state, s->pdstPump, "Plantloop Branch Name");
478 :
479 232 : s->pdstSWH = newPreDefSubTable(state, s->pdrEquip, "Service Water Heating");
480 232 : s->pdchSWHType = newPreDefColumn(state, s->pdstSWH, "Type");
481 232 : s->pdchSWHVol = newPreDefColumn(state, s->pdstSWH, "Storage Volume [m3]");
482 232 : s->pdchSWHHeatIn = newPreDefColumn(state, s->pdstSWH, "Input [W]");
483 232 : s->pdchSWHThEff = newPreDefColumn(state, s->pdstSWH, "Thermal Efficiency [W/W]");
484 232 : s->pdchSWHRecEff = newPreDefColumn(state, s->pdstSWH, "Recovery Efficiency [W/W]");
485 232 : s->pdchSWHEnFac = newPreDefColumn(state, s->pdstSWH, "Energy Factor");
486 :
487 : // Std 229 Chillers in Equipment Summary
488 232 : s->pdstChiller = newPreDefSubTable(state, s->pdrEquip, "Chillers");
489 :
490 232 : s->pdchChillerType = newPreDefColumn(state, s->pdstChiller, "Type");
491 232 : s->pdchChillerRefCap = newPreDefColumn(state, s->pdstChiller, "Reference Capacity[W]");
492 232 : s->pdchChillerRefEff = newPreDefColumn(state, s->pdstChiller, "TypeReference Efficiency [W/W]");
493 232 : s->pdchChillerRatedCap = newPreDefColumn(state, s->pdstChiller, "Rated Capacity [W]");
494 232 : s->pdchChillerRatedEff = newPreDefColumn(state, s->pdstChiller, "Rated Efficiency [W/W]");
495 232 : s->pdchChillerIPLVinSI = newPreDefColumn(state, s->pdstChiller, "IPLV in SI Units [W/W]");
496 232 : s->pdchChillerIPLVinIP = newPreDefColumn(state, s->pdstChiller, "IPLV in IP Units [Btu/W-h]");
497 232 : s->pdchChillerMinPLR = newPreDefColumn(state, s->pdstChiller, "Minimum Part Load Ratio");
498 232 : s->pdchChillerFuelType = newPreDefColumn(state, s->pdstChiller, "Fuel Type");
499 232 : s->pdchChillerRatedEntCondTemp = newPreDefColumn(state, s->pdstChiller, "Rated Entering Condenser Temperature [C]");
500 232 : s->pdchChillerRatedLevEvapTemp = newPreDefColumn(state, s->pdstChiller, "Rated Leaving Evaporator Temperature [C]");
501 232 : s->pdchChillerRefEntCondTemp = newPreDefColumn(state, s->pdstChiller, "Reference Entering Condenser Temperature [C]");
502 232 : s->pdchChillerRefLevEvapTemp = newPreDefColumn(state, s->pdstChiller, "Reference Leaving Evaporator Temperature [C]");
503 232 : s->pdchChillerDesSizeRefCHWFlowRate = newPreDefColumn(state, s->pdstChiller, "Design Size Reference Chilled Water Flow Rate [kg/s]");
504 232 : s->pdchChillerDesSizeRefCondFluidFlowRate = newPreDefColumn(state, s->pdstChiller, "Design Size Reference Condenser Fluid Flow Rate [kg/s]");
505 232 : s->pdchChillerPlantloopName = newPreDefColumn(state, s->pdstChiller, "Plantloop Name");
506 232 : s->pdchChillerPlantloopBranchName = newPreDefColumn(state, s->pdstChiller, "Plantloop Branch Name");
507 232 : s->pdchChillerCondLoopName = newPreDefColumn(state, s->pdstChiller, "Condenser Loop Name");
508 232 : s->pdchChillerCondLoopBranchName = newPreDefColumn(state, s->pdstChiller, "Condenser Loop Branch Name");
509 232 : s->pdchChillerHeatRecPlantloopName = newPreDefColumn(state, s->pdstChiller, "Heat Recovery Plantloop Name");
510 232 : s->pdchChillerHeatRecPlantloopBranchName = newPreDefColumn(state, s->pdstChiller, "Heat Recovery Plantloop Branch Name");
511 232 : s->pdchChillerRecRelCapFrac = newPreDefColumn(state, s->pdstChiller, "Recovery Relative Capacity Fraction");
512 :
513 : // Std 229 Boiler Table in Equipment Summary
514 232 : s->pdstBoiler = newPreDefSubTable(state, s->pdrEquip, "Boilers");
515 :
516 232 : s->pdchBoilerType = newPreDefColumn(state, s->pdstBoiler, "Type");
517 232 : s->pdchBoilerRefCap = newPreDefColumn(state, s->pdstBoiler, "Reference Capacity [W]");
518 232 : s->pdchBoilerRefEff = newPreDefColumn(state, s->pdstBoiler, "Reference Efficiency[W/W]");
519 232 : s->pdchBoilerRatedCap = newPreDefColumn(state, s->pdstBoiler, "Rated Capacity [W]");
520 232 : s->pdchBoilerRatedEff = newPreDefColumn(state, s->pdstBoiler, "Rated Efficiency [W/W]");
521 232 : s->pdchBoilerMinPLR = newPreDefColumn(state, s->pdstBoiler, "Minimum Part Load Ratio");
522 232 : s->pdchBoilerFuelType = newPreDefColumn(state, s->pdstBoiler, "Fuel Type");
523 232 : s->pdchBoilerParaElecLoad = newPreDefColumn(state, s->pdstBoiler, "Parasitic Electric Load [W]");
524 232 : s->pdchBoilerPlantloopName = newPreDefColumn(state, s->pdstBoiler, "Plantloop Name");
525 232 : s->pdchBoilerPlantloopBranchName = newPreDefColumn(state, s->pdstBoiler, "Plantloop Branch Name");
526 :
527 : // Std 229 cooling towers and fluid coolers Table in Equipment Summary
528 232 : s->pdstCTFC = newPreDefSubTable(state, s->pdrEquip, "Cooling Towers and Fluid Coolers");
529 :
530 232 : s->pdchCTFCType = newPreDefColumn(state, s->pdstCTFC, "Type");
531 232 : s->pdchCTFCFluidType = newPreDefColumn(state, s->pdstCTFC, "Fluid Type");
532 232 : s->pdchCTFCRange = newPreDefColumn(state, s->pdstCTFC, "Range [C]");
533 232 : s->pdchCTFCApproach = newPreDefColumn(state, s->pdstCTFC, "Approach [C]");
534 232 : s->pdchCTFCDesFanPwr = newPreDefColumn(state, s->pdstCTFC, "Design Fan Power [W]");
535 232 : s->pdchCTFCDesInletAirWBT = newPreDefColumn(state, s->pdstCTFC, "Design Inlet Air Wet-Bulb Temperature [C]");
536 232 : s->pdchCTFCDesWaterFlowRate = newPreDefColumn(state, s->pdstCTFC, "Design Water Flow Rate [m3/s]");
537 232 : s->pdchCTFCLevWaterSPTemp = newPreDefColumn(state, s->pdstCTFC, "Leaving Water Setpoint Temperature [C]");
538 232 : s->pdchCTFCCondLoopName = newPreDefColumn(state, s->pdstCTFC, "Condenser Loop Name");
539 232 : s->pdchCTFCCondLoopBranchName = newPreDefColumn(state, s->pdstCTFC, "Condenser Loop Branch Name");
540 :
541 : // Std 229 Plantloop and CondenserLoop Table in Equipment Summary
542 232 : s->pdstPLCL = newPreDefSubTable(state, s->pdrEquip, "PlantLoop or CondenserLoop");
543 :
544 232 : s->pdchPLCLType = newPreDefColumn(state, s->pdstPLCL, "Type");
545 232 : s->pdchPLCLProvHeat = newPreDefColumn(state, s->pdstPLCL, "Provides Heating");
546 232 : s->pdchPLCLProvCool = newPreDefColumn(state, s->pdstPLCL, "Provides Cooling");
547 232 : s->pdchPLCLMaxLoopFlowRate = newPreDefColumn(state, s->pdstPLCL, "Maximum Loop Flow Rate [m3/s]");
548 232 : s->pdchPLCLMinLoopFlowRate = newPreDefColumn(state, s->pdstPLCL, "Minimum Loop Flow Rate [m3/s]");
549 :
550 : // Std 229 Air Terminal Table in Equipment Summary
551 232 : s->pdstAirTerm = newPreDefSubTable(state, s->pdrEquip, "Air Terminals");
552 :
553 232 : s->pdchAirTermZoneName = newPreDefColumn(state, s->pdstAirTerm, "Zone Name");
554 232 : s->pdchAirTermMinFlow = newPreDefColumn(state, s->pdstAirTerm, "Minimum Flow [m3/s]");
555 232 : s->pdchAirTermMinOutdoorFlow = newPreDefColumn(state, s->pdstAirTerm, "Minimum Outdoor Flow [m3/s]");
556 232 : s->pdchAirTermSupCoolingSP = newPreDefColumn(state, s->pdstAirTerm, "Supply Cooling Setpoint [C]");
557 232 : s->pdchAirTermSupHeatingSP = newPreDefColumn(state, s->pdstAirTerm, "Supply Heating Setpoint [C]");
558 232 : s->pdchAirTermHeatingCap = newPreDefColumn(state, s->pdstAirTerm, "Heating Capacity [W]");
559 232 : s->pdchAirTermCoolingCap = newPreDefColumn(state, s->pdstAirTerm, "Cooling Capacity [W]");
560 :
561 232 : s->pdchAirTermTypeInp = newPreDefColumn(state, s->pdstAirTerm, "Type of Input Object");
562 232 : s->pdchAirTermHeatCoilType = newPreDefColumn(state, s->pdstAirTerm, "Heat/Reheat Coil Object Type");
563 232 : s->pdchAirTermCoolCoilType = newPreDefColumn(state, s->pdstAirTerm, "Chilled Water Coil Object Type");
564 232 : s->pdchAirTermFanType = newPreDefColumn(state, s->pdstAirTerm, "Fan Object Type");
565 232 : s->pdchAirTermFanName = newPreDefColumn(state, s->pdstAirTerm, "Fan Name");
566 232 : s->pdchAirTermPrimFlow = newPreDefColumn(state, s->pdstAirTerm, "Primary Air Flow Rate [m3/s]");
567 232 : s->pdchAirTermSecdFlow = newPreDefColumn(state, s->pdstAirTerm, "Secondary Air Flow Rate [m3/s]");
568 232 : s->pdchAirTermMinFlowSch = newPreDefColumn(state, s->pdstAirTerm, "Minimum Flow Schedule Name");
569 232 : s->pdchAirTermMaxFlowReh = newPreDefColumn(state, s->pdstAirTerm, "Maximum Flow During Reheat [m3/s]");
570 232 : s->pdchAirTermMinOAflowSch = newPreDefColumn(state, s->pdstAirTerm, "Minimum Outdoor Flow Schedule Name");
571 :
572 : // Std 229 Air Heat Recovery
573 232 : s->pdstAirHR = newPreDefSubTable(state, s->pdrEquip, "Air Heat Recovery");
574 :
575 232 : s->pdchAirHRInputObjName = newPreDefColumn(state, s->pdstAirHR, "Name");
576 232 : s->pdchAirHRInputObjType = newPreDefColumn(state, s->pdstAirHR, "Input object type");
577 232 : s->pdchAirHRPlateOrRotary = newPreDefColumn(state, s->pdstAirHR, "Plate/Rotary");
578 232 : s->pdchAirHRSenEffAt100PerHeatAirFlow = newPreDefColumn(state, s->pdstAirHR, "Sensible Effectiveness at 100% Heating Air Flow");
579 232 : s->pdchAirHRSenEffAt100PerCoolAirFlow = newPreDefColumn(state, s->pdstAirHR, "Sensible Effectiveness at 100% Cooling Air Flow");
580 232 : s->pdchAirHRLatEffAt100PerHeatAirFlow = newPreDefColumn(state, s->pdstAirHR, "Latent Effectiveness at 100% Heating Air Flow");
581 232 : s->pdchAirHRLatEffAt100PerCoolAirFlow = newPreDefColumn(state, s->pdstAirHR, "Latent Effectiveness at 100% Cooling Air Flow");
582 232 : s->pdchAirHRExhaustAirflow = newPreDefColumn(state, s->pdstAirHR, "Exhaust Airflow [kg/s]");
583 232 : s->pdchAirHROutdoorAirflow = newPreDefColumn(state, s->pdstAirHR, "Outdoor Airflow [kg/s]");
584 :
585 : // Sizing Report
586 :
587 232 : s->pdrSizing = newPreDefReport(state, "HVACSizingSummary", "Size", "HVAC Sizing Summary");
588 :
589 232 : s->pdstSpaceClSize = newPreDefSubTable(state, s->pdrSizing, "Space Sensible Cooling");
590 :
591 232 : s->pdchSpClCalcDesLd = newPreDefColumn(state, s->pdstSpaceClSize, "Calculated Design Load [W]");
592 232 : s->pdchSpClUserDesLd = newPreDefColumn(state, s->pdstSpaceClSize, "User Design Load [W]");
593 232 : s->pdchSpClUserDesLdPerArea = newPreDefColumn(state, s->pdstSpaceClSize, "User Design Load per Area [W/m2]");
594 232 : s->pdchSpClCalcDesAirFlow = newPreDefColumn(state, s->pdstSpaceClSize, "Calculated Design Air Flow [m3/s]");
595 232 : s->pdchSpClUserDesAirFlow = newPreDefColumn(state, s->pdstSpaceClSize, "User Design Air Flow [m3/s]");
596 232 : s->pdchSpClDesDay = newPreDefColumn(state, s->pdstSpaceClSize, "Design Day Name");
597 232 : s->pdchSpClPkTime = newPreDefColumn(state, s->pdstSpaceClSize, "Date/Time Of Peak {TIMESTAMP}");
598 232 : s->pdchSpClPkTstatTemp = newPreDefColumn(state, s->pdstSpaceClSize, "Thermostat Setpoint Temperature at Peak Load [C]");
599 232 : s->pdchSpClPkIndTemp = newPreDefColumn(state, s->pdstSpaceClSize, "Indoor Temperature at Peak Load [C]");
600 232 : s->pdchSpClPkIndHum = newPreDefColumn(state, s->pdstSpaceClSize, "Indoor Humidity Ratio at Peak Load [kgWater/kgDryAir]");
601 232 : s->pdchSpClPkOATemp = newPreDefColumn(state, s->pdstSpaceClSize, "Outdoor Temperature at Peak Load [C]");
602 232 : s->pdchSpClPkOAHum = newPreDefColumn(state, s->pdstSpaceClSize, "Outdoor Humidity Ratio at Peak Load [kgWater/kgDryAir]");
603 232 : s->pdchSpClPkOAMinFlow = newPreDefColumn(state, s->pdstSpaceClSize, "Minimum Outdoor Air Flow Rate [m3/s]");
604 232 : s->pdchSpClPkDOASHeatGain = newPreDefColumn(state, s->pdstSpaceClSize, "Heat Gain Rate from DOAS [W]");
605 464 : addFootNoteSubTable(state,
606 232 : s->pdstSpaceClSize,
607 : "The Design Load is the space sensible load only. It does not include any system effects or ventilation loads.");
608 :
609 232 : s->pdstZoneClSize = newPreDefSubTable(state, s->pdrSizing, "Zone Sensible Cooling");
610 :
611 232 : s->pdchZnClCalcDesLd = newPreDefColumn(state, s->pdstZoneClSize, "Calculated Design Load [W]");
612 232 : s->pdchZnClUserDesLd = newPreDefColumn(state, s->pdstZoneClSize, "User Design Load [W]");
613 232 : s->pdchZnClUserDesLdPerArea = newPreDefColumn(state, s->pdstZoneClSize, "User Design Load per Area [W/m2]");
614 232 : s->pdchZnClCalcDesAirFlow = newPreDefColumn(state, s->pdstZoneClSize, "Calculated Design Air Flow [m3/s]");
615 232 : s->pdchZnClUserDesAirFlow = newPreDefColumn(state, s->pdstZoneClSize, "User Design Air Flow [m3/s]");
616 232 : s->pdchZnClDesDay = newPreDefColumn(state, s->pdstZoneClSize, "Design Day Name");
617 232 : s->pdchZnClPkTime = newPreDefColumn(state, s->pdstZoneClSize, "Date/Time Of Peak {TIMESTAMP}");
618 232 : s->pdchZnClPkTstatTemp = newPreDefColumn(state, s->pdstZoneClSize, "Thermostat Setpoint Temperature at Peak Load [C]");
619 232 : s->pdchZnClPkIndTemp = newPreDefColumn(state, s->pdstZoneClSize, "Indoor Temperature at Peak Load [C]");
620 232 : s->pdchZnClPkIndHum = newPreDefColumn(state, s->pdstZoneClSize, "Indoor Humidity Ratio at Peak Load [kgWater/kgDryAir]");
621 232 : s->pdchZnClPkOATemp = newPreDefColumn(state, s->pdstZoneClSize, "Outdoor Temperature at Peak Load [C]");
622 232 : s->pdchZnClPkOAHum = newPreDefColumn(state, s->pdstZoneClSize, "Outdoor Humidity Ratio at Peak Load [kgWater/kgDryAir]");
623 232 : s->pdchZnClPkOAMinFlow = newPreDefColumn(state, s->pdstZoneClSize, "Minimum Outdoor Air Flow Rate [m3/s]");
624 232 : s->pdchZnClPkDOASHeatGain = newPreDefColumn(state, s->pdstZoneClSize, "Heat Gain Rate from DOAS [W]");
625 464 : addFootNoteSubTable(
626 232 : state, s->pdstZoneClSize, "The Design Load is the zone sensible load only. It does not include any system effects or ventilation loads.");
627 :
628 232 : s->pdstSpaceHtSize = newPreDefSubTable(state, s->pdrSizing, "Space Sensible Heating");
629 :
630 232 : s->pdchSpHtCalcDesLd = newPreDefColumn(state, s->pdstSpaceHtSize, "Calculated Design Load [W]");
631 232 : s->pdchSpHtUserDesLd = newPreDefColumn(state, s->pdstSpaceHtSize, "User Design Load [W]");
632 232 : s->pdchSpHtUserDesLdPerArea = newPreDefColumn(state, s->pdstSpaceHtSize, "User Design Load per Area [W/m2]");
633 232 : s->pdchSpHtCalcDesAirFlow = newPreDefColumn(state, s->pdstSpaceHtSize, "Calculated Design Air Flow [m3/s]");
634 232 : s->pdchSpHtUserDesAirFlow = newPreDefColumn(state, s->pdstSpaceHtSize, "User Design Air Flow [m3/s]");
635 232 : s->pdchSpHtDesDay = newPreDefColumn(state, s->pdstSpaceHtSize, "Design Day Name");
636 232 : s->pdchSpHtPkTime = newPreDefColumn(state, s->pdstSpaceHtSize, "Date/Time Of Peak {TIMESTAMP}");
637 232 : s->pdchSpHtPkTstatTemp = newPreDefColumn(state, s->pdstSpaceHtSize, "Thermostat Setpoint Temperature at Peak Load [C]");
638 232 : s->pdchSpHtPkIndTemp = newPreDefColumn(state, s->pdstSpaceHtSize, "Indoor Temperature at Peak Load [C]");
639 232 : s->pdchSpHtPkIndHum = newPreDefColumn(state, s->pdstSpaceHtSize, "Indoor Humidity Ratio at Peak Load [kgWater/kgDryAir]");
640 232 : s->pdchSpHtPkOATemp = newPreDefColumn(state, s->pdstSpaceHtSize, "Outdoor Temperature at Peak Load [C]");
641 232 : s->pdchSpHtPkOAHum = newPreDefColumn(state, s->pdstSpaceHtSize, "Outdoor Humidity Ratio at Peak Load [kgWater/kgDryAir]");
642 232 : s->pdchSpHtPkOAMinFlow = newPreDefColumn(state, s->pdstSpaceHtSize, "Minimum Outdoor Air Flow Rate [m3/s]");
643 232 : s->pdchSpHtPkDOASHeatGain = newPreDefColumn(state, s->pdstSpaceHtSize, "Heat Gain Rate from DOAS [W]");
644 464 : addFootNoteSubTable(state,
645 232 : s->pdstSpaceHtSize,
646 : "The Design Load is the space sensible load only. It does not include any system effects or ventilation loads.");
647 :
648 232 : s->pdstZoneHtSize = newPreDefSubTable(state, s->pdrSizing, "Zone Sensible Heating");
649 :
650 232 : s->pdchZnHtCalcDesLd = newPreDefColumn(state, s->pdstZoneHtSize, "Calculated Design Load [W]");
651 232 : s->pdchZnHtUserDesLd = newPreDefColumn(state, s->pdstZoneHtSize, "User Design Load [W]");
652 232 : s->pdchZnHtUserDesLdPerArea = newPreDefColumn(state, s->pdstZoneHtSize, "User Design Load per Area [W/m2]");
653 232 : s->pdchZnHtCalcDesAirFlow = newPreDefColumn(state, s->pdstZoneHtSize, "Calculated Design Air Flow [m3/s]");
654 232 : s->pdchZnHtUserDesAirFlow = newPreDefColumn(state, s->pdstZoneHtSize, "User Design Air Flow [m3/s]");
655 232 : s->pdchZnHtDesDay = newPreDefColumn(state, s->pdstZoneHtSize, "Design Day Name");
656 232 : s->pdchZnHtPkTime = newPreDefColumn(state, s->pdstZoneHtSize, "Date/Time Of Peak {TIMESTAMP}");
657 232 : s->pdchZnHtPkTstatTemp = newPreDefColumn(state, s->pdstZoneHtSize, "Thermostat Setpoint Temperature at Peak Load [C]");
658 232 : s->pdchZnHtPkIndTemp = newPreDefColumn(state, s->pdstZoneHtSize, "Indoor Temperature at Peak Load [C]");
659 232 : s->pdchZnHtPkIndHum = newPreDefColumn(state, s->pdstZoneHtSize, "Indoor Humidity Ratio at Peak Load [kgWater/kgDryAir]");
660 232 : s->pdchZnHtPkOATemp = newPreDefColumn(state, s->pdstZoneHtSize, "Outdoor Temperature at Peak Load [C]");
661 232 : s->pdchZnHtPkOAHum = newPreDefColumn(state, s->pdstZoneHtSize, "Outdoor Humidity Ratio at Peak Load [kgWater/kgDryAir]");
662 232 : s->pdchZnHtPkOAMinFlow = newPreDefColumn(state, s->pdstZoneHtSize, "Minimum Outdoor Air Flow Rate [m3/s]");
663 232 : s->pdchZnHtPkDOASHeatGain = newPreDefColumn(state, s->pdstZoneHtSize, "Heat Gain Rate from DOAS [W]");
664 464 : addFootNoteSubTable(
665 232 : state, s->pdstZoneHtSize, "The Design Load is the zone sensible load only. It does not include any system effects or ventilation loads.");
666 :
667 232 : s->pdstSystemSize = newPreDefSubTable(state, s->pdrSizing, "System Design Air Flow Rates");
668 :
669 232 : s->pdchSysSizCalcClAir = newPreDefColumn(state, s->pdstSystemSize, "Calculated cooling [m3/s]");
670 232 : s->pdchSysSizUserClAir = newPreDefColumn(state, s->pdstSystemSize, "User cooling [m3/s]");
671 232 : s->pdchSysSizCalcHtAir = newPreDefColumn(state, s->pdstSystemSize, "Calculated heating [m3/s]");
672 232 : s->pdchSysSizUserHtAir = newPreDefColumn(state, s->pdstSystemSize, "User heating [m3/s]");
673 232 : s->pdchSysSizAdjustedClAir = newPreDefColumn(state, s->pdstSystemSize, "Adjusted cooling [m3/s]");
674 232 : s->pdchSysSizAdjustedHtAir = newPreDefColumn(state, s->pdstSystemSize, "Adjusted heating [m3/s]");
675 232 : s->pdchSysSizAdjustedMainAir = newPreDefColumn(state, s->pdstSystemSize, "Adjusted main [m3/s]");
676 232 : s->pdchSysSizCalcHeatFlowRatio = newPreDefColumn(state, s->pdstSystemSize, "Calculated Heating Air Flow Ratio []");
677 232 : s->pdchSysSizUserHeatFlowRatio = newPreDefColumn(state, s->pdstSystemSize, "User Heating Air Flow Ratio []");
678 :
679 232 : s->pdstPlantSize = newPreDefSubTable(state, s->pdrSizing, "Plant Loop Coincident Design Fluid Flow Rate Adjustments");
680 : // s->pdchPlantSizPass = newPreDefColumn(state, s->pdstPlantSize, "Sizing Pass" );
681 232 : s->pdchPlantSizPrevVdot = newPreDefColumn(state, s->pdstPlantSize, "Previous Design Volume Flow Rate [m3/s]");
682 232 : s->pdchPlantSizMeasVdot = newPreDefColumn(state, s->pdstPlantSize, "Algorithm Volume Flow Rate [m3/s]");
683 232 : s->pdchPlantSizCalcVdot = newPreDefColumn(state, s->pdstPlantSize, "Coincident Design Volume Flow Rate [m3/s]");
684 232 : s->pdchPlantSizCoincYesNo = newPreDefColumn(state, s->pdstPlantSize, "Coincident Size Adjusted");
685 232 : s->pdchPlantSizDesDay = newPreDefColumn(state, s->pdstPlantSize, "Peak Sizing Period Name");
686 232 : s->pdchPlantSizPkTimeDayOfSim = newPreDefColumn(state, s->pdstPlantSize, "Peak Day into Period {TIMESTAMP}[day]");
687 232 : s->pdchPlantSizPkTimeHour = newPreDefColumn(state, s->pdstPlantSize, "Peak Hour Of Day {TIMESTAMP}[hr]");
688 232 : s->pdchPlantSizPkTimeMin = newPreDefColumn(state, s->pdstPlantSize, "Peak Step Start Minute {TIMESTAMP}[min]");
689 :
690 232 : s->pdst2CoilSummaryCoilSelection = newPreDefSubTable(state, s->pdrSizing, "Coil Sizing Summary");
691 : // coil meta data information
692 : // the first column will be the coil name, the unique user name from input. It has no header or column definition
693 232 : s->pdch2CoilType = newPreDefColumn(state, s->pdst2CoilSummaryCoilSelection, "Coil Type");
694 232 : s->pdch2CoilHVACType = newPreDefColumn(state, s->pdst2CoilSummaryCoilSelection, "HVAC Type");
695 232 : s->pdch2CoilHVACName = newPreDefColumn(state, s->pdst2CoilSummaryCoilSelection, "HVAC Name");
696 :
697 : // coil Final size summary, regardless of how determined (
698 232 : s->pdch2CoilFinalTotalCap = newPreDefColumn(state, s->pdst2CoilSummaryCoilSelection, "Coil Final Gross Total Capacity [W]");
699 232 : s->pdch2CoilFinalSensCap = newPreDefColumn(state, s->pdst2CoilSummaryCoilSelection, "Coil Final Gross Sensible Capacity [W]");
700 464 : s->pdch2CoilFinalAirVolFlowRate =
701 232 : newPreDefColumn(state, s->pdst2CoilSummaryCoilSelection, "Coil Final Reference Air Volume Flow Rate [m3/s]");
702 464 : s->pdch2CoilFinalPlantVolFlowRate =
703 232 : newPreDefColumn(state, s->pdst2CoilSummaryCoilSelection, "Coil Final Reference Plant Fluid Volume Flow Rate [m3/s]");
704 232 : s->pdch2CoilUA = newPreDefColumn(state, s->pdst2CoilSummaryCoilSelection, "Coil U-value Times Area Value [W/K]");
705 :
706 : // results from regular zone and system sizing calcs, "At Ideal Loads Peak"
707 232 : s->pdch2CoilDDnameSensIdealPeak = newPreDefColumn(state, s->pdst2CoilSummaryCoilSelection, "Design Day Name at Sensible Ideal Loads Peak");
708 232 : s->pdch2CoilDateTimeSensIdealPeak = newPreDefColumn(state, s->pdst2CoilSummaryCoilSelection, "Date/Time at Sensible Ideal Loads Peak");
709 232 : s->pdch2CoilDDnameAirFlowIdealPeak = newPreDefColumn(state, s->pdst2CoilSummaryCoilSelection, "Design Day Name at Air Flow Ideal Loads Peak");
710 232 : s->pdch2CoilDateTimeAirFlowIdealPeak = newPreDefColumn(state, s->pdst2CoilSummaryCoilSelection, "Date/Time at Air Flow Ideal Loads Peak");
711 :
712 232 : s->pdch2CoilTotalCapIdealPeak = newPreDefColumn(state, s->pdst2CoilSummaryCoilSelection, "Coil Total Capacity at Ideal Loads Peak [W]");
713 232 : s->pdch2CoilSensCapIdealPeak = newPreDefColumn(state, s->pdst2CoilSummaryCoilSelection, "Coil Sensible Capacity at Ideal Loads Peak [W]");
714 464 : s->pdch2CoilAirVolumeFlowIdealPeak =
715 232 : newPreDefColumn(state, s->pdst2CoilSummaryCoilSelection, "Coil Air Volume Flow Rate at Ideal Loads Peak [m3/s]");
716 464 : s->pdch2CoilEntDryBulbIdealPeak =
717 232 : newPreDefColumn(state, s->pdst2CoilSummaryCoilSelection, "Coil Entering Air Drybulb at Ideal Loads Peak [C]");
718 464 : s->pdch2CoilEntWetBulbIdealPeak =
719 232 : newPreDefColumn(state, s->pdst2CoilSummaryCoilSelection, "Coil Entering Air Wetbulb at Ideal Loads Peak [C]");
720 464 : s->pdch2CoilEntHumRatIdealPeak =
721 232 : newPreDefColumn(state, s->pdst2CoilSummaryCoilSelection, "Coil Entering Air Humidity Ratio at Ideal Loads Peak [kgWater/kgDryAir]");
722 464 : s->pdch2CoilLvgDryBulbIdealPeak =
723 232 : newPreDefColumn(state, s->pdst2CoilSummaryCoilSelection, "Coil Leaving Air Drybulb at Ideal Loads Peak [C]");
724 464 : s->pdch2CoilLvgWetBulbIdealPeak =
725 232 : newPreDefColumn(state, s->pdst2CoilSummaryCoilSelection, "Coil Leaving Air Wetbulb at Ideal Loads Peak [C]");
726 464 : s->pdch2CoilLvgHumRatIdealPeak =
727 232 : newPreDefColumn(state, s->pdst2CoilSummaryCoilSelection, "Coil Leaving Air Humidity Ratio at Ideal Loads Peak [kgWater/kgDryAir]");
728 232 : s->pdch2OADryBulbIdealPeak = newPreDefColumn(state, s->pdst2CoilSummaryCoilSelection, "Outdoor Air Drybulb at Ideal Loads Peak [C]");
729 464 : s->pdch2OAHumRatIdealPeak =
730 232 : newPreDefColumn(state, s->pdst2CoilSummaryCoilSelection, "Outdoor Air Humidity Ratio at Ideal Loads Peak [kgWater/kgDryAir]");
731 232 : s->pdch2OAWetBulbatIdealPeak = newPreDefColumn(state, s->pdst2CoilSummaryCoilSelection, "Outdoor Air Wetbulb at Ideal Loads Peak [C]");
732 464 : s->pdch2OAFlowPrcntIdealPeak =
733 232 : newPreDefColumn(state, s->pdst2CoilSummaryCoilSelection, "Outdoor Air Flow Percentage at Ideal Loads Peak [%]");
734 232 : s->pdch2ZoneAirDryBulbIdealPeak = newPreDefColumn(state, s->pdst2CoilSummaryCoilSelection, "Zone Air Drybulb at Ideal Loads Peak [C]");
735 464 : s->pdch2ZoneAirHumRatIdealPeak =
736 232 : newPreDefColumn(state, s->pdst2CoilSummaryCoilSelection, "Zone Air Humidity Ratio at Ideal Loads Peak [kgWater/kgDryAir]");
737 464 : s->pdch2ZoneAirRelHumIdealPeak =
738 232 : newPreDefColumn(state, s->pdst2CoilSummaryCoilSelection, "Zone Air Relative Humidity at Ideal Loads Peak [%]");
739 464 : s->pdch2ZoneSensibleLoadIdealPeak =
740 232 : newPreDefColumn(state, s->pdst2CoilSummaryCoilSelection, "Zone Sensible Heat Gain at Ideal Loads Peak [W]");
741 232 : s->pdch2ZoneLatentLoadIdealPeak = newPreDefColumn(state, s->pdst2CoilSummaryCoilSelection, "Zone Latent Heat Gain at Ideal Loads Peak [W]");
742 : // results for coil at Rated Conditions
743 232 : s->pdch2CoilRatedTotalCap = newPreDefColumn(state, s->pdst2CoilSummaryCoilSelection, "Coil Total Capacity at Rating Conditions [W]");
744 232 : s->pdch2CoilRatedSensCap = newPreDefColumn(state, s->pdst2CoilSummaryCoilSelection, "Coil Sensible Capacity at Rating Conditions [W]");
745 :
746 232 : s->pdrCoilSizingDetailsTable = newPreDefReport(state, "CoilSizingDetails", "Coil", "Coil Sizing Details");
747 232 : s->pdstCoilSummaryCoilSelection = newPreDefSubTable(state, s->pdrCoilSizingDetailsTable, "Coils");
748 : // coil meta data information
749 : // the first column will be the coil name, the unique user name from input. It has no header or column definition
750 232 : s->pdchCoilType = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Coil Type");
751 232 : s->pdchCoilLocation = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Coil Location");
752 232 : s->pdchCoilHVACType = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "HVAC Type");
753 232 : s->pdchCoilHVACName = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "HVAC Name");
754 232 : s->pdchCoilZoneName = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Zone Name(s)");
755 :
756 232 : s->pdchSysSizingMethCoinc = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "System Sizing Method Concurrence");
757 232 : s->pdchSysSizingMethCap = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "System Sizing Method Capacity");
758 232 : s->pdchSysSizingMethAir = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "System Sizing Method Air Flow");
759 :
760 232 : s->pdchCoilIsCapAutosized = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Autosized Coil Capacity?");
761 232 : s->pdchCoilIsAirFlowAutosized = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Autosized Coil Airflow?");
762 232 : s->pdchCoilIsWaterFlowAutosized = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Autosized Coil Water Flow?");
763 232 : s->pdchCoilIsOATreated = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "OA Pretreated prior to coil inlet?");
764 :
765 : // coil Final size summary, regardless of how determined (
766 : // get rid of these, this will be the same as At Rating Conditions.
767 232 : s->pdchCoilFinalTotalCap = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Coil Final Gross Total Capacity [W]");
768 232 : s->pdchCoilFinalSensCap = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Coil Final Gross Sensible Capacity [W]");
769 232 : s->pdchCoilFinalAirVolFlowRate = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Coil Final Reference Air Volume Flow Rate [m3/s]");
770 464 : s->pdchCoilFinalPlantVolFlowRate =
771 232 : newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Coil Final Reference Plant Fluid Volume Flow Rate [m3/s]");
772 :
773 : // Misc Design output
774 232 : s->pdchCoilUA = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Coil U-value Times Area Value [W/K]");
775 232 : s->pdchReheatCoilMultiplier = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Terminal Unit Reheat Coil Multiplier");
776 464 : s->pdchFlowCapRatioLowCapIncreaseRatio =
777 232 : newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "DX Coil Capacity Increase Ratio from Too Low Flow/Capacity Ratio");
778 464 : s->pdchFlowCapRatioHiCapDecreaseRatio =
779 232 : newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "DX Coil Capacity Decrease Ratio from Too High Flow/Capacity Ratio");
780 :
781 464 : s->pdchMoistAirSpecificHeat =
782 232 : newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Moist Air Heat Capacity [J/kg-K]"); // standard? for ideal sizing calcs?
783 464 : s->pdchDryAirSpecificHeat =
784 232 : newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Dry Air Heat Capacity [J/kg-K]"); // standard? for ideal sizing calcs?
785 232 : s->pdchStandRhoAir = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Standard Air Density Adjusted for Elevation [kg/m3]");
786 :
787 : // Fan info for coil
788 232 : s->pdchFanAssociatedWithCoilName = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Supply Fan Name for Coil");
789 232 : s->pdchFanAssociatedWithCoilType = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Supply Fan Type for Coil");
790 232 : s->pdchFanAssociatedVdotSize = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Supply Fan Maximum Air Volume Flow Rate [m3/s]");
791 232 : s->pdchFanAssociatedMdotSize = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Supply Fan Maximum Air Mass Flow Rate [kg/s]");
792 :
793 : // Plant info for coil
794 232 : s->pdchCoilPlantLoopName = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Plant Name for Coil");
795 464 : s->pdchPlantFluidSpecificHeat =
796 232 : newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Plant Fluid Specific Heat Capacity [J/kg-K]"); // standard/inits ?
797 464 : s->pdchPlantFluidDensity =
798 232 : newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Plant Fluid Density [kg/m3]"); // standard/inits ? for ideal sizing calcs?
799 232 : s->pdchPlantMassFlowMaximum = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Plant Maximum Fluid Mass Flow Rate [kg/s]");
800 232 : s->pdchPlantRetTempDesign = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Plant Design Fluid Return Temperature [C]");
801 232 : s->pdchPlantSupTempDesign = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Plant Design Fluid Supply Temperature [C]");
802 232 : s->pdchPlantDeltaTempDesign = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Plant Design Fluid Temperature Difference [deltaC]");
803 232 : s->pdchPlantCapacity = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Plant Design Capacity [W]");
804 464 : s->pdchCoilCapPrcntPlantCapacity =
805 232 : newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Coil Capacity Percentage of Plant Design Capacity [%]");
806 464 : s->pdchCoilFlowPrcntPlantFlow =
807 232 : newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Coil Fluid Flow Rate Percentage of Plant Design Flow Rate [%]");
808 :
809 : // results from regular zone and system sizing calcs, "At Ideal Loads Peak"
810 232 : s->pdchCoilDDnameSensIdealPeak = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Design Day Name at Sensible Ideal Loads Peak");
811 232 : s->pdchCoilDateTimeSensIdealPeak = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Date/Time at Sensible Ideal Loads Peak");
812 232 : s->pdchCoilDDnameTotIdealPeak = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Design Day Name at Total Ideal Loads Peak");
813 232 : s->pdchCoilDateTimeTotIdealPeak = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Date/Time at Total Ideal Loads Peak");
814 232 : s->pdchCoilDDnameAirFlowIdealPeak = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Design Day Name at Air Flow Ideal Loads Peak");
815 232 : s->pdchCoilDateTimeAirFlowIdealPeak = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Date/Time at Air Flow Ideal Loads Peak");
816 232 : s->pdchCoilPeakLoadTypeToSizeOn = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Peak Load Type to Size On");
817 :
818 232 : s->pdchCoilTotalCapIdealPeak = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Coil Total Capacity at Ideal Loads Peak [W]");
819 232 : s->pdchCoilSensCapIdealPeak = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Coil Sensible Capacity at Ideal Loads Peak [W]");
820 464 : s->pdchCoilOffRatingCapacityModifierIdealPeak =
821 232 : newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Coil Off-Rating Capacity Modifier at Ideal Loads Peak [ ]");
822 464 : s->pdchCoilAirMassFlowIdealPeak =
823 232 : newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Coil Air Mass Flow Rate at Ideal Loads Peak [kg/s]");
824 464 : s->pdchCoilAirVolumeFlowIdealPeak =
825 232 : newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Coil Air Volume Flow Rate at Ideal Loads Peak [m3/s]");
826 232 : s->pdchCoilEntDryBulbIdealPeak = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Coil Entering Air Drybulb at Ideal Loads Peak [C]");
827 232 : s->pdchCoilEntWetBulbIdealPeak = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Coil Entering Air Wetbulb at Ideal Loads Peak [C]");
828 464 : s->pdchCoilEntHumRatIdealPeak =
829 232 : newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Coil Entering Air Humidity Ratio at Ideal Loads Peak [kgWater/kgDryAir]");
830 464 : s->pdchCoilEntEnthalpyIdealPeak =
831 232 : newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Coil Entering Air Enthalpy at Ideal Loads Peak [J/kg]");
832 232 : s->pdchCoilLvgDryBulbIdealPeak = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Coil Leaving Air Drybulb at Ideal Loads Peak [C]");
833 232 : s->pdchCoilLvgWetBulbIdealPeak = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Coil Leaving Air Wetbulb at Ideal Loads Peak [C]");
834 464 : s->pdchCoilLvgHumRatIdealPeak =
835 232 : newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Coil Leaving Air Humidity Ratio at Ideal Loads Peak [kgWater/kgDryAir]");
836 464 : s->pdchCoilLvgEnthalpyIdealPeak =
837 232 : newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Coil Leaving Air Enthalpy at Ideal Loads Peak [J/kg]");
838 464 : s->pdchCoilWaterMassFlowIdealPeak =
839 232 : newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Coil Plant Fluid Mass Flow Rate at Ideal Loads Peak [kg/s]");
840 464 : s->pdchCoilEntWaterTempIdealPeak =
841 232 : newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Coil Entering Plant Fluid Temperature at Ideal Loads Peak [C]");
842 464 : s->pdchCoilLvgWaterTempIdealPeak =
843 232 : newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Coil Leaving Plant Fluid Temperature at Ideal Loads Peak [C]");
844 464 : s->pdchCoilWaterDeltaTempIdealPeak =
845 232 : newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Coil Plant Fluid Temperature Difference at Ideal Loads Peak [deltaC]");
846 232 : s->pdchFanHeatGainIdealPeak = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Supply Fan Air Heat Gain at Ideal Loads Peak [W]");
847 464 : s->pdchCoilNetTotalCapacityIdealPeak =
848 232 : newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Coil and Fan Net Total Capacity at Ideal Loads Peak [W]");
849 232 : s->pdchOADryBulbIdealPeak = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Outdoor Air Drybulb at Ideal Loads Peak [C]");
850 464 : s->pdchOAHumRatIdealPeak =
851 232 : newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Outdoor Air Humidity Ratio at Ideal Loads Peak [kgWater/kgDryAir]");
852 232 : s->pdchOAWetBulbatIdealPeak = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Outdoor Air Wetbulb at Ideal Loads Peak [C]");
853 464 : s->pdchOAVolFlowIdealPeak =
854 232 : newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Outdoor Air Volume Flow Rate at Ideal Loads Peak [m3/s]");
855 232 : s->pdchOAFlowPrcntIdealPeak = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Outdoor Air Flow Percentage at Ideal Loads Peak [%]");
856 464 : s->pdchAirSysRADryBulbIdealPeak =
857 232 : newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "System Return Air Drybulb at Ideal Loads Peak [C]");
858 464 : s->pdchAirSysRAHumRatIdealPeak =
859 232 : newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "System Return Air Humidity Ratio at Ideal Loads Peak [kgWater/kgDryAir]");
860 232 : s->pdchZoneAirDryBulbIdealPeak = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Zone Air Drybulb at Ideal Loads Peak [C]");
861 464 : s->pdchZoneAirHumRatIdealPeak =
862 232 : newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Zone Air Humidity Ratio at Ideal Loads Peak [kgWater/kgDryAir]");
863 232 : s->pdchZoneAirRelHumIdealPeak = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Zone Air Relative Humidity at Ideal Loads Peak [%]");
864 232 : s->pdchZoneSensibleLoadIdealPeak = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Zone Sensible Heat Gain at Ideal Loads Peak [W]");
865 232 : s->pdchZoneLatentLoadIdealPeak = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Zone Latent Heat Gain at Ideal Loads Peak [W]");
866 : // results for coil at Rated Conditions
867 232 : s->pdchCoilRatedTotalCap = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Coil Total Capacity at Rating Conditions [W]");
868 232 : s->pdchCoilRatedSensCap = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Coil Sensible Capacity at Rating Conditions [W]");
869 :
870 232 : s->pdchCoilRatedAirMass = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Coil Air Mass Flow Rate at Rating Conditions [kg/s]");
871 232 : s->pdchCoilRatedEntDryBulb = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Coil Entering Air Drybulb at Rating Conditions [C]");
872 232 : s->pdchCoilRatedEntWetBulb = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Coil Entering Air Wetbulb at Rating Conditions [C]");
873 464 : s->pdchCoilRatedEntHumRat =
874 232 : newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Coil Entering Air Humidity Ratio at Rating Conditions [kgWater/kgDryAir]");
875 464 : s->pdchCoilRatedEntEnthalpy =
876 232 : newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Coil Entering Air Enthalpy at Rating Conditions [J/kg]");
877 232 : s->pdchCoilRatedLvgDryBulb = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Coil Leaving Air Drybulb at Rating Conditions [C]");
878 232 : s->pdchCoilRatedLvgWetBulb = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Coil Leaving Air Wetbulb at Rating Conditions [C]");
879 464 : s->pdchCoilRatedLvgHumRat =
880 232 : newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Coil Leaving Air Humidity Ratio at Rating Conditions [kgWater/kgDryAir]");
881 464 : s->pdchCoilRatedLvgEnthalpy =
882 232 : newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Coil Leaving Air Enthalpy at Rating Conditions [J/kg]");
883 :
884 : // Std 229 New Table "Coil Connections"
885 232 : s->pdstCoilConnections = newPreDefSubTable(state, s->pdrCoilSizingDetailsTable, "Coil Connections");
886 : // coil connections information
887 232 : s->pdchCoilName_CCs = newPreDefColumn(state, s->pdstCoilConnections, "Coil Name");
888 232 : s->pdchCoilType_CCs = newPreDefColumn(state, s->pdstCoilConnections, "Coil Type");
889 232 : s->pdchCoilLoc_CCs = newPreDefColumn(state, s->pdstCoilConnections, "Coil Location");
890 232 : s->pdchCoilHVACType_CCs = newPreDefColumn(state, s->pdstCoilConnections, "HVAC Type");
891 232 : s->pdchCoilHVACName_CCs = newPreDefColumn(state, s->pdstCoilConnections, "HVAC Name");
892 232 : s->pdchCoilZoneNames_CCs = newPreDefColumn(state, s->pdstCoilConnections, "Zone Name(s)");
893 232 : s->pdchCoilSupFanName_CCs = newPreDefColumn(state, s->pdstCoilConnections, "Supply Fan Name for HVAC");
894 232 : s->pdchCoilSupFanType_CCs = newPreDefColumn(state, s->pdstCoilConnections, "Supply Fan Type for HVAC");
895 232 : s->pdchCoilAirloopName_CCs = newPreDefColumn(state, s->pdstCoilConnections, "Airloop Name");
896 232 : s->pdchCoilPlantName_CCs = newPreDefColumn(state, s->pdstCoilConnections, "Plant Name for Coil");
897 232 : s->pdchCoilPlantloopName_CCs = newPreDefColumn(state, s->pdstCoilConnections, "Plant Loop Name");
898 :
899 : // System Summary Report
900 :
901 232 : s->pdrSystem = newPreDefReport(state, "SystemSummary", "Sys", "System Summary");
902 :
903 232 : s->pdstEconomizer = newPreDefSubTable(state, s->pdrSystem, "Economizer");
904 :
905 232 : s->pdchEcoKind = newPreDefColumn(state, s->pdstEconomizer, "High Limit Shutoff Control");
906 232 : s->pdchEcoMinOA = newPreDefColumn(state, s->pdstEconomizer, "Minimum Outdoor Air [m3/s]");
907 232 : s->pdchEcoMaxOA = newPreDefColumn(state, s->pdstEconomizer, "Maximum Outdoor Air [m3/s]");
908 232 : s->pdchEcoRetTemp = newPreDefColumn(state, s->pdstEconomizer, "Return Air Temp Limit");
909 232 : s->pdchEcoRetEnth = newPreDefColumn(state, s->pdstEconomizer, "Return Air Enthalpy Limit");
910 232 : s->pdchEcoOATempLim = newPreDefColumn(state, s->pdstEconomizer, "Outdoor Air Temperature Limit [C]");
911 232 : s->pdchEcoOAEnthLim = newPreDefColumn(state, s->pdstEconomizer, "Outdoor Air Enthalpy Limit [C]");
912 :
913 232 : s->pdstDemCntlVent = newPreDefSubTable(state, s->pdrSystem, "Demand Controlled Ventilation using Controller:MechanicalVentilation");
914 232 : s->pdchDCVventMechName = newPreDefColumn(state, s->pdstDemCntlVent, "Controller:MechanicalVentilation Name");
915 232 : s->pdchDCVperPerson = newPreDefColumn(state, s->pdstDemCntlVent, "Outdoor Air Per Person [m3/s-person]");
916 232 : s->pdchDCVperArea = newPreDefColumn(state, s->pdstDemCntlVent, "Outdoor Air Per Area [m3/s-m2]");
917 232 : s->pdchDCVperZone = newPreDefColumn(state, s->pdstDemCntlVent, "Outdoor Air Per Zone [m3/s]");
918 232 : s->pdchDCVperACH = newPreDefColumn(state, s->pdstDemCntlVent, "Outdoor Air ACH [ach]");
919 232 : s->pdchDCVMethod = newPreDefColumn(state, s->pdstDemCntlVent, "Outdoor Air Method");
920 232 : s->pdchDCVOASchName = newPreDefColumn(state, s->pdstDemCntlVent, "Outdoor Air Schedule Name");
921 : // added for new DCV
922 232 : s->pdchDCVZoneADEffCooling = newPreDefColumn(state, s->pdstDemCntlVent, "Air Distribution Effectiveness in Cooling Mode");
923 232 : s->pdchDCVZoneADEffHeating = newPreDefColumn(state, s->pdstDemCntlVent, "Air Distribution Effectiveness in Heating Mode");
924 232 : s->pdchDCVZoneADEffSchName = newPreDefColumn(state, s->pdstDemCntlVent, "Air Distribution Effectiveness Schedule Name");
925 232 : s->pdchDCVType = newPreDefColumn(state, s->pdstDemCntlVent, "Type");
926 :
927 232 : s->pdstSimpleComfort = newPreDefSubTable(state, s->pdrSystem, "Time Not Comfortable Based on Simple ASHRAE 55-2004");
928 232 : s->pdchSCwinterClothes = newPreDefColumn(state, s->pdstSimpleComfort, "Winter Clothes [hr]");
929 232 : s->pdchSCsummerClothes = newPreDefColumn(state, s->pdstSimpleComfort, "Summer Clothes [hr]");
930 232 : s->pdchSCeitherClothes = newPreDefColumn(state, s->pdstSimpleComfort, "Summer or Winter Clothes [hr]");
931 :
932 232 : s->pdstUnmetLoads = newPreDefSubTable(state, s->pdrSystem, "Time Setpoint Not Met");
933 232 : s->pdchULnotMetHeat = newPreDefColumn(state, s->pdstUnmetLoads, "During Heating [hr]");
934 232 : s->pdchULnotMetCool = newPreDefColumn(state, s->pdstUnmetLoads, "During Cooling [hr]");
935 232 : s->pdchULnotMetHeatOcc = newPreDefColumn(state, s->pdstUnmetLoads, "During Occupied Heating [hr]");
936 232 : s->pdchULnotMetCoolOcc = newPreDefColumn(state, s->pdstUnmetLoads, "During Occupied Cooling [hr]");
937 :
938 232 : s->pdstStatSchd = newPreDefSubTable(state, s->pdrSystem, "Thermostat Schedules");
939 232 : s->pdchStatName = newPreDefColumn(state, s->pdstStatSchd, "Thermostat Name 1");
940 232 : s->pdchStatCtrlTypeSchd = newPreDefColumn(state, s->pdstStatSchd, "Control Type Schedule");
941 232 : s->pdchStatSchdType1 = newPreDefColumn(state, s->pdstStatSchd, "Control Type");
942 232 : s->pdchStatSchdTypeName1 = newPreDefColumn(state, s->pdstStatSchd, "Control Type Name");
943 232 : s->pdchStatSchdHeatName = newPreDefColumn(state, s->pdstStatSchd, "Heating Schedule");
944 232 : s->pdchStatSchdCoolName = newPreDefColumn(state, s->pdstStatSchd, "Cooling Schedule");
945 :
946 : // HVAC Topology Report
947 232 : s->pdrTopology = newPreDefReport(state, "HVACTopology", "Top", "HVAC Topology");
948 :
949 232 : s->pdstTopAirLoop = newPreDefSubTable(state, s->pdrTopology, "Air Loop Supply Side Component Arrangement");
950 232 : s->pdchTopAirLoopName = newPreDefColumn(state, s->pdstTopAirLoop, "Airloop Name");
951 232 : s->pdchTopAirSplitName = newPreDefColumn(state, s->pdstTopAirLoop, "Splitter Name");
952 232 : s->pdchTopAirBranchName = newPreDefColumn(state, s->pdstTopAirLoop, "Supply Branch Name");
953 232 : s->pdchTopAirSupplyBranchType = newPreDefColumn(state, s->pdstTopAirLoop, "Supply Branch Type");
954 232 : s->pdchTopAirCompType = newPreDefColumn(state, s->pdstTopAirLoop, "Component Type");
955 232 : s->pdchTopAirCompName = newPreDefColumn(state, s->pdstTopAirLoop, "Component Name");
956 232 : s->pdchTopAirSubCompType = newPreDefColumn(state, s->pdstTopAirLoop, "Sub-Component Type");
957 232 : s->pdchTopAirSubCompName = newPreDefColumn(state, s->pdstTopAirLoop, "Sub-Component Name");
958 232 : s->pdchTopAirSubSubCompType = newPreDefColumn(state, s->pdstTopAirLoop, "Sub-Sub-Component Type");
959 232 : s->pdchTopAirSubSubCompName = newPreDefColumn(state, s->pdstTopAirLoop, "Sub-Sub-Component Name");
960 232 : s->pdchTopAirMixName = newPreDefColumn(state, s->pdstTopAirLoop, "Mixer Name");
961 :
962 232 : s->pdstTopAirDemand = newPreDefSubTable(state, s->pdrTopology, "Air Loop Demand Side Component Arrangement");
963 232 : s->pdchTopAirDemandName = newPreDefColumn(state, s->pdstTopAirDemand, "Airloop Name");
964 232 : s->pdchTopAirSupplyBranchName = newPreDefColumn(state, s->pdstTopAirDemand, "Supply Branch Name");
965 232 : s->pdchTopAirSupplyDuctType = newPreDefColumn(state, s->pdstTopAirDemand, "Supply Branch Type");
966 232 : s->pdchTopAirSupplyPCompType = newPreDefColumn(state, s->pdstTopAirDemand, "Supply Path Component Type");
967 232 : s->pdchTopAirSupplyPCompName = newPreDefColumn(state, s->pdstTopAirDemand, "Supply Path Component Name");
968 232 : s->pdchTopAirTermUnitType = newPreDefColumn(state, s->pdstTopAirDemand, "Terminal Unit Type");
969 232 : s->pdchTopAirTermUnitName = newPreDefColumn(state, s->pdstTopAirDemand, "Terminal Unit Name");
970 232 : s->pdchTopAirZoneName = newPreDefColumn(state, s->pdstTopAirDemand, "Zone Name");
971 232 : s->pdchTopAirReturnPCompType = newPreDefColumn(state, s->pdstTopAirDemand, "Return Path Component Type");
972 232 : s->pdchTopAirReturnPCompName = newPreDefColumn(state, s->pdstTopAirDemand, "Return Path Component Name");
973 :
974 232 : s->pdstTopZnEqp = newPreDefSubTable(state, s->pdrTopology, "Zone Equipment Component Arrangement");
975 232 : s->pdchTopZnEqpName = newPreDefColumn(state, s->pdstTopZnEqp, "Zone Name");
976 232 : s->pdchTopZnEqpCompType = newPreDefColumn(state, s->pdstTopZnEqp, "Component Type");
977 232 : s->pdchTopZnEqpCompName = newPreDefColumn(state, s->pdstTopZnEqp, "Component Name");
978 232 : s->pdchTopZnEqpSubCompType = newPreDefColumn(state, s->pdstTopZnEqp, "Sub-Component Type");
979 232 : s->pdchTopZnEqpSubCompName = newPreDefColumn(state, s->pdstTopZnEqp, "Sub-Component Name");
980 232 : s->pdchTopZnEqpSubSubCompType = newPreDefColumn(state, s->pdstTopZnEqp, "Sub-Sub-Component Type");
981 232 : s->pdchTopZnEqpSubSubCompName = newPreDefColumn(state, s->pdstTopZnEqp, "Sub-Sub-Component Name");
982 :
983 232 : s->pdstTopPlantLoop2 = newPreDefSubTable(state, s->pdrTopology, "Plant Loop Component Arrangement");
984 232 : s->pdchTopPlantLoopType2 = newPreDefColumn(state, s->pdstTopPlantLoop2, "Loop Type");
985 232 : s->pdchTopPlantLoopName2 = newPreDefColumn(state, s->pdstTopPlantLoop2, "Loop Name");
986 232 : s->pdchTopPlantSide2 = newPreDefColumn(state, s->pdstTopPlantLoop2, "Side");
987 232 : s->pdchTopPlantSplitName2 = newPreDefColumn(state, s->pdstTopPlantLoop2, "Splitter Name");
988 232 : s->pdchTopPlantBranchName2 = newPreDefColumn(state, s->pdstTopPlantLoop2, "Branch Name");
989 232 : s->pdchTopPlantCompType2 = newPreDefColumn(state, s->pdstTopPlantLoop2, "Component Type");
990 232 : s->pdchTopPlantCompName2 = newPreDefColumn(state, s->pdstTopPlantLoop2, "Component Name");
991 232 : s->pdchTopPlantMixName2 = newPreDefColumn(state, s->pdstTopPlantLoop2, "Mixer Name");
992 :
993 : // Outdoor Air Report
994 232 : s->pdrOutsideAir = newPreDefReport(state, "OutdoorAirSummary", "OA", "Outdoor Air Summary");
995 :
996 232 : s->pdstOAavgOcc = newPreDefSubTable(state, s->pdrOutsideAir, "Average Outdoor Air During Occupied Hours");
997 :
998 232 : s->pdchOaoAvgNumOcc1 = newPreDefColumn(state, s->pdstOAavgOcc, "Average Number of Occupants");
999 232 : s->pdchOaoNomNumOcc1 = newPreDefColumn(state, s->pdstOAavgOcc, "Nominal Number of Occupants");
1000 232 : s->pdchOaoZoneVol1 = newPreDefColumn(state, s->pdstOAavgOcc, "Zone Volume [m3]");
1001 232 : s->pdchOaoAvgMechVent = newPreDefColumn(state, s->pdstOAavgOcc, "Mechanical Ventilation [ach]");
1002 232 : s->pdchOaoAvgInfil = newPreDefColumn(state, s->pdstOAavgOcc, "Infiltration [ach]");
1003 232 : s->pdchOaoAvgAFNInfil = newPreDefColumn(state, s->pdstOAavgOcc, "AFN Infiltration [ach]");
1004 232 : s->pdchOaoAvgSimpVent = newPreDefColumn(state, s->pdstOAavgOcc, "Simple Ventilation [ach]");
1005 : // s->pdchOaoAvgTotVent = newPreDefColumn(state, s->pdstOAavgOcc,'Total Ventilation [ach]')
1006 :
1007 232 : addFootNoteSubTable(state, s->pdstOAavgOcc, "Values shown for a single zone without multipliers");
1008 :
1009 232 : s->pdstOAminOcc = newPreDefSubTable(state, s->pdrOutsideAir, "Minimum Outdoor Air During Occupied Hours");
1010 :
1011 232 : s->pdchOaoAvgNumOcc2 = newPreDefColumn(state, s->pdstOAminOcc, "Average Number of Occupants");
1012 232 : s->pdchOaoNomNumOcc2 = newPreDefColumn(state, s->pdstOAminOcc, "Nominal Number of Occupants");
1013 232 : s->pdchOaoZoneVol2 = newPreDefColumn(state, s->pdstOAminOcc, "Zone Volume [m3]");
1014 232 : s->pdchOaoMinMechVent = newPreDefColumn(state, s->pdstOAminOcc, "Mechanical Ventilation [ach]");
1015 232 : s->pdchOaoMinInfil = newPreDefColumn(state, s->pdstOAminOcc, "Infiltration [ach]");
1016 232 : s->pdchOaoMinAFNInfil = newPreDefColumn(state, s->pdstOAminOcc, "AFN Infiltration [ach]");
1017 232 : s->pdchOaoMinSimpVent = newPreDefColumn(state, s->pdstOAminOcc, "Simple Ventilation [ach]");
1018 : // s->pdchOaoMinTotVent = newPreDefColumn(state, s->pdstOAminOcc,'Total Ventilation [ach]')
1019 232 : addFootNoteSubTable(state, s->pdstOAminOcc, "Values shown for a single zone without multipliers");
1020 :
1021 : // Outdoor Air Details Report
1022 232 : s->pdrOutsideAirDetails = newPreDefReport(state, "OutdoorAirDetails", "OAD", "Outdoor Air Details");
1023 :
1024 232 : s->pdstOAmechVentParByZone = newPreDefSubTable(state, s->pdrOutsideAirDetails, "Mechanical Ventilation Parameters by Zone");
1025 232 : s->pdchOaMvAirLpNm = newPreDefColumn(state, s->pdstOAmechVentParByZone, "AirLoop Name");
1026 232 : s->pdchOaMvAvgNumOcc = newPreDefColumn(state, s->pdstOAmechVentParByZone, "Average Number of Occupants");
1027 232 : s->pdchOaMvNomNumOcc = newPreDefColumn(state, s->pdstOAmechVentParByZone, "Nominal Number of Occupants");
1028 232 : s->pdchOaMvZoneVol = newPreDefColumn(state, s->pdstOAmechVentParByZone, "Zone Volume [m3]");
1029 232 : s->pdchOaMvZoneArea = newPreDefColumn(state, s->pdstOAmechVentParByZone, "Zone Area [m2]");
1030 232 : s->pdchOaMvDesZnOa = newPreDefColumn(state, s->pdstOAmechVentParByZone, "Design Zone Outdoor Airflow - Voz [m3/s]");
1031 232 : s->pdchOaMvMinDynTrgVent = newPreDefColumn(state, s->pdstOAmechVentParByZone, "Minimum Dynamic Target Ventilation - Voz-dyn-min [m3/s]");
1032 464 : addFootNoteSubTable(
1033 232 : state, s->pdstOAmechVentParByZone, "Values shown for a single zone without multipliers. Total Facility includes multipliers.");
1034 :
1035 232 : s->pdstOAtotAirByZone = newPreDefSubTable(state, s->pdrOutsideAirDetails, "Total Outdoor Air by Zone");
1036 232 : s->pdchOaTaBzMechVent = newPreDefColumn(state, s->pdstOAtotAirByZone, "Mechanical Ventilation [m3]");
1037 232 : s->pdchOaTaBzNatVent = newPreDefColumn(state, s->pdstOAtotAirByZone, "Natural Ventilation [m3]");
1038 232 : s->pdchOaTaBzTotVent = newPreDefColumn(state, s->pdstOAtotAirByZone, "Total Ventilation [m3]");
1039 232 : s->pdchOaTaBzInfil = newPreDefColumn(state, s->pdstOAtotAirByZone, "Infiltration [m3]");
1040 232 : s->pdchOaTaBzTotVentInfil = newPreDefColumn(state, s->pdstOAtotAirByZone, "Total Ventilation and Infiltration [m3]");
1041 232 : s->pdchOaTaBzDynTrgVent = newPreDefColumn(state, s->pdstOAtotAirByZone, "Dynamic Target Ventilation - Voz-dyn [m3]");
1042 232 : s->pdchOaTaBzTmBelow = newPreDefColumn(state, s->pdstOAtotAirByZone, "Time Below Voz-dyn [hr]");
1043 232 : s->pdchOaTaBzTmAt = newPreDefColumn(state, s->pdstOAtotAirByZone, "Time At Voz-dyn [hr]");
1044 232 : s->pdchOaTaBzTmAbove = newPreDefColumn(state, s->pdstOAtotAirByZone, "Time Above Voz-dyn [hr]");
1045 232 : s->pdchOaTaBzTmAboveUnocc = newPreDefColumn(state, s->pdstOAtotAirByZone, "Time Above Zero When Unoccupied [hr]");
1046 232 : addFootNoteSubTable(state, s->pdstOAtotAirByZone, "Values shown for a single zone without multipliers. Total Facility includes multipliers.");
1047 :
1048 232 : s->pdstOAavgOccByZone = newPreDefSubTable(state, s->pdrOutsideAirDetails, "Average Outdoor Air During Occupancy by Zone - Flow Rates");
1049 232 : s->pdchOaOccBzMechVent = newPreDefColumn(state, s->pdstOAavgOccByZone, "Mechanical Ventilation [m3/s]");
1050 232 : s->pdchOaOccBzNatVent = newPreDefColumn(state, s->pdstOAavgOccByZone, "Natural Ventilation [m3/s]");
1051 232 : s->pdchOaOccBzTotVent = newPreDefColumn(state, s->pdstOAavgOccByZone, "Total Ventilation [m3/s]");
1052 232 : s->pdchOaOccBzInfil = newPreDefColumn(state, s->pdstOAavgOccByZone, "Infiltration [m3/s]");
1053 232 : s->pdchOaOccBzTotVentInfil = newPreDefColumn(state, s->pdstOAavgOccByZone, "Total Ventilation and Infiltration [m3/s]");
1054 232 : s->pdchOaOccBzDynTrgVent = newPreDefColumn(state, s->pdstOAavgOccByZone, "Dynamic Target Ventilation - Voz-dyn [m3/s]");
1055 232 : s->pdchOaOccBzTmBelow = newPreDefColumn(state, s->pdstOAavgOccByZone, "Time Below Voz-dyn [hr]");
1056 232 : s->pdchOaOccBzTmAt = newPreDefColumn(state, s->pdstOAavgOccByZone, "Time At Voz-dyn [hr]");
1057 232 : s->pdchOaOccBzTmAbove = newPreDefColumn(state, s->pdstOAavgOccByZone, "Time Above Voz-dyn [hr]");
1058 232 : addFootNoteSubTable(state, s->pdstOAavgOccByZone, "Values shown for a single zone without multipliers. Total Facility includes multipliers.");
1059 :
1060 232 : s->pdstOAtotAirByLoop = newPreDefSubTable(state, s->pdrOutsideAirDetails, "Total Outdoor Air by AirLoop");
1061 232 : s->pdchOaTaAlMechVent = newPreDefColumn(state, s->pdstOAtotAirByLoop, "Mechanical Ventilation [m3]");
1062 232 : s->pdchOaTaAlNatVent = newPreDefColumn(state, s->pdstOAtotAirByLoop, "Natural Ventilation [m3]");
1063 232 : s->pdchOaTaAlTotVent = newPreDefColumn(state, s->pdstOAtotAirByLoop, "Total Ventilation [m3]");
1064 232 : s->pdchOaTaAlSumDynTrgVent = newPreDefColumn(state, s->pdstOAtotAirByLoop, "Sum Zone Dynamic Target Ventilation - Voz-sum-dyn [m3]");
1065 232 : s->pdchOaTaAlTmBelow = newPreDefColumn(state, s->pdstOAtotAirByLoop, "Time Below Voz-sum-dyn [hr]");
1066 232 : s->pdchOaTaAlTmAt = newPreDefColumn(state, s->pdstOAtotAirByLoop, "Time At Voz-sum-dyn [hr]");
1067 232 : s->pdchOaTaAlTmAbove = newPreDefColumn(state, s->pdstOAtotAirByLoop, "Time Above Voz-sum-dyn [hr]");
1068 232 : s->pdchOaTaAlTmAboveUnocc = newPreDefColumn(state, s->pdstOAtotAirByLoop, "Time Above Zero When Unoccupied [hr]");
1069 232 : addFootNoteSubTable(state, s->pdstOAtotAirByLoop, "Values shown include multipliers.");
1070 :
1071 232 : s->pdstOAavgOccByLoop = newPreDefSubTable(state, s->pdrOutsideAirDetails, "Average Outdoor Air During Occupancy by AirLoop");
1072 232 : s->pdchOaOccAlMechVent = newPreDefColumn(state, s->pdstOAavgOccByLoop, "Mechanical Ventilation [m3/s]");
1073 232 : s->pdchOaOccAlNatVent = newPreDefColumn(state, s->pdstOAavgOccByLoop, "Natural Ventilation [m3/s]");
1074 232 : s->pdchOaOccAlTotVent = newPreDefColumn(state, s->pdstOAavgOccByLoop, "Total Ventilation [m3/s]");
1075 232 : s->pdchOaOccAlSumDynTrgVent = newPreDefColumn(state, s->pdstOAavgOccByLoop, "Sum Zone Dynamic Target Ventilation - Voz-sum-dyn [m3/s]");
1076 232 : s->pdchOaOccAlTmBelow = newPreDefColumn(state, s->pdstOAavgOccByLoop, "Time Below Voz-sum-dyn [hr]");
1077 232 : s->pdchOaOccAlTmAt = newPreDefColumn(state, s->pdstOAavgOccByLoop, "Time At Voz-sum-dyn [hr]");
1078 232 : s->pdchOaOccAlTmAbove = newPreDefColumn(state, s->pdstOAavgOccByLoop, "Time Above Voz-sum-dyn [hr]");
1079 232 : addFootNoteSubTable(state, s->pdstOAavgOccByLoop, "Values shown include multipliers.");
1080 :
1081 232 : s->pdstOAtimeFactorsDurOcc = newPreDefSubTable(state, s->pdrOutsideAirDetails, "Outdoor Air Controller Limiting Factors by AirLoop");
1082 232 : s->pdchOaTmFctNoLimit = newPreDefColumn(state, s->pdstOAtimeFactorsDurOcc, "No Limiting Factor [hr]"); // todo
1083 232 : s->pdchOaTmFctLimit = newPreDefColumn(state, s->pdstOAtimeFactorsDurOcc, "Limits and Scheduled Limits [hr]"); // todo
1084 232 : s->pdchOaTmFctEcono = newPreDefColumn(state, s->pdstOAtimeFactorsDurOcc, "Economizer [hr]"); // todo
1085 232 : s->pdchOaTmFctExhaust = newPreDefColumn(state, s->pdstOAtimeFactorsDurOcc, "Exhaust Flow [hr]"); // todo
1086 232 : s->pdchOaTmFctMixedLimit = newPreDefColumn(state, s->pdstOAtimeFactorsDurOcc, "Mixed Air Flow [hr]"); // todo
1087 232 : s->pdchOaTmFctHiHumid = newPreDefColumn(state, s->pdstOAtimeFactorsDurOcc, "High Humidity [hr]"); // todo
1088 232 : s->pdchOaTmFctDCV = newPreDefColumn(state, s->pdstOAtimeFactorsDurOcc, "Demand Controlled Ventilation [hr]"); // todo
1089 232 : s->pdchOaTmFctNiteVent = newPreDefColumn(state, s->pdstOAtimeFactorsDurOcc, "Night Ventilation [hr]"); // todo
1090 232 : s->pdchOaTmFctDemand = newPreDefColumn(state, s->pdstOAtimeFactorsDurOcc, "Demand Limiting [hr]"); // todo
1091 232 : s->pdchOaTmFctEMS = newPreDefColumn(state, s->pdstOAtimeFactorsDurOcc, "Energy Management System [hr]"); // todo
1092 :
1093 232 : s->pdstOAavgFactorsDurOcc = newPreDefSubTable(state, s->pdrOutsideAirDetails, "Average Outdoor Air for Limiting Factors During Occupancy");
1094 232 : s->pdchOaAvFctNoLimit = newPreDefColumn(state, s->pdstOAavgFactorsDurOcc, "No Limiting Factor [m3/s]"); // todo
1095 232 : s->pdchOaAvFctLimit = newPreDefColumn(state, s->pdstOAavgFactorsDurOcc, "Limits and Scheduled Limits [m3/s]"); // todo
1096 232 : s->pdchOaAvFctEcono = newPreDefColumn(state, s->pdstOAavgFactorsDurOcc, "Economizer [m3/s]"); // todo
1097 232 : s->pdchOaAvFctExhaust = newPreDefColumn(state, s->pdstOAavgFactorsDurOcc, "Exhaust Flow [m3/s]"); // todo
1098 232 : s->pdchOaAvFctMixedLimit = newPreDefColumn(state, s->pdstOAavgFactorsDurOcc, "Mixed Air Flow [m3/s]"); // todo
1099 232 : s->pdchOaAvFctHiHumid = newPreDefColumn(state, s->pdstOAavgFactorsDurOcc, "High Humidity [m3/s]"); // todo
1100 232 : s->pdchOaAvFctDCV = newPreDefColumn(state, s->pdstOAavgFactorsDurOcc, "Demand Controlled Ventilation [m3/s]"); // todo
1101 232 : s->pdchOaAvFctNiteVent = newPreDefColumn(state, s->pdstOAavgFactorsDurOcc, "Night Ventilation [m3/s]"); // todo
1102 232 : s->pdchOaAvFctDemand = newPreDefColumn(state, s->pdstOAavgFactorsDurOcc, "Demand Limiting [m3/s]"); // todo
1103 232 : s->pdchOaAvFctEMS = newPreDefColumn(state, s->pdstOAavgFactorsDurOcc, "Energy Management System [m3/s]"); // todo
1104 232 : addFootNoteSubTable(state, s->pdstOAavgFactorsDurOcc, "Values shown include multipliers.");
1105 :
1106 : // Object Count Report
1107 232 : s->pdrObjCnt = newPreDefReport(state, "ObjectCountSummary", "Count", "Object Count Summary");
1108 :
1109 232 : s->pdstSurfCnt = newPreDefSubTable(state, s->pdrObjCnt, "Surfaces by Class");
1110 232 : s->pdchSurfCntTot = newPreDefColumn(state, s->pdstSurfCnt, "Total");
1111 232 : s->pdchSurfCntExt = newPreDefColumn(state, s->pdstSurfCnt, "Outdoors");
1112 :
1113 232 : s->pdstHVACcnt = newPreDefSubTable(state, s->pdrObjCnt, "HVAC");
1114 232 : s->pdchHVACcntVal = newPreDefColumn(state, s->pdstHVACcnt, "Count");
1115 :
1116 232 : s->pdstFieldCnt = newPreDefSubTable(state, s->pdrObjCnt, "Input Fields");
1117 232 : s->pdchFieldCntVal = newPreDefColumn(state, s->pdstFieldCnt, "Count");
1118 :
1119 : // Energy Meters report
1120 232 : s->pdrEnergyMeters = newPreDefReport(state, "EnergyMeters", "Meters", "Energy Meters");
1121 :
1122 : // s->pdstEMvalues = newPreDefSubTable(state, s->pdrEnergyMeters,'Annual and Peak Values')
1123 : // s->pdchEMannual = newPreDefColumn(state, s->pdstEMvalues,'Annual Value [GJ]')
1124 : // s->pdchEMminvalue = newPreDefColumn(state, s->pdstEMvalues,'Minimum Value [J]')
1125 : // s->pdchEMminvaluetime = newPreDefColumn(state, s->pdstEMvalues,'Timestamp of Minimum')
1126 : // s->pdchEMmaxvalue = newPreDefColumn(state, s->pdstEMvalues,'Maximum Value [J]')
1127 : // s->pdchEMmaxvaluetime = newPreDefColumn(state, s->pdstEMvalues,'Timestamp of Maximum')
1128 : // Electricity Sub Table
1129 232 : s->pdstEMelecvalues = newPreDefSubTable(state, s->pdrEnergyMeters, "Annual and Peak Values - Electricity");
1130 464 : addFootNoteSubTable(
1131 232 : state, s->pdstEMelecvalues, "Values shown are for all completed run periods - including any simulations run during sizing periods");
1132 232 : s->pdchEMelecannual = newPreDefColumn(state, s->pdstEMelecvalues, "Electricity Annual Value [GJ]");
1133 232 : s->pdchEMelecminvalue = newPreDefColumn(state, s->pdstEMelecvalues, "Electricity Minimum Value [W]");
1134 232 : s->pdchEMelecminvaluetime = newPreDefColumn(state, s->pdstEMelecvalues, "Timestamp of Minimum {TIMESTAMP}");
1135 232 : s->pdchEMelecmaxvalue = newPreDefColumn(state, s->pdstEMelecvalues, "Electricity Maximum Value [W]");
1136 232 : s->pdchEMelecmaxvaluetime = newPreDefColumn(state, s->pdstEMelecvalues, "Timestamp of Maximum {TIMESTAMP}");
1137 :
1138 : // Gas Sub Table
1139 232 : s->pdstEMgasvalues = newPreDefSubTable(state, s->pdrEnergyMeters, "Annual and Peak Values - Natural Gas");
1140 464 : addFootNoteSubTable(
1141 232 : state, s->pdstEMgasvalues, "Values shown are for all completed run periods - including any simulations run during sizing periods");
1142 232 : s->pdchEMgasannual = newPreDefColumn(state, s->pdstEMgasvalues, "Natural Gas Annual Value [GJ]");
1143 232 : s->pdchEMgasminvalue = newPreDefColumn(state, s->pdstEMgasvalues, "Natural Gas Minimum Value [W]");
1144 232 : s->pdchEMgasminvaluetime = newPreDefColumn(state, s->pdstEMgasvalues, "Timestamp of Minimum {TIMESTAMP}");
1145 232 : s->pdchEMgasmaxvalue = newPreDefColumn(state, s->pdstEMgasvalues, "Natural Gas Maximum Value [W]");
1146 232 : s->pdchEMgasmaxvaluetime = newPreDefColumn(state, s->pdstEMgasvalues, "Timestamp of Maximum {TIMESTAMP}");
1147 :
1148 : // Cool SubTable
1149 232 : s->pdstEMcoolvalues = newPreDefSubTable(state, s->pdrEnergyMeters, "Annual and Peak Values - Cooling");
1150 464 : addFootNoteSubTable(
1151 232 : state, s->pdstEMcoolvalues, "Values shown are for all completed run periods - including any simulations run during sizing periods");
1152 232 : s->pdchEMcoolannual = newPreDefColumn(state, s->pdstEMcoolvalues, "Cooling Annual Value [GJ]");
1153 232 : s->pdchEMcoolminvalue = newPreDefColumn(state, s->pdstEMcoolvalues, "Cooling Minimum Value [W]");
1154 232 : s->pdchEMcoolminvaluetime = newPreDefColumn(state, s->pdstEMcoolvalues, "Timestamp of Minimum {TIMESTAMP}");
1155 232 : s->pdchEMcoolmaxvalue = newPreDefColumn(state, s->pdstEMcoolvalues, "Cooling Maximum Value [W]");
1156 232 : s->pdchEMcoolmaxvaluetime = newPreDefColumn(state, s->pdstEMcoolvalues, "Timestamp of Maximum {TIMESTAMP}");
1157 :
1158 : // Water SubTable
1159 232 : s->pdstEMwatervalues = newPreDefSubTable(state, s->pdrEnergyMeters, "Annual and Peak Values - Water");
1160 464 : addFootNoteSubTable(
1161 232 : state, s->pdstEMwatervalues, "Values shown are for all completed run periods - including any simulations run during sizing periods");
1162 232 : s->pdchEMwaterannual = newPreDefColumn(state, s->pdstEMwatervalues, "Annual Value [m3]");
1163 232 : s->pdchEMwaterminvalue = newPreDefColumn(state, s->pdstEMwatervalues, "Minimum Value [m3/s]");
1164 232 : s->pdchEMwaterminvaluetime = newPreDefColumn(state, s->pdstEMwatervalues, "Timestamp of Minimum {TIMESTAMP}");
1165 232 : s->pdchEMwatermaxvalue = newPreDefColumn(state, s->pdstEMwatervalues, "Maximum Value [m3/s]");
1166 232 : s->pdchEMwatermaxvaluetime = newPreDefColumn(state, s->pdstEMwatervalues, "Timestamp of Maximum {TIMESTAMP}");
1167 :
1168 : // Other KG SubTable
1169 232 : s->pdstEMotherKGvalues = newPreDefSubTable(state, s->pdrEnergyMeters, "Annual and Peak Values - Other by Weight/Mass");
1170 464 : addFootNoteSubTable(
1171 232 : state, s->pdstEMotherKGvalues, "Values shown are for all completed run periods - including any simulations run during sizing periods");
1172 232 : s->pdchEMotherKGannual = newPreDefColumn(state, s->pdstEMotherKGvalues, "Annual Value [kg]");
1173 232 : s->pdchEMotherKGminvalue = newPreDefColumn(state, s->pdstEMotherKGvalues, "Minimum Value [kg/s]");
1174 232 : s->pdchEMotherKGminvaluetime = newPreDefColumn(state, s->pdstEMotherKGvalues, "Timestamp of Minimum {TIMESTAMP}");
1175 232 : s->pdchEMotherKGmaxvalue = newPreDefColumn(state, s->pdstEMotherKGvalues, "Maximum Value [kg/s]");
1176 232 : s->pdchEMotherKGmaxvaluetime = newPreDefColumn(state, s->pdstEMotherKGvalues, "Timestamp of Maximum {TIMESTAMP}");
1177 :
1178 : // Other M3 SubTable
1179 232 : s->pdstEMotherM3values = newPreDefSubTable(state, s->pdrEnergyMeters, "Annual and Peak Values - Other Volumetric");
1180 464 : addFootNoteSubTable(
1181 232 : state, s->pdstEMotherM3values, "Values shown are for all completed run periods - including any simulations run during sizing periods");
1182 232 : s->pdchEMotherM3annual = newPreDefColumn(state, s->pdstEMotherM3values, "Annual Value [m3]");
1183 232 : s->pdchEMotherM3minvalue = newPreDefColumn(state, s->pdstEMotherM3values, "Minimum Value [m3/s]");
1184 232 : s->pdchEMotherM3minvaluetime = newPreDefColumn(state, s->pdstEMotherM3values, "Timestamp of Minimum {TIMESTAMP}");
1185 232 : s->pdchEMotherM3maxvalue = newPreDefColumn(state, s->pdstEMotherM3values, "Maximum Value [m3/s]");
1186 232 : s->pdchEMotherM3maxvaluetime = newPreDefColumn(state, s->pdstEMotherM3values, "Timestamp of Maximum {TIMESTAMP}");
1187 :
1188 : // Other M3 SubTable
1189 232 : s->pdstEMotherLvalues = newPreDefSubTable(state, s->pdrEnergyMeters, "Annual and Peak Values - Other Liquid/Gas");
1190 464 : addFootNoteSubTable(
1191 232 : state, s->pdstEMotherLvalues, "Values shown are for all completed run periods - including any simulations run during sizing periods");
1192 232 : s->pdchEMotherLannual = newPreDefColumn(state, s->pdstEMotherLvalues, "Annual Value [L]");
1193 232 : s->pdchEMotherLminvalue = newPreDefColumn(state, s->pdstEMotherLvalues, "Minimum Value [L]");
1194 232 : s->pdchEMotherLminvaluetime = newPreDefColumn(state, s->pdstEMotherLvalues, "Timestamp of Minimum {TIMESTAMP}");
1195 232 : s->pdchEMotherLmaxvalue = newPreDefColumn(state, s->pdstEMotherLvalues, "Maximum Value [L]");
1196 232 : s->pdchEMotherLmaxvaluetime = newPreDefColumn(state, s->pdstEMotherLvalues, "Timestamp of Maximum {TIMESTAMP}");
1197 :
1198 : // Other J SubTable
1199 232 : s->pdstEMotherJvalues = newPreDefSubTable(state, s->pdrEnergyMeters, "Annual and Peak Values - Other");
1200 464 : addFootNoteSubTable(
1201 232 : state, s->pdstEMotherJvalues, "Values shown are for all completed run periods - including any simulations run during sizing periods");
1202 232 : s->pdchEMotherJannual = newPreDefColumn(state, s->pdstEMotherJvalues, "Annual Value [GJ]");
1203 232 : s->pdchEMotherJminvalue = newPreDefColumn(state, s->pdstEMotherJvalues, "Minimum Value [W]");
1204 232 : s->pdchEMotherJminvaluetime = newPreDefColumn(state, s->pdstEMotherJvalues, "Timestamp of Minimum {TIMESTAMP}");
1205 232 : s->pdchEMotherJmaxvalue = newPreDefColumn(state, s->pdstEMotherJvalues, "Maximum Value [W]");
1206 232 : s->pdchEMotherJmaxvaluetime = newPreDefColumn(state, s->pdstEMotherJvalues, "Timestamp of Maximum {TIMESTAMP}");
1207 :
1208 : // Sensible Heat Gain Component Report
1209 232 : s->pdrSensibleGain = newPreDefReport(state, "SensibleHeatGainSummary", "SHGS", "Sensible Heat Gain Summary");
1210 :
1211 232 : s->pdstSHGSannual = newPreDefSubTable(state, s->pdrSensibleGain, "Annual Building Sensible Heat Gain Components");
1212 :
1213 232 : s->pdchSHGSAnZoneEqHt = newPreDefColumn(state, s->pdstSHGSannual, "HVAC Zone Eq & Other Sensible Air Heating [GJ]");
1214 232 : s->pdchSHGSAnZoneEqCl = newPreDefColumn(state, s->pdstSHGSannual, "HVAC Zone Eq & Other Sensible Air Cooling [GJ]");
1215 232 : s->pdchSHGSAnHvacATUHt = newPreDefColumn(state, s->pdstSHGSannual, "HVAC Terminal Unit Sensible Air Heating [GJ]");
1216 232 : s->pdchSHGSAnHvacATUCl = newPreDefColumn(state, s->pdstSHGSannual, "HVAC Terminal Unit Sensible Air Cooling [GJ]");
1217 232 : s->pdchSHGSAnSurfHt = newPreDefColumn(state, s->pdstSHGSannual, "HVAC Input Heated Surface Heating [GJ]");
1218 232 : s->pdchSHGSAnSurfCl = newPreDefColumn(state, s->pdstSHGSannual, "HVAC Input Cooled Surface Cooling [GJ]");
1219 232 : s->pdchSHGSAnPeoplAdd = newPreDefColumn(state, s->pdstSHGSannual, "People Sensible Heat Addition [GJ]");
1220 232 : s->pdchSHGSAnLiteAdd = newPreDefColumn(state, s->pdstSHGSannual, "Lights Sensible Heat Addition [GJ]");
1221 232 : s->pdchSHGSAnEquipAdd = newPreDefColumn(state, s->pdstSHGSannual, "Equipment Sensible Heat Addition [GJ]");
1222 232 : s->pdchSHGSAnWindAdd = newPreDefColumn(state, s->pdstSHGSannual, "Window Heat Addition [GJ]");
1223 232 : s->pdchSHGSAnIzaAdd = newPreDefColumn(state, s->pdstSHGSannual, "Interzone Air Transfer Heat Addition [GJ]");
1224 232 : s->pdchSHGSAnInfilAdd = newPreDefColumn(state, s->pdstSHGSannual, "Infiltration Heat Addition [GJ]");
1225 232 : s->pdchSHGSAnOtherAdd = newPreDefColumn(state, s->pdstSHGSannual, "Opaque Surface Conduction and Other Heat Addition [GJ]");
1226 232 : s->pdchSHGSAnEquipRem = newPreDefColumn(state, s->pdstSHGSannual, "Equipment Sensible Heat Removal [GJ]");
1227 232 : s->pdchSHGSAnWindRem = newPreDefColumn(state, s->pdstSHGSannual, "Window Heat Removal [GJ]");
1228 232 : s->pdchSHGSAnIzaRem = newPreDefColumn(state, s->pdstSHGSannual, "Interzone Air Transfer Heat Removal [GJ]");
1229 232 : s->pdchSHGSAnInfilRem = newPreDefColumn(state, s->pdstSHGSannual, "Infiltration Heat Removal [GJ]");
1230 232 : s->pdchSHGSAnOtherRem = newPreDefColumn(state, s->pdstSHGSannual, "Opaque Surface Conduction and Other Heat Removal [GJ]");
1231 :
1232 232 : s->pdstSHGSpkCl = newPreDefSubTable(state, s->pdrSensibleGain, "Peak Cooling Sensible Heat Gain Components");
1233 :
1234 232 : s->pdchSHGSClTimePeak = newPreDefColumn(state, s->pdstSHGSpkCl, "Time of Peak {TIMESTAMP}");
1235 232 : s->pdchSHGSClHvacHt = newPreDefColumn(state, s->pdstSHGSpkCl, "HVAC Zone Eq & Other Sensible Air Heating [W]");
1236 232 : s->pdchSHGSClHvacCl = newPreDefColumn(state, s->pdstSHGSpkCl, "HVAC Zone Eq & Other Sensible Air Cooling [W]");
1237 232 : s->pdchSHGSClHvacATUHt = newPreDefColumn(state, s->pdstSHGSpkCl, "HVAC Terminal Unit Sensible Air Heating [W]");
1238 232 : s->pdchSHGSClHvacATUCl = newPreDefColumn(state, s->pdstSHGSpkCl, "HVAC Terminal Unit Sensible Air Cooling [W]");
1239 232 : s->pdchSHGSClSurfHt = newPreDefColumn(state, s->pdstSHGSpkCl, "HVAC Input Heated Surface Heating [W]");
1240 232 : s->pdchSHGSClSurfCl = newPreDefColumn(state, s->pdstSHGSpkCl, "HVAC Input Cooled Surface Cooling [W]");
1241 232 : s->pdchSHGSClPeoplAdd = newPreDefColumn(state, s->pdstSHGSpkCl, "People Sensible Heat Addition [W]");
1242 232 : s->pdchSHGSClLiteAdd = newPreDefColumn(state, s->pdstSHGSpkCl, "Lights Sensible Heat Addition [W]");
1243 232 : s->pdchSHGSClEquipAdd = newPreDefColumn(state, s->pdstSHGSpkCl, "Equipment Sensible Heat Addition [W]");
1244 232 : s->pdchSHGSClWindAdd = newPreDefColumn(state, s->pdstSHGSpkCl, "Window Heat Addition [W]");
1245 232 : s->pdchSHGSClIzaAdd = newPreDefColumn(state, s->pdstSHGSpkCl, "Interzone Air Transfer Heat Addition [W]");
1246 232 : s->pdchSHGSClInfilAdd = newPreDefColumn(state, s->pdstSHGSpkCl, "Infiltration Heat Addition [W]");
1247 232 : s->pdchSHGSClOtherAdd = newPreDefColumn(state, s->pdstSHGSpkCl, "Opaque Surface Conduction and Other Heat Addition [W]");
1248 232 : s->pdchSHGSClEquipRem = newPreDefColumn(state, s->pdstSHGSpkCl, "Equipment Sensible Heat Removal [W]");
1249 232 : s->pdchSHGSClWindRem = newPreDefColumn(state, s->pdstSHGSpkCl, "Window Heat Removal [W]");
1250 232 : s->pdchSHGSClIzaRem = newPreDefColumn(state, s->pdstSHGSpkCl, "Interzone Air Transfer Heat Removal [W]");
1251 232 : s->pdchSHGSClInfilRem = newPreDefColumn(state, s->pdstSHGSpkCl, "Infiltration Heat Removal [W]");
1252 232 : s->pdchSHGSClOtherRem = newPreDefColumn(state, s->pdstSHGSpkCl, "Opaque Surface Conduction and Other Heat Removal [W]");
1253 :
1254 232 : s->pdstSHGSpkHt = newPreDefSubTable(state, s->pdrSensibleGain, "Peak Heating Sensible Heat Gain Components");
1255 :
1256 232 : s->pdchSHGSHtTimePeak = newPreDefColumn(state, s->pdstSHGSpkHt, "Time of Peak {TIMESTAMP}");
1257 232 : s->pdchSHGSHtHvacHt = newPreDefColumn(state, s->pdstSHGSpkHt, "HVAC Zone Eq & Other Sensible Air Heating [W]");
1258 232 : s->pdchSHGSHtHvacCl = newPreDefColumn(state, s->pdstSHGSpkHt, "HVAC Zone Eq & Other Sensible Air Cooling [W]");
1259 232 : s->pdchSHGSHtHvacATUHt = newPreDefColumn(state, s->pdstSHGSpkHt, "HVAC Terminal Unit Sensible Air Heating [W]");
1260 232 : s->pdchSHGSHtHvacATUCl = newPreDefColumn(state, s->pdstSHGSpkHt, "HVAC Terminal Unit Sensible Air Cooling [W]");
1261 232 : s->pdchSHGSHtSurfHt = newPreDefColumn(state, s->pdstSHGSpkHt, "HVAC Input Heated Surface Heating [W]");
1262 232 : s->pdchSHGSHtSurfCl = newPreDefColumn(state, s->pdstSHGSpkHt, "HVAC Input Cooled Surface Cooling [W]");
1263 232 : s->pdchSHGSHtPeoplAdd = newPreDefColumn(state, s->pdstSHGSpkHt, "People Sensible Heat Addition [W]");
1264 232 : s->pdchSHGSHtLiteAdd = newPreDefColumn(state, s->pdstSHGSpkHt, "Lights Sensible Heat Addition [W]");
1265 232 : s->pdchSHGSHtEquipAdd = newPreDefColumn(state, s->pdstSHGSpkHt, "Equipment Sensible Heat Addition [W]");
1266 232 : s->pdchSHGSHtWindAdd = newPreDefColumn(state, s->pdstSHGSpkHt, "Window Heat Addition [W]");
1267 232 : s->pdchSHGSHtIzaAdd = newPreDefColumn(state, s->pdstSHGSpkHt, "Interzone Air Transfer Heat Addition [W]");
1268 232 : s->pdchSHGSHtInfilAdd = newPreDefColumn(state, s->pdstSHGSpkHt, "Infiltration Heat Addition [W]");
1269 232 : s->pdchSHGSHtOtherAdd = newPreDefColumn(state, s->pdstSHGSpkHt, "Opaque Surface Conduction and Other Heat Addition [W]");
1270 232 : s->pdchSHGSHtEquipRem = newPreDefColumn(state, s->pdstSHGSpkHt, "Equipment Sensible Heat Removal [W]");
1271 232 : s->pdchSHGSHtWindRem = newPreDefColumn(state, s->pdstSHGSpkHt, "Window Heat Removal [W]");
1272 232 : s->pdchSHGSHtIzaRem = newPreDefColumn(state, s->pdstSHGSpkHt, "Interzone Air Transfer Heat Removal [W]");
1273 232 : s->pdchSHGSHtInfilRem = newPreDefColumn(state, s->pdstSHGSpkHt, "Infiltration Heat Removal [W]");
1274 232 : s->pdchSHGSHtOtherRem = newPreDefColumn(state, s->pdstSHGSpkHt, "Opaque Surface Conduction and Other Heat Removal [W]");
1275 :
1276 : // Standard62Report
1277 232 : if (state.dataGlobal->DoZoneSizing || state.dataGlobal->DoSystemSizing) {
1278 49 : s->pdrStd62 = newPreDefReport(state, "Standard62.1Summary", "Std62", "Standard 62.1 Summary");
1279 :
1280 49 : s->pdstS62sysVentReqCool = newPreDefSubTable(state, s->pdrStd62, "System Ventilation Requirements for Cooling");
1281 :
1282 49 : s->pdchS62svrClSumVpz = newPreDefColumn(state, s->pdstS62sysVentReqCool, "Sum of Zone Primary Air Flow - Vpz-sum [m3/s]");
1283 49 : s->pdchS62svrClPs = newPreDefColumn(state, s->pdstS62sysVentReqCool, "System Population - Ps");
1284 49 : s->pdchS62svrClSumPz = newPreDefColumn(state, s->pdstS62sysVentReqCool, "Sum of Zone Population - Pz-sum");
1285 49 : s->pdchS62svrClD = newPreDefColumn(state, s->pdstS62sysVentReqCool, "Occupant Diversity - D");
1286 49 : s->pdchS62svrClDorg = newPreDefColumn(state, s->pdstS62sysVentReqCool, "Origin of D");
1287 49 : s->pdchS62svrClVou = newPreDefColumn(state, s->pdstS62sysVentReqCool, "Uncorrected Outdoor Air Intake Airflow - Vou [m3/s]");
1288 49 : s->pdchS62svrClVps = newPreDefColumn(state, s->pdstS62sysVentReqCool, "System Primary Airflow - Vps [m3/s]");
1289 49 : s->pdchS62svrClXs = newPreDefColumn(state, s->pdstS62sysVentReqCool, "Average Outdoor Air Fraction - Xs");
1290 49 : s->pdchS62svrClEv = newPreDefColumn(state, s->pdstS62sysVentReqCool, "System Ventilation Efficiency - Ev");
1291 49 : s->pdchS62svrClEvMthd = newPreDefColumn(state, s->pdstS62sysVentReqCool, "Calculation Method for Ev");
1292 49 : s->pdchS62svrClVot = newPreDefColumn(state, s->pdstS62sysVentReqCool, "Outdoor Air Intake Flow - Vot [m3/s]");
1293 49 : s->pdchS62svrClPercOA = newPreDefColumn(state, s->pdstS62sysVentReqCool, "Percent Outdoor Air - %OA");
1294 49 : s->pdchS62svrClEnvironmentOfPs = newPreDefColumn(state, s->pdstS62sysVentReqCool, "Environment Name of Peak System Population - Ps");
1295 49 : s->pdchS62svrClTimeOfPs = newPreDefColumn(state, s->pdstS62sysVentReqCool, "Date and Time of Last Peak System Population - Ps");
1296 :
1297 49 : s->pdstS62sysVentReqHeat = newPreDefSubTable(state, s->pdrStd62, "System Ventilation Requirements for Heating");
1298 :
1299 49 : s->pdchS62svrHtSumVpz = newPreDefColumn(state, s->pdstS62sysVentReqHeat, "Sum of Zone Primary Air Flow - Vpz-sum [m3/s]");
1300 49 : s->pdchS62svrHtPs = newPreDefColumn(state, s->pdstS62sysVentReqHeat, "System Population - Ps");
1301 49 : s->pdchS62svrHtSumPz = newPreDefColumn(state, s->pdstS62sysVentReqHeat, "Sum of Zone Population - Pz-sum");
1302 49 : s->pdchS62svrHtD = newPreDefColumn(state, s->pdstS62sysVentReqHeat, "Occupant Diversity - D");
1303 49 : s->pdchS62svrHtDorg = newPreDefColumn(state, s->pdstS62sysVentReqHeat, "Origin of D");
1304 49 : s->pdchS62svrHtVou = newPreDefColumn(state, s->pdstS62sysVentReqHeat, "Uncorrected Outdoor Air Intake Airflow - Vou [m3/s]");
1305 49 : s->pdchS62svrHtVps = newPreDefColumn(state, s->pdstS62sysVentReqHeat, "System Primary Airflow - Vps [m3/s]");
1306 49 : s->pdchS62svrHtXs = newPreDefColumn(state, s->pdstS62sysVentReqHeat, "Average Outdoor Air Fraction - Xs");
1307 49 : s->pdchS62svrHtEv = newPreDefColumn(state, s->pdstS62sysVentReqHeat, "System Ventilation Efficiency - Ev");
1308 49 : s->pdchS62svrHtEvMthd = newPreDefColumn(state, s->pdstS62sysVentReqHeat, "Calculation Method for Ev");
1309 49 : s->pdchS62svrHtVot = newPreDefColumn(state, s->pdstS62sysVentReqHeat, "Outdoor Air Intake Flow Vot [m3/s]");
1310 49 : s->pdchS62svrHtPercOA = newPreDefColumn(state, s->pdstS62sysVentReqHeat, "Percent Outdoor Air - %OA");
1311 49 : s->pdchS62svrHtEnvironmentOfPs = newPreDefColumn(state, s->pdstS62sysVentReqHeat, "Environment Name of Peak System Population - Ps");
1312 49 : s->pdchS62svrHtTimeOfPs = newPreDefColumn(state, s->pdstS62sysVentReqHeat, "Date and Time of Last Peak System Population - Ps");
1313 :
1314 49 : s->pdstS62znVentPar = newPreDefSubTable(state, s->pdrStd62, "Zone Ventilation Parameters");
1315 :
1316 49 : s->pdchS62zvpAlN = newPreDefColumn(state, s->pdstS62znVentPar, "AirLoop Name");
1317 49 : s->pdchS62zvpRp = newPreDefColumn(state, s->pdstS62znVentPar, "People Outdoor Air Rate - Rp [m3/s-person]");
1318 49 : s->pdchS62zvpPz = newPreDefColumn(state, s->pdstS62znVentPar, "Zone Population - Pz");
1319 49 : s->pdchS62zvpRa = newPreDefColumn(state, s->pdstS62znVentPar, "Area Outdoor Air Rate - Ra [m3/s-m2]");
1320 49 : s->pdchS62zvpAz = newPreDefColumn(state, s->pdstS62znVentPar, "Zone Floor Area - Az [m2]");
1321 49 : s->pdchS62zvpVbz = newPreDefColumn(state, s->pdstS62znVentPar, "Breathing Zone Outdoor Airflow - Vbz [m3/s]");
1322 49 : s->pdchS62zvpClEz = newPreDefColumn(state, s->pdstS62znVentPar, "Cooling Zone Air Distribution Effectiveness - Ez-clg");
1323 49 : s->pdchS62zvpClVoz = newPreDefColumn(state, s->pdstS62znVentPar, "Cooling Zone Outdoor Airflow - Voz-clg [m3/s]");
1324 49 : s->pdchS62zvpHtEz = newPreDefColumn(state, s->pdstS62znVentPar, "Heating Zone Air Distribution Effectiveness - Ez-htg");
1325 49 : s->pdchS62zvpHtVoz = newPreDefColumn(state, s->pdstS62znVentPar, "Heating Zone Outdoor Airflow - Voz-htg [m3/s]");
1326 :
1327 49 : s->pdstS62sysVentPar = newPreDefSubTable(state, s->pdrStd62, "System Ventilation Parameters");
1328 :
1329 49 : s->pdchS62svpRp = newPreDefColumn(state, s->pdstS62sysVentPar, "People Outdoor Air Rate - Rp [m3/s-person]");
1330 49 : s->pdchS62svpPz = newPreDefColumn(state, s->pdstS62sysVentPar, "Sum of Zone Population - Pz-sum");
1331 49 : s->pdchS62svpRa = newPreDefColumn(state, s->pdstS62sysVentPar, "Area Outdoor Air Rate - Ra [m3/s-m2]");
1332 49 : s->pdchS62svpAz = newPreDefColumn(state, s->pdstS62sysVentPar, "Sum of Zone Floor Area - Az-sum [m2]");
1333 49 : s->pdchS62svpVbz = newPreDefColumn(state, s->pdstS62sysVentPar, "Breathing Zone Outdoor Airflow - Vbz [m3/s]");
1334 49 : s->pdchS62svpClVoz = newPreDefColumn(state, s->pdstS62sysVentPar, "Cooling Zone Outdoor Airflow - Voz-clg [m3/s]");
1335 49 : s->pdchS62svpHtVoz = newPreDefColumn(state, s->pdstS62sysVentPar, "Heating Zone Outdoor Airflow - Voz-htg [m3/s]");
1336 :
1337 49 : s->pdstS62znCoolDes = newPreDefSubTable(state, s->pdrStd62, "Zone Ventilation Calculations for Cooling Design");
1338 :
1339 49 : s->pdchS62zcdAlN = newPreDefColumn(state, s->pdstS62znCoolDes, "AirLoop Name");
1340 49 : s->pdchS62zcdBox = newPreDefColumn(state, s->pdstS62znCoolDes, "Box Type");
1341 49 : s->pdchS62zcdVpz = newPreDefColumn(state, s->pdstS62znCoolDes, "Zone Primary Airflow - Vpz [m3/s]");
1342 : // s->pdchS62zcdVps = newPreDefColumn(state, s->pdstS62znCoolDes,'System Primary Airflow - Vps [m3/s]')
1343 : // s->pdchS62zcdVsec = newPreDefColumn(state, s->pdstS62znCoolDes,'Secondary Fan Airflow - Vsec [m3/s]')
1344 49 : s->pdchS62zcdVdz = newPreDefColumn(state, s->pdstS62znCoolDes, "Zone Discharge Airflow - Vdz [m3/s]");
1345 49 : s->pdchS62zcdVpzmin = newPreDefColumn(state, s->pdstS62znCoolDes, "Minimum Zone Primary Airflow - Vpz-min [m3/s]");
1346 98 : s->pdchS62zcdVpzminSPSize =
1347 49 : newPreDefColumn(state, s->pdstS62znCoolDes, "Is Vpz-min calculated using the Standard 62.1 Simplified Procedure?");
1348 49 : s->pdchS62zcdVozclg = newPreDefColumn(state, s->pdstS62znCoolDes, "Zone Outdoor Airflow Cooling - Voz-clg [m3/s]");
1349 49 : s->pdchS62zcdZpz = newPreDefColumn(state, s->pdstS62znCoolDes, "Primary Outdoor Air Fraction - Zpz");
1350 49 : s->pdchS62zcdEp = newPreDefColumn(state, s->pdstS62znCoolDes, "Primary Air Fraction - Ep");
1351 49 : s->pdchS62zcdEr = newPreDefColumn(state, s->pdstS62znCoolDes, "Secondary Recirculation Fraction- Er");
1352 49 : s->pdchS62zcdFa = newPreDefColumn(state, s->pdstS62znCoolDes, "Supply Air Fraction- Fa");
1353 49 : s->pdchS62zcdFb = newPreDefColumn(state, s->pdstS62znCoolDes, "Mixed Air Fraction - Fb");
1354 49 : s->pdchS62zcdFc = newPreDefColumn(state, s->pdstS62znCoolDes, "Outdoor Air Fraction - Fc");
1355 49 : s->pdchS62zcdEvz = newPreDefColumn(state, s->pdstS62znCoolDes, "Zone Ventilation Efficiency - Evz");
1356 :
1357 49 : s->pdstS62sysCoolDes = newPreDefSubTable(state, s->pdrStd62, "System Ventilation Calculations for Cooling Design");
1358 :
1359 49 : s->pdchS62scdVpz = newPreDefColumn(state, s->pdstS62sysCoolDes, "Sum of Zone Primary Airflow - Vpz-sum [m3/s]");
1360 49 : s->pdchS62scdVps = newPreDefColumn(state, s->pdstS62sysCoolDes, "System Primary Airflow - Vps [m3/s]");
1361 : // s->pdchS62scdVsec = newPreDefColumn(state, s->pdstS62sysCoolDes,'Secondary Fan Airflow - Vsec [m3/s]')
1362 49 : s->pdchS62scdVdz = newPreDefColumn(state, s->pdstS62sysCoolDes, "Sum of Zone Discharge Airflow - Vdz-sum [m3/s]");
1363 49 : s->pdchS62scdVpzmin = newPreDefColumn(state, s->pdstS62sysCoolDes, "Sum of Min Zone Primary Airflow - Vpz-min [m3/s]");
1364 49 : s->pdchS62scdVozclg = newPreDefColumn(state, s->pdstS62sysCoolDes, "Zone Outdoor Airflow Cooling - Voz-clg [m3/s]");
1365 49 : s->pdchS62scdEvz = newPreDefColumn(state, s->pdstS62sysCoolDes, "Zone Ventilation Efficiency - Evz-min");
1366 :
1367 49 : s->pdstS62znHeatDes = newPreDefSubTable(state, s->pdrStd62, "Zone Ventilation Calculations for Heating Design");
1368 :
1369 49 : s->pdchS62zhdAlN = newPreDefColumn(state, s->pdstS62znHeatDes, "AirLoop Name");
1370 49 : s->pdchS62zhdBox = newPreDefColumn(state, s->pdstS62znHeatDes, "Box Type");
1371 49 : s->pdchS62zhdVpz = newPreDefColumn(state, s->pdstS62znHeatDes, "Zone Primary Airflow - Vpz [m3/s]");
1372 : // s->pdchS62zhdVps = newPreDefColumn(state, s->pdstS62znHeatDes,'System Primary Airflow - Vps [m3/s]')
1373 : // s->pdchS62zhdVsec = newPreDefColumn(state, s->pdstS62znHeatDes,'Secondary Fan Airflow - Vsec [m3/s]')
1374 49 : s->pdchS62zhdVdz = newPreDefColumn(state, s->pdstS62znHeatDes, "Zone Discharge Airflow - Vdz [m3/s]");
1375 49 : s->pdchS62zhdVpzmin = newPreDefColumn(state, s->pdstS62znHeatDes, "Minimum Zone Primary Airflow - Vpz-min [m3/s]");
1376 98 : s->pdchS62zhdVpzminSPSize =
1377 49 : newPreDefColumn(state, s->pdstS62znHeatDes, "Is Vpz-min calculated using the Standard 62.1 Simplified Procedure?");
1378 49 : s->pdchS62zhdVozhtg = newPreDefColumn(state, s->pdstS62znHeatDes, "Zone Outdoor Airflow Heating - Voz-htg [m3/s]");
1379 49 : s->pdchS62zhdZpz = newPreDefColumn(state, s->pdstS62znHeatDes, "Primary Outdoor Air Fraction - Zpz");
1380 49 : s->pdchS62zhdEp = newPreDefColumn(state, s->pdstS62znHeatDes, "Primary Air Fraction - Ep");
1381 49 : s->pdchS62zhdEr = newPreDefColumn(state, s->pdstS62znHeatDes, "Secondary Recirculation Fraction- Er");
1382 49 : s->pdchS62zhdFa = newPreDefColumn(state, s->pdstS62znHeatDes, "Supply Air Fraction- Fa");
1383 49 : s->pdchS62zhdFb = newPreDefColumn(state, s->pdstS62znHeatDes, "Mixed Air Fraction - Fb");
1384 49 : s->pdchS62zhdFc = newPreDefColumn(state, s->pdstS62znHeatDes, "Outdoor Air Fraction - Fc");
1385 49 : s->pdchS62zhdEvz = newPreDefColumn(state, s->pdstS62znHeatDes, "Zone Ventilation Efficiency - Evz");
1386 :
1387 49 : s->pdstS62sysHeatDes = newPreDefSubTable(state, s->pdrStd62, "System Ventilation Calculations for Heating Design");
1388 :
1389 49 : s->pdchS62shdVpz = newPreDefColumn(state, s->pdstS62sysHeatDes, "Sum of Zone Primary Airflow - Vpz-sum [m3/s]");
1390 49 : s->pdchS62shdVps = newPreDefColumn(state, s->pdstS62sysHeatDes, "System Primary Airflow - Vps [m3/s]");
1391 : // s->pdchS62shdVsec = newPreDefColumn(state, s->pdstS62sysHeatDes,'Secondary Fan Airflow - Vsec [m3/s]')
1392 49 : s->pdchS62shdVdz = newPreDefColumn(state, s->pdstS62sysHeatDes, "Sum of Zone Discharge Airflow - Vdz-sum [m3/s]");
1393 49 : s->pdchS62shdVpzmin = newPreDefColumn(state, s->pdstS62sysHeatDes, "Sum of Min Zone Primary Airflow - Vpz-min [m3/s]");
1394 49 : s->pdchS62shdVozhtg = newPreDefColumn(state, s->pdstS62sysHeatDes, "Zone Outdoor Airflow Heating - Voz-htg [m3/s]");
1395 49 : s->pdchS62shdEvz = newPreDefColumn(state, s->pdstS62sysHeatDes, "Zone Ventilation Efficiency - Evz-min");
1396 : }
1397 :
1398 232 : s->pdrLeed = newPreDefReport(state, "LEEDsummary", "LEED", "LEED Summary");
1399 :
1400 232 : s->pdstLeedGenInfo = newPreDefSubTable(state, s->pdrLeed, "Sec1.1A-General Information");
1401 : // single column with rows of:
1402 : // Principal Heating Source
1403 : // Weather File
1404 : // Climate Zone
1405 : // Heating Degree Days
1406 : // Cooling Degree Days
1407 : // HDD and CDD data source
1408 : // Total gross floor area
1409 232 : s->pdchLeedGenData = newPreDefColumn(state, s->pdstLeedGenInfo, "Data");
1410 :
1411 232 : s->pdstLeedSpaceUsageType = newPreDefSubTable(state, s->pdrLeed, "EAp2-1. Space Usage Type");
1412 232 : s->pdchLeedSutSpArea = newPreDefColumn(state, s->pdstLeedSpaceUsageType, "Space Area [m2]");
1413 232 : s->pdchLeedSutOcArea = newPreDefColumn(state, s->pdstLeedSpaceUsageType, "Regularly Occupied Area [m2]");
1414 232 : s->pdchLeedSutUnArea = newPreDefColumn(state, s->pdstLeedSpaceUsageType, "Unconditioned Area [m2]");
1415 232 : s->pdchLeedSutHrsWeek = newPreDefColumn(state, s->pdstLeedSpaceUsageType, "Typical Hours/Week in Operation [hr/wk]");
1416 :
1417 232 : s->pdstLeedAdvsMsg = newPreDefSubTable(state, s->pdrLeed, "EAp2-2. Advisory Messages");
1418 : // single column with rows of:
1419 : // Number of hours heating loads not met
1420 : // Number of hours cooling loads not met
1421 : // Total
1422 : // Difference
1423 : // Number of warning messages
1424 : // Number of error messages
1425 : // Number of defaults overridden
1426 232 : s->pdchLeedAmData = newPreDefColumn(state, s->pdstLeedAdvsMsg, "Data");
1427 :
1428 232 : s->pdstLeedEneTypSum = newPreDefSubTable(state, s->pdrLeed, "EAp2-3. Energy Type Summary");
1429 : // multiple columns with rows of
1430 : // Electricity
1431 : // Natural Gas
1432 : // <additional fuels>
1433 232 : s->pdchLeedEtsRtNm = newPreDefColumn(state, s->pdstLeedEneTypSum, "Utility Rate");
1434 232 : s->pdchLeedEtsVirt = newPreDefColumn(state, s->pdstLeedEneTypSum, "Virtual Rate [$/unit energy]");
1435 232 : s->pdchLeedEtsEneUnt = newPreDefColumn(state, s->pdstLeedEneTypSum, "Units of Energy");
1436 232 : s->pdchLeedEtsDemUnt = newPreDefColumn(state, s->pdstLeedEneTypSum, "Units of Demand");
1437 :
1438 232 : s->pdstLeedPerf = newPreDefSubTable(state, s->pdrLeed, "EAp2-4/5. Performance Rating Method Compliance");
1439 : // Multiple colums with rows of:
1440 : // Interior Lighting
1441 : // Exterior Lighting
1442 : // Space Heating
1443 : // Space Cooling
1444 : // Pumps
1445 : // Heat Rejection
1446 : // Fans-Interior
1447 : // Fans-Parking Garage
1448 : // Service Water Heating
1449 : // Receptacle Equipment
1450 : // Interior Lighting (process)
1451 : // Refrigeration Equipment
1452 : // Cooking
1453 : // Industrial Process
1454 : // Elevators and Escalators
1455 : // Total
1456 232 : s->pdchLeedPerfElEneUse = newPreDefColumn(state, s->pdstLeedPerf, "Electricity Energy Use [GJ]");
1457 232 : s->pdchLeedPerfElDem = newPreDefColumn(state, s->pdstLeedPerf, "Electricity Demand [W]");
1458 232 : s->pdchLeedPerfGasEneUse = newPreDefColumn(state, s->pdstLeedPerf, "Natural Gas Energy Use [GJ]");
1459 232 : s->pdchLeedPerfGasDem = newPreDefColumn(state, s->pdstLeedPerf, "Natural Gas Demand [W]");
1460 232 : s->pdchLeedPerfGasolineEneUse = newPreDefColumn(state, s->pdstLeedPerf, "Gasoline Use [GJ]");
1461 232 : s->pdchLeedPerfGasolineDem = newPreDefColumn(state, s->pdstLeedPerf, "Gasoline Demand [W]");
1462 232 : s->pdchLeedPerfDieselEneUse = newPreDefColumn(state, s->pdstLeedPerf, "Diesel Use [GJ]");
1463 232 : s->pdchLeedPerfDieselDem = newPreDefColumn(state, s->pdstLeedPerf, "Diesel Demand [W]");
1464 232 : s->pdchLeedPerfCoalEneUse = newPreDefColumn(state, s->pdstLeedPerf, "Coal Use [GJ]");
1465 232 : s->pdchLeedPerfCoalDem = newPreDefColumn(state, s->pdstLeedPerf, "Coal Demand [W]");
1466 232 : s->pdchLeedPerfFuelOil1EneUse = newPreDefColumn(state, s->pdstLeedPerf, "Fuel Oil No 1 Use [GJ]");
1467 232 : s->pdchLeedPerfFuelOil1Dem = newPreDefColumn(state, s->pdstLeedPerf, "Fuel Oil No 1 Demand [W]");
1468 232 : s->pdchLeedPerfFuelOil2EneUse = newPreDefColumn(state, s->pdstLeedPerf, "Fuel Oil No 2 Use [GJ]");
1469 232 : s->pdchLeedPerfFuelOil2Dem = newPreDefColumn(state, s->pdstLeedPerf, "Fuel Oil No 2 Demand [W]");
1470 232 : s->pdchLeedPerfPropaneEneUse = newPreDefColumn(state, s->pdstLeedPerf, "Propane Use [GJ]");
1471 232 : s->pdchLeedPerfPropaneDem = newPreDefColumn(state, s->pdstLeedPerf, "Propane Demand [W]");
1472 232 : s->pdchLeedPerfOtherFuel1EneUse = newPreDefColumn(state, s->pdstLeedPerf, "Other Fuel 1 Use [GJ]");
1473 232 : s->pdchLeedPerfOtherFuel1Dem = newPreDefColumn(state, s->pdstLeedPerf, "Other Fuel 1 Demand [W]");
1474 232 : s->pdchLeedPerfOtherFuel2EneUse = newPreDefColumn(state, s->pdstLeedPerf, "Other Fuel 2 Use [GJ]");
1475 232 : s->pdchLeedPerfOtherFuel2Dem = newPreDefColumn(state, s->pdstLeedPerf, "Other Fuel 2 Demand [W]");
1476 232 : s->pdchLeedPerfDisClEneUse = newPreDefColumn(state, s->pdstLeedPerf, "District Cooling Use [GJ]");
1477 232 : s->pdchLeedPerfDisClDem = newPreDefColumn(state, s->pdstLeedPerf, "District Cooling Demand [W]");
1478 232 : s->pdchLeedPerfDisHtWtrEneUse = newPreDefColumn(state, s->pdstLeedPerf, "District Heating Water Use [GJ]");
1479 232 : s->pdchLeedPerfDisHtWtrDem = newPreDefColumn(state, s->pdstLeedPerf, "District Heating Water Demand [W]");
1480 232 : s->pdchLeedPerfDisHtStEneUse = newPreDefColumn(state, s->pdstLeedPerf, "District Heating Steam Use [GJ]");
1481 232 : s->pdchLeedPerfDisHtStDem = newPreDefColumn(state, s->pdstLeedPerf, "District Heating Steam Demand [W]");
1482 :
1483 232 : s->pdstLeedEneUseSum = newPreDefSubTable(state, s->pdrLeed, "EAp2-6. Energy Use Summary");
1484 : // Multiple columns with rows of:
1485 : // Electricity
1486 : // Natural Gas
1487 : // <additional fuels>
1488 : // Total
1489 232 : s->pdchLeedEusProc = newPreDefColumn(state, s->pdstLeedEneUseSum, "Process Subtotal [GJ]");
1490 232 : s->pdchLeedEusTotal = newPreDefColumn(state, s->pdstLeedEneUseSum, "Total Energy Use [GJ]");
1491 :
1492 232 : s->pdstLeedEneCostSum = newPreDefSubTable(state, s->pdrLeed, "EAp2-7. Energy Cost Summary");
1493 : // Multiple columns with rows of:
1494 : // Electricity
1495 : // Natural Gas
1496 : // <additional fuels>
1497 : // Total
1498 232 : s->pdchLeedEcsProc = newPreDefColumn(state, s->pdstLeedEneCostSum, "Process Subtotal [$]");
1499 232 : s->pdchLeedEcsTotal = newPreDefColumn(state, s->pdstLeedEneCostSum, "Total Energy Cost [$]");
1500 :
1501 232 : s->pdstLeedRenewSum = newPreDefSubTable(state, s->pdrLeed, "L-1. Renewable Energy Source Summary");
1502 : // Multiple columns with rows of each renewable source
1503 232 : s->pdchLeedRenRatCap = newPreDefColumn(state, s->pdstLeedRenewSum, "Rated Capacity [kW]");
1504 232 : s->pdchLeedRenAnGen = newPreDefColumn(state, s->pdstLeedRenewSum, "Annual Energy Generated [GJ]");
1505 :
1506 232 : s->pdstLeedEneUseIntEl = newPreDefSubTable(state, s->pdrLeed, "EAp2-17a. Energy Use Intensity - Electricity");
1507 : // Single column with rows of:
1508 : // Interior lighting
1509 : // Space heating
1510 : // Space cooling
1511 : // Fans-interior
1512 : // Service water heating
1513 : // Receptacle equipment
1514 : // Miscellaneous
1515 : // Subtotal
1516 232 : s->pdchLeedEuiElec = newPreDefColumn(state, s->pdstLeedEneUseIntEl, "Electricty [MJ/m2]");
1517 :
1518 232 : s->pdstLeedEneUseIntNatG = newPreDefSubTable(state, s->pdrLeed, "EAp2-17b. Energy Use Intensity - Natural Gas");
1519 : // Single column with rows of:
1520 : // Space heating
1521 : // Service water heating
1522 : // Miscellaneous
1523 : // Subtotal
1524 232 : s->pdchLeedEuiNatG = newPreDefColumn(state, s->pdstLeedEneUseIntNatG, "Natural Gas [MJ/m2]");
1525 :
1526 232 : s->pdstLeedEneUseIntOthr = newPreDefSubTable(state, s->pdrLeed, "EAp2-17c. Energy Use Intensity - Additional");
1527 : // Single column with rows of:
1528 : // Miscellaneous
1529 : // Subtotal
1530 232 : s->pdchLeedEuiOthr = newPreDefColumn(state, s->pdstLeedEneUseIntOthr, "Additional [MJ/m2]");
1531 :
1532 232 : s->pdstLeedEneUsePerc = newPreDefSubTable(state, s->pdrLeed, "EAp2-18. End Use Percentage");
1533 : // single column with rows of:
1534 : // Interior Lighting
1535 : // Space heating
1536 : // Space cooling
1537 : // Fans-Interior
1538 : // Service Water Heating
1539 : // Receptacle Equipment
1540 : // Miscellaneous
1541 232 : s->pdchLeedEupPerc = newPreDefColumn(state, s->pdstLeedEneUsePerc, "Percent [%]");
1542 :
1543 232 : s->pdstLeedEqFlLdHrs = newPreDefSubTable(state, s->pdrLeed, "Schedules-Equivalent Full Load Hours (Schedule Type=Fraction)");
1544 232 : s->pdchLeedEflhEflh = newPreDefColumn(state, s->pdstLeedEqFlLdHrs, "Equivalent Full Load Hours of Operation Per Year [hr]");
1545 232 : s->pdchLeedEflhNonZerHrs = newPreDefColumn(state, s->pdstLeedEqFlLdHrs, "Hours > 1% [hr]");
1546 :
1547 232 : s->pdstLeedSchedSetPts = newPreDefSubTable(state, s->pdrLeed, "Schedules-SetPoints (Schedule Type=Temperature)");
1548 232 : s->pdChLeedSchStPtFirstObjUsed = newPreDefColumn(state, s->pdstLeedSchedSetPts, "First Object Used");
1549 232 : s->pdChLeedSchStPtMonthUsed = newPreDefColumn(state, s->pdstLeedSchedSetPts, "Month Assumed");
1550 232 : s->pdchLeedSchStPt11amWednesday = newPreDefColumn(state, s->pdstLeedSchedSetPts, "11am First Wednesday [C]");
1551 232 : s->pdchLeedSchStPt11amWedCnt = newPreDefColumn(state, s->pdstLeedSchedSetPts, "Days with Same 11am Value");
1552 232 : s->pdchLeedSchStPt11pmWednesday = newPreDefColumn(state, s->pdstLeedSchedSetPts, "11pm First Wednesday [C]");
1553 232 : s->pdchLeedSchStPt11pmWedCnt = newPreDefColumn(state, s->pdstLeedSchedSetPts, "Days with Same 11pm Value");
1554 :
1555 232 : s->pdrCO2Resilience = newPreDefReport(state, "CO2ResilienceSummary", "CO2R", "Annual CO2 Resilience Summary");
1556 :
1557 232 : s->pdstCO2Hours = newPreDefSubTable(state, s->pdrCO2Resilience, "CO2 Level Hours");
1558 232 : s->pdchCO2HourSafe = newPreDefColumn(state, s->pdstCO2Hours, "Safe (<= 1000 ppm) [hr]");
1559 232 : s->pdchCO2HourCaution = newPreDefColumn(state, s->pdstCO2Hours, "Caution (> 1000, <= 5000 ppm) [hr]");
1560 232 : s->pdchCO2HourHazard = newPreDefColumn(state, s->pdstCO2Hours, "Hazard (> 5000 ppm) [hr]");
1561 :
1562 232 : s->pdstCO2OccuHours = newPreDefSubTable(state, s->pdrCO2Resilience, "CO2 Level OccupantHours");
1563 232 : s->pdchCO2OccuHourSafe = newPreDefColumn(state, s->pdstCO2OccuHours, "Safe (<= 1000 ppm) [hr]");
1564 232 : s->pdchCO2OccuHourCaution = newPreDefColumn(state, s->pdstCO2OccuHours, "Caution (> 1000, <= 5000 ppm) [hr]");
1565 232 : s->pdchCO2OccuHourHazard = newPreDefColumn(state, s->pdstCO2OccuHours, "Hazard (> 5000 ppm) [hr]");
1566 :
1567 232 : s->pdstCO2OccupiedHours = newPreDefSubTable(state, s->pdrCO2Resilience, "CO2 Level OccupiedHours");
1568 232 : s->pdchCO2OccupiedHourSafe = newPreDefColumn(state, s->pdstCO2OccupiedHours, "Safe (<= 1000 ppm) [hr]");
1569 232 : s->pdchCO2OccupiedHourCaution = newPreDefColumn(state, s->pdstCO2OccupiedHours, "Caution (> 1000, <= 5000 ppm) [hr]");
1570 232 : s->pdchCO2OccupiedHourHazard = newPreDefColumn(state, s->pdstCO2OccupiedHours, "Hazard (> 5000 ppm) [hr]");
1571 :
1572 232 : s->pdrVisualResilience = newPreDefReport(state, "VisualResilienceSummary", "VisualR", "Annual Visual Resilience Summary");
1573 :
1574 232 : s->pdstIllumHours = newPreDefSubTable(state, s->pdrVisualResilience, "Illuminance Level Hours");
1575 232 : s->pdchIllumHourDark = newPreDefColumn(state, s->pdstIllumHours, "A Bit Dark (<= 100 lux) [hr]");
1576 232 : s->pdchIllumHourDim = newPreDefColumn(state, s->pdstIllumHours, "Dim (> 100, <= 300 lux) [hr]");
1577 232 : s->pdchIllumHourAdequate = newPreDefColumn(state, s->pdstIllumHours, "Adequate (> 300, <= 500 lux) [hr]");
1578 232 : s->pdchIllumHourBright = newPreDefColumn(state, s->pdstIllumHours, "Bright (>500 lux) [hr]");
1579 :
1580 232 : s->pdstIllumOccuHours = newPreDefSubTable(state, s->pdrVisualResilience, "Illuminance Level OccupantHours");
1581 232 : s->pdchIllumOccuHourDark = newPreDefColumn(state, s->pdstIllumOccuHours, "A Bit Dark (<= 100 lux) [hr]");
1582 232 : s->pdchIllumOccuHourDim = newPreDefColumn(state, s->pdstIllumOccuHours, "Dim (> 100, <= 300 lux) [hr]");
1583 232 : s->pdchIllumOccuHourAdequate = newPreDefColumn(state, s->pdstIllumOccuHours, "Adequate (> 300, <= 500 lux) [hr]");
1584 232 : s->pdchIllumOccuHourBright = newPreDefColumn(state, s->pdstIllumOccuHours, "Bright (>500 lux) [hr]");
1585 :
1586 232 : s->pdstIllumOccupiedHours = newPreDefSubTable(state, s->pdrVisualResilience, "Illuminance Level OccupiedHours");
1587 232 : s->pdchIllumOccupiedHourDark = newPreDefColumn(state, s->pdstIllumOccupiedHours, "A Bit Dark (<= 100 lux) [hr]");
1588 232 : s->pdchIllumOccupiedHourDim = newPreDefColumn(state, s->pdstIllumOccupiedHours, "Dim (> 100, <= 300 lux) [hr]");
1589 232 : s->pdchIllumOccupiedHourAdequate = newPreDefColumn(state, s->pdstIllumOccupiedHours, "Adequate (> 300, <= 500 lux) [hr]");
1590 232 : s->pdchIllumOccupiedHourBright = newPreDefColumn(state, s->pdstIllumOccupiedHours, "Bright (>500 lux) [hr]");
1591 232 : }
1592 :
1593 61172 : void PreDefTableEntry(EnergyPlusData &state,
1594 : int const columnIndex,
1595 : std::string_view objName,
1596 : Real64 const tableEntryReal,
1597 : ObjexxFCL::Optional_int_const numSigDigits)
1598 : {
1599 : // SUBROUTINE INFORMATION:
1600 : // AUTHOR Jason Glazer
1601 : // DATE WRITTEN August 2006
1602 : // MODIFIED
1603 : // RE-ENGINEERED na
1604 :
1605 : // PURPOSE OF THIS SUBROUTINE:
1606 : // Creates an entry for predefined tables when the entry
1607 : // is a real variable
1608 :
1609 : // METHODOLOGY EMPLOYED:
1610 : // Simple assignments to public variables.
1611 :
1612 : // REFERENCES:
1613 : // na
1614 :
1615 : // USE STATEMENTS:
1616 :
1617 : // Locals
1618 : // SUBROUTINE ARGUMENT DEFINITIONS:
1619 :
1620 : // SUBROUTINE PARAMETER DEFINITIONS:
1621 :
1622 : // INTERFACE BLOCK SPECIFICATIONS:
1623 : // na
1624 :
1625 : // DERIVED TYPE DEFINITIONS:
1626 : // na
1627 :
1628 : // SUBROUTINE LOCAL VARIABLE DECLARATIONS:
1629 61172 : incrementTableEntry(state);
1630 61172 : int sigDigitCount = 2;
1631 : // check for number of significant digits
1632 61172 : if (present(numSigDigits)) {
1633 14734 : if ((numSigDigits <= 9) && (numSigDigits >= 0)) {
1634 14734 : sigDigitCount = numSigDigits;
1635 : }
1636 : }
1637 :
1638 61172 : if (std::abs(tableEntryReal) < 1e8) { // change from 1e10 for more robust entry writing
1639 : // something changed in FMT 7.x and "{:#12.{}F}" now outputs 13. So changing it to 11.{}F to maintain existing functionality. Likely
1640 : // related to https://github.com/fmtlib/fmt/issues/1893
1641 60434 : state.dataOutRptPredefined->tableEntry(state.dataOutRptPredefined->numTableEntry).charEntry =
1642 120868 : format("{:#11.{}F}", tableEntryReal, sigDigitCount);
1643 : } else {
1644 : // Formatting in scientific notation, zero sigDigits makes zero sense.
1645 : // **for something greater than 1E+08**, one sigDigits is very unhelpful (you're having an accuracy of 0.5E+07 at best)
1646 738 : if (sigDigitCount < 2) {
1647 2 : sigDigitCount = 2;
1648 : }
1649 738 : state.dataOutRptPredefined->tableEntry(state.dataOutRptPredefined->numTableEntry).charEntry =
1650 1476 : format("{:12.{}Z}", tableEntryReal, sigDigitCount);
1651 : }
1652 :
1653 61172 : if (state.dataOutRptPredefined->tableEntry(state.dataOutRptPredefined->numTableEntry).charEntry.size() > 12) {
1654 6 : state.dataOutRptPredefined->tableEntry(state.dataOutRptPredefined->numTableEntry).charEntry = " Too Big";
1655 : }
1656 :
1657 61172 : state.dataOutRptPredefined->tableEntry(state.dataOutRptPredefined->numTableEntry).objectName = objName;
1658 61172 : state.dataOutRptPredefined->tableEntry(state.dataOutRptPredefined->numTableEntry).indexColumn = columnIndex;
1659 61172 : state.dataOutRptPredefined->tableEntry(state.dataOutRptPredefined->numTableEntry).origRealEntry = tableEntryReal;
1660 61172 : state.dataOutRptPredefined->tableEntry(state.dataOutRptPredefined->numTableEntry).significantDigits = sigDigitCount;
1661 61172 : state.dataOutRptPredefined->tableEntry(state.dataOutRptPredefined->numTableEntry).origEntryIsReal = true;
1662 61172 : }
1663 :
1664 23304 : void PreDefTableEntry(EnergyPlusData &state, int const columnIndex, std::string_view objName, std::string_view tableEntryChar)
1665 : {
1666 : // SUBROUTINE INFORMATION:
1667 : // AUTHOR Jason Glazer
1668 : // DATE WRITTEN August 2006
1669 : // MODIFIED
1670 : // RE-ENGINEERED na
1671 :
1672 : // PURPOSE OF THIS SUBROUTINE:
1673 : // Creates an entry for predefined tables when the entry
1674 : // is a character variable
1675 :
1676 : // METHODOLOGY EMPLOYED:
1677 : // Simple assignments to public variables.
1678 :
1679 : // REFERENCES:
1680 : // na
1681 :
1682 : // USE STATEMENTS:
1683 :
1684 : // Locals
1685 : // SUBROUTINE ARGUMENT DEFINITIONS:
1686 :
1687 : // SUBROUTINE PARAMETER DEFINITIONS:
1688 : // na
1689 :
1690 : // INTERFACE BLOCK SPECIFICATIONS:
1691 : // na
1692 :
1693 : // DERIVED TYPE DEFINITIONS:
1694 : // na
1695 :
1696 : // SUBROUTINE LOCAL VARIABLE DECLARATIONS:
1697 :
1698 23304 : incrementTableEntry(state);
1699 23304 : state.dataOutRptPredefined->tableEntry(state.dataOutRptPredefined->numTableEntry).charEntry = tableEntryChar;
1700 23304 : state.dataOutRptPredefined->tableEntry(state.dataOutRptPredefined->numTableEntry).objectName = objName;
1701 23304 : state.dataOutRptPredefined->tableEntry(state.dataOutRptPredefined->numTableEntry).indexColumn = columnIndex;
1702 23304 : }
1703 :
1704 5162 : void PreDefTableEntry(EnergyPlusData &state, int const columnIndex, std::string_view objName, int const tableEntryInt)
1705 : {
1706 : // SUBROUTINE INFORMATION:
1707 : // AUTHOR Jason Glazer
1708 : // DATE WRITTEN August 2006
1709 : // MODIFIED
1710 : // RE-ENGINEERED na
1711 :
1712 : // PURPOSE OF THIS SUBROUTINE:
1713 : // Creates an entry for predefined tables when the entry
1714 : // is a integer variable
1715 :
1716 : // METHODOLOGY EMPLOYED:
1717 : // Simple assignments to public variables.
1718 :
1719 : // REFERENCES:
1720 : // na
1721 :
1722 : // USE STATEMENTS:
1723 :
1724 : // Locals
1725 : // SUBROUTINE ARGUMENT DEFINITIONS:
1726 :
1727 : // SUBROUTINE PARAMETER DEFINITIONS:
1728 :
1729 : // INTERFACE BLOCK SPECIFICATIONS:
1730 : // na
1731 :
1732 : // DERIVED TYPE DEFINITIONS:
1733 : // na
1734 :
1735 : // SUBROUTINE LOCAL VARIABLE DECLARATIONS:
1736 :
1737 5162 : incrementTableEntry(state);
1738 : // convert the integer to a string
1739 5162 : state.dataOutRptPredefined->tableEntry(state.dataOutRptPredefined->numTableEntry).charEntry = format("{:12}", tableEntryInt);
1740 5162 : state.dataOutRptPredefined->tableEntry(state.dataOutRptPredefined->numTableEntry).objectName = objName;
1741 5162 : state.dataOutRptPredefined->tableEntry(state.dataOutRptPredefined->numTableEntry).indexColumn = columnIndex;
1742 5162 : }
1743 :
1744 623 : std::string RetrievePreDefTableEntry(EnergyPlusData &state, int const columnIndex, std::string_view objName)
1745 : {
1746 57120 : for (int iTableEntry = 1; iTableEntry <= state.dataOutRptPredefined->numTableEntry; ++iTableEntry) {
1747 58277 : if (state.dataOutRptPredefined->tableEntry(iTableEntry).indexColumn == columnIndex &&
1748 1164 : state.dataOutRptPredefined->tableEntry(iTableEntry).objectName == objName) {
1749 616 : return trimmed(ljustified(state.dataOutRptPredefined->tableEntry(iTableEntry).charEntry));
1750 : }
1751 : }
1752 14 : return "NOT FOUND";
1753 : }
1754 :
1755 89638 : void incrementTableEntry(EnergyPlusData &state)
1756 : {
1757 : // SUBROUTINE INFORMATION:
1758 : // AUTHOR Jason Glazer
1759 : // DATE WRITTEN August 2006
1760 : // MODIFIED
1761 : // RE-ENGINEERED na
1762 :
1763 : // PURPOSE OF THIS SUBROUTINE:
1764 : // Manages the resizing of the TableEntry Array
1765 :
1766 : // METHODOLOGY EMPLOYED:
1767 : // Simple assignments to public variables.
1768 :
1769 : // REFERENCES:
1770 : // na
1771 :
1772 : // USE STATEMENTS:
1773 :
1774 : // SUBROUTINE ARGUMENT DEFINITIONS:
1775 : // na
1776 :
1777 : // SUBROUTINE PARAMETER DEFINITIONS:
1778 : // na
1779 :
1780 : // INTERFACE BLOCK SPECIFICATIONS:
1781 : // na
1782 :
1783 : // DERIVED TYPE DEFINITIONS:
1784 : // na
1785 :
1786 : // SUBROUTINE LOCAL VARIABLE DECLARATIONS:
1787 89638 : if (!allocated(state.dataOutRptPredefined->tableEntry)) {
1788 475 : state.dataOutRptPredefined->tableEntry.allocate(sizeIncrement);
1789 475 : state.dataOutRptPredefined->sizeTableEntry = sizeIncrement;
1790 475 : state.dataOutRptPredefined->numTableEntry = 1;
1791 : } else {
1792 89163 : ++state.dataOutRptPredefined->numTableEntry;
1793 : // if larger than current size grow the array
1794 89163 : if (state.dataOutRptPredefined->numTableEntry > state.dataOutRptPredefined->sizeTableEntry) {
1795 704 : state.dataOutRptPredefined->tableEntry.redimension(
1796 352 : state.dataOutRptPredefined->sizeTableEntry *=
1797 : 2); // Tuned Changed += sizeIncrement to *= 2 for reduced heap allocations (at some space cost)
1798 : }
1799 : }
1800 89638 : }
1801 :
1802 3488 : void AddCompSizeTableEntry(
1803 : EnergyPlusData &state, std::string_view FieldType, std::string_view FieldName, std::string_view FieldDescription, Real64 const FieldValue)
1804 : {
1805 : // SUBROUTINE INFORMATION:
1806 : // AUTHOR Jason Glazer
1807 : // DATE WRITTEN July 2007
1808 : // MODIFIED
1809 : // RE-ENGINEERED na
1810 :
1811 : // PURPOSE OF THIS SUBROUTINE:
1812 : // Creates an entry for component size tables.
1813 :
1814 : // METHODOLOGY EMPLOYED:
1815 : // Simple assignments to public variables.
1816 :
1817 : // REFERENCES:
1818 : // na
1819 :
1820 : // USE STATEMENTS:
1821 :
1822 : // Locals
1823 : // SUBROUTINE ARGUMENT DEFINITIONS:
1824 :
1825 : // SUBROUTINE PARAMETER DEFINITIONS:
1826 : // na
1827 :
1828 : // INTERFACE BLOCK SPECIFICATIONS:
1829 : // na
1830 :
1831 : // DERIVED TYPE DEFINITIONS:
1832 : // na
1833 :
1834 : // SUBROUTINE LOCAL VARIABLE DECLARATIONS:
1835 :
1836 3488 : if (!allocated(state.dataOutRptPredefined->CompSizeTableEntry)) {
1837 344 : state.dataOutRptPredefined->CompSizeTableEntry.allocate(sizeIncrement);
1838 344 : state.dataOutRptPredefined->sizeCompSizeTableEntry = sizeIncrement;
1839 344 : state.dataOutRptPredefined->numCompSizeTableEntry = 1;
1840 : } else {
1841 3144 : ++state.dataOutRptPredefined->numCompSizeTableEntry;
1842 : // if larger than current size grow the array
1843 3144 : if (state.dataOutRptPredefined->numCompSizeTableEntry > state.dataOutRptPredefined->sizeCompSizeTableEntry) {
1844 2 : state.dataOutRptPredefined->CompSizeTableEntry.redimension(
1845 1 : state.dataOutRptPredefined->sizeCompSizeTableEntry *=
1846 : 2); // Tuned Changed += sizeIncrement to *= 2 for reduced heap allocations (at some space cost)
1847 : }
1848 : }
1849 3488 : state.dataOutRptPredefined->CompSizeTableEntry(state.dataOutRptPredefined->numCompSizeTableEntry).typeField = FieldType;
1850 3488 : state.dataOutRptPredefined->CompSizeTableEntry(state.dataOutRptPredefined->numCompSizeTableEntry).nameField = FieldName;
1851 3488 : state.dataOutRptPredefined->CompSizeTableEntry(state.dataOutRptPredefined->numCompSizeTableEntry).description = FieldDescription;
1852 3488 : state.dataOutRptPredefined->CompSizeTableEntry(state.dataOutRptPredefined->numCompSizeTableEntry).valField = FieldValue;
1853 3488 : }
1854 :
1855 0 : void AddShadowRelateTableEntry(EnergyPlusData &state, int const castingField, int const receivingField, int const receivingKind)
1856 : {
1857 : // SUBROUTINE INFORMATION:
1858 : // AUTHOR Jason Glazer
1859 : // DATE WRITTEN July 2007
1860 : // MODIFIED
1861 : // RE-ENGINEERED na
1862 :
1863 : // PURPOSE OF THIS SUBROUTINE:
1864 : // Creates an entry for any shadow hierarchy tables that consist
1865 : // of items and one or more subitems for each item.
1866 :
1867 : // METHODOLOGY EMPLOYED:
1868 : // Simple assignments to public variables.
1869 :
1870 : // REFERENCES:
1871 : // na
1872 :
1873 : // USE STATEMENTS:
1874 :
1875 : // Locals
1876 : // SUBROUTINE ARGUMENT DEFINITIONS:
1877 : // CHARACTER(len=*),INTENT(IN) :: castingField
1878 : // CHARACTER(len=*),INTENT(IN) :: receivingField
1879 :
1880 : // SUBROUTINE PARAMETER DEFINITIONS:
1881 : // na
1882 :
1883 : // INTERFACE BLOCK SPECIFICATIONS:
1884 : // na
1885 :
1886 : // DERIVED TYPE DEFINITIONS:
1887 : // na
1888 :
1889 : // SUBROUTINE LOCAL VARIABLE DECLARATIONS:
1890 :
1891 0 : if (!allocated(state.dataOutRptPredefined->ShadowRelate)) {
1892 0 : state.dataOutRptPredefined->ShadowRelate.allocate(sizeIncrement);
1893 0 : state.dataOutRptPredefined->sizeShadowRelate = sizeIncrement;
1894 0 : state.dataOutRptPredefined->numShadowRelate = 1;
1895 : } else {
1896 0 : ++state.dataOutRptPredefined->numShadowRelate;
1897 : // if larger than current size grow the array
1898 0 : if (state.dataOutRptPredefined->numShadowRelate > state.dataOutRptPredefined->sizeShadowRelate) {
1899 0 : state.dataOutRptPredefined->ShadowRelate.redimension(
1900 0 : state.dataOutRptPredefined->sizeShadowRelate *=
1901 : 2); // Tuned Changed += sizeIncrement to *= 2 for reduced heap allocations (at some space cost)
1902 : }
1903 : }
1904 0 : state.dataOutRptPredefined->ShadowRelate(state.dataOutRptPredefined->numShadowRelate).castSurf = castingField;
1905 0 : state.dataOutRptPredefined->ShadowRelate(state.dataOutRptPredefined->numShadowRelate).recSurf = receivingField;
1906 0 : state.dataOutRptPredefined->ShadowRelate(state.dataOutRptPredefined->numShadowRelate).recKind = receivingKind;
1907 0 : }
1908 :
1909 3993 : int newPreDefReport(EnergyPlusData &state, std::string_view inReportName, std::string_view inReportAbrev, std::string_view inReportNamewithSpaces)
1910 : {
1911 : // SUBROUTINE INFORMATION:
1912 : // AUTHOR Jason Glazer
1913 : // DATE WRITTEN August 2006
1914 : // MODIFIED
1915 : // RE-ENGINEERED na
1916 :
1917 : // PURPOSE OF THIS SUBROUTINE:
1918 : // Creates a new index for the next predefined report
1919 :
1920 : // METHODOLOGY EMPLOYED:
1921 : // na
1922 :
1923 : // REFERENCES:
1924 : // na
1925 :
1926 : // USE STATEMENTS:
1927 :
1928 : // Return value
1929 : int newPreDefReport;
1930 :
1931 : // Locals
1932 : // SUBROUTINE ARGUMENT DEFINITIONS:
1933 : // na
1934 :
1935 : // SUBROUTINE PARAMETER DEFINITIONS:
1936 :
1937 : // INTERFACE BLOCK SPECIFICATIONS:
1938 : // na
1939 :
1940 : // DERIVED TYPE DEFINITIONS:
1941 : // na
1942 :
1943 : // SUBROUTINE LOCAL VARIABLE DECLARATIONS:
1944 3993 : if (!allocated(state.dataOutRptPredefined->reportName)) {
1945 230 : state.dataOutRptPredefined->reportName.allocate(sizeIncrement);
1946 230 : state.dataOutRptPredefined->sizeReportName = sizeIncrement;
1947 230 : state.dataOutRptPredefined->numReportName = 1;
1948 : } else {
1949 3763 : ++state.dataOutRptPredefined->numReportName;
1950 : // if larger than current size grow the array
1951 3763 : if (state.dataOutRptPredefined->numReportName > state.dataOutRptPredefined->sizeReportName) {
1952 0 : state.dataOutRptPredefined->reportName.redimension(
1953 0 : state.dataOutRptPredefined->sizeReportName *=
1954 : 2); // Tuned Changed += sizeIncrement to *= 2 for reduced heap allocations (at some space cost)
1955 : }
1956 : }
1957 : // initialize new record
1958 3993 : state.dataOutRptPredefined->reportName(state.dataOutRptPredefined->numReportName).name = inReportName;
1959 3993 : state.dataOutRptPredefined->reportName(state.dataOutRptPredefined->numReportName).abrev = inReportAbrev;
1960 3993 : state.dataOutRptPredefined->reportName(state.dataOutRptPredefined->numReportName).namewithspaces = inReportNamewithSpaces;
1961 3993 : state.dataOutRptPredefined->reportName(state.dataOutRptPredefined->numReportName).show = false;
1962 3993 : newPreDefReport = state.dataOutRptPredefined->numReportName;
1963 3993 : return newPreDefReport;
1964 : }
1965 :
1966 22436 : int newPreDefSubTable(EnergyPlusData &state, int const reportIndex, std::string_view subTableName)
1967 : {
1968 : // SUBROUTINE INFORMATION:
1969 : // AUTHOR Jason Glazer
1970 : // DATE WRITTEN August 2006
1971 : // MODIFIED
1972 : // RE-ENGINEERED na
1973 :
1974 : // PURPOSE OF THIS SUBROUTINE:
1975 : // Assigns the index for predefined sub-tables
1976 :
1977 : // METHODOLOGY EMPLOYED:
1978 : // Simple assignments to public variables.
1979 :
1980 : // REFERENCES:
1981 : // na
1982 :
1983 : // USE STATEMENTS:
1984 :
1985 : // Return value
1986 :
1987 : // Locals
1988 : // SUBROUTINE ARGUMENT DEFINITIONS:
1989 :
1990 : // SUBROUTINE PARAMETER DEFINITIONS:
1991 : // na
1992 :
1993 : // INTERFACE BLOCK SPECIFICATIONS:
1994 : // na
1995 :
1996 : // DERIVED TYPE DEFINITIONS:
1997 : // na
1998 :
1999 : // SUBROUTINE LOCAL VARIABLE DECLARATIONS:
2000 22436 : if (!allocated(state.dataOutRptPredefined->subTable)) {
2001 230 : state.dataOutRptPredefined->subTable.allocate(sizeIncrement);
2002 230 : state.dataOutRptPredefined->sizeSubTable = sizeIncrement;
2003 230 : state.dataOutRptPredefined->numSubTable = 1;
2004 : } else {
2005 22206 : ++state.dataOutRptPredefined->numSubTable;
2006 : // if larger than current size then grow the array
2007 22206 : if (state.dataOutRptPredefined->numSubTable > state.dataOutRptPredefined->sizeSubTable) {
2008 102 : state.dataOutRptPredefined->subTable.redimension(
2009 51 : state.dataOutRptPredefined->sizeSubTable *=
2010 : 2); // Tuned Changed += sizeIncrement to *= 2 for reduced heap allocations (at some space cost)
2011 : }
2012 : }
2013 : // initialize new record)
2014 22436 : state.dataOutRptPredefined->subTable(state.dataOutRptPredefined->numSubTable).name = subTableName;
2015 22436 : state.dataOutRptPredefined->subTable(state.dataOutRptPredefined->numSubTable).indexReportName = reportIndex;
2016 22436 : return state.dataOutRptPredefined->numSubTable;
2017 : }
2018 :
2019 5129 : void addFootNoteSubTable(EnergyPlusData &state, int const subTableIndex, std::string_view footnoteText)
2020 : {
2021 : // SUBROUTINE INFORMATION:
2022 : // AUTHOR Jason Glazer
2023 : // DATE WRITTEN August 2008
2024 : // MODIFIED
2025 : // RE-ENGINEERED na
2026 :
2027 : // PURPOSE OF THIS SUBROUTINE:
2028 : // Adds a footnote to a subtable
2029 :
2030 : // METHODOLOGY EMPLOYED:
2031 : // Simple assignments to public variables.
2032 :
2033 : // REFERENCES:
2034 : // na
2035 :
2036 : // USE STATEMENTS:
2037 :
2038 : // Locals
2039 : // SUBROUTINE ARGUMENT DEFINITIONS:
2040 :
2041 : // SUBROUTINE PARAMETER DEFINITIONS:
2042 : // na
2043 :
2044 : // INTERFACE BLOCK SPECIFICATIONS:
2045 : // na
2046 :
2047 : // DERIVED TYPE DEFINITIONS:
2048 : // na
2049 :
2050 : // SUBROUTINE LOCAL VARIABLE DECLARATIONS:
2051 5129 : if ((subTableIndex >= 0) && (subTableIndex <= state.dataOutRptPredefined->numSubTable)) {
2052 5121 : state.dataOutRptPredefined->subTable(subTableIndex).footnote = footnoteText;
2053 : }
2054 5129 : }
2055 :
2056 198413 : int newPreDefColumn(EnergyPlusData &state, int const subTableIndex, std::string_view columnHeading)
2057 : {
2058 : // SUBROUTINE INFORMATION:
2059 : // AUTHOR Jason Glazer
2060 : // DATE WRITTEN August 2006
2061 : // MODIFIED
2062 : // RE-ENGINEERED na
2063 :
2064 : // PURPOSE OF THIS SUBROUTINE:
2065 : // Assigns the index variables for all predefined reports
2066 :
2067 : // METHODOLOGY EMPLOYED:
2068 : // Simple assignments to public variables.
2069 :
2070 : // REFERENCES:
2071 : // na
2072 :
2073 : // USE STATEMENTS:
2074 :
2075 : // Return value
2076 : int newPreDefColumn;
2077 :
2078 : // Locals
2079 : // SUBROUTINE ARGUMENT DEFINITIONS:
2080 :
2081 : // SUBROUTINE PARAMETER DEFINITIONS:
2082 : // na
2083 :
2084 : // INTERFACE BLOCK SPECIFICATIONS:
2085 : // na
2086 :
2087 : // DERIVED TYPE DEFINITIONS:
2088 : // na
2089 :
2090 : // SUBROUTINE LOCAL VARIABLE DECLARATIONS:
2091 198413 : if (!allocated(state.dataOutRptPredefined->columnTag)) {
2092 230 : state.dataOutRptPredefined->columnTag.allocate(sizeIncrement);
2093 230 : state.dataOutRptPredefined->sizeColumnTag = sizeIncrement;
2094 230 : state.dataOutRptPredefined->numColumnTag = 1;
2095 : } else {
2096 198183 : ++state.dataOutRptPredefined->numColumnTag;
2097 : // if larger than current size grow the array
2098 198183 : if (state.dataOutRptPredefined->numColumnTag > state.dataOutRptPredefined->sizeColumnTag) {
2099 1844 : state.dataOutRptPredefined->columnTag.redimension(
2100 922 : state.dataOutRptPredefined->sizeColumnTag *=
2101 : 2); // Tuned Changed += sizeIncrement to *= 2 for reduced heap allocations (at some space cost)
2102 : }
2103 : }
2104 : // initialize new record)
2105 198413 : state.dataOutRptPredefined->columnTag(state.dataOutRptPredefined->numColumnTag).heading = columnHeading;
2106 198413 : state.dataOutRptPredefined->columnTag(state.dataOutRptPredefined->numColumnTag).indexSubTable = subTableIndex;
2107 198413 : newPreDefColumn = state.dataOutRptPredefined->numColumnTag;
2108 198413 : return newPreDefColumn;
2109 : }
2110 :
2111 : } // namespace OutputReportPredefined
2112 :
2113 : } // namespace EnergyPlus
|