Validation and known limits
A simulation result is only as good as its validation. This page explains what has been checked, against what, and what remains to be done, without embellishment.
How it is validated
Each block of the calculation is checked against an independent reference (the pvlib library, a closed-form formula or a hand-worked solution) and, for the complete engine, against physical and accounting invariants in combination matrices. The automated test suite runs on every change.
Coverage by block
| Block | Reference or criterion | Result |
|---|---|---|
| Hay-Davies transposition | pvlib, 6 orientations | Difference < 1 % |
| Plane geometry | With tilt 0, POA = GHI | Correct |
| Cell temperature (Faiman) | Closed-form formula and pvlib | Correct |
| Martin-Ruiz IAM | pvlib, 3 soiling levels | Difference < 0.01 (direct) and < 0.03 (diffuse) |
| Linear thermal loss | γ·(T − 25) | Correct |
| Spectral effect | Bounded range; precipitable water by site and hemisphere | Correct |
| Model combinations | 7 transpositions × 2 IAM × 2 PV models = 28 runs | Invariants met, spread < 8 % |
| Optimal orientation | Independent fine sweep, 3 latitudes, both hemispheres | Correct |
| Consumption | 8 curves × 3 time zones × 3 consumptions: sum = annual consumption | Correct |
| Balance without battery | Hand-worked case | Correct |
| Balance with battery | Energy conservation, charge limits, no simultaneous charge and discharge | Correct |
| Off-grid balance | No grid or export, energy closure | Correct |
| Economics | Cases recalculated by hand | Correct |
| Inverter | PVWatts formula by hand and pvlib | Correct |
| Shading | Fast model against the full I-V circuit | Mean error ≈ 1 point |
| Complete engine | Site × type × tariff matrix; plausible specific yield | Passes |
Comparison with PVsyst
With a 445 W module (Jinko JKM445N, PVsyst parameters) in three cases in Cordovilla (Navarre), the annual DC energy of Radiaris is within +0.10 %, +0.16 % and +0.26 % of PVsyst. The IAM coefficients and the single-diode model follow the PVsyst parameterisation.
Findings corrected during validation
- Spectral effect: it used a Spanish precipitable water table for the whole world (in the southern hemisphere it inverted the seasons). It is now calculated per site. Effect on energy < 1 %.
- Economics: the inverter and battery replacement costs did not include VAT, although CAPEX did. It underestimated those costs by 21 % in NPV, IRR, payback and LCOE. Corrected.
Accepted conventions
- Initial battery state of charge at 50 %: it contributes half a bank of energy once (≈ 0.1 % of the annual energy).
- The Martin-Ruiz table uses the C2 from the PVsyst data sheet; it differs from the pvlib formula by < 0.01 in diffuse IAM.
- Default prices and costs are indicative.
Not yet validated
- Experimental validation with measured production from real installations: in progress. Until then, use the uncertainty and the comparison with real production in your own projects.
- Shading: validated against the I-V circuit, not against measurements.
Model limits
| Limit | Consequence |
|---|---|
| Typical weather year | A real year can deviate; see P50/P90/P99 |
| Hourly time step | It does not capture minute-scale variations (on irradiance and clipping) |
| Fixed modules | No trackers |
| Spanish simplified compensation | Outside Spain the export regime has to be validated |
| Average prices in indexed tariffs | It does not use real hourly prices |
| Battery strategies | Self-consumption and backup; no charging from the grid or by tariff |
| Subsidies and deductions | Informative only in the offer |
| Weekday/holiday consumption | Only with your own curve |
How to report a bug
Write to hola@radiaris.com with the project, what you expected and what you see. A reproducible case helps us a lot.