Solar radiation
Per-sensor direct, diffuse, and total solar irradiance in W/m² at one sun position.
Built and tested; final checks in live Rhino before general release.
Note
Radiation comes with Wrengler Pro. On Free, the panel and the WrenglerRadiation command show
an upgrade message instead of running.
Solar Radiation reports how much solar power reaches your geometry at a single instant. For each sensor it computes direct, diffuse, and total irradiance in W/m², and paints the total across your geometry as a colored sensor field.
Warning
Every number here is power at one sun position, never a total collected over a day, a season, or a year. Read it as a comparison between sensors and between design options, not as an energy budget. That qualifier travels with the numbers into every export.
What it computes#
From each sensor, the study casts one ray at the sun and a cosine-weighted set of rays over the sky hemisphere, keeping only the energy that arrives unobstructed.
| Component | Meaning |
|---|---|
| Direct | Beam irradiance from the sun: DNI · cos θ, zeroed when context blocks the sun ray or the sun is below the horizon. |
| Diffuse | Sky irradiance over the hemisphere the sensor can actually see. |
| Total | Direct + diffuse: the instantaneous solar load, in W/m². |
Sensor orientation is handled by excluding hemisphere samples that point below the horizon: those look at ground, not sky. The closed form is Liu–Jordan's sky-view factor (1 + cos β)/2: a roof should read DHI, a vertical facade DHI / 2.
Context takes its share from what is left. On a facade, the diffuse part is highest where the sky in front is open and falls toward the foot of anything that stands in front of it.
The sky model#
The sky is isotropic: the diffuse-horizontal irradiance you enter becomes one uniform sky radiance (L₀ = DHI / π), integrated over each sensor's unobstructed view. Fast, robust, and a faithful baseline for comparative work.
Note
This mode has no weather file: sky radiance comes only from the DHI you type in. Treat its diffuse values as a relative baseline, never as a calibrated absolute. For a weather file's own sky (the Perez all-weather model, with the sun at its true position hour by hour), use Radiation over a period.
Assumptions#
Fixed for this study. They decide what a number means, so they travel inside every export (a #-prefixed header block in CSV, an assumptions object in JSON) rather than living only on this page.
| Assumption | Value |
|---|---|
| Sky model | isotropic |
| Ground reflection | not modelled |
| Ground albedo | 0: the ground is black |
| Accumulation | instantaneous: never summed over a period |
| Units | W/m2 |
| Sun azimuth reference | deg from model +Y, cw: model space, not geographic north |
Each export also carries that run's own inputs: DNI, DHI, sun altitude, sun azimuth, and the hemisphere sample count. Two consequences worth stating plainly:
- No reflected component appears in the results. Ground reflection isn't modeled, so the term is left out rather than shipped as a column of zeros that reads like a measurement.
- A value that couldn't be computed is not zero. It is exported as
nulland shown as a dash: missing data and a fully shaded sensor are different facts.
Use cases#
- Facade studies: see where solar load concentrates, to inform shading, glazing ratios, and materials.
- PV siting: rank roof and facade areas by instantaneous total. A ranking at the one sun position you chose; for energy over a period, see Radiation over a period.
- Energy-aware massing: compare options early, balancing solar gain against overheating risk.
How to run#
In the Wrengler panel, leave Mode on Instant (the other mode is Radiation over a period), create or select a geometry group for Analysis surfaces, assign the surfaces where you want irradiance measured, optionally assign Context (shading) groups, and set the six inputs. Turn Solar radiation on to run automatically: the same run path is used when you change an input, edit the assigned groups, or change Rhino geometry. Run/Refresh remains available as a manual retry. Rhino builds the sensor grid on the assigned surfaces, runs the study, and paints a total-irradiance heatmap over them. The surface table reports sensor count and total min/mean/max.
The default heatmap scale is the physical 0..(DNI + DHI) range. This keeps colors comparable as
the model changes; use the legend's run-range option when you want contrast within only the current
result.
The command-line path is also available during preview. Type WrenglerRadiation in the Rhino
command line and answer the prompts in order; each is pre-filled, so Enter accepts the shown value.
- Shading / obstacle geometry: the context that shades your sensors. Enter to skip for open sky.
- Sensor surface(s): the surfaces the sensor grid is built on. At least one required.
- Sun position: altitude in degrees above the horizon, then azimuth in degrees from the model's +Y axis, clockwise. This is a model-space angle; the document north angle is deliberately not applied.
- Sky inputs: DNI and DHI, both in W/m².
- Grid spacing: in model units. Finer spacing means more sensors and a longer run.
The command reports the sensor count, the hardware it ran on, and min / mean / max total to the command line, and paints the total as a blue→red ramp. Direct and diffuse are computed per sensor and exported, but not separately displayed in the viewport today.
Note
Radiation is roughly 10× the work of sunlight per sensor: one sun ray plus a full set of sky samples. Start with a wide grid spacing and refine once the pattern looks right.
Related#
- Geometry grouping: reusable named scopes.
- Studies overview: how every study shares one engine.