From 2842ce00bee134f63dcf69101a634c7fff3c7b46 Mon Sep 17 00:00:00 2001 From: Scott Horowitz Date: Fri, 18 Aug 2023 19:16:58 -0600 Subject: [PATCH 1/2] Allows tabular data in Output:JSON without also needing to create the tabular output file. --- src/EnergyPlus/EconomicTariff.cc | 2 +- src/EnergyPlus/OutputReportTabular.cc | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/EnergyPlus/EconomicTariff.cc b/src/EnergyPlus/EconomicTariff.cc index c301cb288e8..894af99a3ca 100644 --- a/src/EnergyPlus/EconomicTariff.cc +++ b/src/EnergyPlus/EconomicTariff.cc @@ -2711,7 +2711,7 @@ void ComputeTariff(EnergyPlusData &state) Real64 annualAggregate; - if (!(state.files.outputControl.tabular || state.files.outputControl.sqlite)) { + if (!(state.files.outputControl.tabular || state.files.outputControl.sqlite || state.files.outputControl.json)) { state.dataOutRptTab->WriteTabularFiles = false; return; } diff --git a/src/EnergyPlus/OutputReportTabular.cc b/src/EnergyPlus/OutputReportTabular.cc index f0963afd192..a155fdecd22 100644 --- a/src/EnergyPlus/OutputReportTabular.cc +++ b/src/EnergyPlus/OutputReportTabular.cc @@ -323,7 +323,7 @@ void GetInputTabularMonthly(EnergyPlusData &state) // SUBROUTINE LOCAL VARIABLE DECLARATIONS: auto &ort = state.dataOutRptTab; - if (!(state.files.outputControl.tabular || state.files.outputControl.sqlite)) { + if (!(state.files.outputControl.tabular || state.files.outputControl.sqlite || state.files.outputControl.json)) { ort->WriteTabularFiles = false; return; } @@ -1064,7 +1064,7 @@ void GetInputTabularTimeBins(EnergyPlusData &state) Array1D_int objVarIDs; auto &ort = state.dataOutRptTab; - if (!(state.files.outputControl.tabular || state.files.outputControl.sqlite)) { + if (!(state.files.outputControl.tabular || state.files.outputControl.sqlite || state.files.outputControl.json)) { ort->WriteTabularFiles = false; return; } @@ -1470,7 +1470,7 @@ void GetInputOutputTableSummaryReports(EnergyPlusData &state) auto &ort = state.dataOutRptTab; bool ErrorsFound = false; - if (!(state.files.outputControl.tabular || state.files.outputControl.sqlite)) { + if (!(state.files.outputControl.tabular || state.files.outputControl.sqlite || state.files.outputControl.json)) { ort->WriteTabularFiles = false; return; } From 51a6a084ca072d16180df3917a16a6df195ff1b5 Mon Sep 17 00:00:00 2001 From: Scott Horowitz Date: Fri, 1 Sep 2023 15:05:23 -0600 Subject: [PATCH 2/2] Address comments. --- src/EnergyPlus/EconomicTariff.cc | 2 +- src/EnergyPlus/IOFiles.cc | 8 ++++++++ src/EnergyPlus/IOFiles.hh | 1 + src/EnergyPlus/OutputReportTabular.cc | 6 +++--- 4 files changed, 13 insertions(+), 4 deletions(-) diff --git a/src/EnergyPlus/EconomicTariff.cc b/src/EnergyPlus/EconomicTariff.cc index c6c94c132b3..bfe23831d7e 100644 --- a/src/EnergyPlus/EconomicTariff.cc +++ b/src/EnergyPlus/EconomicTariff.cc @@ -2711,7 +2711,7 @@ void ComputeTariff(EnergyPlusData &state) Real64 annualAggregate; - if (!(state.files.outputControl.tabular || state.files.outputControl.sqlite || state.files.outputControl.json)) { + if (!state.files.outputControl.writeTabular(state)) { state.dataOutRptTab->WriteTabularFiles = false; return; } diff --git a/src/EnergyPlus/IOFiles.cc b/src/EnergyPlus/IOFiles.cc index 7ea08775593..121c0385fd4 100644 --- a/src/EnergyPlus/IOFiles.cc +++ b/src/EnergyPlus/IOFiles.cc @@ -319,6 +319,14 @@ std::vector InputOutputFile::getLines() return std::vector(); } +bool IOFiles::OutputControl::writeTabular(EnergyPlusData &state) +{ + bool const htmlTabular = state.files.outputControl.tabular; + bool const jsonTabular = state.files.outputControl.json && state.dataResultsFramework->resultsFramework->timeSeriesAndTabularEnabled(); + bool const sqliteTabular = state.files.outputControl.sqlite; // && @JasonGlazer thinks something else maybe? + return (htmlTabular || jsonTabular || sqliteTabular); +} + void IOFiles::OutputControl::getInput(EnergyPlusData &state) { auto &ip = state.dataInputProcessing->inputProcessor; diff --git a/src/EnergyPlus/IOFiles.hh b/src/EnergyPlus/IOFiles.hh index 01da0c23427..d9cc8e037cf 100644 --- a/src/EnergyPlus/IOFiles.hh +++ b/src/EnergyPlus/IOFiles.hh @@ -673,6 +673,7 @@ public: OutputControl() = default; void getInput(EnergyPlusData &state); + bool writeTabular(EnergyPlusData &state); bool csv = false; bool mtr = true; diff --git a/src/EnergyPlus/OutputReportTabular.cc b/src/EnergyPlus/OutputReportTabular.cc index 92f775a3a02..ce39f171f47 100644 --- a/src/EnergyPlus/OutputReportTabular.cc +++ b/src/EnergyPlus/OutputReportTabular.cc @@ -323,7 +323,7 @@ void GetInputTabularMonthly(EnergyPlusData &state) // SUBROUTINE LOCAL VARIABLE DECLARATIONS: auto &ort = state.dataOutRptTab; - if (!(state.files.outputControl.tabular || state.files.outputControl.sqlite || state.files.outputControl.json)) { + if (!state.files.outputControl.writeTabular(state)) { ort->WriteTabularFiles = false; return; } @@ -1064,7 +1064,7 @@ void GetInputTabularTimeBins(EnergyPlusData &state) Array1D_int objVarIDs; auto &ort = state.dataOutRptTab; - if (!(state.files.outputControl.tabular || state.files.outputControl.sqlite || state.files.outputControl.json)) { + if (!state.files.outputControl.writeTabular(state)) { ort->WriteTabularFiles = false; return; } @@ -1470,7 +1470,7 @@ void GetInputOutputTableSummaryReports(EnergyPlusData &state) auto &ort = state.dataOutRptTab; bool ErrorsFound = false; - if (!(state.files.outputControl.tabular || state.files.outputControl.sqlite || state.files.outputControl.json)) { + if (!state.files.outputControl.writeTabular(state)) { ort->WriteTabularFiles = false; return; }