Calculate row spacing
Computes row pitch and ground coverage ratio from sun position and module geometry — including the azimuth correction almost everyone omits. And it asks for the design time: shade-free at noon only, or from 9 a.m. to 3 p.m.? The difference is 56 % more area.
The formulas behind the calculator
Every number above can be recomputed: the full calculation path, all assumptions and the data source with retrieval date — plus cross-validation against independent references. Disclosed, not claimed.
An estimate based on the stated assumptions. The final design must be checked by a qualified professional against the rules that apply where you are.
| Step | Formula | Value | Provenance |
|---|---|---|---|
| Solar altitude | asin(sin phi * sin delta + cos phi * cos delta * cos omega) | 7.3555 ° | exact |
| Azimuth difference | |A_sun - A_row| | 40.854 ° | exact |
| Module edge height | L_module * sin beta | 0.565 m | exact |
| Shadow length | h * cos(deltaA) / tan alpha | 3.3106 m | exact |
| Row pitch | d_shadow + L_module * cos beta | 4.2892 m | exact |
- Formula
d = h · cos(ΔA) / tan α · pitch = d + L · cos β · GCR = L / pitch- Valid for
- Parallel rows of equal height on a level surface, winter solstice as the design day.
- Not covered
- Sloped mounting surfaces, north-south row orientation, individual obstacles and the horizon. The electrical effects of partial shading are strongly non-linear and not modelled here.
Frequently asked questions
How far apart do solar panel rows need to be to avoid self-shading?
The shadow length is d = h · cos(ΔA) / tan α, with module edge height h = L · sin β and the sun's altitude α on the design day — the winter solstice. The row pitch is d plus the projected module length L · cos β, and the ground coverage ratio follows as GCR = L / pitch. The calculator applies to parallel rows of equal height on a level surface.
Which design time should I pick — shade-free at noon only, or from 9 to 15?
That is the question almost no free calculator asks: at 48.8° north the two cases differ by 56 % in land area. Silently computing only the noon case yields an array that is partially shaded three to four hours a day from November to February. The azimuth correction cos(ΔA) matters too: without it the afternoon shadow comes out 32 % too long in the reference case, because the sun strikes at an angle and the shadow runs obliquely between the rows.
Does this work on sloped ground or with trees nearby?
No — sloped mounting surfaces, north-south oriented rows, individual obstacles and the horizon are not covered; a tree or ridge to the south changes everything. The electrical effects of partial shading are strongly non-linear and are not modelled here either. If the sun is below the horizon at the chosen design time, the calculator refuses the computation rather than returning an infinite pitch.
How big is the difference between the design cases, concretely?
Huge. In the reference case (48.8° north, module edge 1.13 m, 30° tilt), “shade-free at noon only” needs 2.74 m of row pitch (GCR 0.41), while “shade-free 9–15 h” needs 4.29 m (GCR 0.26) — 56% more land for the same modules. On a flat roof this single assumption decides whether 40 or 26 modules fit. That is why the design case is a visible required choice here, not a silent default.
What does the azimuth correction do that other calculators skip?
In the morning and evening the sun stands sideways to the row — the shadow falls diagonally between the rows instead of straight onto the next one. The factor cos ΔA captures that. Without it, the 3 p.m. case at the reference site would give 4.38 m of shadow instead of 3.31 m — 32% too much shadow and thus about 20% too much row pitch, i.e. wasted land. The calculator shows both values so the difference can be checked.
Why does the calculator use December 21 of all days?
At winter solstice the noon sun is at its lowest (declination −23.44°) — shadows are longest on that day. If the layout is shade-free on December 21, it is shade-free all year. Any other reference date would mean: on the darkest days, when yield is lowest anyway, the array additionally loses to inter-row shading — and partial shading hurts disproportionately in electrical terms.
Is the rule of thumb “row spacing = 3 × collector height” correct?
Only for one very specific case. Behind every factor hides a shading limit angle — the sun altitude below which shading is accepted. Factor 3 corresponds to 18.4°, almost exactly the noon sun on December 21 at 48° north (17.8° → factor 3.1). So the rule of thumb is not a safety margin; it is the silent “shade-free at noon only” assumption for central Europe. At 53.5° north even the noon case already needs factor 4.3, and shade-free from 9 to 15 at 48.8° north lands at factor 5.9 — nearly double the rule of thumb. Even smaller factors in circulation (down to 1.5×) are more optimistic still.
What row spacing is typical on a flat roof with 10–15° tilt?
A worked example for 51° north, landscape-mounted module with a 1.13 m edge, 12° tilt: shade-free at noon only 1.95 m pitch (GCR 0.58), shade-free 9–15 h 2.89 m (GCR 0.39). The shallow tilt on flat roofs is no accident — it lowers the module edge height and with it row spacing, ballast and wind load all at once. Setbacks to the parapet and roof edge are a separate topic (wind edge zones), not part of this calculation.
What is a good ground coverage ratio (GCR)?
GCR = module edge divided by pitch — the share of ground area covered by modules. In the reference case (48.8° north, 30° tilt) it is 0.41 (noon only) or 0.26 (9–15 h); below 0.25 the calculator warns because the layout becomes very land-hungry. The strongest lever is tilt: at 48.8° north with the 9–15 design, 15° instead of 30° lifts the GCR from 0.26 to 0.40 — each module yields slightly less, but far more modules fit on a limited area, which in total often means more energy.
Does the calculator need weather data for my location?
No. Row spacing follows from pure solar geometry — latitude is all it takes, no irradiance dataset required. Rome (41.9° north): 2.21 m at noon, 2.88 m for 9–15 h. Stockholm (59.3° north): 5.41 m at noon — and the 9–15 case simply does not exist there, because above roughly 58.5° north the sun sets before 15:00 true solar time on December 21. The calculator says so openly instead of returning a fantasy value.