Question-and-Answer Resource for the Building Energy Modeling Community
Get started with the Help page
Ask Your Question

Is there a simplified way to model the ground-surface-contact for a building in OpenStudio?

asked 2016-03-20 21:45:40 -0500

VictoriaEagen's avatar

Is there a simplified way to model the ground-surface-contact for a building in OpenStudio? It seems like the posted answers explain how complicated it is, has there been any simplified methods people have found? What are the effects of neglecting this in an analysis.

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2016-03-21 11:51:38 -0500

The simplified method I've used when modeling commercial buildings involves assigning ground-contact surfaces the 'Ground' outside boundary condition (which you can do from the Skechup Plugin, or in the OS application) and an 'always run' EnergyPlus measure to add a Site:GroundTemperature:BuildingSurface object to define monthly ground temperatures. From the input description for that object: "a reasonable default value [of monthly ground temperature] is 2C less than the average indoor space temperature."

To make the ground temp measure flexible in case you do have monthly temperatures, you can write the measure to take a user argument for each monthly temperature, like:

#repeat for each month
jan_temp = OpenStudio::Ruleset::OSArgument::makeDoubleArgument("jan_temp",true)
jan_temp.setDisplayName("Ground Temperature in January")
args << jan_temp

and in the run section, get the argument value(s), create the object and pass into the workspace:

#repeat for each
jan_temp = runner.getDoubleArgumentValue("jan_temp",user_arguments)

#create ground temp idf string
groundTemps = "
#creat object and add to workspace
idfObject = OpenStudio::IdfObject::load(groundTemps)
object = idfObject.get
wsObject = workspace.addObject(object)

This method should allow some heat transfer through ground-contact surfaces to be calculated by the program, although in simplifying the temperature inputs, the magnitude of that heat transfer might be over- or under-predicted. How significant these effects are on your model will depend largely on the number and type of spaces with ground contact surfaces, and how loads in these spaces compare to the rest of the building's envelope and internal loads.

edit flag offensive delete link more


How do I get the measure into the model? I do not see it on the BCL? Do I modify it manually? Building is in Colorado so monthly temps will be different

VictoriaEagen's avatar VictoriaEagen  ( 2016-03-21 13:23:25 -0500 )edit

I add the measure to the model in the measures tab under 'EnergyPlus measures' as described here. The measure is not on BCL. I've included basically the whole thing in my answer, but you can also get the file here. Copy the folder to your 'my measures' directory and it should be available in the library pane of the measure tab.

ericringold's avatar ericringold  ( 2016-03-21 13:49:47 -0500 )edit

Thank you. Very helpful. I am receiving a lot of unmet hours in heating now though. I have everything autosized, I don't understand why this happens!

VictoriaEagen's avatar VictoriaEagen  ( 2016-03-21 19:47:11 -0500 )edit

Oh no, is there a way to delete this measure once implemented?!

VictoriaEagen's avatar VictoriaEagen  ( 2016-03-24 20:50:45 -0500 )edit

You can delete the measure from the measures tab by clicking the 'x' on the measure you dropped into the workspace, and it won't be applied when you run a simulation. You can delete the object it created in the idf by opening in a text editor and deleting the Site:GroundTemperature:BuildingSurface object.

ericringold's avatar ericringold  ( 2016-03-24 23:09:36 -0500 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Training Workshops


Question Tools



Asked: 2016-03-20 21:45:40 -0500

Seen: 1,356 times

Last updated: Mar 21 '16