Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

V24.2.0-IOFreeze: OutputControlFile's new "Output Space Sizing" field #5243

Merged
merged 8 commits into from
Sep 24, 2024
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
49 changes: 27 additions & 22 deletions resources/model/OpenStudio.idd
Original file line number Diff line number Diff line change
Expand Up @@ -37248,112 +37248,117 @@ OS:OutputControl:Files,
\key Yes
\key No
\required-field
A10, \field Output Zone Sizing
A10, \field Output Space Sizing
\type choice
\key Yes
\key No
\required-field
A11, \field Output System Sizing
A11, \field Output Zone Sizing
\type choice
\key Yes
\key No
\required-field
A12, \field Output DXF
A12, \field Output System Sizing
\type choice
\key Yes
\key No
\required-field
A13, \field Output BND
A13, \field Output DXF
\type choice
\key Yes
\key No
\required-field
A14, \field Output RDD
A14, \field Output BND
\type choice
\key Yes
\key No
\required-field
A15, \field Output MDD
A15, \field Output RDD
\type choice
\key Yes
\key No
\required-field
A16, \field Output MTD
A16, \field Output MDD
\type choice
\key Yes
\key No
\required-field
A17, \field Output SHD
A17, \field Output MTD
\type choice
\key Yes
\key No
\required-field
A18, \field Output DFS
A18, \field Output SHD
\type choice
\key Yes
\key No
\required-field
A19, \field Output GLHE
A19, \field Output DFS
\type choice
\key Yes
\key No
\required-field
A20, \field Output DelightIn
A20, \field Output GLHE
\type choice
\key Yes
\key No
\required-field
A21, \field Output DelightELdmp
A21, \field Output DelightIn
\type choice
\key Yes
\key No
\required-field
A22, \field Output DelightDFdmp
A22, \field Output DelightELdmp
\type choice
\key Yes
\key No
\required-field
A23, \field Output EDD
A23, \field Output DelightDFdmp
\type choice
\key Yes
\key No
\required-field
A24, \field Output DBG
A24, \field Output EDD
\type choice
\key Yes
\key No
\required-field
A25, \field Output PerfLog
A25, \field Output DBG
\type choice
\key Yes
\key No
\required-field
A26, \field Output SLN
A26, \field Output PerfLog
\type choice
\key Yes
\key No
\required-field
A27, \field Output SCI
A27, \field Output SLN
\type choice
\key Yes
\key No
\required-field
A28, \field Output WRL
A28, \field Output SCI
\type choice
\key Yes
\key No
\required-field
A29, \field Output Screen
A29, \field Output WRL
\type choice
\key Yes
\key No
\required-field
A30, \field Output ExtShd
A30, \field Output Screen
\type choice
\key Yes
\key No
\required-field
A31; \field Output Tarcog
A31, \field Output ExtShd
\type choice
\key Yes
\key No
\required-field
A32; \field Output Tarcog
\note Not Implemented Yet
\type choice
\key Yes
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,12 @@ namespace energyplus {
idfObject.setString(OutputControl_FilesFields::OutputAUDIT, "No");
}

if (modelObject.outputSpaceSizing()) {
idfObject.setString(OutputControl_FilesFields::OutputSpaceSizing, "Yes");
} else {
idfObject.setString(OutputControl_FilesFields::OutputSpaceSizing, "No");
}

if (modelObject.outputZoneSizing()) {
idfObject.setString(OutputControl_FilesFields::OutputZoneSizing, "Yes");
} else {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,14 @@ namespace energyplus {
}
}

if (boost::optional<std::string> _outputSpaceSizing = workspaceObject.getString(OutputControl_FilesFields::OutputSpaceSizing, true)) {
if (istringEqual("Yes", _outputSpaceSizing.get())) {
modelObject.setOutputSpaceSizing(true);
} else {
modelObject.setOutputSpaceSizing(false);
}
}

if (boost::optional<std::string> _outputZoneSizing = workspaceObject.getString(OutputControl_FilesFields::OutputZoneSizing, true)) {
if (istringEqual("Yes", _outputZoneSizing.get())) {
modelObject.setOutputZoneSizing(true);
Expand Down
190 changes: 97 additions & 93 deletions src/energyplus/Test/OutputControlFiles_GTest.cpp

Large diffs are not rendered by default.

17 changes: 17 additions & 0 deletions src/model/OutputControlFiles.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,10 @@ namespace model {
return getBooleanFieldValue(OS_OutputControl_FilesFields::OutputAUDIT);
}

bool OutputControlFiles_Impl::outputSpaceSizing() const {
return getBooleanFieldValue(OS_OutputControl_FilesFields::OutputSpaceSizing);
}

bool OutputControlFiles_Impl::outputZoneSizing() const {
return getBooleanFieldValue(OS_OutputControl_FilesFields::OutputZoneSizing);
}
Expand Down Expand Up @@ -194,6 +198,10 @@ namespace model {
return setBooleanFieldValue(OS_OutputControl_FilesFields::OutputAUDIT, outputAUDIT);
}

bool OutputControlFiles_Impl::setOutputSpaceSizing(bool outputSpaceSizing) {
return setBooleanFieldValue(OS_OutputControl_FilesFields::OutputSpaceSizing, outputSpaceSizing);
}

bool OutputControlFiles_Impl::setOutputZoneSizing(bool outputZoneSizing) {
return setBooleanFieldValue(OS_OutputControl_FilesFields::OutputZoneSizing, outputZoneSizing);
}
Expand Down Expand Up @@ -320,6 +328,10 @@ namespace model {
return getImpl<detail::OutputControlFiles_Impl>()->outputAUDIT();
}

bool OutputControlFiles::outputSpaceSizing() const {
return getImpl<detail::OutputControlFiles_Impl>()->outputSpaceSizing();
}

bool OutputControlFiles::outputZoneSizing() const {
return getImpl<detail::OutputControlFiles_Impl>()->outputZoneSizing();
}
Expand Down Expand Up @@ -440,6 +452,10 @@ namespace model {
return getImpl<detail::OutputControlFiles_Impl>()->setOutputAUDIT(outputAUDIT);
}

bool OutputControlFiles::setOutputSpaceSizing(bool outputSpaceSizing) {
return getImpl<detail::OutputControlFiles_Impl>()->setOutputSpaceSizing(outputSpaceSizing);
}

bool OutputControlFiles::setOutputZoneSizing(bool outputZoneSizing) {
return getImpl<detail::OutputControlFiles_Impl>()->setOutputZoneSizing(outputZoneSizing);
}
Expand Down Expand Up @@ -541,6 +557,7 @@ namespace model {
setOutputSQLite(true);
setOutputJSON(true);
setOutputAUDIT(true);
setOutputSpaceSizing(true);
setOutputZoneSizing(true);
setOutputSystemSizing(true);
setOutputDXF(true);
Expand Down
4 changes: 4 additions & 0 deletions src/model/OutputControlFiles.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,8 @@ namespace model {

bool outputAUDIT() const;

bool outputSpaceSizing() const;

bool outputZoneSizing() const;

bool outputSystemSizing() const;
Expand Down Expand Up @@ -119,6 +121,8 @@ namespace model {

bool setOutputAUDIT(bool outputAUDIT);

bool setOutputSpaceSizing(bool outputSpaceSizing);

bool setOutputZoneSizing(bool outputZoneSizing);

bool setOutputSystemSizing(bool outputSystemSizing);
Expand Down
4 changes: 4 additions & 0 deletions src/model/OutputControlFiles_Impl.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,8 @@ namespace model {

bool outputAUDIT() const;

bool outputSpaceSizing() const;

bool outputZoneSizing() const;

bool outputSystemSizing() const;
Expand Down Expand Up @@ -123,6 +125,8 @@ namespace model {

bool setOutputAUDIT(bool outputAUDIT);

bool setOutputSpaceSizing(bool outputSpaceSizing);

bool setOutputZoneSizing(bool outputZoneSizing);

bool setOutputSystemSizing(bool outputSystemSizing);
Expand Down
6 changes: 6 additions & 0 deletions src/model/test/OutputControlFiles_GTest.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,12 @@ TEST_F(ModelFixture, OutputControlFiles_GettersSetters) {
EXPECT_TRUE(outputControlFiles.setOutputAUDIT(true));
EXPECT_TRUE(outputControlFiles.outputAUDIT());

EXPECT_TRUE(outputControlFiles.outputSpaceSizing());
EXPECT_TRUE(outputControlFiles.setOutputSpaceSizing(false));
EXPECT_FALSE(outputControlFiles.outputSpaceSizing());
EXPECT_TRUE(outputControlFiles.setOutputSpaceSizing(true));
EXPECT_TRUE(outputControlFiles.outputSpaceSizing());

EXPECT_TRUE(outputControlFiles.outputZoneSizing());
EXPECT_TRUE(outputControlFiles.setOutputZoneSizing(false));
EXPECT_FALSE(outputControlFiles.outputZoneSizing());
Expand Down
27 changes: 26 additions & 1 deletion src/osversion/VersionTranslator.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -9208,7 +9208,32 @@ namespace osversion {
for (const IdfObject& object : idf_3_8_0.objects()) {
auto iddname = object.iddObject().name();

ss << object;
if (iddname == "OS:OutputControl:Files") {
// 1 Field has been added from 3.8.0 to 3.9.0:
// ----------------------------------------------
// * Output Space Sizing * 9
auto iddObject = idd_3_9_0.getObject(iddname);
IdfObject newObject(iddObject.get());

for (size_t i = 0; i < object.numFields(); ++i) {
if ((value = object.getString(i))) {
if (i < 9) {
newObject.setString(i, value.get());
} else {
newObject.setString(i + 1, value.get());
}
}
}

newObject.setString(9, "Yes");

ss << newObject;
m_refactored.emplace_back(std::move(object), std::move(newObject));

// No-op
} else {
ss << object;
}
}

return ss.str();
Expand Down
38 changes: 38 additions & 0 deletions src/osversion/test/3_9_0/test_vt_OutputControlFiles.osm
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@

OS:Version,
{5a5f47c5-8aa3-4040-adc2-48663f571c27}, !- Handle
3.8.0; !- Version Identifier

OS:OutputControl:Files,
{a12b68cb-1974-4c38-8a6f-684c1f05712a}, !- Handle
No, !- Output CSV
Yes, !- Output MTR
Yes, !- Output ESO
Yes, !- Output EIO
Yes, !- Output Tabular
Yes, !- Output SQLite
Yes, !- Output JSON
Yes, !- Output AUDIT
No, !- Output Zone Sizing
Yes, !- Output System Sizing
Yes, !- Output DXF
Yes, !- Output BND
Yes, !- Output RDD
Yes, !- Output MDD
Yes, !- Output MTD
Yes, !- Output SHD
Yes, !- Output DFS
Yes, !- Output GLHE
Yes, !- Output DelightIn
Yes, !- Output DelightELdmp
Yes, !- Output DelightDFdmp
Yes, !- Output EDD
Yes, !- Output DBG
Yes, !- Output PerfLog
Yes, !- Output SLN
Yes, !- Output SCI
Yes, !- Output WRL
Yes, !- Output Screen
Yes, !- Output ExtShd
Yes; !- Output Tarcog

10 changes: 10 additions & 0 deletions src/osversion/test/3_9_0/test_vt_OutputControlFiles.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
#require '/usr/local/openstudio-3.8.0/Ruby/openstudio'

include OpenStudio::Model

m = Model.new

sch_day = m.getOutputControlFiles
sch_day.setOutputZoneSizing(false)

m.save('test_vt_OutputControlFiles.osm', true)
Loading