ASTM E2848 is the standard test method the solar industry uses to prove that a photovoltaic system delivers the power it was sold to deliver. It defines how to measure a plant's output over a short test window, how to filter that data down to conditions the plant can fairly be judged on, and how to normalize the result so a test run on a hazy day in October can be compared against a model built from thirty years of weather history.
It matters because it is usually the last technical gate before money moves. Substantial completion, final payment, liquidated damages, and the release of retainage are routinely tied to a capacity test result, and the method the contract names is almost always ASTM E2848.
This article covers what the standard requires, how the test is actually run, a worked example with real arithmetic, and the mistakes that cause first attempts to fail.
What ASTM E2848 Is — and What It Is Not
E2848 is a short-term capacity test. It answers one question: under an agreed set of reference conditions, how much power does this plant produce, and how does that compare to what the model said it would produce?
It is deliberately narrow:
- It measures capacity (power, in kW or MW), not energy (kWh over a season).
- It covers a test window of days, not a year. Long-term performance monitoring is the domain of IEC 61724, not E2848.
- It defines a method, not a passing grade. The 95 % threshold most people quote is a contractual convention, not something the standard imposes.
- It does not certify anyone. There is no E2848 license or accreditation — see who can perform an ASTM E2848 capacity test.
That narrowness is the point. A test that is this tightly scoped can be executed the same way by the EPC, the owner's engineer, and an independent third party, and produce the same number. That reproducibility is what makes it contractually useful.
E2848 and E2939: Two Standards, One Test
E2848 is almost never used alone. It is paired with ASTM E2939, which determines the reporting conditions the test is evaluated at and the baseline it is compared against.
| ASTM E2939 | ASTM E2848 | |
|---|---|---|
| When | Before the test — at contract negotiation, or after construction against the as-built model | During commissioning, on site |
| Input | A weather record representative of the test period (TMY or measured), an energy model such as PVsyst | Measured plant data from the test window |
| Produces | Reporting conditions and a modeled capacity baseline | A measured capacity at those same reporting conditions |
| Answers | "What should this plant produce, and under what conditions do we judge it?" | "What did it actually produce?" |
Set the yardstick with E2939; measure against it with E2848. What has to happen first is not construction but data — the reporting conditions have to be fixed before anyone has seen the test measurements. Leave that open and both parties have an incentive to argue for the reporting conditions that favor their result, which is the single most common way a test becomes a dispute.
For how the baseline itself is built, see building the capacity test baseline with ASTM E2939.
How the Test Works
1. Data Collection
The standard allows a data collection period of three days to four weeks. In practice you plan around five to seven consecutive days of largely clear-sky weather and hope that is enough; if it is not, the standard lets you roll the four-week window forward a day at a time until enough valid data accumulates. Plant data is typically logged at one-minute to 15-minute intervals for the regression. The modeled dataset comes from the agreed energy model and is hourly by nature — the two resolutions will not match, and that is expected.
Both datasets must contain:
- AC power at the point of interconnection
- Plane-of-array (POA) irradiance
- Ambient temperature — back-of-module temperature is a common contractual substitution, but it is a departure from the method as written and both sides have to use the same choice
- Wind speed
Before the window opens, agree in writing how secondary effects are handled: soiling, grid curtailment, tracker faults, and partial outages. Every one of these is a legitimate reason to exclude data, and every one of them is also a way to quietly improve a result. Deciding the rules before you see the data is what keeps the test credible.
Sensor calibration belongs here too. The test cannot be more accurate than the pyranometer it is built on, and a calibration certificate that expired last year is the first thing a reviewer will look for. The report also has to identify each irradiance sensor down to its serial number, calibration laboratory, calibration constant and uncertainty, and its tilt, azimuth and position in the array — collect that during the test rather than reconstructing it afterwards.
2. Data Filtering
This is where tests are won and lost. Both the measured and the modeled datasets are filtered against the same criteria and thresholds wherever a modeled equivalent exists — an asymmetry here biases the comparison. A few filters have no counterpart in hourly model data, and that has to be stated rather than glossed over.
The standard specifies not just the filters but the order they are applied in, which matters: narrowing the irradiance band before or after the stability filters retains different data.
| Filter | Typical threshold | Why |
|---|---|---|
| Missing data or DAS malfunction | any affected interval | If power, POA, temperature or wind is missing or corrupt, the whole interval goes |
| Low irradiance | below 400 W/m² | Signal-to-noise collapses; the regression becomes unstable |
| Irradiance band around RC | POA within ±20 % of the RC value | Keeps the regression valid near the point it is evaluated at |
| Irradiance instability | 2–4 % standard deviation within the interval | Passing clouds decorrelate the pyranometer from the array |
| Inverter off or clipping | above ~98 % of AC nameplate as a practical proxy | Output stops responding to irradiance, breaking the model's assumption |
| Shading or obscuration | any | Row-to-row or terrain shading, and snow, frost or debris on the array or the radiometer |
| Radiometer not coplanar | beyond 1° | Shows up as morning/afternoon branches splitting off the power-irradiance curve |
The ±20 % band is a recommendation, not a fixed rule, and it is the main lever when a test runs short of data. The standard permits widening it when ±20 % eliminates too many points or too many days, prefers a range that yields 100 or more points, and allows up to ±50 % when the data is already restricted to stable-sky periods.
After filtering, at least 750 minutes of usable data must remain, spanning at least three separate days. That is 50 intervals at 15-minute averaging, but 150 at 5-minute averaging — the constant is the 12.5 hours of operating time, not the point count, and monitoring platforms that deliver 1- or 5-minute data catch people out here regularly.
The instability filter deserves particular care on large sites with few sensors. A single pyranometer on a 20 MW plant will report a passing cloud that the array as a whole barely notices, and an over-aggressive filter will throw away data that was perfectly representative.
3. Regression Modeling
A multiple-variable regression isolates how environmental conditions drive output, which is what makes normalization possible. The standard model is:
Where:
- is AC power at the point of interconnection
- is plane-of-array irradiance
- is ambient temperature
- is wind speed
- are the fitted coefficients
The regression is run twice — once on the filtered measured data and once on the filtered modeled data — producing two independent sets of coefficients.
Both are then evaluated at the same reporting conditions, and the ratio of the two results is what the industry calls the Capacity Test Ratio (CTR). The term is shorthand rather than a defined quantity in either standard, which define only the measured and expected capacities and leave the comparison to the contract:
A Worked Example
A 5.0 MWac plant, tested over six days. The reporting conditions established under E2939 are 850 W/m², 24 °C ambient, 2.1 m/s wind.
After filtering, 63 valid intervals remain. The two regressions return:
| Coefficient | Measured | Modeled |
|---|---|---|
| 5.490 × 10⁻³ | 5.520 × 10⁻³ | |
| −2.720 × 10⁻⁷ | −1.920 × 10⁻⁷ | |
| −1.900 × 10⁻⁵ | −1.600 × 10⁻⁵ | |
| −1.125 × 10⁻⁴ | −1.030 × 10⁻⁴ |
Evaluating the measured regression at the reporting conditions:
And the modeled regression at the same conditions:
Against a typical 95 % contractual threshold, this plant passes with a single point of margin.

The chart HelioTest puts in the test report. Because every point is normalized to the reporting conditions, the vertical gap between the two curves at 850 W/m² is the capacity shortfall. Note that the curves are not parallel — the gap widens with irradiance, which is what the next paragraph is about.
Two things are worth noticing. First, the 4 % shortfall is spread across all four terms rather than concentrated in one. The dominant term, , agrees to within half a percent — the plant's overall level is essentially right — and the gap accumulates instead across the irradiance, temperature and wind responses. A plant that has lost capacity uniformly shows it in $a_1$; this one has a response curve of a different shape from the model's.
Second, and as a consequence, the result depends on where it is evaluated. Because the two curves are not parallel, the ratio moves with the reporting conditions. Evaluate the same two regressions at conditions typical of a summer test — 1000 W/m² and 32 °C — and they give 4.374 MW against 4.600 MW, a ratio of 95.1 %. A plant that passed with a point to spare is suddenly marginal, on identical field data. This is precisely why the reporting conditions have to be locked before the test, and why the seasonal window used to derive them belongs in the contract rather than in someone's spreadsheet.
To see how all of this is documented for a reviewer, download a complete sample test report and walk through it section by section.
What "Passing" Actually Requires
Three conditions, and contracts are frequently explicit about only the first:
- The capacity ratio clears the contractual threshold — commonly 95 %, occasionally 97 % or higher on projects with tight financing assumptions.
- The regression is statistically sound. Each term should be significant, and a p-value above 0.05 is the standard's own signal that the data collected for that predictor is insufficient to rate the system. The mean and standard deviation of the residuals have to be reported as the indicator of regression quality — that pair, not R², is what the method asks for.
- The uncertainty is reported. The standard requires the expanded uncertainty of the capacity at the reporting conditions, combining the scatter in the regression with the calibration uncertainties of the sensors.
A report that omits them invites the question.
Common Pitfalls
- Not enough valid data. Depending on latitude, season, and how narrow the irradiance band is, gathering 750 minutes of valid data can take a month rather than a week. Plan the window with the filters already in mind.
- Counting points instead of minutes. Fifty points is the minimum at 15-minute averaging only. At the 1- and 5-minute resolutions most monitoring platforms deliver, fifty points is a fraction of what the method requires.
- Only having the model's summary report. The test needs the model's raw hourly (8760) output, not a PDF summary. Requesting this after the field test has already run costs weeks.
- Asymmetric filtering. Applying a clipping filter to the measured data but not the modeled data is an easy oversight and silently biases the result.
- Unsynchronized timestamps. A 15-minute offset between the meter and the pyranometer will destroy a regression that would otherwise have passed cleanly.
- Reporting conditions chosen once the data is in hand. Computing the baseline after construction, against the as-built model, is normal and defensible. Choosing it after seeing the measurements is not.
- Dirty or misaligned POA sensors. The most common single cause of a plant that "fails" a test it should have passed.
If your first test does not pass, what happens when a solar system fails its capacity test walks through diagnosis and retest step by step.
Complex Sites
The standard model assumes one plane of array and one irradiance measurement. Real sites often violate that:
- Multiple array orientations need a single representative POA irradiance, computed as a weighted average.
- Bifacial modules need rear-side irradiance folded into the effective irradiance term.
- Sites with only GHI sensors need transposition before any of the above can happen.
All three are solvable within E2848 without departing from the method — see capacity testing for complex sites for the full workflow.
Key Applications
- Acceptance testing — verifying performance before project sign-off and final payment.
- Performance guarantee validation — supporting contractual obligations for short-term output.
- Issue detection — surfacing soiling, shading, inverter misconfiguration, or design mismatch while there is still contractual leverage to get it fixed.
Bottom Line
ASTM E2848, paired with E2939, gives the industry a reproducible way to answer a question that would otherwise be argued: does this plant perform as promised? It is not a monitoring standard and it is not a certification, but as a checkpoint before ownership or money changes hands, it is the one nearly every contract names.
The method is well defined. The difficulty is in the execution — the choice of reporting conditions, the discipline of the filtering, and the statistical soundness of the regression all materially change the outcome, which is why experienced execution matters as much as the standard itself.
Where to Go From Here
- Facing your first contractual test? Who can perform an ASTM E2848 capacity test explains who typically runs it, and the capacity test cost guide compares what each route costs.
- Running it yourself? HelioTest guides you through the method — data upload, filtering, regression, and an audit-ready report — starting with a free tier. If you are weighing that against scripting the analysis yourself, see how it compares to pvcaptest.
- Want it done for you? Our managed capacity testing service runs the full test against your contract's requirements.
- Want to see the deliverable first? Download the sample test report — free, no sign-up.
Frequently Asked Questions

Peter is an engineer with a PhD in renewable energy management and over a decade of experience in software development for renewable energy applications. He built HelioTest to replace the fragile spreadsheet workflows he encountered across dozens of ASTM E2848 capacity tests.
