First time here? Check out the Help page!
1 | initial version |
(@Ruth Urban : not an answer per se, but hopefully this may narrow down the issue).
GHX horizontal trench options in OpenStudio (App vs SDK) have evolved somewhat over the last 12 months (e.g. this PR), between SDK v3.5.0 and v3.6.0. From the comments, this may continue to evolve through SDK v3.8.0. I suspect you're using OpenStudio Application v1.6.0 (i.e. SDK v3.6.1), as the code seems to be tripping here. Yet it's unclear if it's on the App side of things (vs the SDK), or incomplete/invalid input elsewhere, etc.
FYI, if I take the US DOE Prototype Warehouse and apply the following changes:
translator = OpenStudio::OSVersion::VersionTranslator.new
file = File.join(__dir__, "warehouse.osm")
path = OpenStudio::Path.new(file)
model = translator.loadModel(path)
model = model.get
trench = OpenStudio::Model::GroundHeatExchangerHorizontalTrench.new(model)
loop = model.getPlantLoopByName("Main Service Water Loop").get
puts loop.addSupplyBranchForComponent(trench) # returns true
alt_file = File.join(__dir__, "alt_warehouse.osm")
model.save(alt_file, true)
I can then reopen the file with the App:
... where the undisturbed ground temperature model has been added automatically. Simulation runs without any warnings/errors. I don't believe one can otherwise add (let alone edit) an undisturbed ground temperature model with the App.
Can you provide more info?
2 | No.2 Revision |
(@Ruth Urban : not an answer per se, but hopefully this may narrow down the issue).
GHX horizontal trench options in OpenStudio (App vs SDK) have evolved somewhat over the last 12 months (e.g. this PR), between SDK v3.5.0 and v3.6.0. From the comments, this may continue to evolve through SDK v3.8.0. I suspect you're using OpenStudio Application v1.6.0 (i.e. SDK v3.6.1), as the code seems to be tripping here. Yet it's unclear if it's on the App side of things (vs the SDK), or incomplete/invalid input elsewhere, etc.
FYI, if I take the US DOE Prototype Warehouse and apply the following changes:
translator = OpenStudio::OSVersion::VersionTranslator.new
file = File.join(__dir__, "warehouse.osm")
path = OpenStudio::Path.new(file)
model = translator.loadModel(path)
model = model.get
trench = OpenStudio::Model::GroundHeatExchangerHorizontalTrench.new(model)
loop = model.getPlantLoopByName("Main Service Water Loop").get
puts loop.addSupplyBranchForComponent(trench) # returns true
alt_file = File.join(__dir__, "alt_warehouse.osm")
model.save(alt_file, true)
I can then reopen the file with the App:
... where the undisturbed ground temperature model has been added generated automatically. Simulation runs without any warnings/errors. I don't believe one can otherwise add (let alone edit) an undisturbed ground temperature model with the App.
If it's greyed out in your case, it would appear the undisturbed ground temperature model hasn't been generated, isn't found, etc.
Can you provide more info?
3 | No.3 Revision |
(@Ruth Urban : not an answer per se, but this may narrow down the issue).
GHX horizontal trench options in OpenStudio (App vs SDK) have evolved somewhat over the last 12 months (e.g. this PR), between SDK v3.5.0 and v3.6.0. From the comments, this may continue to evolve through SDK v3.8.0. I suspect you're using OpenStudio Application v1.6.0 (i.e. SDK v3.6.1), as the code seems to be tripping here. Yet it's unclear if it's on the App side of things (vs the SDK), or incomplete/invalid input elsewhere, etc.
FYI, if I take the US DOE Prototype Warehouse and apply the following changes:
translator = OpenStudio::OSVersion::VersionTranslator.new
file = File.join(__dir__, "warehouse.osm")
path = OpenStudio::Path.new(file)
model = translator.loadModel(path)
model = model.get
trench = OpenStudio::Model::GroundHeatExchangerHorizontalTrench.new(model)
loop = model.getPlantLoopByName("Main Service Water Loop").get
puts loop.addSupplyBranchForComponent(trench) # returns true
alt_file = File.join(__dir__, "alt_warehouse.osm")
model.save(alt_file, true)
I can then reopen the file with the App:
... where the undisturbed ground temperature model has been generated automatically. Simulation runs without any warnings/errors. I don't believe one can otherwise add (let alone edit) an undisturbed ground temperature model with the App.
If it's greyed out in your case, it would appear the undisturbed ground temperature model hasn't been generated, isn't found, etc.
Can you provide more info?
4 | No.4 Revision |
(@Ruth Urban : not an answer per se, but this may narrow down the issue).
GHX horizontal trench options in OpenStudio (App vs SDK) have evolved somewhat over the last 12 months (e.g. this PR), between SDK v3.5.0 and v3.6.0. From the comments, this may continue to evolve through SDK v3.8.0. I suspect you're using OpenStudio Application v1.6.0 (i.e. SDK v3.6.1), as the code seems to be tripping here. (line 175). Yet it's unclear if it's on the App side of things (vs the SDK), or incomplete/invalid input elsewhere, etc.
FYI, if I take the US DOE Prototype Warehouse and apply the following changes:
require "openstudio"
translator = OpenStudio::OSVersion::VersionTranslator.new
file = File.join(__dir__, "warehouse.osm")
path = OpenStudio::Path.new(file)
model = OpenStudio::Path.new("warehouse.osm")
model = translator.loadModel(path)
model = model.get
trench = OpenStudio::Model::GroundHeatExchangerHorizontalTrench.new(model)
loop = model.getPlantLoopByName("Main Service Water Loop").get
puts loop.addSupplyBranchForComponent(trench) # returns true
alt_file = File.join(__dir__, "alt_warehouse.osm")
model.save(alt_file,
loop.addSupplyBranchForComponent(trench)
model.save("alt_warehouse.osm", true)
I can then reopen the re-open the altered file with the App:
... where the undisturbed ground temperature model has been generated automatically. Simulation runs without any warnings/errors. I don't believe one can otherwise add (let alone edit) an undisturbed ground temperature model with the App.
App. If it's greyed out in your case, it would appear the undisturbed ground temperature model hasn't been generated, isn't found, etc.or something along those lines.
Can you provide edit your initial question by providing more info?
5 | No.5 Revision |
(@Ruth Urban : not an answer per se, but this may narrow down the issue).
GHX horizontal trench options in OpenStudio (App vs SDK) have evolved somewhat over the last 12 months (e.g. this PR), between SDK v3.5.0 and v3.6.0. From the comments, this may continue to evolve through SDK v3.8.0. I suspect you're using OpenStudio Application v1.6.0 (i.e. SDK v3.6.1), as the code seems to be tripping here (line 175). Yet it's unclear if it's on the App side of things (vs the SDK), incomplete/invalid input elsewhere, etc.
FYI, if I take the US DOE Prototype Warehouse and apply the following changes:
require "openstudio"
translator = OpenStudio::OSVersion::VersionTranslator.new
path = OpenStudio::Path.new("warehouse.osm")
model = translator.loadModel(path)
model = model.get
trench = OpenStudio::Model::GroundHeatExchangerHorizontalTrench.new(model)
loop = model.getPlantLoopByName("Main Service Water Loop").get
loop.addSupplyBranchForComponent(trench)
model.save("alt_warehouse.osm", true)
I can then re-open the altered file with the App:
... where the undisturbed ground temperature model has been generated automatically. Simulation runs without any warnings/errors. warnings/errors (of course, results are meaningless in this case). I don't believe one can otherwise add (let alone edit) an undisturbed ground temperature model with the App. If it's greyed out in your case, it would appear the undisturbed ground temperature model hasn't been generated, isn't found, or something along those lines.
Can you edit your initial question by providing more info?
6 | No.6 Revision |
(@Ruth Urban : not an answer per se, but this may narrow down the issue).
GHX horizontal trench options in OpenStudio (App vs SDK) have evolved somewhat over the last 12 months (e.g. this PR), between SDK v3.5.0 and v3.6.0. From the comments, this may continue to evolve through SDK v3.8.0. I suspect you're using OpenStudio Application v1.6.0 (i.e. SDK v3.6.1), as the code seems to be tripping here (line 175). Yet it's unclear if it's on the App side of things (vs the SDK), incomplete/invalid input elsewhere, etc.
FYI, if I take the US DOE Prototype Warehouse and apply the following changes:
require "openstudio"
translator = OpenStudio::OSVersion::VersionTranslator.new
path = OpenStudio::Path.new("warehouse.osm")
model = translator.loadModel(path)
model = model.get
trench = OpenStudio::Model::GroundHeatExchangerHorizontalTrench.new(model)
loop = model.getPlantLoopByName("Main Service Water Loop").get
loop.addSupplyBranchForComponent(trench)
model.save("alt_warehouse.osm", true)
I can then re-open the altered file with the App:
... where the undisturbed ground temperature model has been generated automatically. Simulation runs without any warnings/errors (of course, results are meaningless in this case). I don't believe one can otherwise add (let alone edit) an undisturbed ground temperature model with the App. If it's greyed out in your case, it would appear the undisturbed ground temperature model hasn't been generated, isn't found, or something along those lines.
Can you edit your initial question by providing more info?
EDIT @Ruth Urban : OK, I can reproduce your exact issue with the basic test I initially suggested (modified warehouse example above). If I manually delete the "Undisturbed Ground Temperature Model" parameter of a OS:GroundHeatExchanger:HorizontalTrench object in an .osm file (just like your .osm excerpt) :
OS:GroundHeatExchanger:HorizontalTrench,
{3f4c66c5-cedc-4dbb-943d-73e64ad57fb9}, !- Handle
Ground Heat Exchanger Horizontal Trench 1, !- Name
{920159c0-63d1-48eb-a2df-b275b0aed5f3}, !- Inlet Node Name
{3640a33d-46e5-467d-9c1c-73a65c8cd5e2}, !- Outlet Node Name
0.004, !- Design Flow Rate {m3/s}
75, !- Trench Length in Pipe Axial Direction {m}
2, !- Number of Trenches
2, !- Horizontal Spacing Between Pipes {m}
0.016, !- Pipe Inner Diameter {m}
0.02667, !- Pipe Outer Diameter {m}
1.25, !- Burial Depth {m}
1.08, !- Soil Thermal Conductivity {W/m-K}
962, !- Soil Density {kg/m3}
2576, !- Soil Specific Heat {J/kg-K}
0.3895, !- Pipe Thermal Conductivity {W/m-K}
641, !- Pipe Density {kg/m3}
2405, !- Pipe Specific Heat {J/kg-K}
30, !- Soil Moisture Content Percent {percent}
50, !- Soil Moisture Content Percent at ...
, !- Undisturbed Ground Temperature Model
0.408; !- Evapotranspiration Ground Cover Parameter
... the OpenStudio binary/executable will crash with the following:
[BOOST_ASSERT] <2> Assertion modelObject failed on line 175 of openstudio::model::ModelObject openstudio::model::detail::GroundHeatExchangerHorizontalTrench_Impl::undisturbedGroundTemperatureModel() const in file /Users/jenkins/git/OpenStudioFull/3.6.1/src/model/GroundHeatExchangerHorizontalTrench.cpp.
Some OpenStudio objects can have certain parameters left blank. Clearly not the case here. Looks like a translation issue/bug (OpenStudio Application >> .osm). Not sure why, though: the App code should be relying on API methods, which would normally autogenerate the undisturbed ground temperature model. I suggest you file an issue. You can hyperlink this very UMH post, and refer to the simple warehouse modification I suggest (easy to reproduce the crash) ... instead of sharing your model if you prefer not to.
Short term solution for you (until OpenStudio v3.8.0 comes out):
STEP 1: Add the following to your .osm file (adjust parameters if needed, make sure the Handle is unique):
OS:Site:GroundTemperature:Undisturbed:KusudaAchenbach,
{97aad628-597c-49b4-8610-03bbea54f901}, !- Handle
Site Ground Temperature Undisturbed Kusuda Achenbach 1, !- Name
1.08, !- Soil Thermal Conductivity {W/m-K}
962, !- Soil Density {kg/m3}
2576, !- Soil Specific Heat {J/kg-K}
15.5, !- Average Soil Surface Temperature {C}
12.8, !- Average Amplitude of Surface Temperature {deltaC}
17.3; !- Phase Shift of Minimum Surface Temperature {days}
STEP 2 : Fill in the missing "OS:GroundHeatExchanger:HorizontalTrench" parameter with the Handle, e.g.:
OS:GroundHeatExchanger:HorizontalTrench,
{3f4c66c5-cedc-4dbb-943d-73e64ad57fb9}, !- Handle
Ground Heat Exchanger Horizontal Trench 1, !- Name
{920159c0-63d1-48eb-a2df-b275b0aed5f3}, !- Inlet Node Name
{3640a33d-46e5-467d-9c1c-73a65c8cd5e2}, !- Outlet Node Name
0.004, !- Design Flow Rate {m3/s}
75, !- Trench Length in Pipe Axial Direction {m}
2, !- Number of Trenches
2, !- Horizontal Spacing Between Pipes {m}
0.016, !- Pipe Inner Diameter {m}
0.02667, !- Pipe Outer Diameter {m}
1.25, !- Burial Depth {m}
1.08, !- Soil Thermal Conductivity {W/m-K}
962, !- Soil Density {kg/m3}
2576, !- Soil Specific Heat {J/kg-K}
0.3895, !- Pipe Thermal Conductivity {W/m-K}
641, !- Pipe Density {kg/m3}
2405, !- Pipe Specific Heat {J/kg-K}
30, !- Soil Moisture Content Percent {percent}
50, !- Soil Moisture Content Percent at ...
{97aad628-597c-49b4-8610-03bbea54f901}, !- Undisturbed Ground Temperature Model
0.408; !- Evapotranspiration Ground Cover Parameter
That should be enough. Hope this helps.
7 | No.7 Revision |
(@Ruth Urban : not an answer per se, but this may narrow down the issue).
GHX horizontal trench options in OpenStudio (App vs SDK) have evolved somewhat over the last 12 months (e.g. this PR), between SDK v3.5.0 and v3.6.0. From the comments, this may continue to evolve through SDK v3.8.0. I suspect you're using OpenStudio Application v1.6.0 (i.e. SDK v3.6.1), as the code seems to be tripping here (line 175). Yet it's unclear if it's on the App side of things (vs the SDK), incomplete/invalid input elsewhere, etc.
FYI, if I take the US DOE Prototype Warehouse and apply the following changes:
require "openstudio"
translator = OpenStudio::OSVersion::VersionTranslator.new
path = OpenStudio::Path.new("warehouse.osm")
model = translator.loadModel(path)
model = model.get
trench = OpenStudio::Model::GroundHeatExchangerHorizontalTrench.new(model)
loop = model.getPlantLoopByName("Main Service Water Loop").get
loop.addSupplyBranchForComponent(trench)
model.save("alt_warehouse.osm", true)
I can then re-open the altered file with the App:
... where the undisturbed ground temperature model has been generated automatically. Simulation runs without any warnings/errors (of course, results are meaningless in this case). I don't believe one can otherwise add (let alone edit) an undisturbed ground temperature model with the App. If it's greyed out in your case, it would appear the undisturbed ground temperature model hasn't been generated, isn't found, or something along those lines.
Can you edit your initial question by providing more info?
EDIT @Ruth Urban : OK, I can reproduce your exact issue with the basic test I initially suggested (modified warehouse example above). If I manually delete the "Undisturbed Ground Temperature Model" parameter of a OS:GroundHeatExchanger:HorizontalTrench object in an .osm file (just like your .osm excerpt) :
OS:GroundHeatExchanger:HorizontalTrench,
{3f4c66c5-cedc-4dbb-943d-73e64ad57fb9}, !- Handle
Ground Heat Exchanger Horizontal Trench 1, !- Name
{920159c0-63d1-48eb-a2df-b275b0aed5f3}, !- Inlet Node Name
{3640a33d-46e5-467d-9c1c-73a65c8cd5e2}, !- Outlet Node Name
0.004, !- Design Flow Rate {m3/s}
75, !- Trench Length in Pipe Axial Direction {m}
2, !- Number of Trenches
2, !- Horizontal Spacing Between Pipes {m}
0.016, !- Pipe Inner Diameter {m}
0.02667, !- Pipe Outer Diameter {m}
1.25, !- Burial Depth {m}
1.08, !- Soil Thermal Conductivity {W/m-K}
962, !- Soil Density {kg/m3}
2576, !- Soil Specific Heat {J/kg-K}
0.3895, !- Pipe Thermal Conductivity {W/m-K}
641, !- Pipe Density {kg/m3}
2405, !- Pipe Specific Heat {J/kg-K}
30, !- Soil Moisture Content Percent {percent}
50, !- Soil Moisture Content Percent at ...
, !- Undisturbed Ground Temperature Model
0.408; !- Evapotranspiration Ground Cover Parameter
... the OpenStudio binary/executable will crash with the following:
[BOOST_ASSERT] <2> Assertion modelObject failed on line 175 of openstudio::model::ModelObject openstudio::model::detail::GroundHeatExchangerHorizontalTrench_Impl::undisturbedGroundTemperatureModel() const in file /Users/jenkins/git/OpenStudioFull/3.6.1/src/model/GroundHeatExchangerHorizontalTrench.cpp.
Some OpenStudio objects can have certain parameters left blank. Clearly not the case here. Looks like a translation issue/bug (OpenStudio Application >> .osm). Not sure why, though: the App code should be relying on API methods, which would normally autogenerate the undisturbed ground temperature model. I suggest you file an issue. You can hyperlink this very UMH post, and refer to the simple warehouse modification I suggest (easy to reproduce the crash) ... instead of sharing your model if you prefer not to.
Short term solution for you (until OpenStudio v3.8.0 comes out):
STEP 1: Add the following to your .osm file (adjust parameters if needed, make sure the Handle is unique):
OS:Site:GroundTemperature:Undisturbed:KusudaAchenbach,
{97aad628-597c-49b4-8610-03bbea54f901}, !- Handle
Site Ground Temperature Undisturbed Kusuda Achenbach 1, !- Name
1.08, !- Soil Thermal Conductivity {W/m-K}
962, !- Soil Density {kg/m3}
2576, !- Soil Specific Heat {J/kg-K}
15.5, !- Average Soil Surface Temperature {C}
12.8, !- Average Amplitude of Surface Temperature {deltaC}
Temp...
17.3; !- Phase Shift of Minimum Surface Temperature {days}
Temp...
STEP 2 : Fill in the missing "OS:GroundHeatExchanger:HorizontalTrench" parameter with the Handle, e.g.:
OS:GroundHeatExchanger:HorizontalTrench,
{3f4c66c5-cedc-4dbb-943d-73e64ad57fb9}, !- Handle
Ground Heat Exchanger Horizontal Trench 1, !- Name
{920159c0-63d1-48eb-a2df-b275b0aed5f3}, !- Inlet Node Name
{3640a33d-46e5-467d-9c1c-73a65c8cd5e2}, !- Outlet Node Name
0.004, !- Design Flow Rate {m3/s}
75, !- Trench Length in Pipe Axial Direction {m}
2, !- Number of Trenches
2, !- Horizontal Spacing Between Pipes {m}
0.016, !- Pipe Inner Diameter {m}
0.02667, !- Pipe Outer Diameter {m}
1.25, !- Burial Depth {m}
1.08, !- Soil Thermal Conductivity {W/m-K}
962, !- Soil Density {kg/m3}
2576, !- Soil Specific Heat {J/kg-K}
0.3895, !- Pipe Thermal Conductivity {W/m-K}
641, !- Pipe Density {kg/m3}
2405, !- Pipe Specific Heat {J/kg-K}
30, !- Soil Moisture Content Percent {percent}
50, !- Soil Moisture Content Percent at ...
{97aad628-597c-49b4-8610-03bbea54f901}, !- Undisturbed Ground Temperature Model
0.408; !- Evapotranspiration Ground Cover Parameter
That should be enough. Hope this helps.
8 | No.8 Revision |
(@Ruth Urban : not an answer per se, but this may narrow down the issue).
GHX horizontal trench options in OpenStudio (App vs SDK) have evolved somewhat over the last 12 months (e.g. this PR), between SDK v3.5.0 and v3.6.0. From the comments, this may continue to evolve through SDK v3.8.0. I suspect you're using OpenStudio Application v1.6.0 (i.e. SDK v3.6.1), as the code seems to be tripping here (line 175). Yet it's unclear if it's on the App side of things (vs the SDK), incomplete/invalid input elsewhere, etc.
FYI, if I take the US DOE Prototype Warehouse and apply the following changes:
require "openstudio"
translator = OpenStudio::OSVersion::VersionTranslator.new
path = OpenStudio::Path.new("warehouse.osm")
model = translator.loadModel(path)
model = model.get
trench = OpenStudio::Model::GroundHeatExchangerHorizontalTrench.new(model)
loop = model.getPlantLoopByName("Main Service Water Loop").get
loop.addSupplyBranchForComponent(trench)
model.save("alt_warehouse.osm", true)
I can then re-open the altered file with the App:
... where the undisturbed ground temperature model has been generated automatically. Simulation runs without any warnings/errors (of course, results are meaningless in this case). I don't believe one can otherwise add (let alone edit) an undisturbed ground temperature model with the App. If it's greyed out in your case, it would appear the undisturbed ground temperature model hasn't been generated, isn't found, or something along those lines.
Can you edit your initial question by providing more info?
EDIT @Ruth Urban : OK, I can reproduce your exact issue with the basic test I initially suggested (modified warehouse example above). If I manually delete the "Undisturbed Ground Temperature Model" parameter of a an OS:GroundHeatExchanger:HorizontalTrench object in an .osm file (just like your .osm excerpt) :
OS:GroundHeatExchanger:HorizontalTrench,
{3f4c66c5-cedc-4dbb-943d-73e64ad57fb9}, !- Handle
Ground Heat Exchanger Horizontal Trench 1, !- Name
{920159c0-63d1-48eb-a2df-b275b0aed5f3}, !- Inlet Node Name
{3640a33d-46e5-467d-9c1c-73a65c8cd5e2}, !- Outlet Node Name
0.004, !- Design Flow Rate {m3/s}
75, !- Trench Length in Pipe Axial Direction {m}
2, !- Number of Trenches
2, !- Horizontal Spacing Between Pipes {m}
0.016, !- Pipe Inner Diameter {m}
0.02667, !- Pipe Outer Diameter {m}
1.25, !- Burial Depth {m}
1.08, !- Soil Thermal Conductivity {W/m-K}
962, !- Soil Density {kg/m3}
2576, !- Soil Specific Heat {J/kg-K}
0.3895, !- Pipe Thermal Conductivity {W/m-K}
641, !- Pipe Density {kg/m3}
2405, !- Pipe Specific Heat {J/kg-K}
30, !- Soil Moisture Content Percent {percent}
50, !- Soil Moisture Content Percent at ...
, !- Undisturbed Ground Temperature Model
0.408; !- Evapotranspiration Ground Cover Parameter
... the OpenStudio binary/executable will crash with the following:
[BOOST_ASSERT] <2> Assertion modelObject failed on line 175 of openstudio::model::ModelObject openstudio::model::detail::GroundHeatExchangerHorizontalTrench_Impl::undisturbedGroundTemperatureModel() const in file /Users/jenkins/git/OpenStudioFull/3.6.1/src/model/GroundHeatExchangerHorizontalTrench.cpp.
Some OpenStudio objects can can have certain parameters left blank. Clearly not the case here. Looks like a translation issue/bug (OpenStudio Application >> .osm). Not sure why, though: the App code should be relying on API methods, which would normally autogenerate the undisturbed ground temperature model. I suggest you file an issue. You can hyperlink this very UMH post, and refer to the simple warehouse modification I suggest (easy to reproduce the crash) ... instead of sharing your model if you prefer not to.
Short term solution for you (until OpenStudio v3.8.0 comes out):
STEP 1: Add the following to your .osm file (adjust parameters if as needed, make sure the Handle is unique):
OS:Site:GroundTemperature:Undisturbed:KusudaAchenbach,
{97aad628-597c-49b4-8610-03bbea54f901}, !- Handle
Site Ground Temperature Undisturbed Kusuda Achenbach 1, !- Name
1.08, !- Soil Thermal Conductivity {W/m-K}
962, !- Soil Density {kg/m3}
2576, !- Soil Specific Heat {J/kg-K}
15.5, !- Average Soil Surface Temperature {C}
12.8, !- Average Amplitude of Surface Temp...
17.3; !- Phase Shift of Minimum Surface Temp...
STEP 2 : Fill in the missing "OS:GroundHeatExchanger:HorizontalTrench" parameter with the Handle, e.g.:
OS:GroundHeatExchanger:HorizontalTrench,
{3f4c66c5-cedc-4dbb-943d-73e64ad57fb9}, !- Handle
Ground Heat Exchanger Horizontal Trench 1, !- Name
{920159c0-63d1-48eb-a2df-b275b0aed5f3}, !- Inlet Node Name
{3640a33d-46e5-467d-9c1c-73a65c8cd5e2}, !- Outlet Node Name
0.004, !- Design Flow Rate {m3/s}
75, !- Trench Length in Pipe Axial Direction {m}
2, !- Number of Trenches
2, !- Horizontal Spacing Between Pipes {m}
0.016, !- Pipe Inner Diameter {m}
0.02667, !- Pipe Outer Diameter {m}
1.25, !- Burial Depth {m}
1.08, !- Soil Thermal Conductivity {W/m-K}
962, !- Soil Density {kg/m3}
2576, !- Soil Specific Heat {J/kg-K}
0.3895, !- Pipe Thermal Conductivity {W/m-K}
641, !- Pipe Density {kg/m3}
2405, !- Pipe Specific Heat {J/kg-K}
30, !- Soil Moisture Content Percent {percent}
50, !- Soil Moisture Content Percent at ...
{97aad628-597c-49b4-8610-03bbea54f901}, !- Undisturbed Ground Temperature Model
0.408; !- Evapotranspiration Ground Cover Parameter
That should be enough. Hope this helps.
9 | No.9 Revision |
(@Ruth Urban : not an answer per se, but this may narrow down the issue).
GHX horizontal trench options in OpenStudio (App vs SDK) have evolved somewhat over the last 12 months (e.g. this PR), between SDK v3.5.0 and v3.6.0. From the comments, this may continue to evolve through SDK v3.8.0. I suspect you're using OpenStudio Application v1.6.0 (i.e. SDK v3.6.1), as the code seems to be tripping here (line 175). Yet it's unclear if it's on the App side of things (vs the SDK), incomplete/invalid input elsewhere, etc.
FYI, if I take the US DOE Prototype Warehouse and apply the following changes:
require "openstudio"
translator = OpenStudio::OSVersion::VersionTranslator.new
path = OpenStudio::Path.new("warehouse.osm")
model = translator.loadModel(path)
model = model.get
trench = OpenStudio::Model::GroundHeatExchangerHorizontalTrench.new(model)
loop = model.getPlantLoopByName("Main Service Water Loop").get
loop.addSupplyBranchForComponent(trench)
model.save("alt_warehouse.osm", true)
I can then re-open the altered file with the App:
... where the undisturbed ground temperature model has been generated automatically. Simulation runs without any warnings/errors (of course, results are meaningless in this case). I don't believe one can otherwise add (let alone edit) an undisturbed ground temperature model with the App. If it's greyed out in your case, it would appear the undisturbed ground temperature model hasn't been generated, isn't found, or something along those lines.
Can you edit your initial question by providing more info?
EDIT @Ruth Urban : OK, I can reproduce your exact issue with the basic test I initially suggested (modified warehouse example above). If I manually delete the "Undisturbed Ground Temperature Model" parameter of an OS:GroundHeatExchanger:HorizontalTrench object in an .osm file (just like your .osm excerpt) :
OS:GroundHeatExchanger:HorizontalTrench,
{3f4c66c5-cedc-4dbb-943d-73e64ad57fb9}, !- Handle
Ground Heat Exchanger Horizontal Trench 1, !- Name
{920159c0-63d1-48eb-a2df-b275b0aed5f3}, !- Inlet Node Name
{3640a33d-46e5-467d-9c1c-73a65c8cd5e2}, !- Outlet Node Name
0.004, !- Design Flow Rate {m3/s}
75, !- Trench Length in Pipe Axial Direction {m}
2, !- Number of Trenches
2, !- Horizontal Spacing Between Pipes {m}
0.016, !- Pipe Inner Diameter {m}
0.02667, !- Pipe Outer Diameter {m}
1.25, !- Burial Depth {m}
1.08, !- Soil Thermal Conductivity {W/m-K}
962, !- Soil Density {kg/m3}
2576, !- Soil Specific Heat {J/kg-K}
0.3895, !- Pipe Thermal Conductivity {W/m-K}
641, !- Pipe Density {kg/m3}
2405, !- Pipe Specific Heat {J/kg-K}
30, !- Soil Moisture Content Percent {percent}
50, !- Soil Moisture Content Percent at ...
, !- Undisturbed Ground Temperature Model
0.408; !- Evapotranspiration Ground Cover Parameter
... the OpenStudio binary/executable will crash with the following:
[BOOST_ASSERT] <2> Assertion modelObject failed on line 175 of openstudio::model::ModelObject openstudio::model::detail::GroundHeatExchangerHorizontalTrench_Impl::undisturbedGroundTemperatureModel() const in file /Users/jenkins/git/OpenStudioFull/3.6.1/src/model/GroundHeatExchangerHorizontalTrench.cpp.
Some OpenStudio objects can have certain parameters left blank. Clearly not the case here. Looks like a translation issue/bug (OpenStudio Application >> .osm). Not sure why, though: the App code should be relying on API methods, which would normally autogenerate the undisturbed ground temperature model. I suggest you file an issue. You can hyperlink this very UMH post, and refer to the simple warehouse modification I suggest (easy to reproduce the crash) ... instead of sharing your model if you prefer not to.
Short term solution for you (until OpenStudio v3.8.0 comes out):
STEP 1: Add the following to your .osm file (adjust parameters as needed, make sure the Handle is unique):
OS:Site:GroundTemperature:Undisturbed:KusudaAchenbach,
{97aad628-597c-49b4-8610-03bbea54f901}, !- Handle
Site Ground Temperature Undisturbed Kusuda Achenbach 1, !- Name
1.08, !- Soil Thermal Conductivity {W/m-K}
962, !- Soil Density {kg/m3}
2576, !- Soil Specific Heat {J/kg-K}
15.5, !- Average Soil Surface Temperature {C}
12.8, !- Average Amplitude of Surface Temp...
17.3; !- Phase Shift of Minimum Surface Temp...
STEP 2 : Fill in the missing "OS:GroundHeatExchanger:HorizontalTrench" parameter with the Handle, e.g.:
OS:GroundHeatExchanger:HorizontalTrench,
{3f4c66c5-cedc-4dbb-943d-73e64ad57fb9}, !- Handle
Ground Heat Exchanger Horizontal Trench 1, !- Name
{920159c0-63d1-48eb-a2df-b275b0aed5f3}, !- Inlet Node Name
{3640a33d-46e5-467d-9c1c-73a65c8cd5e2}, !- Outlet Node Name
0.004, !- Design Flow Rate {m3/s}
75, !- Trench Length in Pipe Axial Direction {m}
2, !- Number of Trenches
2, !- Horizontal Spacing Between Pipes {m}
0.016, !- Pipe Inner Diameter {m}
0.02667, !- Pipe Outer Diameter {m}
1.25, !- Burial Depth {m}
1.08, !- Soil Thermal Conductivity {W/m-K}
962, !- Soil Density {kg/m3}
2576, !- Soil Specific Heat {J/kg-K}
0.3895, !- Pipe Thermal Conductivity {W/m-K}
641, !- Pipe Density {kg/m3}
2405, !- Pipe Specific Heat {J/kg-K}
30, !- Soil Moisture Content Percent {percent}
50, !- Soil Moisture Content Percent at ...
{97aad628-597c-49b4-8610-03bbea54f901}, !- Undisturbed Ground Temperature Model
0.408; !- Evapotranspiration Ground Cover Parameter
That should be enough. Hope this helps.
EDIT (Aug 25. 2024), in response to @laiamv 's follow-up question on GroundHeatExchangerVertical.
The solution is pretty much the same. As summarized here, the undisturbed ground temperature model issue for vertical GSHPs has been fixed as of OpenStudio SDK 3.7.0. The following steps work with OpenStudioApplication 1.7.1 (SDK 3.7.0). I have not tested these against earlier versions.
a. Make a copy of your .osm file (so you can safely experiment before committing)
b. Open your .osm file with a text editor
c. Locate your GroundHeatExchangerVertical object
d. Add the following (ideally above/near the GroundHeatExchangerVertical entry, although it doesn't really matter):
OS:Site:GroundTemperature:Undisturbed:KusudaAchenbach,
{dec3839b-d81b-43c2-8e73-75ee2dc962de}, !- Handle
Kusuda Achenbach undisturbed, !- Name
0.692626, !- Soil Thermal Conductivity {W/m-K}
920, !- Soil Density {kg/m3}
2551.08695652174, !- Soil Specific Heat {J/kg-K}
13.375, !- Average Soil Surface Temperature {C}
3.2, !- Average Amplitude of Surface Temperature {deltaC}
8; !- Phase Shift of Minimum Surface Temperature {days}
e. These are autogenerated default values when instantiating the object (SDK v3.7.0 onwards)
f. Adapt values based on your local conditions
g. Take note of its handle, here: {dec3839b-d81b-43c2-8e73-75ee2dc962de}
h. Search your .osm file to ensure this autogenerated handle remains unique (alter if needed)
i. Edit the GroundHeatExchangerVertical entry as follows:
{dec3839b-d81b-43c2-8e73-75ee2dc962de}, !- Undisturbed Ground Temperature Model
j. Save your .osm file
k. Open using the OpenStudioApplication v1.7.1
l. Check the parameters using the App (note the "Undisturbed Ground Temperature Model" entry):
m. Run the simulation
n. Check results & check run/eplusout.err file
... I don't notice any related errors after running an annual simulation on my side. Hope this works for you.
10 | No.10 Revision |
(@Ruth Urban : not an answer per se, but this may narrow down the issue).
GHX horizontal trench options in OpenStudio (App vs SDK) have evolved somewhat over the last 12 months (e.g. this PR), between SDK v3.5.0 and v3.6.0. From the comments, this may continue to evolve through SDK v3.8.0. I suspect you're using OpenStudio Application v1.6.0 (i.e. SDK v3.6.1), as the code seems to be tripping here (line 175). Yet it's unclear if it's on the App side of things (vs the SDK), incomplete/invalid input elsewhere, etc.
FYI, if I take the US DOE Prototype Warehouse and apply the following changes:
require "openstudio"
translator = OpenStudio::OSVersion::VersionTranslator.new
path = OpenStudio::Path.new("warehouse.osm")
model = translator.loadModel(path)
model = model.get
trench = OpenStudio::Model::GroundHeatExchangerHorizontalTrench.new(model)
loop = model.getPlantLoopByName("Main Service Water Loop").get
loop.addSupplyBranchForComponent(trench)
model.save("alt_warehouse.osm", true)
I can then re-open the altered file with the App:
... where the undisturbed ground temperature model has been generated automatically. Simulation runs without any warnings/errors (of course, results are meaningless in this case). I don't believe one can otherwise add (let alone edit) an undisturbed ground temperature model with the App. If it's greyed out in your case, it would appear the undisturbed ground temperature model hasn't been generated, isn't found, or something along those lines.
Can you edit your initial question by providing more info?
EDIT @Ruth Urban : OK, I can reproduce your exact issue with the basic test I initially suggested (modified warehouse example above). If I manually delete the "Undisturbed Ground Temperature Model" parameter of an OS:GroundHeatExchanger:HorizontalTrench object in an .osm file (just like your .osm excerpt) :
OS:GroundHeatExchanger:HorizontalTrench,
{3f4c66c5-cedc-4dbb-943d-73e64ad57fb9}, !- Handle
Ground Heat Exchanger Horizontal Trench 1, !- Name
{920159c0-63d1-48eb-a2df-b275b0aed5f3}, !- Inlet Node Name
{3640a33d-46e5-467d-9c1c-73a65c8cd5e2}, !- Outlet Node Name
0.004, !- Design Flow Rate {m3/s}
75, !- Trench Length in Pipe Axial Direction {m}
2, !- Number of Trenches
2, !- Horizontal Spacing Between Pipes {m}
0.016, !- Pipe Inner Diameter {m}
0.02667, !- Pipe Outer Diameter {m}
1.25, !- Burial Depth {m}
1.08, !- Soil Thermal Conductivity {W/m-K}
962, !- Soil Density {kg/m3}
2576, !- Soil Specific Heat {J/kg-K}
0.3895, !- Pipe Thermal Conductivity {W/m-K}
641, !- Pipe Density {kg/m3}
2405, !- Pipe Specific Heat {J/kg-K}
30, !- Soil Moisture Content Percent {percent}
50, !- Soil Moisture Content Percent at ...
, !- Undisturbed Ground Temperature Model
0.408; !- Evapotranspiration Ground Cover Parameter
... the OpenStudio binary/executable will crash with the following:
[BOOST_ASSERT] <2> Assertion modelObject failed on line 175 of openstudio::model::ModelObject openstudio::model::detail::GroundHeatExchangerHorizontalTrench_Impl::undisturbedGroundTemperatureModel() const in file /Users/jenkins/git/OpenStudioFull/3.6.1/src/model/GroundHeatExchangerHorizontalTrench.cpp.
Some OpenStudio objects can have certain parameters left blank. Clearly not the case here. Looks like a translation issue/bug (OpenStudio Application >> .osm). Not sure why, though: the App code should be relying on API methods, which would normally autogenerate the undisturbed ground temperature model. I suggest you file an issue. You can hyperlink this very UMH post, and refer to the simple warehouse modification I suggest (easy to reproduce the crash) ... instead of sharing your model if you prefer not to.
Short term solution for you (until OpenStudio v3.8.0 comes out):
STEP 1: Add the following to your .osm file (adjust parameters as needed, make sure the Handle is unique):
OS:Site:GroundTemperature:Undisturbed:KusudaAchenbach,
{97aad628-597c-49b4-8610-03bbea54f901}, !- Handle
Site Ground Temperature Undisturbed Kusuda Achenbach 1, !- Name
1.08, !- Soil Thermal Conductivity {W/m-K}
962, !- Soil Density {kg/m3}
2576, !- Soil Specific Heat {J/kg-K}
15.5, !- Average Soil Surface Temperature {C}
12.8, !- Average Amplitude of Surface Temp...
17.3; !- Phase Shift of Minimum Surface Temp...
STEP 2 : Fill in the missing "OS:GroundHeatExchanger:HorizontalTrench" parameter with the Handle, e.g.:
OS:GroundHeatExchanger:HorizontalTrench,
{3f4c66c5-cedc-4dbb-943d-73e64ad57fb9}, !- Handle
Ground Heat Exchanger Horizontal Trench 1, !- Name
{920159c0-63d1-48eb-a2df-b275b0aed5f3}, !- Inlet Node Name
{3640a33d-46e5-467d-9c1c-73a65c8cd5e2}, !- Outlet Node Name
0.004, !- Design Flow Rate {m3/s}
75, !- Trench Length in Pipe Axial Direction {m}
2, !- Number of Trenches
2, !- Horizontal Spacing Between Pipes {m}
0.016, !- Pipe Inner Diameter {m}
0.02667, !- Pipe Outer Diameter {m}
1.25, !- Burial Depth {m}
1.08, !- Soil Thermal Conductivity {W/m-K}
962, !- Soil Density {kg/m3}
2576, !- Soil Specific Heat {J/kg-K}
0.3895, !- Pipe Thermal Conductivity {W/m-K}
641, !- Pipe Density {kg/m3}
2405, !- Pipe Specific Heat {J/kg-K}
30, !- Soil Moisture Content Percent {percent}
50, !- Soil Moisture Content Percent at ...
{97aad628-597c-49b4-8610-03bbea54f901}, !- Undisturbed Ground Temperature Model
0.408; !- Evapotranspiration Ground Cover Parameter
That should be enough. Hope this helps.
EDIT (Aug 25. 2024), in response to @laiamv 's follow-up question on GroundHeatExchangerVertical.
The solution is pretty much the same. As summarized here, the undisturbed ground temperature model issue for vertical GSHPs has been fixed as of OpenStudio SDK 3.7.0. The following steps work with OpenStudioApplication 1.7.1 (SDK 3.7.0). I have not tested these against earlier versions.
a. Make a copy of your .osm file (so you can safely experiment before committing)
b. Open your .osm file with a text editor
c. Locate your GroundHeatExchangerVertical object
d. Add the following (ideally above/near the GroundHeatExchangerVertical entry, although it doesn't really matter):
OS:Site:GroundTemperature:Undisturbed:KusudaAchenbach,
{dec3839b-d81b-43c2-8e73-75ee2dc962de}, !- Handle
Kusuda Achenbach undisturbed, !- Name
0.692626, !- Soil Thermal Conductivity {W/m-K}
920, !- Soil Density {kg/m3}
2551.08695652174, !- Soil Specific Heat {J/kg-K}
13.375, !- Average Soil Surface Temperature {C}
Temp...
3.2, !- Average Amplitude of Surface Temperature {deltaC}
Temp...
8; !- Phase Shift of Minimum Surface Temperature {days}
Temp...
e. These are autogenerated default values when instantiating the object (SDK v3.7.0 onwards)
f. Adapt values based on your local conditions
g. Take note of its handle, here: {dec3839b-d81b-43c2-8e73-75ee2dc962de}
h. Search your .osm file to ensure this autogenerated handle remains unique (alter if needed)
i. Edit the GroundHeatExchangerVertical entry as follows:
{dec3839b-d81b-43c2-8e73-75ee2dc962de}, !- Undisturbed Ground Temperature Model
j. Save your .osm file
k. Open using the OpenStudioApplication v1.7.1
l. Check the parameters using the App (note the "Undisturbed Ground Temperature Model" entry):
m. Run the simulation
n. Check results & check run/eplusout.err file
... I don't notice any related errors after running an annual simulation on my side. Hope this works for you.