Hi everyone,
I’m excited to share the public GitHub release of a project I’ve worked on for quite a while:
Horticulture Lighting Simulator
A Radiance-based horticultural lighting simulation and 3D visualization engine.

Before describing the project, I want to say clearly that this work would not exist without Radiance. I’m deeply grateful to Greg Ward and to the Radiance community for creating and maintaining the tool that made this project possible. Radiance gave me a way to test a lighting system idea with a level of rigor that would not have been available to me otherwise.
The problem I’m trying to solve
A standardized horticultural lighting platform for plant science research does not yet exist.
I do not mean that there are no reporting guidelines, measurement practices, growth chambers, or high-quality research fixtures. Those all exist. I mean something more specific:
There is no broadly adopted, open, modular lighting architecture that can be scaled across any sized controlled environment room (CER) while achieving a near-flat PPFD (a.k.a. the light plants use for photosynthesis) plane.
This is an important problem to solve because controlled environment plant research depends heavily on environmental repeatability. Light is one of the most important experimental variables, but in many CERs, PPFD varies significantly across the canopy plane. Researchers often deal with this limitation through tray rotation, reduced usable area, culling perimeter plants, or simply accepting spatial light variation as part of the experiment.
My view is that this should not be treated as unavoidable.
If plant science research had a standardized lighting platform designed from first principles around spatial PPFD uniformity, it could remove one major source of experimental variance. It would not solve every reproducibility problem in controlled environment research, but it would address a foundational one: inconsistent photon distribution across the plant canopy.
Solving that has a myriad of downstream cascading benefits for plant science research. That is the purpose behind my lighting system.
What the simulator does
The project compares three horticultural lighting systems:
-
A conventional 8-bar LED grow light
-
A legacy 1000W high-pressure sodium grow light
-
My proposed modular LED system
The public repository supports precomputed Radiance playback for all three systems for faster simulations.
It also supports live Radiance execution for the proposed LED/SMD system through either:
-
a cross-platform Docker-based Radiance runtime, or
-
a local Radiance installation on Linux/macOS
Conventional LED and HPS live modes are not included in the public repo because the private/licensed IES assets are not distributed. They remain available through precomputed playback.
The internal Python package is still named rad_rebuild, but the public project is now released as:
horticulture-lighting-simulator
Visual Overview
Why the proposed system is different
Most horticultural lighting layouts are based on repeated placements of one fixture type in a regular grid.
My proposed system uses multiple fixture types arranged through a modular algorithmic layout strategy based on the centered square number sequence, OEIS A001844:
The goal is to support an infinitely scalable lighting architecture that can adapt to any sized square and rectangular CER while maintaining a maximal degree of PPFD uniformity across the measurement plane.
That layout strategy is also what made the 3D visualization work so difficult.
For the conventional LED and HPS systems, mapping CAD assets to fixture positions is relatively straightforward. For my system, the viewer has to interpret layout-generated fixture groups, map those groups to the correct CAD assets, preserve coordinate relationships, and keep the simulated PPFD plane aligned with the visual scene.
I failed at this several times over the past two years. The current version finally connects the layout engine, Radiance artifacts, CAD assets, and browser-based 3D viewer in a way that feels coherent and inspectable, and I’m really excited to share it with you all.
3D visualization and PPFD mapping
The app includes a browser-based Three.js/WebGL 3D Assembly Viewer.
It supports:
-
orbit, pan, and zoom
-
fixture visibility toggles
-
visual fixture height offset control
-
high/medium/proxy GLB LOD assets
-
an interactive Viridis PPFD layer
-
raw PPFD hover values from the underlying grid data
After running a simulation, the user can open the 3D assembly view, toggle the PPFD layer, and move the cursor over the measurement plane to inspect the photosynthetic photon flux density at that point.
The tooltip reads from the underlying Float32/grid data rather than sampling texture colors.
Why Radiance matters for this project
Radiance is the reason this project can be more than a visual layout tool.
The long term purpose is to use Radiance to test whether this lighting architecture can produce a near-flat illumination plane across any room size and target PPFD intensities, and to compare it against more conventional lighting approaches.
In other words, Radiance is not just a backend dependency. It is the scientific engine that makes the core question testable.
That question is:
Can a modular, scalable horticultural lighting platform be engineered to provide maximally uniform incident PPFD across any controlled environment research space?
This public release is my first serious step toward making that work inspectable.
What I would value feedback on
I would be grateful for feedback from the Radiance community on:
-
Radiance workflow assumptions
-
geometry and photometric modeling choices
-
precomputed playback design
-
PPFD mapping into the 3D viewer
-
documentation clarity
-
anything that looks technically questionable or worth improving
This is not an official Radiance project, and it is not a commercial lighting design platform. It is a public engineering and research project built around a lighting system concept I have been developing for several years.
The proposed LED system is connected to U.S. Patent No. 10,687,478, “Optimized LED Lighting Array for Horticultural Applications,” and to a solo-authored manuscript currently under peer review in Lighting Research & Technology.
Thank you again to Greg Ward and to everyone who has contributed to Radiance over the years. This project exists because Radiance exists.




