Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions src/EnergyPlus/DataGlobals.hh
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,7 @@ struct DataGlobal : BaseGlobalStruct
int numSpaceTypes = 0; // Number of unique space types
int TimeStep = 0; // Counter for time steps (fractional hours)
Real64 TimeStepZone = 0.0; // Zone time step in fractional hours
bool SetupFlag = false; // True during the setup portion of a simulation
bool WarmupFlag = false; // True during the warmup portion of a simulation
Int64 StdOutputRecordCount = 0; // Count of Standard output records
Int64 StdMeterRecordCount = 0; // Count of Meter output records
Expand Down
22 changes: 15 additions & 7 deletions src/EnergyPlus/RuntimeLanguageProcessor.cc
Original file line number Diff line number Diff line change
Expand Up @@ -976,7 +976,7 @@ void WriteTrace(EnergyPlusData &state, int const StackNum, int const Instruction
std::string LineString;
std::string cValueString;
std::string TimeString;
std::string DuringWarmup;
std::string OccurrenceTimingInfo;

if ((!state.dataRuntimeLang->OutputFullEMSTrace) && (!state.dataRuntimeLang->OutputEMSErrors) && (!seriousErrorFound)) {
return;
Expand Down Expand Up @@ -1004,19 +1004,27 @@ void WriteTrace(EnergyPlusData &state, int const StackNum, int const Instruction

// put together timestamp info
if (state.dataGlobal->WarmupFlag) {
if (!state.dataGlobal->DoingSizing) {
DuringWarmup = " During Warmup, Occurrence info=";
if (!state.dataGlobal->SetupFlag) {
if (!state.dataGlobal->DoingSizing) {
OccurrenceTimingInfo = " During Warmup, Occurrence info=";
} else {
OccurrenceTimingInfo = " During Warmup & Sizing, Occurrence info=";
}
} else {
DuringWarmup = " During Warmup & Sizing, Occurrence info=";
if (!state.dataGlobal->DoingSizing) {
OccurrenceTimingInfo = " During Setup, Occurrence info=";
} else {
OccurrenceTimingInfo = " During Setup & Sizing, Occurrence info=";
}
}
} else {
if (!state.dataGlobal->DoingSizing) {
DuringWarmup = " Occurrence info=";
OccurrenceTimingInfo = " Occurrence info=";
} else {
DuringWarmup = " During Sizing, Occurrence info=";
OccurrenceTimingInfo = " During Sizing, Occurrence info=";
}
}
TimeString = DuringWarmup + state.dataEnvrn->EnvironmentName + ", " + state.dataEnvrn->CurMnDy + ' ' + CreateSysTimeIntervalString(state);
TimeString = OccurrenceTimingInfo + state.dataEnvrn->EnvironmentName + ", " + state.dataEnvrn->CurMnDy + ' ' + CreateSysTimeIntervalString(state);

if (state.dataRuntimeLang->OutputFullEMSTrace || (state.dataRuntimeLang->OutputEMSErrors && (ReturnValue.Type == Value::Error))) {
print(state.files.edd, "{},Line {},{},{},{}\n", NameString, LineNumString, LineString, cValueString, TimeString);
Expand Down
2 changes: 2 additions & 0 deletions src/EnergyPlus/SimulationManager.cc
Original file line number Diff line number Diff line change
Expand Up @@ -268,7 +268,9 @@ namespace SimulationManager {

Weather::ResetEnvironmentCounter(state);

state.dataGlobal->SetupFlag = true; // #11550: During Warmup -> During Setup
SetupSimulation(state, ErrorsFound);
state.dataGlobal->SetupFlag = false;

FaultsManager::CheckAndReadFaults(state);

Expand Down
14 changes: 11 additions & 3 deletions src/EnergyPlus/UtilityRoutines.cc
Original file line number Diff line number Diff line change
Expand Up @@ -905,10 +905,18 @@ void ShowContinueErrorTimeStamp(EnergyPlusData &state, std::string const &Messag
std::string cEnvHeader;

if (state.dataGlobal->WarmupFlag) {
if (!state.dataGlobal->DoingSizing) {
cEnvHeader = " During Warmup, Environment=";
if (!state.dataGlobal->SetupFlag) {
if (!state.dataGlobal->DoingSizing) {
cEnvHeader = " During Warmup, Environment=";
} else {
cEnvHeader = " During Warmup & Sizing, Environment=";
}
} else {
cEnvHeader = " During Warmup & Sizing, Environment=";
if (!state.dataGlobal->DoingSizing) {
cEnvHeader = " During Setup, Environment=";
} else {
cEnvHeader = " During Setup & Sizing, Environment=";
}
}
} else {
if (!state.dataGlobal->DoingSizing) {
Expand Down
4 changes: 3 additions & 1 deletion tst/EnergyPlus/unit/EMSManager.unit.cc
Original file line number Diff line number Diff line change
Expand Up @@ -970,6 +970,8 @@ TEST_F(EnergyPlusFixture, TestEMSVariableInitAfterRef1)

ASSERT_TRUE(process_idf(idf_objects));
state->init_state(*state);
state->dataGlobal->SetupFlag = true;
state->dataGlobal->WarmupFlag = true;

int internalVarNum = RuntimeLanguageProcessor::FindEMSVariable(*state, "site_temp_adj", 1);
EXPECT_EQ(internalVarNum, 0);
Expand Down Expand Up @@ -1012,7 +1014,7 @@ TEST_F(EnergyPlusFixture, TestEMSVariableInitAfterRef1)
" ** ~~~ ** Erl program line text: SET POWER_MULT = SITE_TEMP_ADJ",
" ** ~~~ ** Error message: *** Error: EvaluateExpression: Variable = 'SITE_TEMP_ADJ' used in expression has not been initialized! "
"*** ",
" ** ~~~ ** Environment=, at Simulation time= 00:-15 - 00:00",
" ** ~~~ ** During Setup, Environment=, at Simulation time= 00:-15 - 00:00",
" ** Fatal ** Previous EMS error caused program termination.",
" ...Summary of Errors that led to program termination:",
" ..... Reference severe error count=1",
Expand Down
Loading