[Radiance-general] Leveraging the Python language in Building Performance Simulation

Guglielmetti, Robert Robert.Guglielmetti at nrel.gov
Mon Dec 3 18:44:39 PST 2012


Hey Thomas,

I totally agree, and that's why I have tried very hard to maintain such an interface to the OpenStudio/Radiance stuff. While Application/GUI integration is a priority, all of the Radiance stuff starts out as a Ruby script prototype, and I build in command line switches to all of the functionality. As someone who learned Radiance from the command line, I totally respect the UNIX toolbox model, and feel like our tools need to play nice in that arena. If anything, I've learned that most of my stuff is to large and monolithic, and I'd like to break down or refactor a lot of what I've written to be more modular like Radiance. But as it is, everything we've implemented in Ruby has full command line functionality (and help), and I expect we'll keep that interface an option for the foreseeable future. 


Rob Guglielmetti
National Renewable Energy Laboratory (NREL)
Commercial Buildings Research Group
15013 Denver West Parkway MS:RSF202
Golden, CO 80401
303.275.4319
robert.guglielmetti at nrel.gov

________________________________________
From: Thomas Bleicher [tbleicher at googlemail.com]
Sent: Monday, December 03, 2012 7:04 PM
To: Radiance general discussion
Subject: Re: [Radiance-general] Leveraging the Python language in Building Performance Simulation

Hi Rob

Based on my experience with Radiance scripting in Python|Ruby|Bash|Lua|whatever I'd say that it really doesn't matter much which language you use as long as your application has a good command line interface:

1) small single-purpose apps are better than one big app to rule them all
2) process options should be exposed via command line arguments
3) good error reporting and some form of progress reporting for long running processes

I think the scripting community would be better served if you implement a good command line interface to your binaries and Ruby scripts than by just another language wrapper.

My 2 CI cent,

Thomas


On Mon, Dec 3, 2012 at 11:32 AM, Guglielmetti, Robert <Robert.Guglielmetti at nrel.gov<mailto:Robert.Guglielmetti at nrel.gov>> wrote:
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
303.275.4319<tel:303.275.4319>
robert.guglielmetti at nrel.gov<mailto:robert.guglielmetti at nrel.gov>

________________________________________
From: info info [info at pythonpoweredbuilding.com<mailto:info at pythonpoweredbuilding.com>]
Sent: Monday, December 03, 2012 4:57 AM
To: bldg-sim at lists.onebuilding.org<mailto:bldg-sim at lists.onebuilding.org>; trnsys-users at cae.wisc.edu<mailto:trnsys-users at cae.wisc.edu>; EnergyPlus_Support at yahoogroups.com<mailto:EnergyPlus_Support at yahoogroups.com>; radiance-general at radiance-online.org<mailto:radiance-general at radiance-online.org>
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:
projects at pythonpoweredbuilding.com<mailto:projects at pythonpoweredbuilding.com><mailto:projects at pythonpoweredbuilding.com<mailto:projects at pythonpoweredbuilding.com>>

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 info at pythonpoweredbuilding.com<mailto:info at pythonpoweredbuilding.com>.<mailto:info at pythonpoweredbuilding.com<mailto:info at pythonpoweredbuilding.com>>

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

Happy simulating,

Marcus Jones, Clayton Miller, and Alan Jackson - Python evangelists
_______________________________________________
Radiance-general mailing list
Radiance-general at radiance-online.org<mailto:Radiance-general at radiance-online.org>
http://www.radiance-online.org/mailman/listinfo/radiance-general



More information about the Radiance-general mailing list