Mixed-Orientation Solar Panel String Calculator
What happens if you string different-orientation solar panels together witout optimisers?
--- kWh/year
Baseline
--- kWh/year
--% Loss vs Baseline
--- kWh/year
--% Loss vs Baseline
Sunny Day Hourly Power Profile (Watts)
Monthly Generation Comparison (kWh)
Calculations
Based on Met Éireann solar and meteorological measurements recorded at Gurteen weather station (Central Ireland) for 2023.
Simulations model solar panel performance across 17,520 half-hourly intervals over the course of the full year.
Global vs Local MPPT Search
MPPT (Maximum Power Point Tracking) is where a solar inverter tries to find the voltage/current combination that produces the most power overall from solar panels at any given moment.
Mixed orientations on a single string is a special case where the algorithm needs to use "global search", something that's not generally required where all panels are unshaded and face the same direction. If you have solar panels of different orientations connected to a single string without optimisers, then it's essential that you use global MPPT search in order to get the most from your solar panels. This option is available via the settings menu of most solar inverters.
What Happens When You Mix Solar Panel Orientations?
With local MPPT search: The orientation with less sunlight will generally limit the current (Amps) that the panels can generate. This typically results in substantially lower energy generation than if the two orientations of panels each had a separate string.
With global MPPT search: The inverter will "decide" whether to use all panels in series (sacrificing some current, depending on the degree of mismatch), or use only one of the orientations (activating bypass diodes so that the orientation with less sunlight gets idled). While still generally not as productive as two separate strings, this can get close, and certainly performs better for mixed-orientation strings without optimisers than local MPPT search.
Does it Make Sense to Mix Solar Panel Orientations Without Optimisers?
Arguably yes in some cases. You can avoid the cost and potential failure points of optimisers, while still getting around 90% of the production that you would if each orientation had its own string. In the era of low solar panel hardware costs, this is arguably a worthwhile trade-off.
Having a separate string for each orientation is not always feasible given hardware constraints. Most small solar inverters have no more than two strings, while many roofs have space for panels across three or four orientations.
In general, orientations that are relatively close (e.g. South and East) will work better together on a single no-optimiser string than orientations that are diametrically opposed (e.g. East and West).
Calculation Details
Half-Hour by Half-Hour Simulation
Every result on this page comes from a 17,520-row simulation. You can download that full table as a CSV, with one row per half-hour showing the irradiance, cell temperature, module electrical parameters and resulting power for the two-strings, global-MPPT and local-MPPT scenarios.
Voltage/Power Curve for a Single Interval
Pick any time of the year to see the underlying I-V physics the simulator swept through to find each scenario's operating point: the Voltage/Power curve for the combined string, along with the Global MPP, Local MPP, and baseline power from independent strings.
The Model, Step by Step
1. Sun position. For each 30-minute interval, solar elevation and azimuth are computed from latitude/longitude (Gurteen, 53.04°N 8.01°W) and the day-of-year/time via the standard NOAA solar-position equations (equation of time and solar declination from a truncated Fourier series, then the hour angle and zenith from the spherical-triangle identity cosθz = sinφ sinδ + cosφ cosδ cosω).
2. Plane-of-array (POA) irradiance. The dataset supplies Global Horizontal Irradiance (GHI) for each interval from Met Éireann pyranometer measurements. This is split into direct (beam) and diffuse components using the Erbs correlation, which estimates the diffuse fraction from the clearness index kt = GHI / (I₀ sinθelev) (I₀ = 1361 W/m² solar constant). Beam irradiance is then projected onto each panel's tilted surface using its angle of incidence, diffuse sky irradiance via an isotropic sky model, and ground-reflected irradiance assumes a 20% ground albedo. Each orientation (A and B) gets its own POA figure every interval, since they face different ways.
3. Module electrical behaviour. Each panel is characterised by four STC (Standard Test Conditions) numbers — Vmp, Imp, Voc, Isc — derived from its rated wattage. Cell temperature is estimated from ambient air temperature and irradiance using the standard NOCT (Nominal Operating Cell Temperature) linear model Tcell = Tamb + (POA/800)×(NOCT−20). Current scales linearly with irradiance and temperature coefficient α; voltage scales logarithmically with irradiance (via the diode equation's ln(irradiance ratio) term) and linearly with temperature coefficient γ. These four corrected points are then used to fit a single-exponential empirical curve (the Duffie & Beckman four-point model) between short-circuit and open-circuit — I(V) = Isc×[1−C₁(eV/(C₂Voc)−1)], with C₁ and C₂ solved so the curve passes exactly through both (Voc, 0) and (Vmp, Imp) — giving each module's I-V curve a realistic rounded knee at the maximum power point rather than a sharp corner.
4. Wiring the string. Panels of one orientation are electrically identical to each other (same tilt, same irradiance, same temperature), but Orientation A and Orientation B generally are not. Panels in series must all carry the same current, so when two mismatched sub-strings are wired together, the weaker sub-string's bypass diodes activate once the current demanded exceeds what it can supply at a positive voltage — each bypassed panel then contributes roughly −0.7V×3 (three bypass diodes per module) rather than a positive voltage. The simulator sweeps current from 0 to the larger sub-string's Isc in 150 steps, at each step summing Vstring = nA×VmoduleA(I) + nB×VmoduleB(I), and tracking power P = I × Vstring at each step (subject to the inverter's minimum MPPT start-up voltage).
5. The three scenarios. Two strings lets each orientation find its own independent maximum power point (no mismatch possible). Global MPPT takes the highest power point anywhere along the combined sweep — equivalent to an inverter algorithm that periodically scans the whole curve and won't get trapped by a local bump. Local MPPT instead walks the sweep from I=0 and stops at the first point where power stops increasing — equivalent to a conventional hill-climbing algorithm, which can and does get stuck on the "shoulder" caused by the weaker orientation's bypass diodes activating, well short of the true global maximum.