Crystalline-silicon modules are built from two or three series-connected substrings, each shunted by its own bypass diode. The diode's job is to turn on and route current around a substring when that substring is shaded or otherwise can't carry the string current. That is a normal, protective event. A shorted bypass diode is different: the diode has failed closed, so its substring is bypassed permanently, shading or not, and stays bypassed under STC too.
Why the signature is a step, not a slope
A shunt-resistance problem (see the PID case study) degrades continuously. R_sh can be anywhere from "slightly low" to "very low", so the curve droops by a varying amount. A shorted bypass diode is binary at the substring level: either that diode is conducting (substring fully bypassed) or it isn't. For a module built from 2 or 3 substrings, that means Voc can only land on one of a small number of discrete levels: 100%, roughly 2/3, or roughly 1/3 of the healthy Voc for a 3-substring module. It never lands smoothly in between.
Notice what stays the same: the current level near the knee is close to the healthy curve's. The remaining two-thirds of the cells still generate current normally, and the bypass diode routes it around the dead substring rather than blocking it. What changes is almost entirely Voc, because one substring's cells no longer contribute their voltage to the sum.
The Voc-quantization feature
PV Ivy's diagnosis engine tracks the Voc deficit (one minus the ratio of measured to modeled Voc) and looks for values that land near a whole number of substrings: 1/3 or 2/3 of a module's Voc. In a string of N modules, each shorted substring is 1/(3N) of the string Voc. That's the practical difference between "this module's Voc is a little low, investigate broadly" and "this looks like exactly one bypass diode has failed shorted."
A continuously variable Voc loss (say, 40–95% of reference, anywhere in between) points toward soiling, partial shading without a functioning bypass path, or connector/wiring resistance, not a shorted diode. A Voc ratio sitting close to one of the quantized levels for that module's substring count is the actionable signature.
Measured: the same steps in a real plant
The curves above are modeled. A public dataset from three PV plants in southern Spain shows the same steps on real hardware (Zenodo 11518306, CC BY 4.0). The plants were built in 2009 with one 175 W module type: three substrings, nameplate Voc 42.6 V, 16 modules per string. After about ten years of potential-induced degradation, field crews measured each module's open-circuit voltage and found three levels: about 40 V, 26 V and 12 V. That is 100 %, 65 % and 30 % of a healthy module, the 3/3, 2/3 and 1/3 steps from the modeled figure above.
At open circuit no current flows, so a substring that adds no voltage is either shunted completely by PID or sitting behind a bypass diode that has failed short. The Voc signature is the same step in both cases, and the authors describe the bypass diodes switching on as a side effect of the PID.
For 33 strings in one plant the dataset gives the string Voc and how many modules sit at 26 V and at 12 V, so the number of missing substrings in each string is known. Each one should cost 1/48 of the string Voc: 13.6 V on a 654 V string.
The measured strings follow the line at 12.7 V per substring, against 13.6 V expected. They sit about 8 V low on average with a scatter of 20 V (3 % of string Voc), because modules counted at "40 V" have also lost some voltage to PID and the two healthy reference strings differ by 13 V.
Run on these readings, the Analyzer's bypass rule named missing substrings on all 65 strings with two or more (both plants) and on none of the 7 strings with no low module. The measured scatter was wider than the simulated error the rule started with, so its reported substring range now spans ±4 % of string Voc. One missing substring in a 16-module string is 2.1 % of Voc, inside that scatter, so a string trace cannot show it. Measure module by module.
Here the bypassed substrings are a symptom. The root cause is PID, and replacing diodes alone will not bring the voltage back.
String-level implications
A shorted bypass diode costs that one module's power and also changes the string's Vmp at a fixed current, which matters for inverter MPPT windows: a string with one module losing a third of its Voc contribution needs the inverter to track a lower window than the as-designed string Voc(Vmp) range assumed. On a long string already sized close to an inverter's minimum MPPT voltage, one shorted diode can be the difference between the string tracking normally and the inverter clipping or falling out of its MPPT range on a hot day. This is exactly what the Analyzer's MPPT check is for. It takes the inverter's lowest MPPT voltage as the larger of its MPPT low limit and √2 × its AC voltage. It flags the projected power impact, not just "Voc is low."
Reproduce it
- Paste a suspect module's field or flash-test V/I curve into the PV Explorer's Add measured data and compare Voc against the modeled reference curve directly.
- Run the same curve through the IV Data Analyzer for the full validation + STC translation + Voc deficit check, and to see whether the string's Vmp still clears your inverter's minimum MPPT voltage under worst-case conditions.