First time here? Check out the Help page!
Here is the link to API documentation for SiteGroundTemperatureBuildingSurface. There are similar pages for SiteGroundTemperatureShallow and SiteGroundTemperatureDeep.
To get the site ground objets in the model use this code.
ground_temps = model.getSiteGroundTemperatureBuildingSurface
You can then set each month's temperature manually using this method
ground_temps.setJanuaryGroundTemperature(10.0) # takes double value for degrees C
If you are going to set all of the months, you can save an array of temperatures and use setTemperatureByMonth method as shown below.
temps_array = [10.0,11.0,12.0,13.0,13.0,13.0,13.0,13.0,13.0,12.0,11.0,10.0]
temps_array.each_with_index do |temp,index|
ground_temps.setTemperatureByMonth(index+1,temp)
end
You can just drop the code above in the run section of a new measure. You can ignore the existing measure argument and just have hard coded temperatures, or you can create either a series of double arguments for each month, or a single string argument that would take comma separated values. If you have a comma separated string you can convert it to an array with code below. If you use this when you use an array entry may need to add '.to_f' to make sure it functions as a number, but may not be necessary.
temps_array = argument_string.split(',')