A landfill solar farm missed its own projection. Nobody was checking.

By Olivier Beauchemin · 2026-09-17 · v1

A 57-acre solar array sits on a capped landfill in Annapolis, Maryland. In 2025 it produced 22.9 gigawatt-hours of electricity. The city's own project page publishes an expected annual range of 23.8 to 27.4 GWh. Actual output landed below the bottom of that range, and as far as the public record shows, nobody has said whether that is weather or something else, because nobody appears to be tasked with checking.

We pulled the numbers ourselves. Here is the arithmetic, the two federal filings behind it, and why we think this pattern, not this specific park, is the point.

What the array actually is

The Annapolis Renewable Energy Park covers 57 acres of a former city landfill and holds 52,416 solar panels rated about 345 W each, fixed at a 12° tilt, facing due south, mounted on concrete slabs because the landfill's cap cannot be penetrated by driven posts. That gives it 18 MW of DC panel capacity feeding 12 MW of AC inverter capacity, a standard 1.5:1 oversizing ratio for a utility-scale array. All of this is published on the City of Annapolis's own project page, and we independently confirmed the DC/AC split, the fixed 12° tilt, and the due-south orientation against EIA Form 860's solar technology schedule, plant code 60681.

Novis Renewables, LLC operates the array. The City of Annapolis owns the land and leases it (a 20-year lease signed in August 2015). Three parties split the output under power purchase agreements signed July 28, 2017: Anne Arundel County takes 50%, the county's Board of Education takes 17%, and the City of Annapolis takes the remaining 33% at 7.75¢ per kWh in year one, rising 2% a year.

The number the deal was sized on, and the number it actually made

The city's own project page states the array's expected annual output as a range: 23.8 to 27.4 GWh. We pulled 2025's actual generation directly from EIA Form 923, the federal filing every U.S. power plant above a size threshold submits monthly. Annapolis Solar Park, LLC (plant code 60681) reported net generation of 22,897 MWh across the twelve months of 2025, which we summed ourselves from the monthly columns rather than trust a rounded total.

22.9 GWh is below the bottom of the city's own 23.8–27.4 GWh range. A trade-press piece that first brought this array to our attention separately describes "roughly 24 GWh" as the developer's original projection when the park opened in 2018. We tried to trace that specific figure to a named PPA exhibit or feasibility study and could not, so we are not treating it as confirmed. What we can say with a primary source behind every number: there are at least three different figures a reader could reasonably call "the projection," and 2025's output falls short of all of them, by different amounts.

Reference figureSource2025 shortfall
Low end of the city's published range (23.8 GWh)City of Annapolis project page903 MWh (3.8%)
"Roughly 24 GWh" reported in the pressTrade coverage, unattributed to a specific document1,103 MWh (4.6%)
Midpoint of the city's published range (25.6 GWh)City of Annapolis project page2,703 MWh (10.6%)

What the gap is worth, and what it is not

At the city's own 7.75¢/kWh rate and its 33% offtake share, the value of the shortfall works out to roughly $23,000 at the low-end reference and roughly $69,000 at the midpoint, for a single year, on a deal that runs 20 years. That range is worth sitting with: it is not a small number, and it is nearly three times wider depending on which of the city's own published figures you treat as the one that governs.

What it is not: money owed to the city, or evidence of a broken plant. A PPA pays for energy as delivered, so a smaller harvest simply means a smaller monthly bill, not an overpayment. And a 4-11% miss on a fixed-tilt solar array is ordinary. The city's own page frames the plant's target around a roughly 20% AC capacity factor; 2025's actual output works out to about 21.8% (22,897 MWh divided by 12 MW of AC capacity running for 8,760 hours), ahead of that target. Per-panel yield, using the plant's true DC nameplate from its panel count (52,416 panels × 345 W = 18.08 MW DC), comes to about 1,266 kWh per kW DC for the year, consistent with a healthy fixed-tilt array at this latitude. Every signal here points to a normal plant having a normal weather year, not a failing one.

The question nobody in the deal is positioned to answer

That is exactly the problem worth naming. The PPA's metering answers "how much energy changed hands and what did it cost." Nobody in this structure, the operator collecting a lease and O&M fee, the county and school board receiving their delivered share, or a city facilities office with a full docket, has a standing reason to reconcile actual output against the number the deal was sized on and publish an answer to "was this weather, or is the plant underperforming its design." A production shortfall and a bad year for sun look identical from where a monthly bill sits. Someone would need to check, and as far as the public record for this specific array shows, that check does not appear to happen on any regular cadence.

This is not a claim that Annapolis, Anne Arundel County, the school board, or Novis Renewables have done anything wrong. It is a description of a structural gap: a public solar deal is bought on a projection, metered on delivery, and almost never independently checked against the number it was sized on. We wrote up what an independent check would look like, and what it would cost a municipality to run one, in our page for public-sector solar buyers.

If your agency holds a similar deal

The check is the same one we ran here: find the projected annual output your PPA or feasibility study was sized on, pull actual generation for the same period from the site's own monitoring platform or from EIA's public filings if the plant reports there, and compare. If the numbers in your own paperwork disagree with each other the way Annapolis's do, that disagreement is itself worth surfacing before anyone argues about the size of a shortfall.

See what an independent verification engagement for a public array looks like