Line data Source code
1 : // EnergyPlus, Copyright (c) 1996-2023, 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 771 : 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 771 : auto &s(state.dataOutRptPredefined);
99 :
100 771 : s->pdrClim = newPreDefReport(state, "ClimaticDataSummary", "Clim", "Climatic Data Summary");
101 :
102 771 : s->pdstDesDay = newPreDefSubTable(state, s->pdrClim, "SizingPeriod:DesignDay");
103 :
104 771 : s->pdchDDmaxDB = newPreDefColumn(state, s->pdstDesDay, "Maximum Dry Bulb [C]");
105 771 : s->pdchDDrange = newPreDefColumn(state, s->pdstDesDay, "Daily Temperature Range [deltaC]");
106 771 : s->pdchDDhumid = newPreDefColumn(state, s->pdstDesDay, "Humidity Value");
107 771 : s->pdchDDhumTyp = newPreDefColumn(state, s->pdstDesDay, "Humidity Type");
108 771 : s->pdchDDwindSp = newPreDefColumn(state, s->pdstDesDay, "Wind Speed [m/s]");
109 771 : s->pdchDDwindDr = newPreDefColumn(state, s->pdstDesDay, "Wind Direction");
110 :
111 771 : s->pdstMonthlyPrec = newPreDefSubTable(state, s->pdrClim, "Monthly Precipitation Summary");
112 :
113 771 : s->pdchMonthlyTotalPrecInWeather = newPreDefColumn(state, s->pdstMonthlyPrec, "Monthly Total Precipitation from .epw [mm]");
114 771 : s->pdchMonthlyTotalHrRain = newPreDefColumn(state, s->pdstMonthlyPrec, "Monthly Total Hours of Rain from .epw");
115 771 : s->pdchMonthlyTotalPrecInSitePrec = newPreDefColumn(state, s->pdstMonthlyPrec, "Monthly Total Precipitation in Site:Precipitation [mm]");
116 771 : s->pdchMonthlyTotalIrrDep = newPreDefColumn(state, s->pdstMonthlyPrec, "Monthly Total Roof Irrigation Depth [mm]");
117 771 : s->pdchMonthlyTotalRainCol = newPreDefColumn(state, s->pdstMonthlyPrec, "Monthly Total Rain Collection Volume [m3]");
118 :
119 771 : s->pdstWthr = newPreDefSubTable(state, s->pdrClim, "Weather Statistics File");
120 771 : s->pdchWthrVal = newPreDefColumn(state, s->pdstWthr, "Value");
121 :
122 : // Envelope Report
123 :
124 771 : s->pdrEnvelope = newPreDefReport(state, "EnvelopeSummary", "Env", "Envelope Summary");
125 :
126 771 : s->pdstOpaque = newPreDefSubTable(state, s->pdrEnvelope, "Opaque Exterior");
127 :
128 771 : s->pdchOpCons = newPreDefColumn(state, s->pdstOpaque, "Construction");
129 771 : s->pdchOpRefl = newPreDefColumn(state, s->pdstOpaque, "Reflectance");
130 771 : s->pdchOpUfactFilm = newPreDefColumn(state, s->pdstOpaque, "U-Factor with Film [W/m2-K]");
131 771 : s->pdchOpUfactNoFilm = newPreDefColumn(state, s->pdstOpaque, "U-Factor no Film [W/m2-K]");
132 771 : s->pdchOpGrArea = newPreDefColumn(state, s->pdstOpaque, "Gross Area [m2]");
133 771 : s->pdchOpNetArea = newPreDefColumn(state, s->pdstOpaque, "Net Area [m2]");
134 771 : s->pdchOpAzimuth = newPreDefColumn(state, s->pdstOpaque, "Azimuth [deg]");
135 771 : s->pdchOpTilt = newPreDefColumn(state, s->pdstOpaque, "Tilt [deg]");
136 771 : s->pdchOpDir = newPreDefColumn(state, s->pdstOpaque, "Cardinal Direction");
137 :
138 771 : s->pdstIntOpaque = newPreDefSubTable(state, s->pdrEnvelope, "Opaque Interior");
139 :
140 771 : s->pdchIntOpCons = newPreDefColumn(state, s->pdstIntOpaque, "Construction");
141 771 : s->pdchIntOpRefl = newPreDefColumn(state, s->pdstIntOpaque, "Reflectance");
142 771 : s->pdchIntOpUfactFilm = newPreDefColumn(state, s->pdstIntOpaque, "U-Factor with Film [W/m2-K]");
143 771 : s->pdchIntOpUfactNoFilm = newPreDefColumn(state, s->pdstIntOpaque, "U-Factor no Film [W/m2-K]");
144 771 : s->pdchIntOpGrArea = newPreDefColumn(state, s->pdstIntOpaque, "Gross Area [m2]");
145 771 : s->pdchIntOpNetArea = newPreDefColumn(state, s->pdstIntOpaque, "Net Area [m2]");
146 771 : s->pdchIntOpAzimuth = newPreDefColumn(state, s->pdstIntOpaque, "Azimuth [deg]");
147 771 : s->pdchIntOpTilt = newPreDefColumn(state, s->pdstIntOpaque, "Tilt [deg]");
148 771 : s->pdchIntOpDir = newPreDefColumn(state, s->pdstIntOpaque, "Cardinal Direction");
149 :
150 771 : s->pdstFen = newPreDefSubTable(state, s->pdrEnvelope, "Exterior Fenestration");
151 :
152 771 : s->pdchFenCons = newPreDefColumn(state, s->pdstFen, "Construction");
153 771 : s->pdchFenFrameDivName = newPreDefColumn(state, s->pdstFen, "Frame and Divider");
154 771 : s->pdchFenGlassAreaOf1 = newPreDefColumn(state, s->pdstFen, "Glass Area [m2]");
155 771 : s->pdchFenFrameAreaOf1 = newPreDefColumn(state, s->pdstFen, "Frame Area [m2]");
156 771 : s->pdchFenDividerAreaOf1 = newPreDefColumn(state, s->pdstFen, "Divider Area [m2]");
157 771 : s->pdchFenAreaOf1 = newPreDefColumn(state, s->pdstFen, "Area of One Opening [m2]");
158 771 : s->pdchFenArea = newPreDefColumn(state, s->pdstFen, "Area of Multiplied Openings [m2]");
159 771 : s->pdchFenUfact = newPreDefColumn(state, s->pdstFen, "Glass U-Factor [W/m2-K]");
160 771 : s->pdchFenSHGC = newPreDefColumn(state, s->pdstFen, "Glass SHGC");
161 771 : s->pdchFenVisTr = newPreDefColumn(state, s->pdstFen, "Glass Visible Transmittance");
162 771 : s->pdchFenFrameConductance = newPreDefColumn(state, s->pdstFen, "Frame Conductance [W/m2-K]");
163 771 : s->pdchFenDividerConductance = newPreDefColumn(state, s->pdstFen, "Divider Conductance [W/m2-K]");
164 771 : s->pdchFenAssemNfrcType = newPreDefColumn(state, s->pdstFen, "NFRC Product Type");
165 771 : s->pdchFenAssemUfact = newPreDefColumn(state, s->pdstFen, "Assembly U-Factor [W/m2-K]");
166 771 : s->pdchFenAssemSHGC = newPreDefColumn(state, s->pdstFen, "Assembly SHGC");
167 771 : s->pdchFenAssemVisTr = newPreDefColumn(state, s->pdstFen, "Assembly Visible Transmittance");
168 771 : s->pdchFenSwitchable = newPreDefColumn(state, s->pdstFen, "Shade Control");
169 771 : s->pdchFenParent = newPreDefColumn(state, s->pdstFen, "Parent Surface");
170 771 : s->pdchFenAzimuth = newPreDefColumn(state, s->pdstFen, "Azimuth [deg]");
171 771 : s->pdchFenTilt = newPreDefColumn(state, s->pdstFen, "Tilt [deg]");
172 771 : s->pdchFenDir = newPreDefColumn(state, s->pdstFen, "Cardinal Direction");
173 :
174 771 : s->pdstFenShd = newPreDefSubTable(state, s->pdrEnvelope, "Exterior Fenestration Shaded State");
175 :
176 771 : s->pdchFenShdFrameDiv = newPreDefColumn(state, s->pdstFenShd, "Frame and Divider");
177 771 : s->pdchFenShdUfact = newPreDefColumn(state, s->pdstFenShd, "Glass U-Factor [W/m2-K]");
178 771 : s->pdchFenShdSHGC = newPreDefColumn(state, s->pdstFenShd, "Glass SHGC");
179 771 : s->pdchFenShdVisTr = newPreDefColumn(state, s->pdstFenShd, "Glass Visible Transmittance");
180 771 : s->pdchFenShdAssemNfrcType = newPreDefColumn(state, s->pdstFenShd, "NFRC Product Type");
181 771 : s->pdchFenShdAssemUfact = newPreDefColumn(state, s->pdstFenShd, "Assembly U-Factor [W/m2-K]");
182 771 : s->pdchFenShdAssemSHGC = newPreDefColumn(state, s->pdstFenShd, "Assembly SHGC");
183 771 : s->pdchFenShdAssemVisTr = newPreDefColumn(state, s->pdstFenShd, "Assembly Visible Transmittance");
184 :
185 771 : s->pdstIntFen = newPreDefSubTable(state, s->pdrEnvelope, "Interior Fenestration");
186 :
187 771 : s->pdchIntFenCons = newPreDefColumn(state, s->pdstIntFen, "Construction");
188 771 : s->pdchIntFenAreaOf1 = newPreDefColumn(state, s->pdstIntFen, "Area of One Opening [m2]");
189 771 : s->pdchIntFenArea = newPreDefColumn(state, s->pdstIntFen, "Area of Openings [m2]");
190 771 : s->pdchIntFenUfact = newPreDefColumn(state, s->pdstIntFen, "Glass U-Factor [W/m2-K]");
191 771 : s->pdchIntFenSHGC = newPreDefColumn(state, s->pdstIntFen, "Glass SHGC");
192 771 : s->pdchIntFenVisTr = newPreDefColumn(state, s->pdstIntFen, "Glass Visible Transmittance");
193 771 : s->pdchIntFenParent = newPreDefColumn(state, s->pdstIntFen, "Parent Surface");
194 : // s->pdchIntFenGlassAreaOf1 = newPreDefColumn(state, s->pdstIntFen,'Glass Area [m2]')
195 : // s->pdchIntFenFrameAreaOf1 = newPreDefColumn(state, s->pdstIntFen,'Frame Area [m2]')
196 : // s->pdchIntFenDividerAreaOf1 = newPreDefColumn(state, s->pdstIntFen,'Divider Area [m2]')
197 : // s->pdchIntFenFrameConductance = newPreDefColumn(state, s->pdstIntFen,'Frame Conductance [W/m2-K]')
198 : // s->pdchIntFenDividerConductance = newPreDefColumn(state, s->pdstIntFen,'Divider Conductance [W/m2-K]')
199 :
200 771 : s->pdstDoor = newPreDefSubTable(state, s->pdrEnvelope, "Exterior Door");
201 771 : s->pdchDrCons = newPreDefColumn(state, s->pdstDoor, "Construction");
202 771 : s->pdchDrUfactFilm = newPreDefColumn(state, s->pdstDoor, "U-Factor with Film [W/m2-K]");
203 771 : s->pdchDrUfactNoFilm = newPreDefColumn(state, s->pdstDoor, "U-Factor no Film [W/m2-K]");
204 771 : s->pdchDrGrArea = newPreDefColumn(state, s->pdstDoor, "Gross Area [m2]");
205 771 : s->pdchDrParent = newPreDefColumn(state, s->pdstDoor, "Parent Surface");
206 :
207 771 : s->pdstIntDoor = newPreDefSubTable(state, s->pdrEnvelope, "Interior Door");
208 :
209 771 : s->pdchIntDrCons = newPreDefColumn(state, s->pdstIntDoor, "Construction");
210 771 : s->pdchIntDrUfactFilm = newPreDefColumn(state, s->pdstIntDoor, "U-Factor with Film [W/m2-K]");
211 771 : s->pdchIntDrUfactNoFilm = newPreDefColumn(state, s->pdstIntDoor, "U-Factor no Film [W/m2-K]");
212 771 : s->pdchIntDrGrArea = newPreDefColumn(state, s->pdstIntDoor, "Gross Area [m2]");
213 771 : s->pdchIntDrParent = newPreDefColumn(state, s->pdstIntDoor, "Parent Surface");
214 :
215 : // Shading Report
216 771 : s->pdrShading = newPreDefReport(state, "ShadingSummary", "Shade", "Shading Summary");
217 :
218 771 : s->pdstSunlitFrac = newPreDefSubTable(state, s->pdrShading, "Sunlit Fraction");
219 :
220 771 : s->pdchSlfMar21_9 = newPreDefColumn(state, s->pdstSunlitFrac, "March 21 9am");
221 771 : s->pdchSlfMar21_12 = newPreDefColumn(state, s->pdstSunlitFrac, "March 21 noon");
222 771 : s->pdchSlfMar21_15 = newPreDefColumn(state, s->pdstSunlitFrac, "March 21 3pm");
223 771 : s->pdchSlfJun21_9 = newPreDefColumn(state, s->pdstSunlitFrac, "June 21 9am");
224 771 : s->pdchSlfJun21_12 = newPreDefColumn(state, s->pdstSunlitFrac, "June 21 noon");
225 771 : s->pdchSlfJun21_15 = newPreDefColumn(state, s->pdstSunlitFrac, "June 21 3pm");
226 771 : s->pdchSlfDec21_9 = newPreDefColumn(state, s->pdstSunlitFrac, "December 21 9am");
227 771 : s->pdchSlfDec21_12 = newPreDefColumn(state, s->pdstSunlitFrac, "December 21 noon");
228 771 : s->pdchSlfDec21_15 = newPreDefColumn(state, s->pdstSunlitFrac, "December 21 3pm");
229 :
230 771 : s->pdstWindowControl = newPreDefSubTable(state, s->pdrShading, "Window Control");
231 :
232 771 : s->pdchWscName = newPreDefColumn(state, s->pdstWindowControl, "Name");
233 771 : s->pdchWscShading = newPreDefColumn(state, s->pdstWindowControl, "Type");
234 771 : s->pdchWscShadCons = newPreDefColumn(state, s->pdstWindowControl, "Shaded Construction");
235 771 : s->pdchWscControl = newPreDefColumn(state, s->pdstWindowControl, "Control");
236 771 : s->pdchWscGlare = newPreDefColumn(state, s->pdstWindowControl, "Glare Control");
237 :
238 : // Lighting Report
239 771 : s->pdrLighting = newPreDefReport(state, "LightingSummary", "Light", "Lighting Summary");
240 :
241 771 : s->pdstInLite = newPreDefSubTable(state, s->pdrLighting, "Interior Lighting");
242 :
243 771 : s->pdchInLtZone = newPreDefColumn(state, s->pdstInLite, "Zone Name");
244 771 : s->pdchInLtSpace = newPreDefColumn(state, s->pdstInLite, "Space Name");
245 771 : s->pdchInLtSpaceType = newPreDefColumn(state, s->pdstInLite, "Space Type");
246 771 : s->pdchInLtDens = newPreDefColumn(state, s->pdstInLite, "Lighting Power Density [W/m2]");
247 771 : s->pdchInLtArea = newPreDefColumn(state, s->pdstInLite, "Space Area [m2]");
248 771 : s->pdchInLtPower = newPreDefColumn(state, s->pdstInLite, "Total Power [W]");
249 771 : s->pdchInLtEndUse = newPreDefColumn(state, s->pdstInLite, "End Use Subcategory");
250 771 : s->pdchInLtSchd = newPreDefColumn(state, s->pdstInLite, "Schedule Name");
251 771 : s->pdchInLtAvgHrSchd = newPreDefColumn(state, s->pdstInLite, "Scheduled Hours/Week [hr]");
252 771 : s->pdchInLtAvgHrOper = newPreDefColumn(state, s->pdstInLite, "Hours/Week > 1% [hr]");
253 771 : s->pdchInLtFullLoadHrs = newPreDefColumn(state, s->pdstInLite, "Full Load Hours/Week [hr]");
254 771 : s->pdchInLtRetAir = newPreDefColumn(state, s->pdstInLite, "Return Air Fraction");
255 771 : s->pdchInLtCond = newPreDefColumn(state, s->pdstInLite, "Conditioned (Y/N)");
256 771 : s->pdchInLtConsump = newPreDefColumn(state, s->pdstInLite, "Consumption [GJ]");
257 :
258 771 : s->pdstDaylight = newPreDefSubTable(state, s->pdrLighting, "Daylighting");
259 :
260 771 : s->pdchDyLtZone = newPreDefColumn(state, s->pdstDaylight, "Zone");
261 771 : s->pdchDyLtCtrlName = newPreDefColumn(state, s->pdstDaylight, "Control Name");
262 771 : s->pdchDyLtKind = newPreDefColumn(state, s->pdstDaylight, "Daylighting Method"); // detailed or DElight
263 771 : s->pdchDyLtCtrlType = newPreDefColumn(state, s->pdstDaylight, "Control Type"); // stepped or continuous
264 771 : s->pdchDyLtFrac = newPreDefColumn(state, s->pdstDaylight, "Fraction Controlled");
265 771 : s->pdchDyLtWInst = newPreDefColumn(state, s->pdstDaylight, "Lighting Installed in Zone [W]");
266 771 : s->pdchDyLtWCtrl = newPreDefColumn(state, s->pdstDaylight, "Lighting Controlled [W]");
267 :
268 771 : s->pdstExtLite = newPreDefSubTable(state, s->pdrLighting, "Exterior Lighting");
269 :
270 771 : s->pdchExLtPower = newPreDefColumn(state, s->pdstExtLite, "Total Watts");
271 771 : s->pdchExLtClock = newPreDefColumn(state, s->pdstExtLite, "Astronomical Clock/Schedule");
272 771 : s->pdchExLtSchd = newPreDefColumn(state, s->pdstExtLite, "Schedule Name");
273 771 : s->pdchExLtAvgHrSchd = newPreDefColumn(state, s->pdstExtLite, "Scheduled Hours/Week [hr]");
274 771 : s->pdchExLtAvgHrOper = newPreDefColumn(state, s->pdstExtLite, "Hours/Week > 1% [hr]");
275 771 : s->pdchExLtFullLoadHrs = newPreDefColumn(state, s->pdstExtLite, "Full Load Hours/Week [hr]");
276 771 : s->pdchExLtConsump = newPreDefColumn(state, s->pdstExtLite, "Consumption [GJ]");
277 :
278 : // HVAC Equipment Report
279 :
280 771 : s->pdrEquip = newPreDefReport(state, "EquipmentSummary", "Equip", "Equipment Summary");
281 :
282 771 : s->pdstMech = newPreDefSubTable(state, s->pdrEquip, "Central Plant");
283 :
284 771 : s->pdchMechType = newPreDefColumn(state, s->pdstMech, "Type");
285 771 : s->pdchMechNomCap = newPreDefColumn(state, s->pdstMech, "Reference Capacity [W]");
286 771 : s->pdchMechNomEff = newPreDefColumn(state, s->pdstMech, "Reference Efficiency [W/W]");
287 771 : s->pdchMechRatCap = newPreDefColumn(state, s->pdstMech, "Rated Capacity [W]");
288 771 : s->pdchMechRatEff = newPreDefColumn(state, s->pdstMech, "Rated Efficiency [W/W]");
289 : // Note: We don't want any of these to convert.
290 : // 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
291 771 : s->pdchMechIPLVSI = newPreDefColumn(state, s->pdstMech, "IPLV in SI Units [W/W]");
292 771 : s->pdchMechIPLVIP = newPreDefColumn(state, s->pdstMech, "IPLV in IP Units [Btu/W-h]");
293 :
294 : // Ok Constant Object Name Module Example File
295 : // -- ------------------------------- -------------------------------------- ------------------------ -----------------
296 : // o CoilDX_CoolingSingleSpeed Coil:Cooling:DX:SingleSpeed DXCoil FurnaceWithDXSystem
297 : // x CoilDX_CoolingTwoSpeed Coil:Cooling:DX:TwoSpeed DXCoil 5ZoneAutoDXVAV
298 : // o CoilDX_CoolingTwoStageWHumControl Coil:Cooling:DX: DXCoil SmOffPSZ-MultiModeDX
299 : // TwoStageWithHumidityControlMode
300 : // o CoilDX_MultiSpeedCooling Coil:Cooling:DX:MultiSpeed DXCoil MultispeedHeatPump
301 : // o Coil_CoolingWater Coil:Cooling:Water HVACWaterCoilComponent 5ZoneAirCooled
302 : // o Coil_CoolingWaterDetailed Coil:Cooling:Water:DetailedGeometry HVACWaterCoilComponent 5zoneWaterSystems
303 : // o Coil_CoolingWaterToAirHP Coil:Cooling:WaterToAirHeatPump: HVACWaterToAir 5ZoneWaterLoopHeatPump
304 : // ParameterEstimation
305 : // o Coil_CoolingWaterToAirHPSimple Coil:Cooling:WaterToAirHeatPump: HVACWaterToAir HeatPumpWaterToAirEquationFit
306 : // EquationFit
307 :
308 : // o CoilDX_HeatingEmpirical Coil:Heating:DX:SingleSpeed DXCoil HeatPumpAuto
309 : // o CoilDX_MultiSpeedHeating Coil:Heating:DX:MultiSpeed DXCoil MultispeedHeatPump
310 : // o Coil_HeatingGasOrOtherFuel Coil:Heating:Fuel HVACHeatingCoils 5ZoneAutoDXVAV
311 : // o Coil_HeatingElectric Coil:Heating:Electric HVACHeatingCoils PackagedTerminalAirConditioner
312 : // o Coil_HeatingDesuperheater Coil:Heating:Desuperheater HVACHeatingCoils SuperMarket_DesuperHeatingCoil
313 : // o Coil_HeatingWater Coil:Heating:Water HVACWaterCoilComponent 5ZoneAirCooled
314 : // o Coil_HeatingWaterToAirHP Coil:Heating:WaterToAirHeatPump: HVACWaterToAir 5ZoneWaterLoopHeatPump
315 : // ParameterEstimation
316 : // o Coil_HeatingWaterToAirHPSimple Coil:Heating:WaterToAirHeatPump: HVACWaterToAir HeatPumpWaterToAirEquationFit
317 : // EquationFit
318 : // o CoilDX_HeatPumpWaterHeater Coil:WaterHeating:AirToWaterHeatPump DXCoil HeatPumpWaterHeater
319 :
320 : // NOT INCLUDED:
321 : // CoilDX_CoolingHXAssisted CoilSystem:Cooling:DX: HVACHXAssistedCooolingCoil
322 : // HeatExchangerAssisted
323 : // CoilWater_CoolingHXAssisted CoilSystem:Cooling:Water: HVACHXAssistedCooolingCoil
324 : // HeatExchangerAssisted
325 :
326 771 : s->pdstCoolCoil = newPreDefSubTable(state, s->pdrEquip, "Cooling Coils");
327 :
328 771 : s->pdchCoolCoilType = newPreDefColumn(state, s->pdstCoolCoil, "Type");
329 771 : s->pdchCoolCoilDesCap = newPreDefColumn(state, s->pdstCoolCoil, "Design Coil Load [W]");
330 771 : s->pdchCoolCoilTotCap = newPreDefColumn(state, s->pdstCoolCoil, "Nominal Total Capacity [W]");
331 771 : s->pdchCoolCoilSensCap = newPreDefColumn(state, s->pdstCoolCoil, "Nominal Sensible Capacity [W]");
332 771 : s->pdchCoolCoilLatCap = newPreDefColumn(state, s->pdstCoolCoil, "Nominal Latent Capacity [W]");
333 771 : s->pdchCoolCoilSHR = newPreDefColumn(state, s->pdstCoolCoil, "Nominal Sensible Heat Ratio");
334 771 : s->pdchCoolCoilNomEff = newPreDefColumn(state, s->pdstCoolCoil, "Nominal Efficiency [W/W]");
335 771 : s->pdchCoolCoilUATotal = newPreDefColumn(state, s->pdstCoolCoil, "Nominal Coil UA Value [W/C]");
336 771 : s->pdchCoolCoilArea = newPreDefColumn(state, s->pdstCoolCoil, "Nominal Coil Surface Area [m2]");
337 :
338 771 : s->pdstDXCoolCoil = newPreDefSubTable(state, s->pdrEquip, "DX Cooling Coils");
339 771 : s->pdchDXCoolCoilType = newPreDefColumn(state, s->pdstDXCoolCoil, "DX Cooling Coil Type");
340 771 : s->pdchDXCoolCoilNetCapSI = newPreDefColumn(state, s->pdstDXCoolCoil, "Standard Rated Net Cooling Capacity [W]");
341 :
342 771 : s->pdchDXCoolCoilCOP = newPreDefColumn(state, s->pdstDXCoolCoil, "Standard Rated Net COP [W/W]");
343 771 : s->pdchDXCoolCoilEERIP = newPreDefColumn(state, s->pdstDXCoolCoil, "EER [Btu/W-h]");
344 771 : s->pdchDXCoolCoilSEERUserIP = newPreDefColumn(state, s->pdstDXCoolCoil, "SEER User [Btu/W-h]");
345 771 : s->pdchDXCoolCoilSEERStandardIP = newPreDefColumn(state, s->pdstDXCoolCoil, "SEER Standard [Btu/W-h]");
346 771 : s->pdchDXCoolCoilIEERIP = newPreDefColumn(state, s->pdstDXCoolCoil, "IEER [Btu/W-h]");
347 :
348 : // for DX Cooling Coil AHRI Standard 2023 Ratings | SEER2
349 771 : s->pdstDXCoolCoil_2023 = newPreDefSubTable(state, s->pdrEquip, "DX Cooling Coils [ SEER2 ]");
350 771 : s->pdchDXCoolCoilType_2023 = newPreDefColumn(state, s->pdstDXCoolCoil_2023, "DX Cooling Coil Type");
351 771 : s->pdchDXCoolCoilNetCapSI_2023 = newPreDefColumn(state, s->pdstDXCoolCoil_2023, "Standard Rated Net Cooling Capacity [W]");
352 :
353 771 : s->pdchDXCoolCoilCOP_2023 = newPreDefColumn(state, s->pdstDXCoolCoil_2023, "Standard Rated Net COP2 [W/W]");
354 771 : s->pdchDXCoolCoilEERIP_2023 = newPreDefColumn(state, s->pdstDXCoolCoil_2023, "EER2 [Btu/W-h]");
355 771 : s->pdchDXCoolCoilSEER2UserIP_2023 = newPreDefColumn(state, s->pdstDXCoolCoil_2023, "SEER2 User [Btu/W-h]");
356 771 : s->pdchDXCoolCoilSEER2StandardIP_2023 = newPreDefColumn(state, s->pdstDXCoolCoil_2023, "SEER2 Standard [Btu/W-h]");
357 771 : s->pdchDXCoolCoilIEERIP_2023 = newPreDefColumn(state, s->pdstDXCoolCoil_2023, "IEER2 [Btu/W-h]");
358 :
359 : // for DX Cooling Coil ASHRAE 127-12 Report
360 771 : s->pdstDXCoolCoil2 = newPreDefSubTable(state, s->pdrEquip, "DX Cooling Coil ASHRAE 127 Standard Ratings Report");
361 771 : s->pdchDXCoolCoilType = newPreDefColumn(state, s->pdstDXCoolCoil2, "DX Cooling Coil Type");
362 771 : s->pdchDXCoolCoilNetCapSIA = newPreDefColumn(state, s->pdstDXCoolCoil2, "Rated Net Cooling Capacity Test A [W]");
363 771 : s->pdchDXCoolCoilElecPowerA = newPreDefColumn(state, s->pdstDXCoolCoil2, "Rated Electric Power Test A [W]");
364 771 : s->pdchDXCoolCoilNetCapSIB = newPreDefColumn(state, s->pdstDXCoolCoil2, "Rated Net Cooling Capacity Test B [W]");
365 771 : s->pdchDXCoolCoilElecPowerB = newPreDefColumn(state, s->pdstDXCoolCoil2, "Rated Electric Power Test B [W]");
366 771 : s->pdchDXCoolCoilNetCapSIC = newPreDefColumn(state, s->pdstDXCoolCoil2, "Rated Net Cooling Capacity Test C [W]");
367 771 : s->pdchDXCoolCoilElecPowerC = newPreDefColumn(state, s->pdstDXCoolCoil2, "Rated Electric Power Test C [W]");
368 771 : s->pdchDXCoolCoilNetCapSID = newPreDefColumn(state, s->pdstDXCoolCoil2, "Rated Net Cooling Capacity Test D [W]");
369 771 : s->pdchDXCoolCoilElecPowerD = newPreDefColumn(state, s->pdstDXCoolCoil2, "Rated Electric Power Test D [W]");
370 :
371 : // Water-to-Air HP report
372 771 : s->pdstWAHP = newPreDefSubTable(state, s->pdrEquip, "Water-to-Air Heat Pumps at Rated Temperatures Report");
373 771 : s->pdchWAHPType = newPreDefColumn(state, s->pdstWAHP, "Coil Type");
374 771 : s->pdchWAHPRatedCapAtRatedCdts = newPreDefColumn(state, s->pdstWAHP, "Rated Total Capacity [W]");
375 771 : s->pdchWAHPRatedSensCapAtRatedCdts = newPreDefColumn(state, s->pdstWAHP, "Rated Sensible Capacity [W]");
376 771 : s->pdchWAHPRatedPowerAtRatedCdts = newPreDefColumn(state, s->pdstWAHP, "Rated Power[W]");
377 771 : s->pdchWAHPRatedCOPAtRatedCdts = newPreDefColumn(state, s->pdstWAHP, "Rated COP [W/W]");
378 771 : s->pdchWAHPRatedAirDBT = newPreDefColumn(state, s->pdstWAHP, "Rated Air Dry-bulb Temperature [C]");
379 771 : s->pdchWAHPRatedAirWBT = newPreDefColumn(state, s->pdstWAHP, "Rated Air Wet-bulb Temperature [C]");
380 771 : s->pdchWAHPRatedWtrT = newPreDefColumn(state, s->pdstWAHP, "Rated Water Temperature [C]");
381 771 : s->pdchWAHPDD = newPreDefColumn(state, s->pdstWAHP, "Design Day used for Sizing");
382 :
383 771 : s->pdstDXHeatCoil = newPreDefSubTable(state, s->pdrEquip, "DX Heating Coils");
384 771 : s->pdchDXHeatCoilType = newPreDefColumn(state, s->pdstDXHeatCoil, "DX Heating Coil Type");
385 771 : s->pdchDXHeatCoilHighCap = newPreDefColumn(state, s->pdstDXHeatCoil, "High Temperature Heating (net) Rating Capacity [W]");
386 771 : s->pdchDXHeatCoilLowCap = newPreDefColumn(state, s->pdstDXHeatCoil, "Low Temperature Heating (net) Rating Capacity [W]");
387 771 : s->pdchDXHeatCoilHSPFIP = newPreDefColumn(state, s->pdstDXHeatCoil, "HSPF [Btu/W-h]");
388 771 : s->pdchDXHeatCoilRegionNum = newPreDefColumn(state, s->pdstDXHeatCoil, "Region Number");
389 :
390 : // for DX Heating Coil AHRI Standard 2023 Ratings | HSPF2
391 771 : s->pdstDXHeatCoil_2023 = newPreDefSubTable(state, s->pdrEquip, "DX Heating Coils [ HSPF2 ]");
392 771 : s->pdchDXHeatCoilType_2023 = newPreDefColumn(state, s->pdstDXHeatCoil_2023, "DX Heating Coil Type");
393 771 : s->pdchDXHeatCoilHighCap_2023 = newPreDefColumn(state, s->pdstDXHeatCoil_2023, "High Temperature Heating (net) Rating Capacity [W]");
394 771 : s->pdchDXHeatCoilLowCap_2023 = newPreDefColumn(state, s->pdstDXHeatCoil_2023, "Low Temperature Heating (net) Rating Capacity [W]");
395 771 : s->pdchDXHeatCoilHSPF2IP_2023 = newPreDefColumn(state, s->pdstDXHeatCoil_2023, "HSPF2 [Btu/W-h]");
396 771 : s->pdchDXHeatCoilRegionNum_2023 = newPreDefColumn(state, s->pdstDXHeatCoil_2023, "Region Number");
397 :
398 771 : s->pdstHeatCoil = newPreDefSubTable(state, s->pdrEquip, "Heating Coils");
399 :
400 771 : s->pdchHeatCoilType = newPreDefColumn(state, s->pdstHeatCoil, "Type");
401 771 : s->pdchHeatCoilDesCap = newPreDefColumn(state, s->pdstHeatCoil, "Design Coil Load [W]");
402 771 : s->pdchHeatCoilNomCap = newPreDefColumn(state, s->pdstHeatCoil, "Nominal Total Capacity [W]");
403 771 : s->pdchHeatCoilNomEff = newPreDefColumn(state, s->pdstHeatCoil, "Nominal Efficiency [W/W]");
404 :
405 771 : s->pdstFan = newPreDefSubTable(state, s->pdrEquip, "Fans");
406 :
407 771 : s->pdchFanType = newPreDefColumn(state, s->pdstFan, "Type");
408 771 : s->pdchFanTotEff = newPreDefColumn(state, s->pdstFan, "Total Efficiency [W/W]");
409 771 : s->pdchFanDeltaP = newPreDefColumn(state, s->pdstFan, "Delta Pressure [pa]");
410 771 : s->pdchFanVolFlow = newPreDefColumn(state, s->pdstFan, "Max Air Flow Rate [m3/s]");
411 771 : s->pdchFanPwr = newPreDefColumn(state, s->pdstFan, "Rated Electricity Rate [W]");
412 771 : s->pdchFanPwrPerFlow = newPreDefColumn(state, s->pdstFan, "Rated Power Per Max Air Flow Rate [W-s/m3]");
413 771 : s->pdchFanMotorIn = newPreDefColumn(state, s->pdstFan, "Motor Heat In Air Fraction");
414 771 : s->pdchFanEnergyIndex = newPreDefColumn(state, s->pdstFan, "Fan Energy Index");
415 771 : s->pdchFanEndUse = newPreDefColumn(state, s->pdstFan, "End Use Subcategory");
416 771 : s->pdchFanDesDay = newPreDefColumn(state, s->pdstFan, "Design Day Name for Fan Sizing Peak");
417 771 : s->pdchFanPkTime = newPreDefColumn(state, s->pdstFan, "Date/Time for Fan Sizing Peak");
418 :
419 771 : s->pdstPump = newPreDefSubTable(state, s->pdrEquip, "Pumps");
420 771 : s->pdchPumpType = newPreDefColumn(state, s->pdstPump, "Type");
421 771 : s->pdchPumpControl = newPreDefColumn(state, s->pdstPump, "Control");
422 771 : s->pdchPumpHead = newPreDefColumn(state, s->pdstPump, "Head [pa]");
423 771 : s->pdchPumpFlow = newPreDefColumn(state, s->pdstPump, "Water Flow [m3/s]");
424 771 : s->pdchPumpPower = newPreDefColumn(state, s->pdstPump, "Electricity Rate [W]");
425 771 : s->pdchPumpPwrPerFlow = newPreDefColumn(state, s->pdstPump, "Power Per Water Flow Rate [W-s/m3]");
426 771 : s->pdchMotEff = newPreDefColumn(state, s->pdstPump, "Motor Efficiency [W/W]");
427 771 : s->pdchPumpEndUse = newPreDefColumn(state, s->pdstPump, "End Use Subcategory");
428 :
429 771 : s->pdstSWH = newPreDefSubTable(state, s->pdrEquip, "Service Water Heating");
430 771 : s->pdchSWHType = newPreDefColumn(state, s->pdstSWH, "Type");
431 771 : s->pdchSWHVol = newPreDefColumn(state, s->pdstSWH, "Storage Volume [m3]");
432 771 : s->pdchSWHHeatIn = newPreDefColumn(state, s->pdstSWH, "Input [W]");
433 771 : s->pdchSWHThEff = newPreDefColumn(state, s->pdstSWH, "Thermal Efficiency [W/W]");
434 771 : s->pdchSWHRecEff = newPreDefColumn(state, s->pdstSWH, "Recovery Efficiency [W/W]");
435 771 : s->pdchSWHEnFac = newPreDefColumn(state, s->pdstSWH, "Energy Factor");
436 :
437 : // Sizing Report
438 :
439 771 : s->pdrSizing = newPreDefReport(state, "HVACSizingSummary", "Size", "HVAC Sizing Summary");
440 :
441 771 : s->pdstZoneClSize = newPreDefSubTable(state, s->pdrSizing, "Zone Sensible Cooling");
442 :
443 771 : s->pdchZnClCalcDesLd = newPreDefColumn(state, s->pdstZoneClSize, "Calculated Design Load [W]");
444 771 : s->pdchZnClUserDesLd = newPreDefColumn(state, s->pdstZoneClSize, "User Design Load [W]");
445 771 : s->pdchZnClUserDesLdPerArea = newPreDefColumn(state, s->pdstZoneClSize, "User Design Load per Area [W/m2]");
446 771 : s->pdchZnClCalcDesAirFlow = newPreDefColumn(state, s->pdstZoneClSize, "Calculated Design Air Flow [m3/s]");
447 771 : s->pdchZnClUserDesAirFlow = newPreDefColumn(state, s->pdstZoneClSize, "User Design Air Flow [m3/s]");
448 771 : s->pdchZnClDesDay = newPreDefColumn(state, s->pdstZoneClSize, "Design Day Name");
449 771 : s->pdchZnClPkTime = newPreDefColumn(state, s->pdstZoneClSize, "Date/Time Of Peak {TIMESTAMP}");
450 771 : s->pdchZnClPkTstatTemp = newPreDefColumn(state, s->pdstZoneClSize, "Thermostat Setpoint Temperature at Peak Load [C]");
451 771 : s->pdchZnClPkIndTemp = newPreDefColumn(state, s->pdstZoneClSize, "Indoor Temperature at Peak Load [C]");
452 771 : s->pdchZnClPkIndHum = newPreDefColumn(state, s->pdstZoneClSize, "Indoor Humidity Ratio at Peak Load [kgWater/kgDryAir]");
453 771 : s->pdchZnClPkOATemp = newPreDefColumn(state, s->pdstZoneClSize, "Outdoor Temperature at Peak Load [C]");
454 771 : s->pdchZnClPkOAHum = newPreDefColumn(state, s->pdstZoneClSize, "Outdoor Humidity Ratio at Peak Load [kgWater/kgDryAir]");
455 771 : s->pdchZnClPkOAMinFlow = newPreDefColumn(state, s->pdstZoneClSize, "Minimum Outdoor Air Flow Rate [m3/s]");
456 771 : s->pdchZnClPkDOASHeatGain = newPreDefColumn(state, s->pdstZoneClSize, "Heat Gain Rate from DOAS [W]");
457 771 : addFootNoteSubTable(
458 771 : state, s->pdstZoneClSize, "The Design Load is the zone sensible load only. It does not include any system effects or ventilation loads.");
459 771 : s->pdstZoneHtSize = newPreDefSubTable(state, s->pdrSizing, "Zone Sensible Heating");
460 :
461 771 : s->pdchZnHtCalcDesLd = newPreDefColumn(state, s->pdstZoneHtSize, "Calculated Design Load [W]");
462 771 : s->pdchZnHtUserDesLd = newPreDefColumn(state, s->pdstZoneHtSize, "User Design Load [W]");
463 771 : s->pdchZnHtUserDesLdPerArea = newPreDefColumn(state, s->pdstZoneHtSize, "User Design Load per Area [W/m2]");
464 771 : s->pdchZnHtCalcDesAirFlow = newPreDefColumn(state, s->pdstZoneHtSize, "Calculated Design Air Flow [m3/s]");
465 771 : s->pdchZnHtUserDesAirFlow = newPreDefColumn(state, s->pdstZoneHtSize, "User Design Air Flow [m3/s]");
466 771 : s->pdchZnHtDesDay = newPreDefColumn(state, s->pdstZoneHtSize, "Design Day Name");
467 771 : s->pdchZnHtPkTime = newPreDefColumn(state, s->pdstZoneHtSize, "Date/Time Of Peak {TIMESTAMP}");
468 771 : s->pdchZnHtPkTstatTemp = newPreDefColumn(state, s->pdstZoneHtSize, "Thermostat Setpoint Temperature at Peak Load [C]");
469 771 : s->pdchZnHtPkIndTemp = newPreDefColumn(state, s->pdstZoneHtSize, "Indoor Temperature at Peak Load [C]");
470 771 : s->pdchZnHtPkIndHum = newPreDefColumn(state, s->pdstZoneHtSize, "Indoor Humidity Ratio at Peak Load [kgWater/kgDryAir]");
471 771 : s->pdchZnHtPkOATemp = newPreDefColumn(state, s->pdstZoneHtSize, "Outdoor Temperature at Peak Load [C]");
472 771 : s->pdchZnHtPkOAHum = newPreDefColumn(state, s->pdstZoneHtSize, "Outdoor Humidity Ratio at Peak Load [kgWater/kgDryAir]");
473 771 : s->pdchZnHtPkOAMinFlow = newPreDefColumn(state, s->pdstZoneHtSize, "Minimum Outdoor Air Flow Rate [m3/s]");
474 771 : s->pdchZnHtPkDOASHeatGain = newPreDefColumn(state, s->pdstZoneHtSize, "Heat Gain Rate from DOAS [W]");
475 771 : addFootNoteSubTable(
476 771 : state, s->pdstZoneHtSize, "The Design Load is the zone sensible load only. It does not include any system effects or ventilation loads.");
477 771 : s->pdstSystemSize = newPreDefSubTable(state, s->pdrSizing, "System Design Air Flow Rates");
478 :
479 771 : s->pdchSysSizCalcClAir = newPreDefColumn(state, s->pdstSystemSize, "Calculated cooling [m3/s]");
480 771 : s->pdchSysSizUserClAir = newPreDefColumn(state, s->pdstSystemSize, "User cooling [m3/s]");
481 771 : s->pdchSysSizCalcHtAir = newPreDefColumn(state, s->pdstSystemSize, "Calculated heating [m3/s]");
482 771 : s->pdchSysSizUserHtAir = newPreDefColumn(state, s->pdstSystemSize, "User heating [m3/s]");
483 771 : s->pdchSysSizAdjustedClAir = newPreDefColumn(state, s->pdstSystemSize, "Adjusted cooling [m3/s]");
484 771 : s->pdchSysSizAdjustedHtAir = newPreDefColumn(state, s->pdstSystemSize, "Adjusted heating [m3/s]");
485 771 : s->pdchSysSizAdjustedMainAir = newPreDefColumn(state, s->pdstSystemSize, "Adjusted main [m3/s]");
486 771 : s->pdchSysSizCalcHeatFlowRatio = newPreDefColumn(state, s->pdstSystemSize, "Calculated Heating Air Flow Ratio []");
487 771 : s->pdchSysSizUserHeatFlowRatio = newPreDefColumn(state, s->pdstSystemSize, "User Heating Air Flow Ratio []");
488 :
489 771 : s->pdstPlantSize = newPreDefSubTable(state, s->pdrSizing, "Plant Loop Coincident Design Fluid Flow Rate Adjustments");
490 : // s->pdchPlantSizPass = newPreDefColumn(state, s->pdstPlantSize, "Sizing Pass" );
491 771 : s->pdchPlantSizPrevVdot = newPreDefColumn(state, s->pdstPlantSize, "Previous Design Volume Flow Rate [m3/s]");
492 771 : s->pdchPlantSizMeasVdot = newPreDefColumn(state, s->pdstPlantSize, "Algorithm Volume Flow Rate [m3/s]");
493 771 : s->pdchPlantSizCalcVdot = newPreDefColumn(state, s->pdstPlantSize, "Coincident Design Volume Flow Rate [m3/s]");
494 771 : s->pdchPlantSizCoincYesNo = newPreDefColumn(state, s->pdstPlantSize, "Coincident Size Adjusted");
495 771 : s->pdchPlantSizDesDay = newPreDefColumn(state, s->pdstPlantSize, "Peak Sizing Period Name");
496 771 : s->pdchPlantSizPkTimeDayOfSim = newPreDefColumn(state, s->pdstPlantSize, "Peak Day into Period {TIMESTAMP}[day]");
497 771 : s->pdchPlantSizPkTimeHour = newPreDefColumn(state, s->pdstPlantSize, "Peak Hour Of Day {TIMESTAMP}[hr]");
498 771 : s->pdchPlantSizPkTimeMin = newPreDefColumn(state, s->pdstPlantSize, "Peak Step Start Minute {TIMESTAMP}[min]");
499 :
500 771 : s->pdst2CoilSummaryCoilSelection = newPreDefSubTable(state, s->pdrSizing, "Coil Sizing Summary");
501 : // coil meta data information
502 : // the first column will be the coil name, the unique user name from input. It has no header or column definition
503 771 : s->pdch2CoilType = newPreDefColumn(state, s->pdst2CoilSummaryCoilSelection, "Coil Type");
504 771 : s->pdch2CoilHVACType = newPreDefColumn(state, s->pdst2CoilSummaryCoilSelection, "HVAC Type");
505 771 : s->pdch2CoilHVACName = newPreDefColumn(state, s->pdst2CoilSummaryCoilSelection, "HVAC Name");
506 :
507 : // coil Final size summary, regardless of how determined (
508 771 : s->pdch2CoilFinalTotalCap = newPreDefColumn(state, s->pdst2CoilSummaryCoilSelection, "Coil Final Gross Total Capacity [W]");
509 771 : s->pdch2CoilFinalSensCap = newPreDefColumn(state, s->pdst2CoilSummaryCoilSelection, "Coil Final Gross Sensible Capacity [W]");
510 771 : s->pdch2CoilFinalAirVolFlowRate =
511 1542 : newPreDefColumn(state, s->pdst2CoilSummaryCoilSelection, "Coil Final Reference Air Volume Flow Rate [m3/s]");
512 771 : s->pdch2CoilFinalPlantVolFlowRate =
513 1542 : newPreDefColumn(state, s->pdst2CoilSummaryCoilSelection, "Coil Final Reference Plant Fluid Volume Flow Rate [m3/s]");
514 771 : s->pdch2CoilUA = newPreDefColumn(state, s->pdst2CoilSummaryCoilSelection, "Coil U-value Times Area Value [W/K]");
515 :
516 : // results from regular zone and system sizing calcs, "At Ideal Loads Peak"
517 771 : s->pdch2CoilDDnameSensIdealPeak = newPreDefColumn(state, s->pdst2CoilSummaryCoilSelection, "Design Day Name at Sensible Ideal Loads Peak");
518 771 : s->pdch2CoilDateTimeSensIdealPeak = newPreDefColumn(state, s->pdst2CoilSummaryCoilSelection, "Date/Time at Sensible Ideal Loads Peak");
519 771 : s->pdch2CoilDDnameAirFlowIdealPeak = newPreDefColumn(state, s->pdst2CoilSummaryCoilSelection, "Design Day Name at Air Flow Ideal Loads Peak");
520 771 : s->pdch2CoilDateTimeAirFlowIdealPeak = newPreDefColumn(state, s->pdst2CoilSummaryCoilSelection, "Date/Time at Air Flow Ideal Loads Peak");
521 :
522 771 : s->pdch2CoilTotalCapIdealPeak = newPreDefColumn(state, s->pdst2CoilSummaryCoilSelection, "Coil Total Capacity at Ideal Loads Peak [W]");
523 771 : s->pdch2CoilSensCapIdealPeak = newPreDefColumn(state, s->pdst2CoilSummaryCoilSelection, "Coil Sensible Capacity at Ideal Loads Peak [W]");
524 771 : s->pdch2CoilAirVolumeFlowIdealPeak =
525 1542 : newPreDefColumn(state, s->pdst2CoilSummaryCoilSelection, "Coil Air Volume Flow Rate at Ideal Loads Peak [m3/s]");
526 771 : s->pdch2CoilEntDryBulbIdealPeak =
527 1542 : newPreDefColumn(state, s->pdst2CoilSummaryCoilSelection, "Coil Entering Air Drybulb at Ideal Loads Peak [C]");
528 771 : s->pdch2CoilEntWetBulbIdealPeak =
529 1542 : newPreDefColumn(state, s->pdst2CoilSummaryCoilSelection, "Coil Entering Air Wetbulb at Ideal Loads Peak [C]");
530 771 : s->pdch2CoilEntHumRatIdealPeak =
531 1542 : newPreDefColumn(state, s->pdst2CoilSummaryCoilSelection, "Coil Entering Air Humidity Ratio at Ideal Loads Peak [kgWater/kgDryAir]");
532 771 : s->pdch2CoilLvgDryBulbIdealPeak =
533 1542 : newPreDefColumn(state, s->pdst2CoilSummaryCoilSelection, "Coil Leaving Air Drybulb at Ideal Loads Peak [C]");
534 771 : s->pdch2CoilLvgWetBulbIdealPeak =
535 1542 : newPreDefColumn(state, s->pdst2CoilSummaryCoilSelection, "Coil Leaving Air Wetbulb at Ideal Loads Peak [C]");
536 771 : s->pdch2CoilLvgHumRatIdealPeak =
537 1542 : newPreDefColumn(state, s->pdst2CoilSummaryCoilSelection, "Coil Leaving Air Humidity Ratio at Ideal Loads Peak [kgWater/kgDryAir]");
538 771 : s->pdch2OADryBulbIdealPeak = newPreDefColumn(state, s->pdst2CoilSummaryCoilSelection, "Outdoor Air Drybulb at Ideal Loads Peak [C]");
539 771 : s->pdch2OAHumRatIdealPeak =
540 1542 : newPreDefColumn(state, s->pdst2CoilSummaryCoilSelection, "Outdoor Air Humidity Ratio at Ideal Loads Peak [kgWater/kgDryAir]");
541 771 : s->pdch2OAWetBulbatIdealPeak = newPreDefColumn(state, s->pdst2CoilSummaryCoilSelection, "Outdoor Air Wetbulb at Ideal Loads Peak [C]");
542 771 : s->pdch2OAFlowPrcntIdealPeak =
543 1542 : newPreDefColumn(state, s->pdst2CoilSummaryCoilSelection, "Outdoor Air Flow Percentage at Ideal Loads Peak [%]");
544 771 : s->pdch2ZoneAirDryBulbIdealPeak = newPreDefColumn(state, s->pdst2CoilSummaryCoilSelection, "Zone Air Drybulb at Ideal Loads Peak [C]");
545 771 : s->pdch2ZoneAirHumRatIdealPeak =
546 1542 : newPreDefColumn(state, s->pdst2CoilSummaryCoilSelection, "Zone Air Humidity Ratio at Ideal Loads Peak [kgWater/kgDryAir]");
547 771 : s->pdch2ZoneAirRelHumIdealPeak =
548 1542 : newPreDefColumn(state, s->pdst2CoilSummaryCoilSelection, "Zone Air Relative Humidity at Ideal Loads Peak [%]");
549 771 : s->pdch2ZoneSensibleLoadIdealPeak =
550 1542 : newPreDefColumn(state, s->pdst2CoilSummaryCoilSelection, "Zone Sensible Heat Gain at Ideal Loads Peak [W]");
551 771 : s->pdch2ZoneLatentLoadIdealPeak = newPreDefColumn(state, s->pdst2CoilSummaryCoilSelection, "Zone Latent Heat Gain at Ideal Loads Peak [W]");
552 : // results for coil at Rated Conditions
553 771 : s->pdch2CoilRatedTotalCap = newPreDefColumn(state, s->pdst2CoilSummaryCoilSelection, "Coil Total Capacity at Rating Conditions [W]");
554 771 : s->pdch2CoilRatedSensCap = newPreDefColumn(state, s->pdst2CoilSummaryCoilSelection, "Coil Sensible Capacity at Rating Conditions [W]");
555 :
556 771 : s->pdrCoilSizingDetailsTable = newPreDefReport(state, "CoilSizingDetails", "Coil", "Coil Sizing Details");
557 771 : s->pdstCoilSummaryCoilSelection = newPreDefSubTable(state, s->pdrCoilSizingDetailsTable, "Coils");
558 : // coil meta data information
559 : // the first column will be the coil name, the unique user name from input. It has no header or column definition
560 771 : s->pdchCoilType = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Coil Type");
561 771 : s->pdchCoilLocation = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Coil Location");
562 771 : s->pdchCoilHVACType = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "HVAC Type");
563 771 : s->pdchCoilHVACName = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "HVAC Name");
564 771 : s->pdchCoilZoneName = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Zone Name(s)");
565 :
566 771 : s->pdchSysSizingMethCoinc = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "System Sizing Method Concurrence");
567 771 : s->pdchSysSizingMethCap = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "System Sizing Method Capacity");
568 771 : s->pdchSysSizingMethAir = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "System Sizing Method Air Flow");
569 :
570 771 : s->pdchCoilIsCapAutosized = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Autosized Coil Capacity?");
571 771 : s->pdchCoilIsAirFlowAutosized = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Autosized Coil Airflow?");
572 771 : s->pdchCoilIsWaterFlowAutosized = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Autosized Coil Water Flow?");
573 771 : s->pdchCoilIsOATreated = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "OA Pretreated prior to coil inlet?");
574 :
575 : // coil Final size summary, regardless of how determined (
576 : // get rid of these, this will be the same as At Rating Conditions.
577 771 : s->pdchCoilFinalTotalCap = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Coil Final Gross Total Capacity [W]");
578 771 : s->pdchCoilFinalSensCap = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Coil Final Gross Sensible Capacity [W]");
579 771 : s->pdchCoilFinalAirVolFlowRate = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Coil Final Reference Air Volume Flow Rate [m3/s]");
580 771 : s->pdchCoilFinalPlantVolFlowRate =
581 1542 : newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Coil Final Reference Plant Fluid Volume Flow Rate [m3/s]");
582 :
583 : // Misc Design output
584 771 : s->pdchCoilUA = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Coil U-value Times Area Value [W/K]");
585 771 : s->pdchReheatCoilMultiplier = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Terminal Unit Reheat Coil Multiplier");
586 771 : s->pdchFlowCapRatioLowCapIncreaseRatio =
587 1542 : newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "DX Coil Capacity Increase Ratio from Too Low Flow/Capacity Ratio");
588 771 : s->pdchFlowCapRatioHiCapDecreaseRatio =
589 1542 : newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "DX Coil Capacity Decrease Ratio from Too High Flow/Capacity Ratio");
590 :
591 771 : s->pdchMoistAirSpecificHeat =
592 1542 : newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Moist Air Heat Capacity [J/kg-K]"); // standard? for ideal sizing calcs?
593 771 : s->pdchDryAirSpecificHeat =
594 1542 : newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Dry Air Heat Capacity [J/kg-K]"); // standard? for ideal sizing calcs?
595 771 : s->pdchStandRhoAir = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Standard Air Density Adjusted for Elevation [kg/m3]");
596 :
597 : // Fan info for coil
598 771 : s->pdchFanAssociatedWithCoilName = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Supply Fan Name for Coil");
599 771 : s->pdchFanAssociatedWithCoilType = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Supply Fan Type for Coil");
600 771 : s->pdchFanAssociatedVdotSize = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Supply Fan Maximum Air Volume Flow Rate [m3/s]");
601 771 : s->pdchFanAssociatedMdotSize = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Supply Fan Maximum Air Mass Flow Rate [kg/s]");
602 :
603 : // Plant info for coil
604 771 : s->pdchCoilPlantLoopName = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Plant Name for Coil");
605 771 : s->pdchPlantFluidSpecificHeat =
606 1542 : newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Plant Fluid Specific Heat Capacity [J/kg-K]"); // standard/inits ?
607 771 : s->pdchPlantFluidDensity =
608 1542 : newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Plant Fluid Density [kg/m3]"); // standard/inits ? for ideal sizing calcs?
609 771 : s->pdchPlantMassFlowMaximum = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Plant Maximum Fluid Mass Flow Rate [kg/s]");
610 771 : s->pdchPlantRetTempDesign = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Plant Design Fluid Return Temperature [C]");
611 771 : s->pdchPlantSupTempDesign = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Plant Design Fluid Supply Temperature [C]");
612 771 : s->pdchPlantDeltaTempDesign = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Plant Design Fluid Temperature Difference [deltaC]");
613 771 : s->pdchPlantCapacity = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Plant Design Capacity [W]");
614 771 : s->pdchCoilCapPrcntPlantCapacity =
615 1542 : newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Coil Capacity Percentage of Plant Design Capacity [%]");
616 771 : s->pdchCoilFlowPrcntPlantFlow =
617 1542 : newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Coil Fluid Flow Rate Percentage of Plant Design Flow Rate [%]");
618 :
619 : // results from regular zone and system sizing calcs, "At Ideal Loads Peak"
620 771 : s->pdchCoilDDnameSensIdealPeak = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Design Day Name at Sensible Ideal Loads Peak");
621 771 : s->pdchCoilDateTimeSensIdealPeak = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Date/Time at Sensible Ideal Loads Peak");
622 771 : s->pdchCoilDDnameTotIdealPeak = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Design Day Name at Total Ideal Loads Peak");
623 771 : s->pdchCoilDateTimeTotIdealPeak = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Date/Time at Total Ideal Loads Peak");
624 771 : s->pdchCoilDDnameAirFlowIdealPeak = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Design Day Name at Air Flow Ideal Loads Peak");
625 771 : s->pdchCoilDateTimeAirFlowIdealPeak = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Date/Time at Air Flow Ideal Loads Peak");
626 771 : s->pdchCoilPeakLoadTypeToSizeOn = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Peak Load Type to Size On");
627 :
628 771 : s->pdchCoilTotalCapIdealPeak = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Coil Total Capacity at Ideal Loads Peak [W]");
629 771 : s->pdchCoilSensCapIdealPeak = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Coil Sensible Capacity at Ideal Loads Peak [W]");
630 771 : s->pdchCoilOffRatingCapacityModifierIdealPeak =
631 1542 : newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Coil Off-Rating Capacity Modifier at Ideal Loads Peak [ ]");
632 771 : s->pdchCoilAirMassFlowIdealPeak =
633 1542 : newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Coil Air Mass Flow Rate at Ideal Loads Peak [kg/s]");
634 771 : s->pdchCoilAirVolumeFlowIdealPeak =
635 1542 : newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Coil Air Volume Flow Rate at Ideal Loads Peak [m3/s]");
636 771 : s->pdchCoilEntDryBulbIdealPeak = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Coil Entering Air Drybulb at Ideal Loads Peak [C]");
637 771 : s->pdchCoilEntWetBulbIdealPeak = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Coil Entering Air Wetbulb at Ideal Loads Peak [C]");
638 771 : s->pdchCoilEntHumRatIdealPeak =
639 1542 : newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Coil Entering Air Humidity Ratio at Ideal Loads Peak [kgWater/kgDryAir]");
640 771 : s->pdchCoilEntEnthalpyIdealPeak =
641 1542 : newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Coil Entering Air Enthalpy at Ideal Loads Peak [J/KG-K]");
642 771 : s->pdchCoilLvgDryBulbIdealPeak = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Coil Leaving Air Drybulb at Ideal Loads Peak [C]");
643 771 : s->pdchCoilLvgWetBulbIdealPeak = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Coil Leaving Air Wetbulb at Ideal Loads Peak [C]");
644 771 : s->pdchCoilLvgHumRatIdealPeak =
645 1542 : newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Coil Leaving Air Humidity Ratio at Ideal Loads Peak [kgWater/kgDryAir]");
646 771 : s->pdchCoilLvgEnthalpyIdealPeak =
647 1542 : newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Coil Leaving Air Enthalpy at Ideal Loads Peak [J/KG-K]");
648 771 : s->pdchCoilWaterMassFlowIdealPeak =
649 1542 : newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Coil Plant Fluid Mass Flow Rate at Ideal Loads Peak [kg/s]");
650 771 : s->pdchCoilEntWaterTempIdealPeak =
651 1542 : newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Coil Entering Plant Fluid Temperature at Ideal Loads Peak [C]");
652 771 : s->pdchCoilLvgWaterTempIdealPeak =
653 1542 : newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Coil Leaving Plant Fluid Temperature at Ideal Loads Peak [C]");
654 771 : s->pdchCoilWaterDeltaTempIdealPeak =
655 1542 : newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Coil Plant Fluid Temperature Difference at Ideal Loads Peak [deltaC]");
656 771 : s->pdchFanHeatGainIdealPeak = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Supply Fan Air Heat Gain at Ideal Loads Peak [W]");
657 771 : s->pdchCoilNetTotalCapacityIdealPeak =
658 1542 : newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Coil and Fan Net Total Capacity at Ideal Loads Peak [W]");
659 771 : s->pdchOADryBulbIdealPeak = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Outdoor Air Drybulb at Ideal Loads Peak [C]");
660 771 : s->pdchOAHumRatIdealPeak =
661 1542 : newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Outdoor Air Humidity Ratio at Ideal Loads Peak [kgWater/kgDryAir]");
662 771 : s->pdchOAWetBulbatIdealPeak = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Outdoor Air Wetbulb at Ideal Loads Peak [C]");
663 771 : s->pdchOAVolFlowIdealPeak =
664 1542 : newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Outdoor Air Volume Flow Rate at Ideal Loads Peak [m3/s]");
665 771 : s->pdchOAFlowPrcntIdealPeak = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Outdoor Air Flow Percentage at Ideal Loads Peak [%]");
666 771 : s->pdchAirSysRADryBulbIdealPeak =
667 1542 : newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "System Return Air Drybulb at Ideal Loads Peak [C]");
668 771 : s->pdchAirSysRAHumRatIdealPeak =
669 1542 : newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "System Return Air Humidity Ratio at Ideal Loads Peak [kgWater/kgDryAir]");
670 771 : s->pdchZoneAirDryBulbIdealPeak = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Zone Air Drybulb at Ideal Loads Peak [C]");
671 771 : s->pdchZoneAirHumRatIdealPeak =
672 1542 : newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Zone Air Humidity Ratio at Ideal Loads Peak [kgWater/kgDryAir]");
673 771 : s->pdchZoneAirRelHumIdealPeak = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Zone Air Relative Humidity at Ideal Loads Peak [%]");
674 771 : s->pdchZoneSensibleLoadIdealPeak = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Zone Sensible Heat Gain at Ideal Loads Peak [W]");
675 771 : s->pdchZoneLatentLoadIdealPeak = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Zone Latent Heat Gain at Ideal Loads Peak [W]");
676 : // results for coil at Rated Conditions
677 771 : s->pdchCoilRatedTotalCap = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Coil Total Capacity at Rating Conditions [W]");
678 771 : s->pdchCoilRatedSensCap = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Coil Sensible Capacity at Rating Conditions [W]");
679 :
680 771 : s->pdchCoilRatedAirMass = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Coil Air Mass Flow Rate at Rating Conditions [kg/s]");
681 771 : s->pdchCoilRatedEntDryBulb = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Coil Entering Air Drybulb at Rating Conditions [C]");
682 771 : s->pdchCoilRatedEntWetBulb = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Coil Entering Air Wetbulb at Rating Conditions [C]");
683 771 : s->pdchCoilRatedEntHumRat =
684 1542 : newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Coil Entering Air Humidity Ratio at Rating Conditions [kgWater/kgDryAir]");
685 771 : s->pdchCoilRatedEntEnthalpy =
686 1542 : newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Coil Entering Air Enthalpy at Rating Conditions [J/KG-K]");
687 771 : s->pdchCoilRatedLvgDryBulb = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Coil Leaving Air Drybulb at Rating Conditions [C]");
688 771 : s->pdchCoilRatedLvgWetBulb = newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Coil Leaving Air Wetbulb at Rating Conditions [C]");
689 771 : s->pdchCoilRatedLvgHumRat =
690 1542 : newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Coil Leaving Air Humidity Ratio at Rating Conditions [kgWater/kgDryAir]");
691 771 : s->pdchCoilRatedLvgEnthalpy =
692 1542 : newPreDefColumn(state, s->pdstCoilSummaryCoilSelection, "Coil Leaving Air Enthalpy at Rating Conditions [J/KG-K]");
693 :
694 : // System Summary Report
695 :
696 771 : s->pdrSystem = newPreDefReport(state, "SystemSummary", "Sys", "System Summary");
697 :
698 771 : s->pdstEconomizer = newPreDefSubTable(state, s->pdrSystem, "Economizer");
699 :
700 771 : s->pdchEcoKind = newPreDefColumn(state, s->pdstEconomizer, "High Limit Shutoff Control");
701 771 : s->pdchEcoMinOA = newPreDefColumn(state, s->pdstEconomizer, "Minimum Outdoor Air [m3/s]");
702 771 : s->pdchEcoMaxOA = newPreDefColumn(state, s->pdstEconomizer, "Maximum Outdoor Air [m3/s]");
703 771 : s->pdchEcoRetTemp = newPreDefColumn(state, s->pdstEconomizer, "Return Air Temp Limit");
704 771 : s->pdchEcoRetEnth = newPreDefColumn(state, s->pdstEconomizer, "Return Air Enthalpy Limit");
705 771 : s->pdchEcoOATempLim = newPreDefColumn(state, s->pdstEconomizer, "Outdoor Air Temperature Limit [C]");
706 771 : s->pdchEcoOAEnthLim = newPreDefColumn(state, s->pdstEconomizer, "Outdoor Air Enthalpy Limit [C]");
707 :
708 771 : s->pdstDemCntlVent = newPreDefSubTable(state, s->pdrSystem, "Demand Controlled Ventilation using Controller:MechanicalVentilation");
709 771 : s->pdchDCVventMechName = newPreDefColumn(state, s->pdstDemCntlVent, "Controller:MechanicalVentilation Name");
710 771 : s->pdchDCVperPerson = newPreDefColumn(state, s->pdstDemCntlVent, "Outdoor Air Per Person [m3/s-person]");
711 771 : s->pdchDCVperArea = newPreDefColumn(state, s->pdstDemCntlVent, "Outdoor Air Per Area [m3/s-m2]");
712 771 : s->pdchDCVperZone = newPreDefColumn(state, s->pdstDemCntlVent, "Outdoor Air Per Zone [m3/s]");
713 771 : s->pdchDCVperACH = newPreDefColumn(state, s->pdstDemCntlVent, "Outdoor Air ACH [ach]");
714 771 : s->pdchDCVMethod = newPreDefColumn(state, s->pdstDemCntlVent, "Outdoor Air Method");
715 771 : s->pdchDCVOASchName = newPreDefColumn(state, s->pdstDemCntlVent, "Outdoor Air Schedule Name");
716 :
717 : // added for new DCV
718 771 : s->pdchDCVZoneADEffCooling = newPreDefColumn(state, s->pdstDemCntlVent, "Air Distribution Effectiveness in Cooling Mode");
719 771 : s->pdchDCVZoneADEffHeating = newPreDefColumn(state, s->pdstDemCntlVent, "Air Distribution Effectiveness in Heating Mode");
720 771 : s->pdchDCVZoneADEffSchName = newPreDefColumn(state, s->pdstDemCntlVent, "Air Distribution Effectiveness Schedule Name");
721 :
722 771 : s->pdstSimpleComfort = newPreDefSubTable(state, s->pdrSystem, "Time Not Comfortable Based on Simple ASHRAE 55-2004");
723 771 : s->pdchSCwinterClothes = newPreDefColumn(state, s->pdstSimpleComfort, "Winter Clothes [hr]");
724 771 : s->pdchSCsummerClothes = newPreDefColumn(state, s->pdstSimpleComfort, "Summer Clothes [hr]");
725 771 : s->pdchSCeitherClothes = newPreDefColumn(state, s->pdstSimpleComfort, "Summer or Winter Clothes [hr]");
726 :
727 771 : s->pdstUnmetLoads = newPreDefSubTable(state, s->pdrSystem, "Time Setpoint Not Met");
728 771 : s->pdchULnotMetHeat = newPreDefColumn(state, s->pdstUnmetLoads, "During Heating [hr]");
729 771 : s->pdchULnotMetCool = newPreDefColumn(state, s->pdstUnmetLoads, "During Cooling [hr]");
730 771 : s->pdchULnotMetHeatOcc = newPreDefColumn(state, s->pdstUnmetLoads, "During Occupied Heating [hr]");
731 771 : s->pdchULnotMetCoolOcc = newPreDefColumn(state, s->pdstUnmetLoads, "During Occupied Cooling [hr]");
732 :
733 : // Outdoor Air Report
734 771 : s->pdrOutsideAir = newPreDefReport(state, "OutdoorAirSummary", "OA", "Outdoor Air Summary");
735 :
736 771 : s->pdstOAavgOcc = newPreDefSubTable(state, s->pdrOutsideAir, "Average Outdoor Air During Occupied Hours");
737 :
738 771 : s->pdchOaoAvgNumOcc1 = newPreDefColumn(state, s->pdstOAavgOcc, "Average Number of Occupants");
739 771 : s->pdchOaoNomNumOcc1 = newPreDefColumn(state, s->pdstOAavgOcc, "Nominal Number of Occupants");
740 771 : s->pdchOaoZoneVol1 = newPreDefColumn(state, s->pdstOAavgOcc, "Zone Volume [m3]");
741 771 : s->pdchOaoAvgMechVent = newPreDefColumn(state, s->pdstOAavgOcc, "Mechanical Ventilation [ach]");
742 771 : s->pdchOaoAvgInfil = newPreDefColumn(state, s->pdstOAavgOcc, "Infiltration [ach]");
743 771 : s->pdchOaoAvgAFNInfil = newPreDefColumn(state, s->pdstOAavgOcc, "AFN Infiltration [ach]");
744 771 : s->pdchOaoAvgSimpVent = newPreDefColumn(state, s->pdstOAavgOcc, "Simple Ventilation [ach]");
745 : // s->pdchOaoAvgTotVent = newPreDefColumn(state, s->pdstOAavgOcc,'Total Ventilation [ach]')
746 :
747 771 : addFootNoteSubTable(state, s->pdstOAavgOcc, "Values shown for a single zone without multipliers");
748 :
749 771 : s->pdstOAminOcc = newPreDefSubTable(state, s->pdrOutsideAir, "Minimum Outdoor Air During Occupied Hours");
750 :
751 771 : s->pdchOaoAvgNumOcc2 = newPreDefColumn(state, s->pdstOAminOcc, "Average Number of Occupants");
752 771 : s->pdchOaoNomNumOcc2 = newPreDefColumn(state, s->pdstOAminOcc, "Nominal Number of Occupants");
753 771 : s->pdchOaoZoneVol2 = newPreDefColumn(state, s->pdstOAminOcc, "Zone Volume [m3]");
754 771 : s->pdchOaoMinMechVent = newPreDefColumn(state, s->pdstOAminOcc, "Mechanical Ventilation [ach]");
755 771 : s->pdchOaoMinInfil = newPreDefColumn(state, s->pdstOAminOcc, "Infiltration [ach]");
756 771 : s->pdchOaoMinAFNInfil = newPreDefColumn(state, s->pdstOAminOcc, "AFN Infiltration [ach]");
757 771 : s->pdchOaoMinSimpVent = newPreDefColumn(state, s->pdstOAminOcc, "Simple Ventilation [ach]");
758 : // s->pdchOaoMinTotVent = newPreDefColumn(state, s->pdstOAminOcc,'Total Ventilation [ach]')
759 771 : addFootNoteSubTable(state, s->pdstOAminOcc, "Values shown for a single zone without multipliers");
760 :
761 : // Outdoor Air Details Report
762 771 : s->pdrOutsideAirDetails = newPreDefReport(state, "OutdoorAirDetails", "OAD", "Outdoor Air Details");
763 :
764 771 : s->pdstOAmechVentParByZone = newPreDefSubTable(state, s->pdrOutsideAirDetails, "Mechanical Ventilation Parameters by Zone");
765 771 : s->pdchOaMvAirLpNm = newPreDefColumn(state, s->pdstOAmechVentParByZone, "AirLoop Name");
766 771 : s->pdchOaMvAvgNumOcc = newPreDefColumn(state, s->pdstOAmechVentParByZone, "Average Number of Occupants");
767 771 : s->pdchOaMvNomNumOcc = newPreDefColumn(state, s->pdstOAmechVentParByZone, "Nominal Number of Occupants");
768 771 : s->pdchOaMvZoneVol = newPreDefColumn(state, s->pdstOAmechVentParByZone, "Zone Volume [m3]");
769 771 : s->pdchOaMvZoneArea = newPreDefColumn(state, s->pdstOAmechVentParByZone, "Zone Area [m2]");
770 771 : s->pdchOaMvDesZnOa = newPreDefColumn(state, s->pdstOAmechVentParByZone, "Design Zone Outdoor Airflow - Voz [m3/s]");
771 771 : s->pdchOaMvMinDynTrgVent = newPreDefColumn(state, s->pdstOAmechVentParByZone, "Minimum Dynamic Target Ventilation - Voz-dyn-min [m3/s]");
772 :
773 771 : s->pdstOAtotAirByZone = newPreDefSubTable(state, s->pdrOutsideAirDetails, "Total Outdoor Air by Zone");
774 771 : s->pdchOaTaBzMechVent = newPreDefColumn(state, s->pdstOAtotAirByZone, "Mechanical Ventilation [m3]");
775 771 : s->pdchOaTaBzNatVent = newPreDefColumn(state, s->pdstOAtotAirByZone, "Natural Ventilation [m3]");
776 771 : s->pdchOaTaBzTotVent = newPreDefColumn(state, s->pdstOAtotAirByZone, "Total Ventilation [m3]");
777 771 : s->pdchOaTaBzInfil = newPreDefColumn(state, s->pdstOAtotAirByZone, "Infiltration [m3]");
778 771 : s->pdchOaTaBzTotVentInfil = newPreDefColumn(state, s->pdstOAtotAirByZone, "Total Ventilation and Infiltration [m3]");
779 771 : s->pdchOaTaBzDynTrgVent = newPreDefColumn(state, s->pdstOAtotAirByZone, "Dynamic Target Ventilation - Voz-dyn [m3]");
780 771 : s->pdchOaTaBzTmBelow = newPreDefColumn(state, s->pdstOAtotAirByZone, "Time Below Voz-dyn [hr]");
781 771 : s->pdchOaTaBzTmAt = newPreDefColumn(state, s->pdstOAtotAirByZone, "Time At Voz-dyn [hr]");
782 771 : s->pdchOaTaBzTmAbove = newPreDefColumn(state, s->pdstOAtotAirByZone, "Time Above Voz-dyn [hr]");
783 771 : s->pdchOaTaBzTmAboveUnocc = newPreDefColumn(state, s->pdstOAtotAirByZone, "Time Above Zero When Unoccupied [hr]");
784 :
785 771 : s->pdstOAavgOccByZone = newPreDefSubTable(state, s->pdrOutsideAirDetails, "Average Outdoor Air During Occupancy by Zone - Flow Rates");
786 771 : s->pdchOaOccBzMechVent = newPreDefColumn(state, s->pdstOAavgOccByZone, "Mechanical Ventilation [m3/s]");
787 771 : s->pdchOaOccBzNatVent = newPreDefColumn(state, s->pdstOAavgOccByZone, "Natural Ventilation [m3/s]");
788 771 : s->pdchOaOccBzTotVent = newPreDefColumn(state, s->pdstOAavgOccByZone, "Total Ventilation [m3/s]");
789 771 : s->pdchOaOccBzInfil = newPreDefColumn(state, s->pdstOAavgOccByZone, "Infiltration [m3/s]");
790 771 : s->pdchOaOccBzTotVentInfil = newPreDefColumn(state, s->pdstOAavgOccByZone, "Total Ventilation and Infiltration [m3/s]");
791 771 : s->pdchOaOccBzDynTrgVent = newPreDefColumn(state, s->pdstOAavgOccByZone, "Dynamic Target Ventilation - Voz-dyn [m3/s]");
792 771 : s->pdchOaOccBzTmBelow = newPreDefColumn(state, s->pdstOAavgOccByZone, "Time Below Voz-dyn [hr]");
793 771 : s->pdchOaOccBzTmAt = newPreDefColumn(state, s->pdstOAavgOccByZone, "Time At Voz-dyn [hr]");
794 771 : s->pdchOaOccBzTmAbove = newPreDefColumn(state, s->pdstOAavgOccByZone, "Time Above Voz-dyn [hr]");
795 :
796 771 : s->pdstOAtotAirByLoop = newPreDefSubTable(state, s->pdrOutsideAirDetails, "Total Outdoor Air by AirLoop");
797 771 : s->pdchOaTaAlMechVent = newPreDefColumn(state, s->pdstOAtotAirByLoop, "Mechanical Ventilation [m3]");
798 771 : s->pdchOaTaAlNatVent = newPreDefColumn(state, s->pdstOAtotAirByLoop, "Natural Ventilation [m3]");
799 771 : s->pdchOaTaAlTotVent = newPreDefColumn(state, s->pdstOAtotAirByLoop, "Total Ventilation [m3]");
800 771 : s->pdchOaTaAlSumDynTrgVent = newPreDefColumn(state, s->pdstOAtotAirByLoop, "Sum Zone Dynamic Target Ventilation - Voz-sum-dyn [m3]");
801 771 : s->pdchOaTaAlTmBelow = newPreDefColumn(state, s->pdstOAtotAirByLoop, "Time Below Voz-sum-dyn [hr]");
802 771 : s->pdchOaTaAlTmAt = newPreDefColumn(state, s->pdstOAtotAirByLoop, "Time At Voz-sum-dyn [hr]");
803 771 : s->pdchOaTaAlTmAbove = newPreDefColumn(state, s->pdstOAtotAirByLoop, "Time Above Voz-sum-dyn [hr]");
804 771 : s->pdchOaTaAlTmAboveUnocc = newPreDefColumn(state, s->pdstOAtotAirByLoop, "Time Above Zero When Unoccupied [hr]");
805 :
806 771 : s->pdstOAavgOccByLoop = newPreDefSubTable(state, s->pdrOutsideAirDetails, "Average Outdoor Air During Occupancy by AirLoop");
807 771 : s->pdchOaOccAlMechVent = newPreDefColumn(state, s->pdstOAavgOccByLoop, "Mechanical Ventilation [m3/s]");
808 771 : s->pdchOaOccAlNatVent = newPreDefColumn(state, s->pdstOAavgOccByLoop, "Natural Ventilation [m3/s]");
809 771 : s->pdchOaOccAlTotVent = newPreDefColumn(state, s->pdstOAavgOccByLoop, "Total Ventilation [m3/s]");
810 771 : s->pdchOaOccAlSumDynTrgVent = newPreDefColumn(state, s->pdstOAavgOccByLoop, "Sum Zone Dynamic Target Ventilation - Voz-sum-dyn [m3/s]");
811 771 : s->pdchOaOccAlTmBelow = newPreDefColumn(state, s->pdstOAavgOccByLoop, "Time Below Voz-sum-dyn [hr]");
812 771 : s->pdchOaOccAlTmAt = newPreDefColumn(state, s->pdstOAavgOccByLoop, "Time At Voz-sum-dyn [hr]");
813 771 : s->pdchOaOccAlTmAbove = newPreDefColumn(state, s->pdstOAavgOccByLoop, "Time Above Voz-sum-dyn [hr]");
814 :
815 771 : s->pdstOAtimeFactorsDurOcc = newPreDefSubTable(state, s->pdrOutsideAirDetails, "Outdoor Air Controller Limiting Factors by AirLoop");
816 771 : s->pdchOaTmFctNoLimit = newPreDefColumn(state, s->pdstOAtimeFactorsDurOcc, "No Limiting Factor [hr]"); // todo
817 771 : s->pdchOaTmFctLimit = newPreDefColumn(state, s->pdstOAtimeFactorsDurOcc, "Limits and Scheduled Limits [hr]"); // todo
818 771 : s->pdchOaTmFctEcono = newPreDefColumn(state, s->pdstOAtimeFactorsDurOcc, "Economizer [hr]"); // todo
819 771 : s->pdchOaTmFctExhaust = newPreDefColumn(state, s->pdstOAtimeFactorsDurOcc, "Exhaust Flow [hr]"); // todo
820 771 : s->pdchOaTmFctMixedLimit = newPreDefColumn(state, s->pdstOAtimeFactorsDurOcc, "Mixed Air Flow [hr]"); // todo
821 771 : s->pdchOaTmFctHiHumid = newPreDefColumn(state, s->pdstOAtimeFactorsDurOcc, "High Humidity [hr]"); // todo
822 771 : s->pdchOaTmFctDCV = newPreDefColumn(state, s->pdstOAtimeFactorsDurOcc, "Demand Controlled Ventilation [hr]"); // todo
823 771 : s->pdchOaTmFctNiteVent = newPreDefColumn(state, s->pdstOAtimeFactorsDurOcc, "Night Ventilation [hr]"); // todo
824 771 : s->pdchOaTmFctDemand = newPreDefColumn(state, s->pdstOAtimeFactorsDurOcc, "Demand Limiting [hr]"); // todo
825 771 : s->pdchOaTmFctEMS = newPreDefColumn(state, s->pdstOAtimeFactorsDurOcc, "Energy Management System [hr]"); // todo
826 :
827 771 : s->pdstOAavgFactorsDurOcc = newPreDefSubTable(state, s->pdrOutsideAirDetails, "Average Outdoor Air for Limiting Factors During Occupancy");
828 771 : s->pdchOaAvFctNoLimit = newPreDefColumn(state, s->pdstOAavgFactorsDurOcc, "No Limiting Factor [m3/s]"); // todo
829 771 : s->pdchOaAvFctLimit = newPreDefColumn(state, s->pdstOAavgFactorsDurOcc, "Limits and Scheduled Limits [m3/s]"); // todo
830 771 : s->pdchOaAvFctEcono = newPreDefColumn(state, s->pdstOAavgFactorsDurOcc, "Economizer [m3/s]"); // todo
831 771 : s->pdchOaAvFctExhaust = newPreDefColumn(state, s->pdstOAavgFactorsDurOcc, "Exhaust Flow [m3/s]"); // todo
832 771 : s->pdchOaAvFctMixedLimit = newPreDefColumn(state, s->pdstOAavgFactorsDurOcc, "Mixed Air Flow [m3/s]"); // todo
833 771 : s->pdchOaAvFctHiHumid = newPreDefColumn(state, s->pdstOAavgFactorsDurOcc, "High Humidity [m3/s]"); // todo
834 771 : s->pdchOaAvFctDCV = newPreDefColumn(state, s->pdstOAavgFactorsDurOcc, "Demand Controlled Ventilation [m3/s]"); // todo
835 771 : s->pdchOaAvFctNiteVent = newPreDefColumn(state, s->pdstOAavgFactorsDurOcc, "Night Ventilation [m3/s]"); // todo
836 771 : s->pdchOaAvFctDemand = newPreDefColumn(state, s->pdstOAavgFactorsDurOcc, "Demand Limiting [m3/s]"); // todo
837 771 : s->pdchOaAvFctEMS = newPreDefColumn(state, s->pdstOAavgFactorsDurOcc, "Energy Management System [m3/s]"); // todo
838 :
839 : // Object Count Report
840 771 : s->pdrObjCnt = newPreDefReport(state, "ObjectCountSummary", "Count", "Object Count Summary");
841 :
842 771 : s->pdstSurfCnt = newPreDefSubTable(state, s->pdrObjCnt, "Surfaces by Class");
843 771 : s->pdchSurfCntTot = newPreDefColumn(state, s->pdstSurfCnt, "Total");
844 771 : s->pdchSurfCntExt = newPreDefColumn(state, s->pdstSurfCnt, "Outdoors");
845 :
846 771 : s->pdstHVACcnt = newPreDefSubTable(state, s->pdrObjCnt, "HVAC");
847 771 : s->pdchHVACcntVal = newPreDefColumn(state, s->pdstHVACcnt, "Count");
848 :
849 771 : s->pdstFieldCnt = newPreDefSubTable(state, s->pdrObjCnt, "Input Fields");
850 771 : s->pdchFieldCntVal = newPreDefColumn(state, s->pdstFieldCnt, "Count");
851 :
852 : // Energy Meters report
853 771 : s->pdrEnergyMeters = newPreDefReport(state, "EnergyMeters", "Meters", "Energy Meters");
854 :
855 : // s->pdstEMvalues = newPreDefSubTable(state, s->pdrEnergyMeters,'Annual and Peak Values')
856 : // s->pdchEMannual = newPreDefColumn(state, s->pdstEMvalues,'Annual Value [GJ]')
857 : // s->pdchEMminvalue = newPreDefColumn(state, s->pdstEMvalues,'Minimum Value [J]')
858 : // s->pdchEMminvaluetime = newPreDefColumn(state, s->pdstEMvalues,'Timestamp of Minimum')
859 : // s->pdchEMmaxvalue = newPreDefColumn(state, s->pdstEMvalues,'Maximum Value [J]')
860 : // s->pdchEMmaxvaluetime = newPreDefColumn(state, s->pdstEMvalues,'Timestamp of Maximum')
861 : // Electricity Sub Table
862 771 : s->pdstEMelecvalues = newPreDefSubTable(state, s->pdrEnergyMeters, "Annual and Peak Values - Electricity");
863 771 : s->pdchEMelecannual = newPreDefColumn(state, s->pdstEMelecvalues, "Electricity Annual Value [GJ]");
864 771 : s->pdchEMelecminvalue = newPreDefColumn(state, s->pdstEMelecvalues, "Electricity Minimum Value [W]");
865 771 : s->pdchEMelecminvaluetime = newPreDefColumn(state, s->pdstEMelecvalues, "Timestamp of Minimum {TIMESTAMP}");
866 771 : s->pdchEMelecmaxvalue = newPreDefColumn(state, s->pdstEMelecvalues, "Electricity Maximum Value [W]");
867 771 : s->pdchEMelecmaxvaluetime = newPreDefColumn(state, s->pdstEMelecvalues, "Timestamp of Maximum {TIMESTAMP}");
868 :
869 : // Gas Sub Table
870 771 : s->pdstEMgasvalues = newPreDefSubTable(state, s->pdrEnergyMeters, "Annual and Peak Values - Natural Gas");
871 771 : s->pdchEMgasannual = newPreDefColumn(state, s->pdstEMgasvalues, "Natural Gas Annual Value [GJ]");
872 771 : s->pdchEMgasminvalue = newPreDefColumn(state, s->pdstEMgasvalues, "Natural Gas Minimum Value [W]");
873 771 : s->pdchEMgasminvaluetime = newPreDefColumn(state, s->pdstEMgasvalues, "Timestamp of Minimum {TIMESTAMP}");
874 771 : s->pdchEMgasmaxvalue = newPreDefColumn(state, s->pdstEMgasvalues, "Natural Gas Maximum Value [W]");
875 771 : s->pdchEMgasmaxvaluetime = newPreDefColumn(state, s->pdstEMgasvalues, "Timestamp of Maximum {TIMESTAMP}");
876 :
877 : // Cool SubTable
878 771 : s->pdstEMcoolvalues = newPreDefSubTable(state, s->pdrEnergyMeters, "Annual and Peak Values - Cooling");
879 771 : s->pdchEMcoolannual = newPreDefColumn(state, s->pdstEMcoolvalues, "Cooling Annual Value [GJ]");
880 771 : s->pdchEMcoolminvalue = newPreDefColumn(state, s->pdstEMcoolvalues, "Cooling Minimum Value [W]");
881 771 : s->pdchEMcoolminvaluetime = newPreDefColumn(state, s->pdstEMcoolvalues, "Timestamp of Minimum {TIMESTAMP}");
882 771 : s->pdchEMcoolmaxvalue = newPreDefColumn(state, s->pdstEMcoolvalues, "Cooling Maximum Value [W]");
883 771 : s->pdchEMcoolmaxvaluetime = newPreDefColumn(state, s->pdstEMcoolvalues, "Timestamp of Maximum {TIMESTAMP}");
884 :
885 : // Water SubTable
886 771 : s->pdstEMwatervalues = newPreDefSubTable(state, s->pdrEnergyMeters, "Annual and Peak Values - Water");
887 771 : s->pdchEMwaterannual = newPreDefColumn(state, s->pdstEMwatervalues, "Annual Value [m3]");
888 771 : s->pdchEMwaterminvalue = newPreDefColumn(state, s->pdstEMwatervalues, "Minimum Value [m3/s]");
889 771 : s->pdchEMwaterminvaluetime = newPreDefColumn(state, s->pdstEMwatervalues, "Timestamp of Minimum {TIMESTAMP}");
890 771 : s->pdchEMwatermaxvalue = newPreDefColumn(state, s->pdstEMwatervalues, "Maximum Value [m3/s]");
891 771 : s->pdchEMwatermaxvaluetime = newPreDefColumn(state, s->pdstEMwatervalues, "Timestamp of Maximum {TIMESTAMP}");
892 :
893 : // Other KG SubTable
894 771 : s->pdstEMotherKGvalues = newPreDefSubTable(state, s->pdrEnergyMeters, "Annual and Peak Values - Other by Weight/Mass");
895 771 : s->pdchEMotherKGannual = newPreDefColumn(state, s->pdstEMotherKGvalues, "Annual Value [kg]");
896 771 : s->pdchEMotherKGminvalue = newPreDefColumn(state, s->pdstEMotherKGvalues, "Minimum Value [kg/s]");
897 771 : s->pdchEMotherKGminvaluetime = newPreDefColumn(state, s->pdstEMotherKGvalues, "Timestamp of Minimum {TIMESTAMP}");
898 771 : s->pdchEMotherKGmaxvalue = newPreDefColumn(state, s->pdstEMotherKGvalues, "Maximum Value [kg/s]");
899 771 : s->pdchEMotherKGmaxvaluetime = newPreDefColumn(state, s->pdstEMotherKGvalues, "Timestamp of Maximum {TIMESTAMP}");
900 :
901 : // Other M3 SubTable
902 771 : s->pdstEMotherM3values = newPreDefSubTable(state, s->pdrEnergyMeters, "Annual and Peak Values - Other Volumetric");
903 771 : s->pdchEMotherM3annual = newPreDefColumn(state, s->pdstEMotherM3values, "Annual Value [m3]");
904 771 : s->pdchEMotherM3minvalue = newPreDefColumn(state, s->pdstEMotherM3values, "Minimum Value [m3/s]");
905 771 : s->pdchEMotherM3minvaluetime = newPreDefColumn(state, s->pdstEMotherM3values, "Timestamp of Minimum {TIMESTAMP}");
906 771 : s->pdchEMotherM3maxvalue = newPreDefColumn(state, s->pdstEMotherM3values, "Maximum Value [m3/s]");
907 771 : s->pdchEMotherM3maxvaluetime = newPreDefColumn(state, s->pdstEMotherM3values, "Timestamp of Maximum {TIMESTAMP}");
908 :
909 : // Other M3 SubTable
910 771 : s->pdstEMotherLvalues = newPreDefSubTable(state, s->pdrEnergyMeters, "Annual and Peak Values - Other Liquid/Gas");
911 771 : s->pdchEMotherLannual = newPreDefColumn(state, s->pdstEMotherLvalues, "Annual Value [L]");
912 771 : s->pdchEMotherLminvalue = newPreDefColumn(state, s->pdstEMotherLvalues, "Minimum Value [L]");
913 771 : s->pdchEMotherLminvaluetime = newPreDefColumn(state, s->pdstEMotherLvalues, "Timestamp of Minimum {TIMESTAMP}");
914 771 : s->pdchEMotherLmaxvalue = newPreDefColumn(state, s->pdstEMotherLvalues, "Maximum Value [L]");
915 771 : s->pdchEMotherLmaxvaluetime = newPreDefColumn(state, s->pdstEMotherLvalues, "Timestamp of Maximum {TIMESTAMP}");
916 :
917 : // Other J SubTable
918 771 : s->pdstEMotherJvalues = newPreDefSubTable(state, s->pdrEnergyMeters, "Annual and Peak Values - Other");
919 771 : s->pdchEMotherJannual = newPreDefColumn(state, s->pdstEMotherJvalues, "Annual Value [GJ]");
920 771 : s->pdchEMotherJminvalue = newPreDefColumn(state, s->pdstEMotherJvalues, "Minimum Value [W]");
921 771 : s->pdchEMotherJminvaluetime = newPreDefColumn(state, s->pdstEMotherJvalues, "Timestamp of Minimum {TIMESTAMP}");
922 771 : s->pdchEMotherJmaxvalue = newPreDefColumn(state, s->pdstEMotherJvalues, "Maximum Value [W]");
923 771 : s->pdchEMotherJmaxvaluetime = newPreDefColumn(state, s->pdstEMotherJvalues, "Timestamp of Maximum {TIMESTAMP}");
924 :
925 : // Sensible Heat Gain Component Report
926 771 : s->pdrSensibleGain = newPreDefReport(state, "SensibleHeatGainSummary", "SHGS", "Sensible Heat Gain Summary");
927 :
928 771 : s->pdstSHGSannual = newPreDefSubTable(state, s->pdrSensibleGain, "Annual Building Sensible Heat Gain Components");
929 :
930 771 : s->pdchSHGSAnZoneEqHt = newPreDefColumn(state, s->pdstSHGSannual, "HVAC Zone Eq & Other Sensible Air Heating [GJ]");
931 771 : s->pdchSHGSAnZoneEqCl = newPreDefColumn(state, s->pdstSHGSannual, "HVAC Zone Eq & Other Sensible Air Cooling [GJ]");
932 771 : s->pdchSHGSAnHvacATUHt = newPreDefColumn(state, s->pdstSHGSannual, "HVAC Terminal Unit Sensible Air Heating [GJ]");
933 771 : s->pdchSHGSAnHvacATUCl = newPreDefColumn(state, s->pdstSHGSannual, "HVAC Terminal Unit Sensible Air Cooling [GJ]");
934 771 : s->pdchSHGSAnSurfHt = newPreDefColumn(state, s->pdstSHGSannual, "HVAC Input Heated Surface Heating [GJ]");
935 771 : s->pdchSHGSAnSurfCl = newPreDefColumn(state, s->pdstSHGSannual, "HVAC Input Cooled Surface Cooling [GJ]");
936 771 : s->pdchSHGSAnPeoplAdd = newPreDefColumn(state, s->pdstSHGSannual, "People Sensible Heat Addition [GJ]");
937 771 : s->pdchSHGSAnLiteAdd = newPreDefColumn(state, s->pdstSHGSannual, "Lights Sensible Heat Addition [GJ]");
938 771 : s->pdchSHGSAnEquipAdd = newPreDefColumn(state, s->pdstSHGSannual, "Equipment Sensible Heat Addition [GJ]");
939 771 : s->pdchSHGSAnWindAdd = newPreDefColumn(state, s->pdstSHGSannual, "Window Heat Addition [GJ]");
940 771 : s->pdchSHGSAnIzaAdd = newPreDefColumn(state, s->pdstSHGSannual, "Interzone Air Transfer Heat Addition [GJ]");
941 771 : s->pdchSHGSAnInfilAdd = newPreDefColumn(state, s->pdstSHGSannual, "Infiltration Heat Addition [GJ]");
942 771 : s->pdchSHGSAnOtherAdd = newPreDefColumn(state, s->pdstSHGSannual, "Opaque Surface Conduction and Other Heat Addition [GJ]");
943 771 : s->pdchSHGSAnEquipRem = newPreDefColumn(state, s->pdstSHGSannual, "Equipment Sensible Heat Removal [GJ]");
944 771 : s->pdchSHGSAnWindRem = newPreDefColumn(state, s->pdstSHGSannual, "Window Heat Removal [GJ]");
945 771 : s->pdchSHGSAnIzaRem = newPreDefColumn(state, s->pdstSHGSannual, "Interzone Air Transfer Heat Removal [GJ]");
946 771 : s->pdchSHGSAnInfilRem = newPreDefColumn(state, s->pdstSHGSannual, "Infiltration Heat Removal [GJ]");
947 771 : s->pdchSHGSAnOtherRem = newPreDefColumn(state, s->pdstSHGSannual, "Opaque Surface Conduction and Other Heat Removal [GJ]");
948 :
949 771 : s->pdstSHGSpkCl = newPreDefSubTable(state, s->pdrSensibleGain, "Peak Cooling Sensible Heat Gain Components");
950 :
951 771 : s->pdchSHGSClTimePeak = newPreDefColumn(state, s->pdstSHGSpkCl, "Time of Peak {TIMESTAMP}");
952 771 : s->pdchSHGSClHvacHt = newPreDefColumn(state, s->pdstSHGSpkCl, "HVAC Zone Eq & Other Sensible Air Heating [W]");
953 771 : s->pdchSHGSClHvacCl = newPreDefColumn(state, s->pdstSHGSpkCl, "HVAC Zone Eq & Other Sensible Air Cooling [W]");
954 771 : s->pdchSHGSClHvacATUHt = newPreDefColumn(state, s->pdstSHGSpkCl, "HVAC Terminal Unit Sensible Air Heating [W]");
955 771 : s->pdchSHGSClHvacATUCl = newPreDefColumn(state, s->pdstSHGSpkCl, "HVAC Terminal Unit Sensible Air Cooling [W]");
956 771 : s->pdchSHGSClSurfHt = newPreDefColumn(state, s->pdstSHGSpkCl, "HVAC Input Heated Surface Heating [W]");
957 771 : s->pdchSHGSClSurfCl = newPreDefColumn(state, s->pdstSHGSpkCl, "HVAC Input Cooled Surface Cooling [W]");
958 771 : s->pdchSHGSClPeoplAdd = newPreDefColumn(state, s->pdstSHGSpkCl, "People Sensible Heat Addition [W]");
959 771 : s->pdchSHGSClLiteAdd = newPreDefColumn(state, s->pdstSHGSpkCl, "Lights Sensible Heat Addition [W]");
960 771 : s->pdchSHGSClEquipAdd = newPreDefColumn(state, s->pdstSHGSpkCl, "Equipment Sensible Heat Addition [W]");
961 771 : s->pdchSHGSClWindAdd = newPreDefColumn(state, s->pdstSHGSpkCl, "Window Heat Addition [W]");
962 771 : s->pdchSHGSClIzaAdd = newPreDefColumn(state, s->pdstSHGSpkCl, "Interzone Air Transfer Heat Addition [W]");
963 771 : s->pdchSHGSClInfilAdd = newPreDefColumn(state, s->pdstSHGSpkCl, "Infiltration Heat Addition [W]");
964 771 : s->pdchSHGSClOtherAdd = newPreDefColumn(state, s->pdstSHGSpkCl, "Opaque Surface Conduction and Other Heat Addition [W]");
965 771 : s->pdchSHGSClEquipRem = newPreDefColumn(state, s->pdstSHGSpkCl, "Equipment Sensible Heat Removal [W]");
966 771 : s->pdchSHGSClWindRem = newPreDefColumn(state, s->pdstSHGSpkCl, "Window Heat Removal [W]");
967 771 : s->pdchSHGSClIzaRem = newPreDefColumn(state, s->pdstSHGSpkCl, "Interzone Air Transfer Heat Removal [W]");
968 771 : s->pdchSHGSClInfilRem = newPreDefColumn(state, s->pdstSHGSpkCl, "Infiltration Heat Removal [W]");
969 771 : s->pdchSHGSClOtherRem = newPreDefColumn(state, s->pdstSHGSpkCl, "Opaque Surface Conduction and Other Heat Removal [W]");
970 :
971 771 : s->pdstSHGSpkHt = newPreDefSubTable(state, s->pdrSensibleGain, "Peak Heating Sensible Heat Gain Components");
972 :
973 771 : s->pdchSHGSHtTimePeak = newPreDefColumn(state, s->pdstSHGSpkHt, "Time of Peak {TIMESTAMP}");
974 771 : s->pdchSHGSHtHvacHt = newPreDefColumn(state, s->pdstSHGSpkHt, "HVAC Zone Eq & Other Sensible Air Heating [W]");
975 771 : s->pdchSHGSHtHvacCl = newPreDefColumn(state, s->pdstSHGSpkHt, "HVAC Zone Eq & Other Sensible Air Cooling [W]");
976 771 : s->pdchSHGSHtHvacATUHt = newPreDefColumn(state, s->pdstSHGSpkHt, "HVAC Terminal Unit Sensible Air Heating [W]");
977 771 : s->pdchSHGSHtHvacATUCl = newPreDefColumn(state, s->pdstSHGSpkHt, "HVAC Terminal Unit Sensible Air Cooling [W]");
978 771 : s->pdchSHGSHtSurfHt = newPreDefColumn(state, s->pdstSHGSpkHt, "HVAC Input Heated Surface Heating [W]");
979 771 : s->pdchSHGSHtSurfCl = newPreDefColumn(state, s->pdstSHGSpkHt, "HVAC Input Cooled Surface Cooling [W]");
980 771 : s->pdchSHGSHtPeoplAdd = newPreDefColumn(state, s->pdstSHGSpkHt, "People Sensible Heat Addition [W]");
981 771 : s->pdchSHGSHtLiteAdd = newPreDefColumn(state, s->pdstSHGSpkHt, "Lights Sensible Heat Addition [W]");
982 771 : s->pdchSHGSHtEquipAdd = newPreDefColumn(state, s->pdstSHGSpkHt, "Equipment Sensible Heat Addition [W]");
983 771 : s->pdchSHGSHtWindAdd = newPreDefColumn(state, s->pdstSHGSpkHt, "Window Heat Addition [W]");
984 771 : s->pdchSHGSHtIzaAdd = newPreDefColumn(state, s->pdstSHGSpkHt, "Interzone Air Transfer Heat Addition [W]");
985 771 : s->pdchSHGSHtInfilAdd = newPreDefColumn(state, s->pdstSHGSpkHt, "Infiltration Heat Addition [W]");
986 771 : s->pdchSHGSHtOtherAdd = newPreDefColumn(state, s->pdstSHGSpkHt, "Opaque Surface Conduction and Other Heat Addition [W]");
987 771 : s->pdchSHGSHtEquipRem = newPreDefColumn(state, s->pdstSHGSpkHt, "Equipment Sensible Heat Removal [W]");
988 771 : s->pdchSHGSHtWindRem = newPreDefColumn(state, s->pdstSHGSpkHt, "Window Heat Removal [W]");
989 771 : s->pdchSHGSHtIzaRem = newPreDefColumn(state, s->pdstSHGSpkHt, "Interzone Air Transfer Heat Removal [W]");
990 771 : s->pdchSHGSHtInfilRem = newPreDefColumn(state, s->pdstSHGSpkHt, "Infiltration Heat Removal [W]");
991 771 : s->pdchSHGSHtOtherRem = newPreDefColumn(state, s->pdstSHGSpkHt, "Opaque Surface Conduction and Other Heat Removal [W]");
992 :
993 : // Standard62Report
994 771 : if (state.dataGlobal->DoZoneSizing || state.dataGlobal->DoSystemSizing) {
995 409 : s->pdrStd62 = newPreDefReport(state, "Standard62.1Summary", "Std62", "Standard 62.1 Summary");
996 :
997 409 : s->pdstS62sysVentReqCool = newPreDefSubTable(state, s->pdrStd62, "System Ventilation Requirements for Cooling");
998 :
999 409 : s->pdchS62svrClSumVpz = newPreDefColumn(state, s->pdstS62sysVentReqCool, "Sum of Zone Primary Air Flow - Vpz-sum [m3/s]");
1000 409 : s->pdchS62svrClPs = newPreDefColumn(state, s->pdstS62sysVentReqCool, "System Population - Ps");
1001 409 : s->pdchS62svrClSumPz = newPreDefColumn(state, s->pdstS62sysVentReqCool, "Sum of Zone Population - Pz-sum");
1002 409 : s->pdchS62svrClD = newPreDefColumn(state, s->pdstS62sysVentReqCool, "Occupant Diversity - D");
1003 409 : s->pdchS62svrClDorg = newPreDefColumn(state, s->pdstS62sysVentReqCool, "Origin of D");
1004 409 : s->pdchS62svrClVou = newPreDefColumn(state, s->pdstS62sysVentReqCool, "Uncorrected Outdoor Air Intake Airflow - Vou [m3/s]");
1005 409 : s->pdchS62svrClVps = newPreDefColumn(state, s->pdstS62sysVentReqCool, "System Primary Airflow - Vps [m3/s]");
1006 409 : s->pdchS62svrClXs = newPreDefColumn(state, s->pdstS62sysVentReqCool, "Average Outdoor Air Fraction - Xs");
1007 409 : s->pdchS62svrClEv = newPreDefColumn(state, s->pdstS62sysVentReqCool, "System Ventilation Efficiency - Ev");
1008 409 : s->pdchS62svrClEvMthd = newPreDefColumn(state, s->pdstS62sysVentReqCool, "Calculation Method for Ev");
1009 409 : s->pdchS62svrClVot = newPreDefColumn(state, s->pdstS62sysVentReqCool, "Outdoor Air Intake Flow - Vot [m3/s]");
1010 409 : s->pdchS62svrClPercOA = newPreDefColumn(state, s->pdstS62sysVentReqCool, "Percent Outdoor Air - %OA");
1011 409 : s->pdchS62svrClEnvironmentOfPs = newPreDefColumn(state, s->pdstS62sysVentReqCool, "Environment Name of Peak System Population - Ps");
1012 409 : s->pdchS62svrClTimeOfPs = newPreDefColumn(state, s->pdstS62sysVentReqCool, "Date and Time of Last Peak System Population - Ps");
1013 :
1014 409 : s->pdstS62sysVentReqHeat = newPreDefSubTable(state, s->pdrStd62, "System Ventilation Requirements for Heating");
1015 :
1016 409 : s->pdchS62svrHtSumVpz = newPreDefColumn(state, s->pdstS62sysVentReqHeat, "Sum of Zone Primary Air Flow - Vpz-sum [m3/s]");
1017 409 : s->pdchS62svrHtPs = newPreDefColumn(state, s->pdstS62sysVentReqHeat, "System Population - Ps");
1018 409 : s->pdchS62svrHtSumPz = newPreDefColumn(state, s->pdstS62sysVentReqHeat, "Sum of Zone Population - Pz-sum");
1019 409 : s->pdchS62svrHtD = newPreDefColumn(state, s->pdstS62sysVentReqHeat, "Occupant Diversity - D");
1020 409 : s->pdchS62svrHtDorg = newPreDefColumn(state, s->pdstS62sysVentReqHeat, "Origin of D");
1021 409 : s->pdchS62svrHtVou = newPreDefColumn(state, s->pdstS62sysVentReqHeat, "Uncorrected Outdoor Air Intake Airflow - Vou [m3/s]");
1022 409 : s->pdchS62svrHtVps = newPreDefColumn(state, s->pdstS62sysVentReqHeat, "System Primary Airflow - Vps [m3/s]");
1023 409 : s->pdchS62svrHtXs = newPreDefColumn(state, s->pdstS62sysVentReqHeat, "Average Outdoor Air Fraction - Xs");
1024 409 : s->pdchS62svrHtEv = newPreDefColumn(state, s->pdstS62sysVentReqHeat, "System Ventilation Efficiency - Ev");
1025 409 : s->pdchS62svrHtEvMthd = newPreDefColumn(state, s->pdstS62sysVentReqHeat, "Calculation Method for Ev");
1026 409 : s->pdchS62svrHtVot = newPreDefColumn(state, s->pdstS62sysVentReqHeat, "Outdoor Air Intake Flow Vot [m3/s]");
1027 409 : s->pdchS62svrHtPercOA = newPreDefColumn(state, s->pdstS62sysVentReqHeat, "Percent Outdoor Air - %OA");
1028 409 : s->pdchS62svrHtEnvironmentOfPs = newPreDefColumn(state, s->pdstS62sysVentReqHeat, "Environment Name of Peak System Population - Ps");
1029 409 : s->pdchS62svrHtTimeOfPs = newPreDefColumn(state, s->pdstS62sysVentReqHeat, "Date and Time of Last Peak System Population - Ps");
1030 :
1031 409 : s->pdstS62znVentPar = newPreDefSubTable(state, s->pdrStd62, "Zone Ventilation Parameters");
1032 :
1033 409 : s->pdchS62zvpAlN = newPreDefColumn(state, s->pdstS62znVentPar, "AirLoop Name");
1034 409 : s->pdchS62zvpRp = newPreDefColumn(state, s->pdstS62znVentPar, "People Outdoor Air Rate - Rp [m3/s-person]");
1035 409 : s->pdchS62zvpPz = newPreDefColumn(state, s->pdstS62znVentPar, "Zone Population - Pz");
1036 409 : s->pdchS62zvpRa = newPreDefColumn(state, s->pdstS62znVentPar, "Area Outdoor Air Rate - Ra [m3/s-m2]");
1037 409 : s->pdchS62zvpAz = newPreDefColumn(state, s->pdstS62znVentPar, "Zone Floor Area - Az [m2]");
1038 409 : s->pdchS62zvpVbz = newPreDefColumn(state, s->pdstS62znVentPar, "Breathing Zone Outdoor Airflow - Vbz [m3/s]");
1039 409 : s->pdchS62zvpClEz = newPreDefColumn(state, s->pdstS62znVentPar, "Cooling Zone Air Distribution Effectiveness - Ez-clg");
1040 409 : s->pdchS62zvpClVoz = newPreDefColumn(state, s->pdstS62znVentPar, "Cooling Zone Outdoor Airflow - Voz-clg [m3/s]");
1041 409 : s->pdchS62zvpHtEz = newPreDefColumn(state, s->pdstS62znVentPar, "Heating Zone Air Distribution Effectiveness - Ez-htg");
1042 409 : s->pdchS62zvpHtVoz = newPreDefColumn(state, s->pdstS62znVentPar, "Heating Zone Outdoor Airflow - Voz-htg [m3/s]");
1043 :
1044 409 : s->pdstS62sysVentPar = newPreDefSubTable(state, s->pdrStd62, "System Ventilation Parameters");
1045 :
1046 409 : s->pdchS62svpRp = newPreDefColumn(state, s->pdstS62sysVentPar, "People Outdoor Air Rate - Rp [m3/s-person]");
1047 409 : s->pdchS62svpPz = newPreDefColumn(state, s->pdstS62sysVentPar, "Sum of Zone Population - Pz-sum");
1048 409 : s->pdchS62svpRa = newPreDefColumn(state, s->pdstS62sysVentPar, "Area Outdoor Air Rate - Ra [m3/s-m2]");
1049 409 : s->pdchS62svpAz = newPreDefColumn(state, s->pdstS62sysVentPar, "Sum of Zone Floor Area - Az-sum [m2]");
1050 409 : s->pdchS62svpVbz = newPreDefColumn(state, s->pdstS62sysVentPar, "Breathing Zone Outdoor Airflow - Vbz [m3/s]");
1051 409 : s->pdchS62svpClVoz = newPreDefColumn(state, s->pdstS62sysVentPar, "Cooling Zone Outdoor Airflow - Voz-clg [m3/s]");
1052 409 : s->pdchS62svpHtVoz = newPreDefColumn(state, s->pdstS62sysVentPar, "Heating Zone Outdoor Airflow - Voz-htg [m3/s]");
1053 :
1054 409 : s->pdstS62znCoolDes = newPreDefSubTable(state, s->pdrStd62, "Zone Ventilation Calculations for Cooling Design");
1055 :
1056 409 : s->pdchS62zcdAlN = newPreDefColumn(state, s->pdstS62znCoolDes, "AirLoop Name");
1057 409 : s->pdchS62zcdBox = newPreDefColumn(state, s->pdstS62znCoolDes, "Box Type");
1058 409 : s->pdchS62zcdVpz = newPreDefColumn(state, s->pdstS62znCoolDes, "Zone Primary Airflow - Vpz [m3/s]");
1059 : // s->pdchS62zcdVps = newPreDefColumn(state, s->pdstS62znCoolDes,'System Primary Airflow - Vps [m3/s]')
1060 : // s->pdchS62zcdVsec = newPreDefColumn(state, s->pdstS62znCoolDes,'Secondary Fan Airflow - Vsec [m3/s]')
1061 409 : s->pdchS62zcdVdz = newPreDefColumn(state, s->pdstS62znCoolDes, "Zone Discharge Airflow - Vdz [m3/s]");
1062 409 : s->pdchS62zcdVpzmin = newPreDefColumn(state, s->pdstS62znCoolDes, "Minimum Zone Primary Airflow - Vpz-min [m3/s]");
1063 409 : s->pdchS62zcdVpzminSPSize =
1064 818 : newPreDefColumn(state, s->pdstS62znCoolDes, "Is Vpz-min calculated using the Standard 62.1 Simplified Procedure?");
1065 409 : s->pdchS62zcdVozclg = newPreDefColumn(state, s->pdstS62znCoolDes, "Zone Outdoor Airflow Cooling - Voz-clg [m3/s]");
1066 409 : s->pdchS62zcdZpz = newPreDefColumn(state, s->pdstS62znCoolDes, "Primary Outdoor Air Fraction - Zpz");
1067 409 : s->pdchS62zcdEp = newPreDefColumn(state, s->pdstS62znCoolDes, "Primary Air Fraction - Ep");
1068 409 : s->pdchS62zcdEr = newPreDefColumn(state, s->pdstS62znCoolDes, "Secondary Recirculation Fraction- Er");
1069 409 : s->pdchS62zcdFa = newPreDefColumn(state, s->pdstS62znCoolDes, "Supply Air Fraction- Fa");
1070 409 : s->pdchS62zcdFb = newPreDefColumn(state, s->pdstS62znCoolDes, "Mixed Air Fraction - Fb");
1071 409 : s->pdchS62zcdFc = newPreDefColumn(state, s->pdstS62znCoolDes, "Outdoor Air Fraction - Fc");
1072 409 : s->pdchS62zcdEvz = newPreDefColumn(state, s->pdstS62znCoolDes, "Zone Ventilation Efficiency - Evz");
1073 :
1074 409 : s->pdstS62sysCoolDes = newPreDefSubTable(state, s->pdrStd62, "System Ventilation Calculations for Cooling Design");
1075 :
1076 409 : s->pdchS62scdVpz = newPreDefColumn(state, s->pdstS62sysCoolDes, "Sum of Zone Primary Airflow - Vpz-sum [m3/s]");
1077 409 : s->pdchS62scdVps = newPreDefColumn(state, s->pdstS62sysCoolDes, "System Primary Airflow - Vps [m3/s]");
1078 : // s->pdchS62scdVsec = newPreDefColumn(state, s->pdstS62sysCoolDes,'Secondary Fan Airflow - Vsec [m3/s]')
1079 409 : s->pdchS62scdVdz = newPreDefColumn(state, s->pdstS62sysCoolDes, "Sum of Zone Discharge Airflow - Vdz-sum [m3/s]");
1080 409 : s->pdchS62scdVpzmin = newPreDefColumn(state, s->pdstS62sysCoolDes, "Sum of Min Zone Primary Airflow - Vpz-min [m3/s]");
1081 409 : s->pdchS62scdVozclg = newPreDefColumn(state, s->pdstS62sysCoolDes, "Zone Outdoor Airflow Cooling - Voz-clg [m3/s]");
1082 409 : s->pdchS62scdEvz = newPreDefColumn(state, s->pdstS62sysCoolDes, "Zone Ventilation Efficiency - Evz-min");
1083 :
1084 409 : s->pdstS62znHeatDes = newPreDefSubTable(state, s->pdrStd62, "Zone Ventilation Calculations for Heating Design");
1085 :
1086 409 : s->pdchS62zhdAlN = newPreDefColumn(state, s->pdstS62znHeatDes, "AirLoop Name");
1087 409 : s->pdchS62zhdBox = newPreDefColumn(state, s->pdstS62znHeatDes, "Box Type");
1088 409 : s->pdchS62zhdVpz = newPreDefColumn(state, s->pdstS62znHeatDes, "Zone Primary Airflow - Vpz [m3/s]");
1089 : // s->pdchS62zhdVps = newPreDefColumn(state, s->pdstS62znHeatDes,'System Primary Airflow - Vps [m3/s]')
1090 : // s->pdchS62zhdVsec = newPreDefColumn(state, s->pdstS62znHeatDes,'Secondary Fan Airflow - Vsec [m3/s]')
1091 409 : s->pdchS62zhdVdz = newPreDefColumn(state, s->pdstS62znHeatDes, "Zone Discharge Airflow - Vdz [m3/s]");
1092 409 : s->pdchS62zhdVpzmin = newPreDefColumn(state, s->pdstS62znHeatDes, "Minimum Zone Primary Airflow - Vpz-min [m3/s]");
1093 409 : s->pdchS62zhdVpzminSPSize =
1094 818 : newPreDefColumn(state, s->pdstS62znHeatDes, "Is Vpz-min calculated using the Standard 62.1 Simplified Procedure?");
1095 409 : s->pdchS62zhdVozhtg = newPreDefColumn(state, s->pdstS62znHeatDes, "Zone Outdoor Airflow Heating - Voz-htg [m3/s]");
1096 409 : s->pdchS62zhdZpz = newPreDefColumn(state, s->pdstS62znHeatDes, "Primary Outdoor Air Fraction - Zpz");
1097 409 : s->pdchS62zhdEp = newPreDefColumn(state, s->pdstS62znHeatDes, "Primary Air Fraction - Ep");
1098 409 : s->pdchS62zhdEr = newPreDefColumn(state, s->pdstS62znHeatDes, "Secondary Recirculation Fraction- Er");
1099 409 : s->pdchS62zhdFa = newPreDefColumn(state, s->pdstS62znHeatDes, "Supply Air Fraction- Fa");
1100 409 : s->pdchS62zhdFb = newPreDefColumn(state, s->pdstS62znHeatDes, "Mixed Air Fraction - Fb");
1101 409 : s->pdchS62zhdFc = newPreDefColumn(state, s->pdstS62znHeatDes, "Outdoor Air Fraction - Fc");
1102 409 : s->pdchS62zhdEvz = newPreDefColumn(state, s->pdstS62znHeatDes, "Zone Ventilation Efficiency - Evz");
1103 :
1104 409 : s->pdstS62sysHeatDes = newPreDefSubTable(state, s->pdrStd62, "System Ventilation Calculations for Heating Design");
1105 :
1106 409 : s->pdchS62shdVpz = newPreDefColumn(state, s->pdstS62sysHeatDes, "Sum of Zone Primary Airflow - Vpz-sum [m3/s]");
1107 409 : s->pdchS62shdVps = newPreDefColumn(state, s->pdstS62sysHeatDes, "System Primary Airflow - Vps [m3/s]");
1108 : // s->pdchS62shdVsec = newPreDefColumn(state, s->pdstS62sysHeatDes,'Secondary Fan Airflow - Vsec [m3/s]')
1109 409 : s->pdchS62shdVdz = newPreDefColumn(state, s->pdstS62sysHeatDes, "Sum of Zone Discharge Airflow - Vdz-sum [m3/s]");
1110 409 : s->pdchS62shdVpzmin = newPreDefColumn(state, s->pdstS62sysHeatDes, "Sum of Min Zone Primary Airflow - Vpz-min [m3/s]");
1111 409 : s->pdchS62shdVozhtg = newPreDefColumn(state, s->pdstS62sysHeatDes, "Zone Outdoor Airflow Heating - Voz-htg [m3/s]");
1112 409 : s->pdchS62shdEvz = newPreDefColumn(state, s->pdstS62sysHeatDes, "Zone Ventilation Efficiency - Evz-min");
1113 : }
1114 :
1115 771 : s->pdrLeed = newPreDefReport(state, "LEEDsummary", "LEED", "LEED Summary");
1116 :
1117 771 : s->pdstLeedGenInfo = newPreDefSubTable(state, s->pdrLeed, "Sec1.1A-General Information");
1118 : // single column with rows of:
1119 : // Principal Heating Source
1120 : // Weather File
1121 : // Climate Zone
1122 : // Heating Degree Days
1123 : // Cooling Degree Days
1124 : // HDD and CDD data source
1125 : // Total gross floor area
1126 771 : s->pdchLeedGenData = newPreDefColumn(state, s->pdstLeedGenInfo, "Data");
1127 :
1128 771 : s->pdstLeedSpaceUsageType = newPreDefSubTable(state, s->pdrLeed, "EAp2-1. Space Usage Type");
1129 771 : s->pdchLeedSutSpArea = newPreDefColumn(state, s->pdstLeedSpaceUsageType, "Space Area [m2]");
1130 771 : s->pdchLeedSutOcArea = newPreDefColumn(state, s->pdstLeedSpaceUsageType, "Regularly Occupied Area [m2]");
1131 771 : s->pdchLeedSutUnArea = newPreDefColumn(state, s->pdstLeedSpaceUsageType, "Unconditioned Area [m2]");
1132 771 : s->pdchLeedSutHrsWeek = newPreDefColumn(state, s->pdstLeedSpaceUsageType, "Typical Hours/Week in Operation [hr/wk]");
1133 :
1134 771 : s->pdstLeedAdvsMsg = newPreDefSubTable(state, s->pdrLeed, "EAp2-2. Advisory Messages");
1135 : // single column with rows of:
1136 : // Number of hours heating loads not met
1137 : // Number of hours cooling loads not met
1138 : // Total
1139 : // Difference
1140 : // Number of warning messages
1141 : // Number of error messages
1142 : // Number of defaults overridden
1143 771 : s->pdchLeedAmData = newPreDefColumn(state, s->pdstLeedAdvsMsg, "Data");
1144 :
1145 771 : s->pdstLeedEneTypSum = newPreDefSubTable(state, s->pdrLeed, "EAp2-3. Energy Type Summary");
1146 : // multiple columns with rows of
1147 : // Electricity
1148 : // Natural Gas
1149 : // <additional fuels>
1150 771 : s->pdchLeedEtsRtNm = newPreDefColumn(state, s->pdstLeedEneTypSum, "Utility Rate");
1151 771 : s->pdchLeedEtsVirt = newPreDefColumn(state, s->pdstLeedEneTypSum, "Virtual Rate [$/unit energy]");
1152 771 : s->pdchLeedEtsEneUnt = newPreDefColumn(state, s->pdstLeedEneTypSum, "Units of Energy");
1153 771 : s->pdchLeedEtsDemUnt = newPreDefColumn(state, s->pdstLeedEneTypSum, "Units of Demand");
1154 :
1155 771 : s->pdstLeedPerf = newPreDefSubTable(state, s->pdrLeed, "EAp2-4/5. Performance Rating Method Compliance");
1156 : // Multiple colums with rows of:
1157 : // Interior Lighting
1158 : // Exterior Lighting
1159 : // Space Heating
1160 : // Space Cooling
1161 : // Pumps
1162 : // Heat Rejection
1163 : // Fans-Interior
1164 : // Fans-Parking Garage
1165 : // Service Water Heating
1166 : // Receptacle Equipment
1167 : // Interior Lighting (process)
1168 : // Refrigeration Equipment
1169 : // Cooking
1170 : // Industrial Process
1171 : // Elevators and Escalators
1172 : // Total
1173 771 : s->pdchLeedPerfElEneUse = newPreDefColumn(state, s->pdstLeedPerf, "Electricity Energy Use [GJ]");
1174 771 : s->pdchLeedPerfElDem = newPreDefColumn(state, s->pdstLeedPerf, "Electricity Demand [W]");
1175 771 : s->pdchLeedPerfGasEneUse = newPreDefColumn(state, s->pdstLeedPerf, "Natural Gas Energy Use [GJ]");
1176 771 : s->pdchLeedPerfGasDem = newPreDefColumn(state, s->pdstLeedPerf, "Natural Gas Demand [W]");
1177 771 : s->pdchLeedPerfGasolineEneUse = newPreDefColumn(state, s->pdstLeedPerf, "Gasoline Use [GJ]");
1178 771 : s->pdchLeedPerfGasolineDem = newPreDefColumn(state, s->pdstLeedPerf, "Gasoline Demand [W]");
1179 771 : s->pdchLeedPerfDieselEneUse = newPreDefColumn(state, s->pdstLeedPerf, "Diesel Use [GJ]");
1180 771 : s->pdchLeedPerfDieselDem = newPreDefColumn(state, s->pdstLeedPerf, "Diesel Demand [W]");
1181 771 : s->pdchLeedPerfCoalEneUse = newPreDefColumn(state, s->pdstLeedPerf, "Coal Use [GJ]");
1182 771 : s->pdchLeedPerfCoalDem = newPreDefColumn(state, s->pdstLeedPerf, "Coal Demand [W]");
1183 771 : s->pdchLeedPerfFuelOil1EneUse = newPreDefColumn(state, s->pdstLeedPerf, "Fuel Oil No 1 Use [GJ]");
1184 771 : s->pdchLeedPerfFuelOil1Dem = newPreDefColumn(state, s->pdstLeedPerf, "Fuel Oil No 1 Demand [W]");
1185 771 : s->pdchLeedPerfFuelOil2EneUse = newPreDefColumn(state, s->pdstLeedPerf, "Fuel Oil No 2 Use [GJ]");
1186 771 : s->pdchLeedPerfFuelOil2Dem = newPreDefColumn(state, s->pdstLeedPerf, "Fuel Oil No 2 Demand [W]");
1187 771 : s->pdchLeedPerfPropaneEneUse = newPreDefColumn(state, s->pdstLeedPerf, "Propane Use [GJ]");
1188 771 : s->pdchLeedPerfPropaneDem = newPreDefColumn(state, s->pdstLeedPerf, "Propane Demand [W]");
1189 771 : s->pdchLeedPerfOtherFuel1EneUse = newPreDefColumn(state, s->pdstLeedPerf, "Other Fuel 1 Use [GJ]");
1190 771 : s->pdchLeedPerfOtherFuel1Dem = newPreDefColumn(state, s->pdstLeedPerf, "Other Fuel 1 Demand [W]");
1191 771 : s->pdchLeedPerfOtherFuel2EneUse = newPreDefColumn(state, s->pdstLeedPerf, "Other Fuel 2 Use [GJ]");
1192 771 : s->pdchLeedPerfOtherFuel2Dem = newPreDefColumn(state, s->pdstLeedPerf, "Other Fuel 2 Demand [W]");
1193 771 : s->pdchLeedPerfDisClEneUse = newPreDefColumn(state, s->pdstLeedPerf, "District Cooling Use [GJ]");
1194 771 : s->pdchLeedPerfDisClDem = newPreDefColumn(state, s->pdstLeedPerf, "District Cooling Demand [W]");
1195 771 : s->pdchLeedPerfDisHtEneUse = newPreDefColumn(state, s->pdstLeedPerf, "District Heating Use [GJ]");
1196 771 : s->pdchLeedPerfDisHtDem = newPreDefColumn(state, s->pdstLeedPerf, "District Heating Demand [W]");
1197 :
1198 771 : s->pdstLeedEneUseSum = newPreDefSubTable(state, s->pdrLeed, "EAp2-6. Energy Use Summary");
1199 : // Multiple columns with rows of:
1200 : // Electricity
1201 : // Natural Gas
1202 : // <additional fuels>
1203 : // Total
1204 771 : s->pdchLeedEusProc = newPreDefColumn(state, s->pdstLeedEneUseSum, "Process Subtotal [GJ]");
1205 771 : s->pdchLeedEusTotal = newPreDefColumn(state, s->pdstLeedEneUseSum, "Total Energy Use [GJ]");
1206 :
1207 771 : s->pdstLeedEneCostSum = newPreDefSubTable(state, s->pdrLeed, "EAp2-7. Energy Cost Summary");
1208 : // Multiple columns with rows of:
1209 : // Electricity
1210 : // Natural Gas
1211 : // <additional fuels>
1212 : // Total
1213 771 : s->pdchLeedEcsProc = newPreDefColumn(state, s->pdstLeedEneCostSum, "Process Subtotal [$]");
1214 771 : s->pdchLeedEcsTotal = newPreDefColumn(state, s->pdstLeedEneCostSum, "Total Energy Cost [$]");
1215 :
1216 771 : s->pdstLeedRenewSum = newPreDefSubTable(state, s->pdrLeed, "L-1. Renewable Energy Source Summary");
1217 : // Multiple columns with rows of each renewable source
1218 771 : s->pdchLeedRenRatCap = newPreDefColumn(state, s->pdstLeedRenewSum, "Rated Capacity [kW]");
1219 771 : s->pdchLeedRenAnGen = newPreDefColumn(state, s->pdstLeedRenewSum, "Annual Energy Generated [GJ]");
1220 :
1221 771 : s->pdstLeedEneUseIntEl = newPreDefSubTable(state, s->pdrLeed, "EAp2-17a. Energy Use Intensity - Electricity");
1222 : // Single column with rows of:
1223 : // Interior lighting
1224 : // Space heating
1225 : // Space cooling
1226 : // Fans-interior
1227 : // Service water heating
1228 : // Receptacle equipment
1229 : // Miscellaneous
1230 : // Subtotal
1231 771 : s->pdchLeedEuiElec = newPreDefColumn(state, s->pdstLeedEneUseIntEl, "Electricty [MJ/m2]");
1232 :
1233 771 : s->pdstLeedEneUseIntNatG = newPreDefSubTable(state, s->pdrLeed, "EAp2-17b. Energy Use Intensity - Natural Gas");
1234 : // Single column with rows of:
1235 : // Space heating
1236 : // Service water heating
1237 : // Miscellaneous
1238 : // Subtotal
1239 771 : s->pdchLeedEuiNatG = newPreDefColumn(state, s->pdstLeedEneUseIntNatG, "Natural Gas [MJ/m2]");
1240 :
1241 771 : s->pdstLeedEneUseIntOthr = newPreDefSubTable(state, s->pdrLeed, "EAp2-17c. Energy Use Intensity - Additional");
1242 : // Single column with rows of:
1243 : // Miscellaneous
1244 : // Subtotal
1245 771 : s->pdchLeedEuiOthr = newPreDefColumn(state, s->pdstLeedEneUseIntOthr, "Additional [MJ/m2]");
1246 :
1247 771 : s->pdstLeedEneUsePerc = newPreDefSubTable(state, s->pdrLeed, "EAp2-18. End Use Percentage");
1248 : // single column with rows of:
1249 : // Interior Lighting
1250 : // Space heating
1251 : // Space cooling
1252 : // Fans-Interior
1253 : // Service Water Heating
1254 : // Receptacle Equipment
1255 : // Miscellaneous
1256 771 : s->pdchLeedEupPerc = newPreDefColumn(state, s->pdstLeedEneUsePerc, "Percent [%]");
1257 :
1258 771 : s->pdstLeedEqFlLdHrs = newPreDefSubTable(state, s->pdrLeed, "Schedules-Equivalent Full Load Hours (Schedule Type=Fraction)");
1259 771 : s->pdchLeedEflhEflh = newPreDefColumn(state, s->pdstLeedEqFlLdHrs, "Equivalent Full Load Hours of Operation Per Year [hr]");
1260 771 : s->pdchLeedEflhNonZerHrs = newPreDefColumn(state, s->pdstLeedEqFlLdHrs, "Hours > 1% [hr]");
1261 :
1262 771 : s->pdstLeedSchedSetPts = newPreDefSubTable(state, s->pdrLeed, "Schedules-SetPoints (Schedule Type=Temperature)");
1263 771 : s->pdChLeedSchStPtFirstObjUsed = newPreDefColumn(state, s->pdstLeedSchedSetPts, "First Object Used");
1264 771 : s->pdChLeedSchStPtMonthUsed = newPreDefColumn(state, s->pdstLeedSchedSetPts, "Month Assumed");
1265 771 : s->pdchLeedSchStPt11amWednesday = newPreDefColumn(state, s->pdstLeedSchedSetPts, "11am First Wednesday [C]");
1266 771 : s->pdchLeedSchStPt11amWedCnt = newPreDefColumn(state, s->pdstLeedSchedSetPts, "Days with Same 11am Value");
1267 771 : s->pdchLeedSchStPt11pmWednesday = newPreDefColumn(state, s->pdstLeedSchedSetPts, "11pm First Wednesday [C]");
1268 771 : s->pdchLeedSchStPt11pmWedCnt = newPreDefColumn(state, s->pdstLeedSchedSetPts, "Days with Same 11pm Value");
1269 :
1270 771 : s->pdrCO2Resilience = newPreDefReport(state, "CO2ResilienceSummary", "CO2R", "Annual CO2 Resilience Summary");
1271 :
1272 771 : s->pdstCO2Hours = newPreDefSubTable(state, s->pdrCO2Resilience, "CO2 Level Hours");
1273 771 : s->pdchCO2HourSafe = newPreDefColumn(state, s->pdstCO2Hours, "Safe (<= 1000 ppm) [hr]");
1274 771 : s->pdchCO2HourCaution = newPreDefColumn(state, s->pdstCO2Hours, "Caution (> 1000, <= 5000 ppm) [hr]");
1275 771 : s->pdchCO2HourHazard = newPreDefColumn(state, s->pdstCO2Hours, "Hazard (> 5000 ppm) [hr]");
1276 :
1277 771 : s->pdstCO2OccuHours = newPreDefSubTable(state, s->pdrCO2Resilience, "CO2 Level OccupantHours");
1278 771 : s->pdchCO2OccuHourSafe = newPreDefColumn(state, s->pdstCO2OccuHours, "Safe (<= 1000 ppm) [hr]");
1279 771 : s->pdchCO2OccuHourCaution = newPreDefColumn(state, s->pdstCO2OccuHours, "Caution (> 1000, <= 5000 ppm) [hr]");
1280 771 : s->pdchCO2OccuHourHazard = newPreDefColumn(state, s->pdstCO2OccuHours, "Hazard (> 5000 ppm) [hr]");
1281 :
1282 771 : s->pdstCO2OccupiedHours = newPreDefSubTable(state, s->pdrCO2Resilience, "CO2 Level OccupiedHours");
1283 771 : s->pdchCO2OccupiedHourSafe = newPreDefColumn(state, s->pdstCO2OccupiedHours, "Safe (<= 1000 ppm) [hr]");
1284 771 : s->pdchCO2OccupiedHourCaution = newPreDefColumn(state, s->pdstCO2OccupiedHours, "Caution (> 1000, <= 5000 ppm) [hr]");
1285 771 : s->pdchCO2OccupiedHourHazard = newPreDefColumn(state, s->pdstCO2OccupiedHours, "Hazard (> 5000 ppm) [hr]");
1286 :
1287 771 : s->pdrVisualResilience = newPreDefReport(state, "VisualResilienceSummary", "VisualR", "Annual Visual Resilience Summary");
1288 :
1289 771 : s->pdstIllumHours = newPreDefSubTable(state, s->pdrVisualResilience, "Illuminance Level Hours");
1290 771 : s->pdchIllumHourDark = newPreDefColumn(state, s->pdstIllumHours, "A Bit Dark (<= 100 lux) [hr]");
1291 771 : s->pdchIllumHourDim = newPreDefColumn(state, s->pdstIllumHours, "Dim (> 100, <= 300 lux) [hr]");
1292 771 : s->pdchIllumHourAdequate = newPreDefColumn(state, s->pdstIllumHours, "Adequate (> 300, <= 500 lux) [hr]");
1293 771 : s->pdchIllumHourBright = newPreDefColumn(state, s->pdstIllumHours, "Bright (>500 lux) [hr]");
1294 :
1295 771 : s->pdstIllumOccuHours = newPreDefSubTable(state, s->pdrVisualResilience, "Illuminance Level OccupantHours");
1296 771 : s->pdchIllumOccuHourDark = newPreDefColumn(state, s->pdstIllumOccuHours, "A Bit Dark (<= 100 lux) [hr]");
1297 771 : s->pdchIllumOccuHourDim = newPreDefColumn(state, s->pdstIllumOccuHours, "Dim (> 100, <= 300 lux) [hr]");
1298 771 : s->pdchIllumOccuHourAdequate = newPreDefColumn(state, s->pdstIllumOccuHours, "Adequate (> 300, <= 500 lux) [hr]");
1299 771 : s->pdchIllumOccuHourBright = newPreDefColumn(state, s->pdstIllumOccuHours, "Bright (>500 lux) [hr]");
1300 :
1301 771 : s->pdstIllumOccupiedHours = newPreDefSubTable(state, s->pdrVisualResilience, "Illuminance Level OccupiedHours");
1302 771 : s->pdchIllumOccupiedHourDark = newPreDefColumn(state, s->pdstIllumOccupiedHours, "A Bit Dark (<= 100 lux) [hr]");
1303 771 : s->pdchIllumOccupiedHourDim = newPreDefColumn(state, s->pdstIllumOccupiedHours, "Dim (> 100, <= 300 lux) [hr]");
1304 771 : s->pdchIllumOccupiedHourAdequate = newPreDefColumn(state, s->pdstIllumOccupiedHours, "Adequate (> 300, <= 500 lux) [hr]");
1305 771 : s->pdchIllumOccupiedHourBright = newPreDefColumn(state, s->pdstIllumOccupiedHours, "Bright (>500 lux) [hr]");
1306 771 : }
1307 :
1308 2370880 : void PreDefTableEntry(
1309 : EnergyPlusData &state, int const columnIndex, std::string_view objName, Real64 const tableEntryReal, Optional_int_const numSigDigits)
1310 : {
1311 : // SUBROUTINE INFORMATION:
1312 : // AUTHOR Jason Glazer
1313 : // DATE WRITTEN August 2006
1314 : // MODIFIED
1315 : // RE-ENGINEERED na
1316 :
1317 : // PURPOSE OF THIS SUBROUTINE:
1318 : // Creates an entry for predefined tables when the entry
1319 : // is a real variable
1320 :
1321 : // METHODOLOGY EMPLOYED:
1322 : // Simple assignments to public variables.
1323 :
1324 : // REFERENCES:
1325 : // na
1326 :
1327 : // USE STATEMENTS:
1328 :
1329 : // Locals
1330 : // SUBROUTINE ARGUMENT DEFINITIONS:
1331 :
1332 : // SUBROUTINE PARAMETER DEFINITIONS:
1333 :
1334 : // INTERFACE BLOCK SPECIFICATIONS:
1335 : // na
1336 :
1337 : // DERIVED TYPE DEFINITIONS:
1338 : // na
1339 :
1340 : // SUBROUTINE LOCAL VARIABLE DECLARATIONS:
1341 : int sigDigitCount;
1342 4741760 : std::string stringEntry;
1343 :
1344 2370880 : incrementTableEntry(state);
1345 : // check for number of significant digits
1346 2370880 : if (present(numSigDigits)) {
1347 1035129 : if ((numSigDigits <= 9) && (numSigDigits >= 0)) {
1348 1035129 : sigDigitCount = numSigDigits;
1349 : } else {
1350 0 : sigDigitCount = 2;
1351 : }
1352 : } else {
1353 1335751 : sigDigitCount = 2;
1354 : }
1355 :
1356 2370880 : if (tableEntryReal < 1e8) { // change from 1e10 for more robust entry writing
1357 : // something changed in FMT 7.x and "{:#12.{}F}" now outputs 13. So changing it to 11.{}F to maintain existing functionality. Likely
1358 : // related to https://github.com/fmtlib/fmt/issues/1893
1359 4741664 : state.dataOutRptPredefined->tableEntry(state.dataOutRptPredefined->numTableEntry).charEntry =
1360 7112496 : format("{:#11.{}F}", tableEntryReal, sigDigitCount);
1361 : } else {
1362 : // Formatting in scientific notation, zero sigDigits makes zero sense.
1363 : // **for something greater than 1E+08**, one sigDigits is very unhelpful (you're having an accuracy of 0.5E+07 at best)
1364 48 : if (sigDigitCount < 2) {
1365 0 : sigDigitCount = 2;
1366 : }
1367 96 : state.dataOutRptPredefined->tableEntry(state.dataOutRptPredefined->numTableEntry).charEntry =
1368 144 : format("{:12.{}Z}", tableEntryReal, sigDigitCount);
1369 : }
1370 :
1371 2370880 : if (state.dataOutRptPredefined->tableEntry(state.dataOutRptPredefined->numTableEntry).charEntry.size() > 12) {
1372 349 : state.dataOutRptPredefined->tableEntry(state.dataOutRptPredefined->numTableEntry).charEntry = " Too Big";
1373 : }
1374 :
1375 2370880 : state.dataOutRptPredefined->tableEntry(state.dataOutRptPredefined->numTableEntry).objectName = objName;
1376 2370880 : state.dataOutRptPredefined->tableEntry(state.dataOutRptPredefined->numTableEntry).indexColumn = columnIndex;
1377 2370880 : state.dataOutRptPredefined->tableEntry(state.dataOutRptPredefined->numTableEntry).origRealEntry = tableEntryReal;
1378 2370880 : state.dataOutRptPredefined->tableEntry(state.dataOutRptPredefined->numTableEntry).significantDigits = sigDigitCount;
1379 2370880 : state.dataOutRptPredefined->tableEntry(state.dataOutRptPredefined->numTableEntry).origEntryIsReal = true;
1380 2370880 : }
1381 :
1382 621850 : void PreDefTableEntry(EnergyPlusData &state, int const columnIndex, std::string_view objName, std::string_view tableEntryChar)
1383 : {
1384 : // SUBROUTINE INFORMATION:
1385 : // AUTHOR Jason Glazer
1386 : // DATE WRITTEN August 2006
1387 : // MODIFIED
1388 : // RE-ENGINEERED na
1389 :
1390 : // PURPOSE OF THIS SUBROUTINE:
1391 : // Creates an entry for predefined tables when the entry
1392 : // is a character variable
1393 :
1394 : // METHODOLOGY EMPLOYED:
1395 : // Simple assignments to public variables.
1396 :
1397 : // REFERENCES:
1398 : // na
1399 :
1400 : // USE STATEMENTS:
1401 :
1402 : // Locals
1403 : // SUBROUTINE ARGUMENT DEFINITIONS:
1404 :
1405 : // SUBROUTINE PARAMETER DEFINITIONS:
1406 : // na
1407 :
1408 : // INTERFACE BLOCK SPECIFICATIONS:
1409 : // na
1410 :
1411 : // DERIVED TYPE DEFINITIONS:
1412 : // na
1413 :
1414 : // SUBROUTINE LOCAL VARIABLE DECLARATIONS:
1415 :
1416 621850 : incrementTableEntry(state);
1417 621850 : state.dataOutRptPredefined->tableEntry(state.dataOutRptPredefined->numTableEntry).charEntry = tableEntryChar;
1418 621850 : state.dataOutRptPredefined->tableEntry(state.dataOutRptPredefined->numTableEntry).objectName = objName;
1419 621850 : state.dataOutRptPredefined->tableEntry(state.dataOutRptPredefined->numTableEntry).indexColumn = columnIndex;
1420 621850 : }
1421 :
1422 45391 : void PreDefTableEntry(EnergyPlusData &state, int const columnIndex, std::string_view objName, int const tableEntryInt)
1423 : {
1424 : // SUBROUTINE INFORMATION:
1425 : // AUTHOR Jason Glazer
1426 : // DATE WRITTEN August 2006
1427 : // MODIFIED
1428 : // RE-ENGINEERED na
1429 :
1430 : // PURPOSE OF THIS SUBROUTINE:
1431 : // Creates an entry for predefined tables when the entry
1432 : // is a integer variable
1433 :
1434 : // METHODOLOGY EMPLOYED:
1435 : // Simple assignments to public variables.
1436 :
1437 : // REFERENCES:
1438 : // na
1439 :
1440 : // USE STATEMENTS:
1441 :
1442 : // Locals
1443 : // SUBROUTINE ARGUMENT DEFINITIONS:
1444 :
1445 : // SUBROUTINE PARAMETER DEFINITIONS:
1446 :
1447 : // INTERFACE BLOCK SPECIFICATIONS:
1448 : // na
1449 :
1450 : // DERIVED TYPE DEFINITIONS:
1451 : // na
1452 :
1453 : // SUBROUTINE LOCAL VARIABLE DECLARATIONS:
1454 :
1455 45391 : incrementTableEntry(state);
1456 : // convert the integer to a string
1457 45391 : state.dataOutRptPredefined->tableEntry(state.dataOutRptPredefined->numTableEntry).charEntry = format("{:12}", tableEntryInt);
1458 45391 : state.dataOutRptPredefined->tableEntry(state.dataOutRptPredefined->numTableEntry).objectName = objName;
1459 45391 : state.dataOutRptPredefined->tableEntry(state.dataOutRptPredefined->numTableEntry).indexColumn = columnIndex;
1460 45391 : }
1461 :
1462 0 : std::string RetrievePreDefTableEntry(EnergyPlusData &state, int const columnIndex, std::string_view objName)
1463 : {
1464 0 : for (int iTableEntry = 1; iTableEntry <= state.dataOutRptPredefined->numTableEntry; ++iTableEntry) {
1465 0 : if (state.dataOutRptPredefined->tableEntry(iTableEntry).indexColumn == columnIndex &&
1466 0 : state.dataOutRptPredefined->tableEntry(iTableEntry).objectName == objName) {
1467 0 : return trimmed(ljustified(state.dataOutRptPredefined->tableEntry(iTableEntry).charEntry));
1468 : }
1469 : }
1470 0 : return "NOT FOUND";
1471 : }
1472 :
1473 3038121 : void incrementTableEntry(EnergyPlusData &state)
1474 : {
1475 : // SUBROUTINE INFORMATION:
1476 : // AUTHOR Jason Glazer
1477 : // DATE WRITTEN August 2006
1478 : // MODIFIED
1479 : // RE-ENGINEERED na
1480 :
1481 : // PURPOSE OF THIS SUBROUTINE:
1482 : // Manages the resizing of the TableEntry Array
1483 :
1484 : // METHODOLOGY EMPLOYED:
1485 : // Simple assignments to public variables.
1486 :
1487 : // REFERENCES:
1488 : // na
1489 :
1490 : // USE STATEMENTS:
1491 :
1492 : // SUBROUTINE ARGUMENT DEFINITIONS:
1493 : // na
1494 :
1495 : // SUBROUTINE PARAMETER DEFINITIONS:
1496 : // na
1497 :
1498 : // INTERFACE BLOCK SPECIFICATIONS:
1499 : // na
1500 :
1501 : // DERIVED TYPE DEFINITIONS:
1502 : // na
1503 :
1504 : // SUBROUTINE LOCAL VARIABLE DECLARATIONS:
1505 3038121 : if (!allocated(state.dataOutRptPredefined->tableEntry)) {
1506 771 : state.dataOutRptPredefined->tableEntry.allocate(sizeIncrement);
1507 771 : state.dataOutRptPredefined->sizeTableEntry = sizeIncrement;
1508 771 : state.dataOutRptPredefined->numTableEntry = 1;
1509 : } else {
1510 3037350 : ++state.dataOutRptPredefined->numTableEntry;
1511 : // if larger than current size grow the array
1512 3037350 : if (state.dataOutRptPredefined->numTableEntry > state.dataOutRptPredefined->sizeTableEntry) {
1513 8170 : state.dataOutRptPredefined->tableEntry.redimension(
1514 4085 : state.dataOutRptPredefined->sizeTableEntry *=
1515 12255 : 2); // Tuned Changed += sizeIncrement to *= 2 for reduced heap allocations (at some space cost)
1516 : }
1517 : }
1518 3038121 : }
1519 :
1520 65732 : void AddCompSizeTableEntry(
1521 : EnergyPlusData &state, std::string_view FieldType, std::string_view FieldName, std::string_view FieldDescription, Real64 const FieldValue)
1522 : {
1523 : // SUBROUTINE INFORMATION:
1524 : // AUTHOR Jason Glazer
1525 : // DATE WRITTEN July 2007
1526 : // MODIFIED
1527 : // RE-ENGINEERED na
1528 :
1529 : // PURPOSE OF THIS SUBROUTINE:
1530 : // Creates an entry for component size tables.
1531 :
1532 : // METHODOLOGY EMPLOYED:
1533 : // Simple assignments to public variables.
1534 :
1535 : // REFERENCES:
1536 : // na
1537 :
1538 : // USE STATEMENTS:
1539 :
1540 : // Locals
1541 : // SUBROUTINE ARGUMENT DEFINITIONS:
1542 :
1543 : // SUBROUTINE PARAMETER DEFINITIONS:
1544 : // na
1545 :
1546 : // INTERFACE BLOCK SPECIFICATIONS:
1547 : // na
1548 :
1549 : // DERIVED TYPE DEFINITIONS:
1550 : // na
1551 :
1552 : // SUBROUTINE LOCAL VARIABLE DECLARATIONS:
1553 :
1554 65732 : if (!allocated(state.dataOutRptPredefined->CompSizeTableEntry)) {
1555 633 : state.dataOutRptPredefined->CompSizeTableEntry.allocate(sizeIncrement);
1556 633 : state.dataOutRptPredefined->sizeCompSizeTableEntry = sizeIncrement;
1557 633 : state.dataOutRptPredefined->numCompSizeTableEntry = 1;
1558 : } else {
1559 65099 : ++state.dataOutRptPredefined->numCompSizeTableEntry;
1560 : // if larger than current size grow the array
1561 65099 : if (state.dataOutRptPredefined->numCompSizeTableEntry > state.dataOutRptPredefined->sizeCompSizeTableEntry) {
1562 624 : state.dataOutRptPredefined->CompSizeTableEntry.redimension(
1563 312 : state.dataOutRptPredefined->sizeCompSizeTableEntry *=
1564 936 : 2); // Tuned Changed += sizeIncrement to *= 2 for reduced heap allocations (at some space cost)
1565 : }
1566 : }
1567 65732 : state.dataOutRptPredefined->CompSizeTableEntry(state.dataOutRptPredefined->numCompSizeTableEntry).typeField = FieldType;
1568 65732 : state.dataOutRptPredefined->CompSizeTableEntry(state.dataOutRptPredefined->numCompSizeTableEntry).nameField = FieldName;
1569 65732 : state.dataOutRptPredefined->CompSizeTableEntry(state.dataOutRptPredefined->numCompSizeTableEntry).description = FieldDescription;
1570 65732 : state.dataOutRptPredefined->CompSizeTableEntry(state.dataOutRptPredefined->numCompSizeTableEntry).valField = FieldValue;
1571 65732 : }
1572 :
1573 0 : void AddShadowRelateTableEntry(EnergyPlusData &state, int const castingField, int const receivingField, int const receivingKind)
1574 : {
1575 : // SUBROUTINE INFORMATION:
1576 : // AUTHOR Jason Glazer
1577 : // DATE WRITTEN July 2007
1578 : // MODIFIED
1579 : // RE-ENGINEERED na
1580 :
1581 : // PURPOSE OF THIS SUBROUTINE:
1582 : // Creates an entry for any shadow hierarchy tables that consist
1583 : // of items and one or more subitems for each item.
1584 :
1585 : // METHODOLOGY EMPLOYED:
1586 : // Simple assignments to public variables.
1587 :
1588 : // REFERENCES:
1589 : // na
1590 :
1591 : // USE STATEMENTS:
1592 :
1593 : // Locals
1594 : // SUBROUTINE ARGUMENT DEFINITIONS:
1595 : // CHARACTER(len=*),INTENT(IN) :: castingField
1596 : // CHARACTER(len=*),INTENT(IN) :: receivingField
1597 :
1598 : // SUBROUTINE PARAMETER DEFINITIONS:
1599 : // na
1600 :
1601 : // INTERFACE BLOCK SPECIFICATIONS:
1602 : // na
1603 :
1604 : // DERIVED TYPE DEFINITIONS:
1605 : // na
1606 :
1607 : // SUBROUTINE LOCAL VARIABLE DECLARATIONS:
1608 :
1609 0 : if (!allocated(state.dataOutRptPredefined->ShadowRelate)) {
1610 0 : state.dataOutRptPredefined->ShadowRelate.allocate(sizeIncrement);
1611 0 : state.dataOutRptPredefined->sizeShadowRelate = sizeIncrement;
1612 0 : state.dataOutRptPredefined->numShadowRelate = 1;
1613 : } else {
1614 0 : ++state.dataOutRptPredefined->numShadowRelate;
1615 : // if larger than current size grow the array
1616 0 : if (state.dataOutRptPredefined->numShadowRelate > state.dataOutRptPredefined->sizeShadowRelate) {
1617 0 : state.dataOutRptPredefined->ShadowRelate.redimension(
1618 0 : state.dataOutRptPredefined->sizeShadowRelate *=
1619 0 : 2); // Tuned Changed += sizeIncrement to *= 2 for reduced heap allocations (at some space cost)
1620 : }
1621 : }
1622 0 : state.dataOutRptPredefined->ShadowRelate(state.dataOutRptPredefined->numShadowRelate).castSurf = castingField;
1623 0 : state.dataOutRptPredefined->ShadowRelate(state.dataOutRptPredefined->numShadowRelate).recSurf = receivingField;
1624 0 : state.dataOutRptPredefined->ShadowRelate(state.dataOutRptPredefined->numShadowRelate).recKind = receivingKind;
1625 0 : }
1626 :
1627 12745 : int newPreDefReport(EnergyPlusData &state, std::string_view inReportName, std::string_view inReportAbrev, std::string_view inReportNamewithSpaces)
1628 : {
1629 : // SUBROUTINE INFORMATION:
1630 : // AUTHOR Jason Glazer
1631 : // DATE WRITTEN August 2006
1632 : // MODIFIED
1633 : // RE-ENGINEERED na
1634 :
1635 : // PURPOSE OF THIS SUBROUTINE:
1636 : // Creates a new index for the next predefined report
1637 :
1638 : // METHODOLOGY EMPLOYED:
1639 : // na
1640 :
1641 : // REFERENCES:
1642 : // na
1643 :
1644 : // USE STATEMENTS:
1645 :
1646 : // Return value
1647 : int newPreDefReport;
1648 :
1649 : // Locals
1650 : // SUBROUTINE ARGUMENT DEFINITIONS:
1651 : // na
1652 :
1653 : // SUBROUTINE PARAMETER DEFINITIONS:
1654 :
1655 : // INTERFACE BLOCK SPECIFICATIONS:
1656 : // na
1657 :
1658 : // DERIVED TYPE DEFINITIONS:
1659 : // na
1660 :
1661 : // SUBROUTINE LOCAL VARIABLE DECLARATIONS:
1662 12745 : if (!allocated(state.dataOutRptPredefined->reportName)) {
1663 771 : state.dataOutRptPredefined->reportName.allocate(sizeIncrement);
1664 771 : state.dataOutRptPredefined->sizeReportName = sizeIncrement;
1665 771 : state.dataOutRptPredefined->numReportName = 1;
1666 : } else {
1667 11974 : ++state.dataOutRptPredefined->numReportName;
1668 : // if larger than current size grow the array
1669 11974 : if (state.dataOutRptPredefined->numReportName > state.dataOutRptPredefined->sizeReportName) {
1670 0 : state.dataOutRptPredefined->reportName.redimension(
1671 0 : state.dataOutRptPredefined->sizeReportName *=
1672 0 : 2); // Tuned Changed += sizeIncrement to *= 2 for reduced heap allocations (at some space cost)
1673 : }
1674 : }
1675 : // initialize new record
1676 12745 : state.dataOutRptPredefined->reportName(state.dataOutRptPredefined->numReportName).name = inReportName;
1677 12745 : state.dataOutRptPredefined->reportName(state.dataOutRptPredefined->numReportName).abrev = inReportAbrev;
1678 12745 : state.dataOutRptPredefined->reportName(state.dataOutRptPredefined->numReportName).namewithspaces = inReportNamewithSpaces;
1679 12745 : state.dataOutRptPredefined->reportName(state.dataOutRptPredefined->numReportName).show = false;
1680 12745 : newPreDefReport = state.dataOutRptPredefined->numReportName;
1681 12745 : return newPreDefReport;
1682 : }
1683 :
1684 64975 : int newPreDefSubTable(EnergyPlusData &state, int const reportIndex, std::string_view subTableName)
1685 : {
1686 : // SUBROUTINE INFORMATION:
1687 : // AUTHOR Jason Glazer
1688 : // DATE WRITTEN August 2006
1689 : // MODIFIED
1690 : // RE-ENGINEERED na
1691 :
1692 : // PURPOSE OF THIS SUBROUTINE:
1693 : // Assigns the index for predefined sub-tables
1694 :
1695 : // METHODOLOGY EMPLOYED:
1696 : // Simple assignments to public variables.
1697 :
1698 : // REFERENCES:
1699 : // na
1700 :
1701 : // USE STATEMENTS:
1702 :
1703 : // Return value
1704 :
1705 : // Locals
1706 : // SUBROUTINE ARGUMENT DEFINITIONS:
1707 :
1708 : // SUBROUTINE PARAMETER DEFINITIONS:
1709 : // na
1710 :
1711 : // INTERFACE BLOCK SPECIFICATIONS:
1712 : // na
1713 :
1714 : // DERIVED TYPE DEFINITIONS:
1715 : // na
1716 :
1717 : // SUBROUTINE LOCAL VARIABLE DECLARATIONS:
1718 64975 : if (!allocated(state.dataOutRptPredefined->subTable)) {
1719 771 : state.dataOutRptPredefined->subTable.allocate(sizeIncrement);
1720 771 : state.dataOutRptPredefined->sizeSubTable = sizeIncrement;
1721 771 : state.dataOutRptPredefined->numSubTable = 1;
1722 : } else {
1723 64204 : ++state.dataOutRptPredefined->numSubTable;
1724 : // if larger than current size then grow the array
1725 64204 : if (state.dataOutRptPredefined->numSubTable > state.dataOutRptPredefined->sizeSubTable) {
1726 0 : state.dataOutRptPredefined->subTable.redimension(
1727 0 : state.dataOutRptPredefined->sizeSubTable *=
1728 0 : 2); // Tuned Changed += sizeIncrement to *= 2 for reduced heap allocations (at some space cost)
1729 : }
1730 : }
1731 : // initialize new record)
1732 64975 : state.dataOutRptPredefined->subTable(state.dataOutRptPredefined->numSubTable).name = subTableName;
1733 64975 : state.dataOutRptPredefined->subTable(state.dataOutRptPredefined->numSubTable).indexReportName = reportIndex;
1734 64975 : return state.dataOutRptPredefined->numSubTable;
1735 : }
1736 :
1737 11074 : void addFootNoteSubTable(EnergyPlusData &state, int const subTableIndex, std::string_view footnoteText)
1738 : {
1739 : // SUBROUTINE INFORMATION:
1740 : // AUTHOR Jason Glazer
1741 : // DATE WRITTEN August 2008
1742 : // MODIFIED
1743 : // RE-ENGINEERED na
1744 :
1745 : // PURPOSE OF THIS SUBROUTINE:
1746 : // Adds a footnote to a subtable
1747 :
1748 : // METHODOLOGY EMPLOYED:
1749 : // Simple assignments to public variables.
1750 :
1751 : // REFERENCES:
1752 : // na
1753 :
1754 : // USE STATEMENTS:
1755 :
1756 : // Locals
1757 : // SUBROUTINE ARGUMENT DEFINITIONS:
1758 :
1759 : // SUBROUTINE PARAMETER DEFINITIONS:
1760 : // na
1761 :
1762 : // INTERFACE BLOCK SPECIFICATIONS:
1763 : // na
1764 :
1765 : // DERIVED TYPE DEFINITIONS:
1766 : // na
1767 :
1768 : // SUBROUTINE LOCAL VARIABLE DECLARATIONS:
1769 11074 : if ((subTableIndex >= 0) && (subTableIndex <= state.dataOutRptPredefined->numSubTable)) {
1770 11074 : state.dataOutRptPredefined->subTable(subTableIndex).footnote = footnoteText;
1771 : }
1772 11074 : }
1773 :
1774 528573 : int newPreDefColumn(EnergyPlusData &state, int const subTableIndex, std::string_view columnHeading)
1775 : {
1776 : // SUBROUTINE INFORMATION:
1777 : // AUTHOR Jason Glazer
1778 : // DATE WRITTEN August 2006
1779 : // MODIFIED
1780 : // RE-ENGINEERED na
1781 :
1782 : // PURPOSE OF THIS SUBROUTINE:
1783 : // Assigns the index variables for all predefined reports
1784 :
1785 : // METHODOLOGY EMPLOYED:
1786 : // Simple assignments to public variables.
1787 :
1788 : // REFERENCES:
1789 : // na
1790 :
1791 : // USE STATEMENTS:
1792 :
1793 : // Return value
1794 : int newPreDefColumn;
1795 :
1796 : // Locals
1797 : // SUBROUTINE ARGUMENT DEFINITIONS:
1798 :
1799 : // SUBROUTINE PARAMETER DEFINITIONS:
1800 : // na
1801 :
1802 : // INTERFACE BLOCK SPECIFICATIONS:
1803 : // na
1804 :
1805 : // DERIVED TYPE DEFINITIONS:
1806 : // na
1807 :
1808 : // SUBROUTINE LOCAL VARIABLE DECLARATIONS:
1809 528573 : if (!allocated(state.dataOutRptPredefined->columnTag)) {
1810 771 : state.dataOutRptPredefined->columnTag.allocate(sizeIncrement);
1811 771 : state.dataOutRptPredefined->sizeColumnTag = sizeIncrement;
1812 771 : state.dataOutRptPredefined->numColumnTag = 1;
1813 : } else {
1814 527802 : ++state.dataOutRptPredefined->numColumnTag;
1815 : // if larger than current size grow the array
1816 527802 : if (state.dataOutRptPredefined->numColumnTag > state.dataOutRptPredefined->sizeColumnTag) {
1817 4626 : state.dataOutRptPredefined->columnTag.redimension(
1818 2313 : state.dataOutRptPredefined->sizeColumnTag *=
1819 6939 : 2); // Tuned Changed += sizeIncrement to *= 2 for reduced heap allocations (at some space cost)
1820 : }
1821 : }
1822 : // initialize new record)
1823 528573 : state.dataOutRptPredefined->columnTag(state.dataOutRptPredefined->numColumnTag).heading = columnHeading;
1824 528573 : state.dataOutRptPredefined->columnTag(state.dataOutRptPredefined->numColumnTag).indexSubTable = subTableIndex;
1825 528573 : newPreDefColumn = state.dataOutRptPredefined->numColumnTag;
1826 528573 : return newPreDefColumn;
1827 : }
1828 :
1829 : } // namespace OutputReportPredefined
1830 :
1831 2313 : } // namespace EnergyPlus
|