Row spacing in a solar panel layout is calculated by choosing a design sun position (usually winter solstice, around 9:00 AM to 3:00 PM solar time), finding the shadow length cast by the row at that moment, and setting the row pitch so the next row stays unshaded. The pitch equals module length times the cosine of the tilt, plus the shadow clearance. Terrain, roof type, and your tolerance for shading loss then fine-tune the result. Below, we walk through each step in the order you would use it in solar panel layout design.
What design sun position should set minimum row spacing?
The design sun position is the lowest sun angle at which you still require zero inter-row shading, and most engineers use the winter solstice (December 21 in the Northern Hemisphere, June 21 in the Southern) at 9:00 AM and 3:00 PM solar time. At these times the sun is lowest, so shadows are longest and spacing is most demanding.
The 9 to 3 window is a convention, not a law. It protects the hours that carry the bulk of daily energy production while avoiding the extreme early and late hours, where requiring full clearance would push your spacing to impractical values. Some designers shorten the window to 10:00 AM to 2:00 PM for land-constrained sites, while others widen it for high-latitude projects where winter production matters.
To find the shadow length you need two numbers for your chosen time: the solar elevation angle and the solar azimuth angle. Elevation tells you how long the shadow is, and azimuth tells you how much of that shadow falls toward the next row rather than sideways. Latitude is the main driver. The further you are from the equator, the lower the winter sun and the more space each row demands.
How do you calculate row pitch from tilt and module length?
Row pitch is the distance from the front edge of one row to the front edge of the next, and you calculate it as the horizontal footprint of the tilted row plus the horizontal shadow length. The core formula is: Pitch = L × cos(β) + L × sin(β) / tan(α), where L is the module slope length, β is the tilt angle, and α is the solar elevation angle.
Here is how the pieces fit together:
Find the row height: H = L × sin(β). This is the vertical rise of the top edge of the table above the bottom edge.
Find the shadow length on flat ground: S = H / tan(α). When the sun is not due south, correct for azimuth by multiplying by the cosine of the azimuth difference, so you only count the shadow component that lands toward the next row.
Find the horizontal footprint of the row: F = L × cos(β).
Add them up: Pitch = F + S.
Remember that L is the full slope length of the table, not a single module. A table with two modules in portrait stacked on top of each other has a slope length of roughly twice the module length plus the gap between them. Mixing up module length and table length is one of the most common errors in hand calculations.
A quick sanity check: a steeper tilt raises the top edge, which lengthens the shadow, so pitch grows as tilt increases. If your result moves in the opposite direction when you test a steeper tilt, recheck your formula.
How does sloped terrain change row spacing calculations?
Terrain slope changes row spacing because the ground rises or falls relative to the shadow direction. On north-facing slopes (in the Northern Hemisphere) where the ground falls away from the sun, shadows stretch further and you need more pitch. On south-facing slopes, the ground rises toward the sun, shadows shorten, and you can tighten the pitch.
The adjusted formula replaces the flat-ground shadow term with an effective sun angle: S = H / tan(α + γ), where γ is the slope angle measured in the direction of the shadow (positive when the ground rises toward the shadow, negative when it falls away). Also note that on a slope the module tilt is usually defined relative to horizontal, not relative to the ground surface, so keep your reference plane consistent.
A few practical points to keep in mind on uneven sites:
A uniform pitch rarely suits a site with varying slopes. Variable pitch by zone often improves land use without adding shading risk.
East-west slopes matter too. They change the effective azimuth of the shadow and can shift where clearance is tightest.
Mounting structures with adjustable pile heights let you follow the terrain, but each step in height shifts the shadow geometry for the rows behind it.
Doing this by hand across an entire site with changing terrain is where spreadsheets start to struggle, since each row can have its own slope and therefore its own pitch.
What is the trade-off between ground coverage ratio and shading losses?
Ground coverage ratio (GCR) is the ratio of module area to the ground area they occupy, and it sits in direct tension with shading losses: tighter rows raise GCR and lower land and cabling costs, but increase inter-row shading and reduce yield per module. Wider rows do the opposite. The right balance depends on land cost and energy value.
GCR equals the table slope length divided by the row pitch. A GCR of 0.5 means the modules cover half the land footprint. Typical fixed-tilt designs often land somewhere in the 0.3 to 0.5 range, though the ideal figure varies widely with latitude, tilt, and economics.
Zero-shading design at the winter solstice is a conservative standard. Many projects accept a small amount of shading in the early and late hours of winter days, because the annual energy loss is modest while the land and BOS savings are real. The trick is to quantify it rather than guess. Run a shading analysis or a yield simulation at two or three pitch values and compare the annual energy and the levelized cost for each option.
Consider these factors when choosing your target GCR:
Land cost and availability: Expensive or limited land pushes you toward higher GCR.
Module electrical layout: Portrait versus landscape orientation and bypass diode configuration change how harshly partial shading affects output.
Cable and civil savings: Shorter row spacing means shorter cable runs and less access road length.
Bifacial gain: Wider spacing improves rear-side irradiance, which can offset the land penalty for bifacial modules.
How do you account for flat-roof and commercial rooftop layouts?
On flat roofs, row spacing follows the same geometry as ground-mount systems, but low-tilt ballasted or east-west racking, parapets, and roof obstructions change the practical outcome. Many commercial rooftops use tilts of 5 to 15 degrees specifically to keep shadows short, which lets you pack more capacity into a limited roof area.
Shallow tilts shorten the shadow term dramatically, since the table height H becomes small. That is why east-west dual-tilt systems can reach very high roof coverage, sometimes with almost no shadow gap between rows. The trade-off is lower specific yield per module compared with an optimized south-facing tilt, so compare on total roof kWh, not per-module output.
Rooftop-specific items that often override the pure geometry:
Setbacks and fire pathways: Local codes often require clear walkways at roof edges and around penetrations.
Parapets and roof equipment: HVAC units, skylights, and parapet walls cast their own shadows that need to be modeled separately.
Structural load limits: Ballast weight and wind uplift can limit tilt and spacing choices, so confirm with the structural engineer early.
Roof membrane and drainage: Row layouts must preserve drainage paths and maintenance access.
Because every roof is a puzzle of constraints, the pitch from your formula is a starting point that you then adjust to fit the real roof plan.
How can you automate row spacing in CAD instead of spreadsheets?
You can automate row spacing by using a PV design plugin that calculates pitch from your tilt, module size, latitude, and terrain, then places the tables directly in the drawing. This removes the copy-and-paste loop between Excel and CAD, and every design revision updates the layout instead of triggering hours of rework.
The spreadsheet approach works for a single flat plot but breaks down quickly. Change a module spec, and the table length changes. Change the tilt, and the pitch changes. Add a slope, and every row needs its own value. Each of these changes forces you to recalculate, redraw, and recheck, and every manual step is a chance for error.
This is the problem we built
Virto.CAD to solve. It runs inside AutoCAD and BricsCAD, so you stay in the environment you already know, and it automates module placement, tilt and row spacing, shading analysis, string planning, and bill of materials from the same model. In one documented project in Belgium, it cut design time by 80%, saving several weeks of work. That time goes back to testing alternative spacing and GCR options, which is exactly where the best yield gains are found.
If you want to see how automated row spacing would fit your own workflow, whether for ground-mount, sloped sites, or commercial rooftops, you can
get in touch with our team and we will gladly talk you through it.
Frequently Asked Questions
How do I get started if I've never calculated row spacing before?
Start by collecting four inputs: your site latitude, module slope length (including gaps if you stack modules), planned tilt angle, and your design time window (typically 9:00 AM to 3:00 PM on the winter solstice). Use a free sun-position tool such as the NOAA Solar Calculator or SunEarthTools to get the solar elevation and azimuth at your design time, then plug those into the pitch formula. Validate your first result against a simple sketch of the shadow geometry, and test two or three tilt values to confirm that pitch grows as tilt increases.
What if my site is in the Southern Hemisphere?
The method is identical, but you mirror the orientation: modules face north, and the design day becomes the June 21 solstice, when the sun is lowest. Be careful that your azimuth reference is consistent, since many solar calculators measure azimuth from north while others measure from south. Also reverse the slope logic, because south-facing slopes now fall away from the sun and need more pitch, while north-facing slopes allow tighter spacing.
Should I use the same row pitch across my entire site?
Not if the terrain varies. A single pitch calculated for the worst-case slope wastes land on gentler zones, while a pitch based on flat ground may cause shading on north-facing (Northern Hemisphere) slopes. Divide the site into zones with similar slope and aspect, calculate the pitch for each, and check the transitions between zones where table heights or pile offsets change.
How much shading loss is acceptable when I tighten the row spacing?
There is no universal threshold, because it depends on land cost, energy price, and module electrical layout. A practical approach is to simulate annual yield at two or three pitch values and compare the energy lost against the land, cabling, and civil savings from a higher GCR. If the annual loss is small, often a low single-digit percentage, and the cost savings outweigh it on a levelized cost basis, accepting limited early-morning or late-afternoon winter shading can be justified.
What are the most common mistakes in row spacing calculations?
The most frequent error is using the single module length instead of the full table slope length, which underestimates both the footprint and the shadow. Others include ignoring the azimuth correction when the sun is not due south, mixing degrees and radians in a spreadsheet, and forgetting that terrain slope changes the effective sun angle. Always run a sanity check by confirming that a steeper tilt or a lower sun angle increases the required pitch.
Do bifacial modules change how I should set row spacing?
Yes. Bifacial modules collect light on the rear side, and wider spacing increases ground-reflected and diffuse irradiance reaching the back of the module. This means a slightly lower GCR can pay for itself through rear-side gain, especially over high-albedo surfaces such as light gravel or white membranes. Compare a few pitch options in a bifacial-capable yield simulation rather than relying only on the shading-free geometry.
How do I handle row spacing on a flat roof with obstructions and setbacks?
Calculate the ideal pitch first, then overlay the roof plan with required setbacks, fire pathways, parapets, and rooftop equipment. Model the shadows from obstructions separately, since they are often longer than inter-row shadows, and exclude shaded zones or shift rows to avoid them. Confirm ballast and wind-load limits with the structural engineer early, because they can cap your tilt and force changes to the spacing.
Related Articles
This content was generated with the help of AI — it may contain mistakes