Solar Row Spacing Calculator

How much dead ground do you have to leave between rows so they stop shading each other? Give it a latitude, a tilt and a design hour, and it works out the shadow from real sun geometry — altitude and azimuth, not a rule of thumb — and turns that into row pitch, ground coverage ratio and how many rows actually fit your land. The choice of design hour is the whole game, and the table below shows exactly what it costs you.

Site

Positive north of the equator, negative south.

Array geometry

The slanted dimension, not the table width. ~1.1 m for a 60-cell panel.

180 = due south (equator-facing). 90 is east, 270 is west.

Design day & hour

Row spacing is set by the worst day — normally the winter solstice.

Solar time, not clock time — see the FAQ for why that differs by up to an hour.

Obstruction height

Height of the shading edge above whatever it shades — add ground clearance for elevated rows.

Land (optional)

Result

Minimum row gap
– m
Ground coverage ratio
–
Enter a site.
Sun altitude at design hour–
Sun azimuth (from north)–
Shading height–
Row pitch (footprint + gap)–

Same day, hour by hour

Solar timeAltitudeRequired gapGCR

Read across a row: this is the real cost of the design hour you picked. Everything to the left of your chosen hour is morning you gave up.

Where the numbers come from

Nothing about row spacing needs a standard — it needs the position of the sun. From latitude, day of year and solar time you get declination and hour angle, and from those the altitude and azimuth. Two vector facts then do the rest: a shadow points directly away from the sun, and only the component of that shadow along the row-pitch axis can hit the next row.

δ = −23.44° × cos( 360 ÷ 365 × (N + 10) )   (N = day of year)
h = 15° × (t_solar − 12)   (hour angle)
sin α = sin φ · sin δ + cos φ · cos δ · cos h   (α = sun altitude)
sin A = −cos δ · sin h ÷ cos α   ·   cos A = (sin δ − sin α · sin φ) ÷ (cos α · cos φ)   (A = azimuth from north)
D = H · cos(A − A_array) ÷ tan α   (gap; 0 when the sun is abeam or behind)
pitch = w · cos(tilt) + D
GCR = w · sin(tilt) ÷ pitch

That cos(A − A_array) term is the part most spreadsheets leave out, and it is worth real money. Early in the morning the sun is well off to the side of a south-facing array, so the shadow runs diagonally and only part of its length lands on the next row. Ignore it and you will leave more ground empty than you had to.

Worked example

40 °N, module tilted width 1.13 m at 25° tilt, due south, winter solstice, 9:00 solar time.

The lesson in one line: move the same array to 10:00 instead and the gap falls to 1.10 m, pitch to 2.13 m, GCR up to 0.224 — 23 % less dead ground for giving up one hour of high-value winter morning. Nobody can make that trade for you; the tool just prices it.

Limitations

What is the 9 AM rule for row spacing?
A convention, not a code rule: rows should not shade one another before 9 AM solar time on the winter solstice. At 40 °N the solstice sun is only about 14° up at 9 AM, so the gap approaches three times the obstruction height. Relaxing to 10 AM cuts the gap by roughly 23 %.
How do you get shadow length from sun altitude?
A vertical obstruction of height H casts a shadow H ÷ tan(altitude). Only the part along the row-pitch axis shades the next row, so multiply by cos(sun azimuth − array azimuth). At noon those align and the full length applies; early morning the shadow falls partly sideways.
What is ground coverage ratio?
Tilted module width divided by row pitch. It says how much land actually carries modules — typically 0.3–0.5 for fixed tilt in good locations. A strict winter 9 AM rule at high latitude can push it below 0.2, meaning most of the site is empty ground bought purely to avoid shading.
Does this work for single-axis trackers?
No. Trackers rotate, so the obstruction height and effective width change continuously, and backtracking alters the optimum again. The sun-position maths is identical, but the row geometry is not. Use PVsyst or Helioscope for tracker layouts.
Solar time or clock time?
Solar time — that is what this tool takes. Clock time differs by your longitude within the time zone, by daylight saving, and by the equation of time (± ~15 min through the year). A 9:00 clock time near the western edge of a wide time zone can easily be 8:00 solar, which under-sizes every row.

Related calculators