A 5% soiling loss and a 5% electrical fault look identical in raw generation output. Weather variation can drown out the operational signal just as easily. January may produce less than March because it had more cloudy days, not because plant operations changed. High irradiance can make an O&M month look excellent, while persistent haze can make a healthy month look poor. Without normalization, performance comparisons also compare the weather inputs.
Weather normalization adjusts measured output to a shared baseline for irradiance, temperature, and, when needed, soiling. This makes results from different periods easier to compare. The model choices still matter because they shape what you can conclude about plant condition.
Three Variables That Matter
Three environmental inputs drive most solar generation at a plant: plane of array POA irradiance, module temperature, and soiling state. A normalization model must treat each one differently.
POA irradiance is the dominant variable. At moderate irradiance levels, energy yield is roughly linear with POA. A healthy plant receiving 10% more POA than the reference period will produce approximately 10% more generation. Normalize against a standard period, usually the site's long run average from a satellite model or local pyranometer, and the irradiance signal drops out. The remaining deviation is tied to plant performance.
Module temperature needs its own correction. Standard silicon modules lose approximately 0.35 to 0.45% of output for every degree Celsius above 25°C. With median cell temperatures of 58°C in a summer month, the modules run 33°C above STC, creating an 11 to 15% output penalty. Irradiance only normalization therefore makes summer performance look low even when the plant is healthy.
Temperature correction is typically applied as:
P_corrected = P_measured × (1 + γ × (T_ref - T_measured))
Gamma is the module temperature coefficient and T_ref is the standard 25°C. T_measured should represent cell temperature, not ambient temperature. Direct cell readings are uncommon. A standard estimate is T_cell = T_ambient + (NOCT - 20°C) × (G_POA / 800), where NOCT is the nominal operating cell temperature listed in the module datasheet, typically 44 to 48°C for standard modules.
Soiling reduces POA irradiance reaching the cell surface and also slightly changes the spectral distribution. A 5% soiling loss appears in irradiance normalized output just like a 5% electrical fault. Separating the two requires soiling records, such as cleaning dates, visual inspections, or a soiling sensor, added to the normalization baseline.
Picking a Reference Period
Normalization needs a reference for measuring performance. Common options include a long run site average based on satellite irradiance data such as Solargis, PVGIS, or NREL data, the plant's historical results from a defined baseline period, and a theoretical P50/P90 energy model from the original feasibility study.
Each option has tradeoffs. Satellite baselines support absolute benchmarking but carry 3 to 8% uncertainty in the Brazilian Northeast and Brazilian Midwest, depending on terrain and cloud patterns. A plant's own historical baseline, such as year 1 performance, avoids that uncertainty but includes any degradation or faults from that year. Feasibility models assume design irradiance and perfect performance, so actual results will always be net negative against the model. They fit contract compliance better than O&M analysis.
For operational monitoring, we find the clearest signal comes from a rolling 12-month site average normalized against the same irradiance database. Relative movement matters more than absolute values. A 3% month-over-month drop in normalized yield, with irradiance and temperature held constant, indicates that something changed.
Where the Model Fails
Normalization models are linear approximations of a non-linear system. They work at moderate irradiance and temperature but have known failure modes.
Low irradiance creates one limitation. Module efficiency at 200 W/m2 is meaningfully lower than at 1000 W/m2. The irradiance to efficiency relationship becomes especially non-linear in modules with lower fill factors. Linear normalization can therefore overstate expected production on heavily overcast days. The aggregate effect is small, but it can bias results in regions with high diffuse fractions.
Partial shading is another limitation. A model based on total POA irradiance misses disproportionate losses on string based systems when bypass diodes are not operating correctly. Consistent morning shading from nearby structures may not register in the POA sensor, yet it creates persistent underperformance that normalization cannot explain.
Inverter clipping also remains outside normalization. When a plant's DC/AC ratio causes regular clipping during peak midday hours, yield falls without a corresponding drop in measured irradiance. Normalized yield then looks low during high irradiance periods. Without the inverter configuration, the issue can be mistaken for a module or wiring fault.
Practical Data Quality Needs
Weather normalization depends on input quality. A model suitable for O&M decisions needs, at minimum:
- POA irradiance from a calibrated pyranometer, or modeled horizontal irradiance processed with a validated transposition algorithm. With one sensor and no redundancy, readings diverging from the satellite model by more than 15% should be flagged as suspect.
- Ambient temperature from a shaded location representative of the array, aligned with generation timestamps within 5 minutes.
- Generation data at 15-minute or better resolution. Hourly data may support monthly analysis but loses the intraday detail needed to separate clipping and shading effects.
- Cleaning and maintenance records with dates. Soiling normalization without cleaning logs is speculative.
Gaps are routine. SCADA communication losses, sensor calibration drift, and timestamp mismatches all need defined treatment: interpolation for short gaps under 2 hours, gap flags for longer outages, and checks against nearby weather stations or satellite data to identify sensor drift.
From Normalization to Diagnostic Signals
A normalization model produces a question, not an answer. Normalized yield below the reference baseline shows that a weather independent performance deviation exists. It does not identify whether soiling, string degradation, inverter underperformance, or another issue caused it.
Diagnosis means moving from plant data to individual inverter and string data. Plant level normalized analysis provides the trigger, while string level anomaly detection provides the investigation. A plant with 4% normalized underperformance for 2 consecutive months should prompt a review of the inverters and strings behind the gap. A small group of strings often accounts for most of the deviation, pointing to localized faults instead of systemic degradation.
This is the workflow Solarvyew was built around: normalization supplies the monthly signal, and continuous string level telemetry analysis locates the source. Neither layer is enough on its own. Together, they provide the speed and specificity that reactive O&M lacks.
For context on how normalized generation data supports plant level performance tracking, see our discussion of what PR measures and what it misses.