Leveraging the Python language in Building Performance Simulation

Hi guys,

Not sure if you (Marcus and Alan) remember me, but I tagged along on a lunch together when you visited NREL a while back. This sounds like a great and ambitious project. Of course, it's tied to a specific scripting language -- in this case, Python. I used to use Python a bit for just this type of Radiance automation, myself. The SPOT program (Radiance-based lighting photosensor placement and optimization tool) is a mix of Python and VBA. OpenStudio is primarily C++, but we export all of that C++ functionality to Ruby (and C#) in the form of SWIG "bindings". Much of the Radiance functionality in OpenStudio is actually a bunch of Ruby scripts. There are even elements of Radiance that are written in Perl.

The point being that everyone has their favorite high level language. Our hand was forced to Ruby, simply because the OpenStudio project leverages SketchUp quite a bit, and the SketchUp API is in Ruby. It'd be great if we could leverage your (and your contributors') work in OpenStudio too, though. We should talk about how we might make that happen. I know SWIG supports Python, but the maintenance headache of supporting even just Ruby and C# is major; I doubt the team is interested in supporting yet another scripting language. However I do see an opportunity here, as we are rolling out the notion of "measures" in OpenStudio, which are pre-packaged energy efficiency measures (e.g. modify my model to have a WWR of .10 to .90 in .10 increments, simulate and compile the results, while I go have lunch). We should work together to see how we can best integrate your script library with OpenStudio and other tools.

What do you think?

- Rob

Rob Guglielmetti
National Renewable Energy Laboratory (NREL)
Commercial Buildings Research Group
15013 Denver West Parkway MS:RSF202
Golden, CO 80401
[email protected]


From: info info [[email protected]]
Sent: Monday, December 03, 2012 4:57 AM
To: [email protected]; [email protected]; [email protected]; [email protected]
Subject: [Radiance-general] Leveraging the Python language in Building Performance Simulation

Dear simulation community,

The Python programming language is well known as a powerful tool in automation, scripting, and high performance scientific computing. In our experience, countless hours have been saved in automating building simulation tasks, allowing us to focus more on creating quality building models and accurate performance results.

We believe that Python is positioned to make a big difference in the building simulation community. To get started, we have the following offer: Send us your scripting problems, and we will solve them for you!

In this phase, we are interested most in small well defined tasks. Example problems would be;

"In my research, I need to parametrize 100 EnergyPlus files with different U-Values"
"We need to convert 1000 files from format *.yyy to format *.qqq"
"Our company produces a report for each project, we use Excel to calculate the average Lux levels from radiance, it's easy but boring after 100 projects"
Or anything else where you think - "I wish I had an intern do this for me..." (Maybe you are this intern...)

Help us by defining your problem with steps taken and the desired result. Send them to:
[email protected]<mailto:[email protected]>

For all problems received, we will recommend ideas, methods, and modules. We will furthermore select 3 projects to solve and feature in our Workshop during the Building Simulation 2013 conference in France next August http://www.bs2013.fr/. We will also feature these problems on our website; http://www.pythonpoweredbuilding.com.

Problems must therefore be free of any intellectual property and will be open to all. For more information and more about us, please visit http://www.pythonpoweredbuilding.com. If you are already a convert and want to get involved, contact us at [email protected].<mailto:[email protected]>

Please excuse cross posting, we will direct further updates primarily to BLDG-SIM.

Happy simulating,

Marcus Jones, Clayton Miller, and Alan Jackson - Python evangelists