An advanced tutorial for daylighting simulations

As most of you are aware, earlier this year we officially released Honeybee[+]. In that post we mentioned a comprehensive tutorial for Matrix-based daylighting simulation with Radiance will be released by LBNL in a near future.

We’re excited to finally share the good news that the report is officially released and can be downloaded from Radiance-online tutorials page. See the pdf file for “Daylighting Simulations with Radiance using Matrix-based Methods“ and the examples for the tutorial under Advanced Tutorials section.

At present, Honeybee[+] links advanced daylighting simulation techniques like the Daylight Coefficient Method, Three-Phase Method and Five-Phase Method to parametric interfaces such as Grasshopper and Dynamo.

These advanced methods are implemented in Radiance, a thoroughly validated command-line-based lighting-simulation software that has been under continuous development at the Lawrence Berkeley National Laboratory since the 1980s. Radiance also forms the basis for daylighting simulations in Honeybee (legacy version) and most of the annual daylighting simulation software that are currently used in the industry.

While the accuracy and features are widely acknowledged both in industry and academia, gaining an in-depth understanding of Radiance has been, and will always be, a challenge. Aside from being a command-line based-tool that was originally meant for Unix operating systems, Radiance isn’t also just a single software. It is actually a collection of over 100 programs where each command has several inputs. For instance, here is one of the “simplest” workflows for an annual daylighting simulation in Radiance:

 // consolidate geometry for efficient ray tracing.
oconv materials.rad room.rad objects/Glazing.rad > octrees/roomDC.oct

// perform raytracing.
rfluxmtx -I+ -y 100 -lw 0.0001 -ab 5 -ad 10000 -n 16 - skyDomes/skyglow.rad -i octrees/roomDC.oct < points.txt > matrices/dc/illum.mtx

// Generate series of climate-based skies from weather data
epw2wea assets/NYC.epw assets/NYC.wea
gendaymtx -m 1 assets/NYC.wea > skyVectors/NYC.smx

// Generate results through a series of matrix multiplications and scalar operations.
dctimestep matrices/dc/illum.mtx skyVectors/NYC.smx | rmtxop -fa -t -c 47.4 119.9 11.6 - > results/dcDDS/dc/annualR.ill

In Honeybee and Honeybee[+] we shield some of this complexity from the user through a combination of Python and Dynamo/Grasshopper plugins. Nevertheless, a better understanding of the underlying logic and syntax of Radiance will enable the users to perform such simulations with better efficiency and accuracy.

The recently released Daylighting tutorial by LBNL, titled “Daylighting Simulations with Radiance using Matrix-based Methods“ is meant to provide a better understanding of Radiance. This tutorial, which covers nearly three decades of scientific research and software development on daylighting simulations, is a resource for understanding both the rationale and methodology of all the matrix-based simulation methods that are currently possible with Radiance. More specifically, this document covers both grid and image-based simulations using the 2-Phase, 3-Phase, 4-Phase, 5-Phase and 6-Phase methods. Officially, this tutorial supersedes all the prior annual daylighting tutorials issued by LBNL (

For all those members of the Ladybug Tools community who are interested in gaining an in-depth understanding daylighting simulation methods implemented in Honeybee and Honeybee[+], we recommend this tutorial as the comprehensive resource to do so.

Useful Links

P.S. The author of the tutorial asked me not to mention his name in this post, and I didn’t, but you know who he is! :slight_smile: We owe him a big debt of gratitude for this very well-done tutorial and all his work for Honeybee[+].


Yes. We know who he is. The guru never ceases to amaze us with the depth of his knowledge. Thank you for all the work and contributions! Many congratulations!

Impressive. Whoever the author is … :nerd_face::wink:


many many thanks.

Great work! thanks alot for the post and for all the great developments :wink:

Great information! Thanks