PVGIS irradiance · models written against pvlib

Draw the array. Solve the year. Hand over a report you can defend.

ArrayTrace is a PV design and shading-analysis tool for installers and EPCs. Trace a roof on satellite imagery, drop the obstructions, and get an hourly yield model that solves every module on its own I-V curve.

8 760 hours solved per run
15 waterfall steps, each stored
P50-P99 production probabilities
Array layout over site imagery A field segment traced onto the warehouse roof and filled with north-facing tilted rows. A keepout around a roof vent throws a shadow south across nine modules, which are drawn in the shaded fill. N 20 m

Illustrative · 100 kWp fixed tilt

Specific yield 1 845 kWh/kWp
Performance ratio 81.0 %
Shading loss 1.8 %
PVGIS irradianceModels written against pvlibBounded against reference runsNRS 097-2-1 / NRS 097-2-3SANS 10142-1POPIA

From a dropped pin to a signed proposal.

One project carries the site, every design you try on it, every set of weather assumptions you test them against, and the report that comes out the other end.

01

Pin the site

Search an address or drop the pin by hand when the geocoder cannot find it. The site carries its own coordinates, imagery and the design defaults your team already agreed.

02

Draw the array

Trace the roof, place keepouts, choose racking and let the modules tile the sloped plane. Setbacks, row spacing and frame sizes are properties you change, not shapes you redraw.

03

Solve the year

Every module gets its own I-V curve and its own hour, which is what makes shade produce genuine mismatch instead of a derate. Runs off the circuit, so the tool stays usable while it works.

04

Hand it over

The waterfall, the shade map, the bill of materials, the tariff offset and the payback, rendered onto paper and stamped with the engine build that produced them.

The engine

Fifteen steps, and every one of them is stored.

ArrayTrace solves the array as a circuit. The inverter sets a draw voltage, it propagates through the wiring to every module, each module answers on its own I-V curve, and the solver iterates until the whole field agrees - once per hour, 8 760 hours a year. The waterfall below is how that solved field is decomposed for a report, not a chain of fudge factors applied to a guess. When a client asks why the performance ratio is what it is, the answer comes from stored per-step numbers rather than a re-run.

Front-side irradiance kWh/m² · year
01Annual Global Horizontal Irradiance baseline 2 108
02POA Irradiance +8.1% 2 279
03Shaded Irradiance -1.8% 2 238
04Irradiance after Reflection -2.5% 2 182
05Irradiance after Soiling -2.0% 2 138
06Total Collector Irradiance result 2 138
Energy conversion MWh · year
07Nameplate at STC 214.0
08Output at Irradiance Levels -0.7% 212.5
09Output at Cell Temperature -8.6% 194.2
10Output After Mismatch -1.2% 191.9
11Optimizer Output 0.0% 191.9
12Optimal DC Output result 191.9
13Constrained DC Output -0.1% 191.7
14Inverter Output -2.2% 187.5
15Energy to Grid -1.5% 184.7

Illustrative · 100 kWp fixed tilt · every run reports its own figures

Generation is only half of the answer.

ArrayTrace models generation, storage and load in one run, against the grid code and the wiring standard that apply where the system is actually built. None of the three is an add-on, and none of them is written into the product as a constant.

01

Outages and batteries, modelled

Where supply is interrupted to a published schedule, that schedule is resolved for the site and drives a battery autonomy and self-consumption model. The result is reported as hours of cover, not as a line item on a quote.

Battery cover, by outage severity · illustrative

02

Grid paperwork, pre-filled

SSEG applications and the NRS 097-2-1 / NRS 097-2-3 documents, filled from the design itself, with compliance state tracked through the project lifecycle rather than in somebody's inbox.

Pre-filled from the design

03

Tariffs that keep their history

Quoted against the utility and municipal schedules curated for your market, each one effective-dated and never edited in place - so a proposal issued last year still reproduces against the rate that applied when it was issued.

Curated, versioned, never mutated

Mechanical

Setbacks per edge, row spacing you can express four ways, and racking types that match what actually gets bolted down. Conductors are sized in mm², because that is what this market works in.

Storage

A battery is not a line item on the quote. It is modelled against the load and the outage schedule for the site, and reported as hours of cover.

The deliverable

Every design ends in a report a client will sign.

Monthly production, the full loss waterfall, per-module shading, the bill of materials, tariff offset and payback - one branded PDF, on paper rather than a screenshot of a screen.

  • Annual and monthly production, performance ratio, kWh/kWp
  • The fifteen-step loss waterfall, per-step
  • Per-module shading, solar access and TSRF
  • 8760 hourly series, exportable
  • Bill of materials, tariff offset and payback

Every page carries its provenance in the footer - generator, engine build, compliance statement, page number. A report handed to a bank has to be traceable to the build that produced it.

Start with one roof.

Create an account, drop a pin on a site you already know, and see whether the number it gives you back is one you would put your name to.

Something went wrong. Reloading the page usually fixes it. Reload 🗙

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.