PV String Sizing Calculator for Cold Mornings

Check cold-morning PV string voltage against the inverter’s hard DC limit, hot MPPT voltage, current and DC/AC ratio. Animate a temperature-dependent I–V curve.

#cold weather #De Soto model #inverter #MPPT #photovoltaics #string sizing

A cold, bright morning can produce the highest voltage a photovoltaic string will ever apply to its inverter. Open-circuit voltage rises as silicon cells cool, and an inverter that has not started is exposed to that voltage even though no useful power is flowing. This string sizing calculator makes the absolute DC voltage limit and its remaining margin the first results you see.

Use it for preliminary PV layout work, checking an existing proposal, or teaching why series and parallel connections impose different limits. Engineers, students and installers can compare a proposed modules-per-string count with a calculated hot-to-cold voltage window. For Stringplanung Wechselrichter work, the same checks apply: the module data and the inverter ratings must describe the actual equipment.

Start with the module nameplate values and the signed Voc coefficient. A coefficient quoted in percent per degree must be converted to volts per kelvin using the module's STC open-circuit voltage. Enter the full matching De Soto five-parameter fit for MPPT and I–V calculations. The default module is the published Canadian Solar CS5P-220M example; the inverter limits are an editable design scenario. A fit consistency warning helps catch accidental mixtures of module data.

Next enter the site's minimum design cell temperature and its maximum operating cell temperature. Hot cell temperature is usually higher than hot ambient temperature. Choose effective irradiance for the MPPT check and a credible peak irradiance for the voltage and current checks. Include an appropriate positive Voc tolerance. The safety calculation uses the larger of the datasheet cold correction and the model's cold voltage at peak irradiance, then applies that allowance.

Read the cold string voltage beside the inverter limit and the lowest DC equipment rating. A negative or zero margin requires a revised design. The suggested series-count window also checks hot MPPT voltage, cold MPPT voltage and hot open-circuit startup voltage at the chosen irradiance. Parallel-string limits use a conservative short-circuit-current bound; the additional short-circuit factor and DC/AC ceiling are explicit project assumptions.

Press ▶ to watch the string I–V curve move from cold to hot against a fixed MPPT band. This temperature sweep illustrates PV string voltage at cold temperature without changing any design limit. The shaded band is the entered tracking window, not a guarantee of full inverter power.

This is a design-point screening tool. It does not calculate annual yield, clipping energy, shading, bypass-diode behavior, mismatch, cable losses, string fuses, insulation, earthing or fault protection. Repeat the MPPT test at relevant lower irradiance and check the inverter's full-power operating envelope. Installation work belongs to a qualified person. Verify the actual manufacturer's instructions and check against the standard in force at the installation site.

How it is calculated

The cold-voltage correction follows the manufacturer method described by SMA, Planning of a PV Generator, DC-PL-en-11, pp. 23–24: Voc,lin=Voc,STC+βVoc(Tmin−25)V_{oc,lin}=V_{oc,STC}+\beta_{Voc}(T_{min}-25). The independent PPA/SEIAPI July 2020 worked example is attached as source s2, PDF page 13. Here βVoc\beta_{Voc} is signed in V/K.

For additional conservatism, design module voltage is max⁡(Voc,lin,Voc,model(Tmin,Gpeak))(1+uVoc)\max(V_{oc,lin},V_{oc,model}(T_{min},G_{peak}))(1+u_{Voc}). The largest integer series count with strictly positive voltage margin is Nmax,safety=⌈Vlimit/Voc,design⌉−1N_{max,safety}=\lceil V_{limit}/V_{oc,design}\rceil-1. This equals rounding down except at an exact integer quotient, where one fewer module is required. Margin is the voltage rating minus the calculated cold string voltage; zero margin is flagged for revision.

The De Soto single-diode relation is I=IL−I0[exp⁡((V+IRs)/a)−1]−(V+IRs)/RshI=I_L-I_0[\exp((V+IR_s)/a)-1]-(V+IR_s)/R_{sh}. Temperature and irradiance adjust IL,I0,a,RshI_L,I_0,a,R_{sh}; RsR_s stays constant. We use the silicon parameters and effective-irradiance convention of the pvlib worked example: Eg,ref=1.121E_{g,ref}=1.121 eV, relative bandgap slope −0.0002677 K⁻¹, and no CEC Adjust factor. Spectral modifier is unity. A bounded bisection in diode voltage finds Isc, Voc and the zero of the power derivative at MPP. The pvlib comparison uses a different numerical method, Lambert W.

The hot MPP lower bound and hot Voc startup bound are rounded up; the cold MPP upper bound is rounded down. These are design-point checks at the entered MPPT irradiance. Current is corrected at peak irradiance and hot temperature; the larger datasheet/model Isc bounds operating current. Multiply that bound by parallel strings and by the entered extra factor for the permissible short-circuit-current check. DC/AC is total installed STC watts, across identically populated trackers, divided by rated inverter AC watts.

Fifteen temperature rows, each with 61 I–V points, are solved before playback. Frames interpolate the cached rows; reported design-point values use the solved model directly.

Source transcription note: the Sandia PVPMC web page displays an extra division by irradiance in its shunt-resistance equation. We use Rsh=Rsh,refGref/GR_{sh}=R_{sh,ref}G_{ref}/G, as in pvlib's documented implementation and the independent worked cases, rather than treating the web transcription as a second physical irradiance dependence.

The saturation-current input is shown in nA for readability and converted explicitly to A before the De Soto calculation.

Assumptions

Identical, uniformly illuminated crystalline-silicon modules; balanced strings of equal length on each identically populated MPPT. No shading, mismatch, bypass-diode conduction, wiring losses or reverse-bias operation. The published CS5P-220M module is a reproducible default; the 5 kW inverter and its limits are illustrative user inputs, not a claim about a named product.

Minimum cell temperature must be selected for the actual site, including radiative cooling where relevant. Hot temperature is the cell temperature under load. Effective irradiance includes optical effects supplied by the user; rear irradiance may only be represented by a suitable equivalent value. The 2% voltage allowance, 1.25 extra current factor, 5% low-headroom warning and 1.5 DC/AC ceiling are explicit screening choices, not regulatory requirements. Operating current uses Isc as a conservative upper bound, so a manufacturer may allow a layout this screening rejects.

A matching five-parameter fit is required when changing module. The 5% STC fit check only detects gross inconsistency; it does not validate temperature coefficients or guarantee extrapolation accuracy.

Where it applies

Crystalline-silicon De Soto screening over entered cell temperatures −60…90 °C, MPPT irradiance 100…1500 W/m² and peak irradiance 1000…1500 W/m²; these are numerical input limits, not a certification of model accuracy at every extreme. Apply only within the module fit's demonstrated range. Rated DC voltages up to 1500 V are supported. Cold safety takes no credit for low irradiance. Tracking and startup are checked only at the selected irradiance, so repeat for relevant weak-light conditions. The displayed allowable series window is a voltage window; current and total-power checks remain separate.

The curve animation is an interpolated illustration. It excludes breakdown and protection behavior. A positive margin does not establish installation compliance. Manufacturer tolerances, connector ratings, per-input limits, protection, isolation and cable sizing still require review. Installation work belongs to a qualified person. Method sources dated 2013 and July 2020 are cited for engineering calculation, not adopted as current local regulations; check against the standard in force and current equipment instructions.

References

  • De Soto, W., Klein, S. A., Beckman, W. A. (2006). Improvement and validation of a model for photovoltaic array performance. Solar Energy 80, 78–88. https://doi.org/10.1016/j.solener.2005.06.010
  • Sandia PVPMC, De Soto Five-Parameter Module Model. https://pvpmc.sandia.gov/modeling-guide/2-dc-module-iv/single-diode-equivalent-circuit-models/de-soto-five-parameter-module-model/ — see the source transcription note in Method.
  • pvlib official example, Calculating a module's IV curves, CS5P-220M input parameters and published result table, accessed 2026-10-27. https://pvlib-python.readthedocs.io/en/stable/gallery/iv-modeling/plot_singlediode.html
  • SMA, Planning of a PV Generator, DC-PL-en-11 (2013), sections 3.2.1–3.2.2, pp. 23–24. https://files.sma.de/downloads/DC-PL-en-11.pdf
  • PPA / SEIAPI, Grid Connected PV Systems with BESS Install Guidelines, July 2020, printed p. 7 (attached PDF p. 13), Worked Example 1. https://www.ppa.org.fj/wp-content/uploads/2020/09/Grid-Connected-PV-Systems-with-Battery-Energy-Storage-Systems-Install-Guideline-V1-July-2020.pdf
  • pvlib calcparams_desoto implementation, including Rsh irradiance scaling. https://pvlib-python.readthedocs.io/en/stable/_modules/pvlib/pvsystem.html#calcparams_desoto

Inputs

InputSymbolUnitDefault
Module open-circuit voltage at STC
Defaults: Canadian Solar CS5P-220M, as published in the pvlib worked example.
V_oc_refV59.4
Module maximum-power voltage at STCV_mp_refV46.9
Module short-circuit current at STCI_sc_refA5.1
Module maximum-power current at STCI_mp_refA4.69
Module rated power at STCP_refW220
Signed Voc temperature coefficient
Use the signed absolute coefficient. For a datasheet in %/°C: multiply that number by Voc / 100. Example: −0.32%/°C at 37.7 V becomes −0.12064 V/K.
beta_vocV/K-0.22216
Signed Isc temperature coefficient
Absolute current coefficient in A/K. A relative coefficient in %/°C is multiplied by Isc / 100.
alpha_iscA/K0.004539
Modified diode ideality factor at STC
a = n × series cell count × thermal voltage; use the same fit as the other four parameters. Defaults from the pvlib example, without the CEC Adjust correction.
a_fitV2.6373
Light current at STCIL_fitA5.114
Diode saturation current at STC
STC reference saturation current in nanoamperes: 0.8196 nA = 8.196 × 10⁻¹⁰ A. The model explicitly converts this input to amperes.
I0_fitnA0.8196
Module series resistanceRs_fitohm1.065
Module shunt resistance at STC
Replace all fit parameters together when changing module. A nameplate alone does not uniquely determine a five-parameter model.
Rsh_fitohm381.68
Minimum design cell temperature
Use a defensible local extreme, including any required allowance for radiative cooling. At cold start this is close to ambient, not a typical winter temperature.
T_min°C-15
Maximum operating cell temperature
Cell temperature, not ambient. Account for mounting, irradiance, wind and ventilation.
T_hot°C70
Effective irradiance for MPPT checks
Repeat at lower effective irradiance to test weak-light tracking. The cold safety check never takes credit for low irradiance.
G_mpptW/m^21000
Peak effective irradiance for voltage and current
Include locally credible cloud enhancement, reflection or rear-side contribution in this equivalent irradiance.
G_peakW/m^21200
Positive Voc tolerance and uncertainty allowance
Fraction: 0.02 means +2%. Use the module's voltage tolerance and your required uncertainty allowance.
voc_allow0.02
Modules in series per stringN_series13
Parallel strings per MPPTN_parallel2
Identically populated MPPTs on this inverter
DC/AC power uses every populated tracker. For unequal trackers calculate voltage/current per tracker and total DC power separately.
N_trackers1
Inverter absolute maximum DC voltage
A hard safety limit. The default is an illustrative inverter specification; enter your actual inverter data.
V_dc_maxV1000
Lowest module / cable / BOS voltage rating
Use the lowest applicable rating of modules, DC switchgear, connectors, cables and other DC equipment.
V_systemV1000
MPPT minimum voltage
Use the relevant operating or full-power window from the inverter datasheet.
V_mppt_minV300
MPPT maximum voltageV_mppt_maxV850
Inverter start voltage
Hot Voc is checked at the chosen MPPT irradiance. This does not guarantee dawn startup.
V_startV250
Maximum operating input current per MPPTI_op_maxA16
Maximum permissible short-circuit current per MPPTI_sc_maxA20
Additional short-circuit design factor
Applied after irradiance and temperature corrections. 1.25 is a selectable design assumption, not a universal code rule; avoid double counting a manufacturer-specified factor.
isc_factor1.25
Inverter rated AC powerP_ackW5
Maximum permitted DC/AC ratio for this design
Enter the manufacturer's allowed array power divided by rated AC power, or a stricter project target. This is not an energy-yield optimum.
ratio_max1.5
Temperature sweep — press ▶ to warm the cells
0 is the cold design point; 1 is the hot design point. Only the animation interpolates precomputed curves; safety checks always use the design extremes.
sweep0

Results

With the default inputs above, the calc gives:

ResultValue
Layout screeningWITHIN ENTERED DESIGN LIMITS
Cold string design Voc920.3 V
Margin to inverter hard DC limit79.7 V
Inverter voltage headroom (%)7.97
Margin to lowest system voltage rating79.7 V
Minimum modules per string9
Maximum modules per string (voltage checks)14
Hot MPP string voltage468.5 V
Cold MPP string voltage738.8 V
Operating current bound per MPPT12.73 A
Design short-circuit current per MPPT15.91 A
Short-circuit current headroom per MPPT4.09 A
Maximum parallel strings per MPPT2
Total installed STC DC power5.72 kW
DC/AC nameplate ratio1.144

Checked against sources

Each case below was calculated by this calc and agrees with the value from its source (within the tolerance where one is shown).

pvlib: 1000 W/m², 55 °C

Source: Independent published pvlib result table, row 0. CS5P-220M at 1000 W/m² and 55 °C; De Soto parameters and Lambert W solution. https://pvlib-python.readthedocs.io/en/stable/gallery/iv-modeling/plot_singlediode.html

Inputs: Maximum operating cell temperature = 55 °C; the others as above.

ResultSourceThis calc
Hot module short-circuit current5.236 A5.236 A
Hot module open-circuit voltage52.13 V52.13 V
Hot module maximum-power current4.742 A4.742 A
Hot module maximum-power voltage39.614 V39.614 V
Hot module maximum power187.9 W187.9 W

pvlib: 400 W/m², 25 °C

Source: Independent published pvlib result table, row 3. CS5P-220M at 400 W/m² and 25 °C, Lambert W method. https://pvlib-python.readthedocs.io/en/stable/gallery/iv-modeling/plot_singlediode.html

Inputs: Maximum operating cell temperature = 25 °C; Effective irradiance for MPPT checks = 400 W/m²; the others as above.

ResultSourceThis calc
Hot module short-circuit current2.043 A2.043 A
Hot module open-circuit voltage56.987 V56.987 V
Hot module maximum-power current1.887 A1.887 A
Hot module maximum-power voltage47.278 V47.278 V
Hot module maximum power89.204 W89.204 W

pvlib: 400 W/m², 55 °C

Source: Independent published pvlib result table, row 5: 400 W/m² and 55 °C. https://pvlib-python.readthedocs.io/en/stable/gallery/iv-modeling/plot_singlediode.html

Inputs: Maximum operating cell temperature = 55 °C; Effective irradiance for MPPT checks = 400 W/m²; the others as above.

ResultSourceThis calc
Hot module short-circuit current2.098 A2.098 A
Hot module open-circuit voltage49.474 V49.474 V
Hot module maximum-power current1.912 A1.912 A
Hot module maximum-power voltage39.735 V39.735 V
Hot module maximum power75.978 W75.978 W

PPA / SEIAPI: 37.7 V module at 15 °C

Source: PPA/SEIAPI July 2020 Worked Example 1, printed p. 7, attached PDF p. 13. Published module Voc = 38.91 V and four-module string = 155.64 V. The source rounds −0.32%/K × 37.7 V to −0.121 V/K early; exact coefficient gives 38.9064 V and 155.6256 V. Tolerances cover that stated rounding. This checks the datasheet-correction branch only; the remaining illustrative diode parameters are not claimed to fit this anonymous module.

Inputs: Minimum design cell temperature = 15 °C; Module open-circuit voltage at STC = 37.7 V; Module maximum-power voltage at STC = 30 V; Module rated power at STC = 140 W; Signed Voc temperature coefficient = -0.1206 V/K; Modules in series per string = 4; Positive Voc tolerance and uncertainty allowance = 0; the others as above.

ResultSourceThis calc
Cold module Voc from datasheet coefficient38.91 V38.906 V
Cold string Voc from datasheet coefficient alone155.6 V155.6 V

Independent review: exact 910 V boundary must exclude 13 modules

Source: Independent reviewer case supplied by the user: Voc 60 V, beta −0.25 V/K, −15 °C, no allowance, both ratings 910 V. Reviewer identified design module Voc = 70 V and 13 × 70 V = 910 V, giving zero headroom. Positive-margin policy therefore excludes 13 modules: the largest admitted count is 12, leaving 70 V. This is a boundary regression from independent review, not a published PV performance measurement.

Inputs: Module open-circuit voltage at STC = 60 V; Signed Voc temperature coefficient = -0.25 V/K; Positive Voc tolerance and uncertainty allowance = 0; Inverter absolute maximum DC voltage = 910 V; Lowest module / cable / BOS voltage rating = 910 V; the others as above.

ResultSourceThis calc
Design module Voc, including positive allowance70 V70 V
Margin to lowest system voltage rating0 V0 V
Maximum modules from absolute DC voltage1212
Maximum modules per string (voltage checks)1212
Voltage headroom at recommended maximum series count70 V70 V

Independent review: 12 modules retain positive headroom

Source: Companion to the user's independent reviewer equality case: 70 V design module Voc and a 910 V limit. Twelve modules total 840 V, leaving 70 V; thirteen reach the excluded equality boundary. Arithmetic uses the reviewer's independently specified 70 V module value.

Inputs: Module open-circuit voltage at STC = 60 V; Signed Voc temperature coefficient = -0.25 V/K; Positive Voc tolerance and uncertainty allowance = 0; Inverter absolute maximum DC voltage = 910 V; Lowest module / cable / BOS voltage rating = 910 V; Modules in series per string = 12; the others as above.

ResultSourceThis calc
Maximum modules per string (voltage checks)1212
Cold string design Voc840 V840 V
Margin to lowest system voltage rating70 V70 V

Related Resources

Responses

Your email address will not be published. Required fields are marked *

L ading...