Inputs

Automatic string sizing

How the application works out how many modules to wire in series, the three voltage limits that bound the answer, and where the result lands.

A string's length is a voltage decision. Wire too many modules in series and the string's open-circuit voltage exceeds what the plant's insulation and equipment are rated for; wire too few and the string spends the hottest, brightest hours below the voltage the inverter can track. Automatic string sizing computes the range of module counts that satisfies both ends of that problem for your module, your inverter and your site's temperature extremes, and hands you the range to pick from.

The count you settle on is not only electrical. It sets how many modules sit in a row, and therefore the physical size of the table — which sets the row pitch, the ground coverage ratio and, in the end, how much capacity fits on the site.

When the question appears

Loading a module file fills in the module's wattage and dimensions — see Module specifications. The application then asks, on its own, whether to take the next step:

"Calculate the number of modules in series automatically?"

ButtonWhat it does
AutoOpens the sizing window and computes the feasible range of modules in series
ManualCloses the question. You enter the module counts yourself, as you would with no module file loaded
Screenshot pendinginputs/string-sizing-prompt.png
Automatic or manual string length
What it shows
The question box with its full explanatory text and both buttons.
How to get there
Load a module file. The question appears on its own straight afterwards.

Manual is not a lesser answer. If the string length is already fixed — by a design you are matching, an inverter already bought, or a client specification — enter it and move on. Nothing else in the application changes depending on which button you press.

What automatic sizing needs

Two files, because the constraint has two sides:

InputWhat it supplies
The module fileThe module's open-circuit and maximum-power-point voltages, and how they move with temperature
The inverter fileThe machine's tracking voltage window — the range of DC voltage over which it can hold the maximum power point (MPPT — maximum power point tracking)

If no inverter file is loaded when you choose Auto, you are prompted to pick one first. See Inverter and cable settings for what else that file decides.

If the inverter file carries no tracking voltage range, automatic sizing is not possible — there is no window to fit a string inside. Enter the module counts by hand instead, or load a file for the same machine that declares the range.

The three constraints

Write N for the number of modules in series, Voc for a module's open-circuit voltage and Vmp for its voltage at the maximum power point. Both fall as temperature rises and rise as temperature falls, because a crystalline silicon module's voltage temperature coefficient is negative. That one fact is why the cold end of the year sets the maximum string length and the hot end sets the minimum.

#ConstraintBoundsProtects against
1N × Voc(Tmin) ≤ VsysMaximum NExceeding the plant's DC system voltage rating
2N × Vmp(Tmin) ≤ Vmppt,maxMaximum NAn operating point above the inverter's tracking window
3N × Vmp(Tmax) ≥ Vmppt,minMinimum NAn operating point below the inverter's tracking window

Tmin is the coldest module temperature the site sees; Tmax is the hottest cell temperature. Vsys is the DC system voltage class. Vmppt,max and Vmppt,min are the two ends of the inverter's tracking window.

1 — Open-circuit voltage at the coldest module temperature

N × Voc(Tmin) ≤ Vsys

This is the hard limit, and the only one of the three whose violation is a safety matter rather than a yield matter. Cables, connectors, fuses, DC switchgear and the inverter's DC input are all rated for a system voltage class. The worst case for a string is not full sun — it is open circuit on the coldest morning: no current flowing, so the string sits at Voc, and Voc at its maximum because the modules are at their coldest. That happens before the inverter starts in the morning, and again any time the DC side is isolated during a cold spell.

Size against the coldest module temperature the site will ever see, not the average winter minimum. Exceeding the class once is enough to matter.

2 — Operating voltage at the coldest temperature

N × Vmp(Tmin) ≤ Vmppt,max

Cold and bright at once is the demanding case: the string is generating, so it sits at Vmp rather than Voc, but Vmp is at its highest because the cells are cold. On a clear cold morning a string sized only against constraint 1 can be generating above the top of the inverter's tracking window, and the inverter cannot hold the maximum power point there. It limits, it clips, or it waits — and the loss falls on exactly the hours a cold-climate plant earns most.

Constraints 1 and 2 both bound the maximum, and which one binds depends on the machine. The smaller of the two, rounded down, is the largest string you may build.

3 — Operating voltage at the hottest cell temperature

N × Vmp(Tmax) ≥ Vmppt,min

The opposite end. Cell temperature on a hot afternoon runs well above ambient — a module in open-rack mounting under full irradiance is far hotter than the air around it, which is why the sizing window asks for an irradiance and an operating cell temperature rather than only for air temperature. Vmp at that temperature is the lowest the string ever produces while generating. Fall below the bottom of the tracking window and the inverter loses the ability to track; the yield lost is again at the hours of highest irradiance, and it recurs every hot afternoon for the life of the plant.

This constraint sets the minimum string length, rounded up.

Reading the range

Together the three give a closed range: the minimum from constraint 3, the maximum from whichever of constraints 1 and 2 binds first. Any N inside the range is electrically valid, and the choice between them is a design preference — a longer string means fewer strings, fewer string cables and less DC copper for the same capacity; a shorter string means more parallel paths and finer granularity when you fit strings to an inverter.

If the minimum comes out above the maximum, no string length satisfies all three, and that module and that inverter cannot be paired at that system voltage class. The window says so: instead of a range it shows a red warning line carrying the reason — which constraint could not be met — and offers no range at all. Nothing is blocked by it, but nothing is filled in for you either, so the module counts stay yours to enter.

Change one of the three. A higher system voltage class, a machine with a wider tracking window, or temperature extremes that reflect the site rather than a worst case borrowed from elsewhere are the three levers, in that order of practicality.

What you enter in the sizing window

Screenshot pendinginputs/string-sizing-dialog.png
Automatic string sizing
What it shows
The window with the system voltage and temperature inputs filled, the computed feasible range visible, and the final selection fields.
How to get there
Load a module file and an inverter file, then answer Auto to the modules-in-series question.
Callouts to add
Outline the computed feasible range.

The window asks for the site and design assumptions the constraints need. Every field arrives with a value already in it, so it can be read as a set of assumptions to confirm rather than a form to fill.

FieldDefaultRangeWhat it does
System voltage (V)15001000, 1100, 1500 or 2000, and editableThe plant's DC system voltage class — Vsys in constraint 1
Site min temperature−5.0 °C−40–40 °CThe cold case. Drives the maximum string length
Site max temperature45.0 °C10–70 °CThe hot case, as air temperature. Drives the minimum
Cell-temp modelSandia (wind-based)Sandia, or the NOCT modelHow air temperature is converted to cell temperature
NOCTFrom the module file30–60 °CNominal operating cell temperature. With no value in the file, the window estimates one from the module efficiency and says that it has
Irradiance G (hot case)1000 W/m²100–1200 W/m²The irradiance the hot cell temperature is computed at. The window suggests 800–1000
Wind speed (Sandia)3.0 m/s0–15 m/sConvective cooling. Used by the Sandia model only
Voltage temp. coeffFrom the module file, otherwise −0.28 %/°C−1.0 to −0.05 %/°CThe open-circuit voltage coefficient, applied to both Voc and Vmp

Alongside them the window displays, read-only, the module's Voc and Vmp at standard test conditions and the two ends of the inverter's tracking window — the four figures the constraints start from, before temperature moves the voltages.

The two cell-temperature models

Cell temperature, not air temperature, is what moves the voltages, and the Cell-temp model field decides how one is derived from the other. Both relations add a rise to the air temperature that grows with irradiance:

NOCT model:   T cell = T air + ((NOCT − 20) / 800) × G

Sandia model: T cell = T air + G × (0.0126 − 0.0029 × wind speed)

The Sandia relation is the shipped choice and the one that responds to wind, so it suits a site with a known wind record. The NOCT relation depends only on the module and the irradiance, which makes it the safer choice when the wind figure would be a guess. On the shipped hot case both are evaluated at 1000 W/m², so the rise they add is substantial — which is the point of the field. Sizing constraint 3 against 45 °C air temperature alone would credit the string with a higher Vmp than it ever reaches in service, understate the minimum length, and put the array below the tracking window on exactly the afternoons it was sized for.

What it gives back

Every result recalculates live as you change a field, so the window can be used to test an assumption rather than only to read an answer.

A feasible pairing reports the range on a green line, reading Feasible: then the low and high module counts, then how many options that leaves. An infeasible one reports the red warning line described above. Either way the window also shows a detail line that is worth more than the range itself:

ShownWhat it tells you
The cold cell temperature, with the Voc and Vmp the module reaches thereThe numbers constraints 1 and 2 are actually evaluated against
The hot cell temperature — the site maximum plus the rise the cell-temperature model computed — with its Voc and VmpHow far above air temperature the sizing case really sits
Upper limit — …Which constraint caps the string: the system voltage class, or the top of the tracking window
Lower limit — …Which constraint sets the floor

The last two lines are the ones to read. A range on its own tells you what you may build; the binding constraint tells you what to change to widen it. If the upper limit is named as the system voltage class, a wider tracking window buys you nothing and moving to a higher voltage class buys you everything — and the other way round if it is named as the inverter window.

From inside the range you then make two choices:

ChoiceWhat it means
Modules in seriesThe final string length, taken from inside the feasible range
Parallel stringsHow many of those strings are wired in parallel on one unit of mounting structure

Both are then carried into the input panel, where they become ordinary fields you can read and change.

Where the result lands

The two numbers land in different fields depending on the mounting mode you chose at launch, because a fixed-tilt table and a tracker unit are organised differently.

Sizing resultField in the panelShipped defaultRange
Modules in seriesModules per row281–100
Parallel stringsRows per MMS-Table21–10

A row of modules is a string, so the string length is the row length and the parallel count is the number of rows stacked up the table. See Table configuration.

A count outside the field's range cannot be entered, so check the range before settling on a long string.

The electrical choice is also a geometric one

The string length leaves the electrical domain the moment it is entered, and this is the part that catches people who size strings in a spreadsheet first.

Fixed tilt. The table's north–south height is the parallel strings — the rows — times the module's north–south dimension, plus the gaps between them. The automatic row pitch is computed from that height, as the spacing that avoids row-to-row shading at winter-solstice solar noon, and the ground coverage ratio is the table height divided by the pitch. So changing the parallel count changes the pitch, the ground coverage ratio and the shading loss. Changing the series count changes the table's east–west width instead, which changes how many tables fit across the site and how much is left over at the boundary. See Row pitch and tilt.

Single axis tracker. Both counts run along the north–south axis, so both lengthen the tracker unit. Neither changes the east–west pitch, and therefore neither changes the ground coverage ratio — which is the tracker aperture divided by the east–west pitch. What they change is how a unit fits the site north to south, and how much ground is left at the ends of each column.

Either way, the capacity of the plant is the number of units that fit multiplied by the modules each one carries, so a string length that suits the inverter perfectly can still cost you tables at the fence. It is worth generating a layout at a few counts inside the feasible range and comparing the capacity, rather than assuming the longest valid string wins.

The same sizing method is used when the plant is sized backwards from a target AC capacity, where the parallel strings per inverter are worked out from the inverter's current and DC power limits instead of being entered — see Simulation with AC capacity.

Where to go next

On this page