LCOV - code coverage report
Current view: top level - EnergyPlus - OutputReportPredefined.cc (source / functions) Coverage Total Hit
Test: lcov.output.filtered Lines: 98.8 % 1248 1233
Test Date: 2025-05-22 16:09:37 Functions: 91.7 % 12 11

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

Generated by: LCOV version 2.0-1