Each was flagged on at least two of three orthogonal signals: capacity-factor underperformance versus a peer cohort, recent hail exposure, and PPA-roll vintage. Methodology is fully transparent below; the underlying inputs are public.
Distribution of trailing-12-month capacity-factor gap versus peer-median across all 147 TX utility-scale PV plants. The selected 20 (amber) were not cherry-picked from the middle of the distribution.
Click any row to focus it on the map and scroll to its detail card.
| # | Plant | Owner | Type | MWac | COD | CF 12mo | Gap %↑ | Hail 12mo | Signal | Flags |
|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Grizzly Ridge Solar | Grizzly Ridge Solar LLC | PV | 100 | 2023 | 5.6% | -79.8% | 3 | Strong | RESIDUALGAP |
| 5 | Corpus Refinery | Flint Hills Resources Corpus Christi LLC | PV | 27.5 | 2025 | 10.5% | -54.3% | 9 | Moderate | RESIDUALHAILGAP |
| 13 | Samson Solar Energy III LLC | Invenergy Services LLC | PV | 250 | 2022 | 13.8% | -43.0% | 0 | Moderate | RESIDUALGAP |
| 12 | Samson Solar Energy | Invenergy Services LLC | PV | 250 | 2022 | 15.0% | -38.7% | 0 | Moderate | RESIDUALGAP |
| 3 | BPL Files Solar | BPL Files Solar LLC | PV | 157.5 | 2023 | 15.9% | -34.6% | 14 | Strong | RESIDUALHAILGAP |
| 2 | Concho Valley Solar, LLC | CVS Energy Holdings, LLC | PV | 172.8 | 2023 | 17.8% | -26.8% | 13 | Strong | RESIDUALHAILGAP |
| 6 | Oberon IB | 174 Power Global Corp. | PV | 30 | 2020 | 17.4% | -26.3% | 9 | Moderate | RESIDUALHAILGAPCURTAILMENT |
| 19 | OCI Alamo 5 LLC | RWE Clean Energy | PV | 100 | 2015 | 18.1% | -23.8% | 1 | Moderate | RESIDUALGAPVINTAGE |
| 8 | Greasewood Solar | Concho Bluff LLC | PV | 255 | 2021 | 19.0% | -20.5% | 21 | Moderate | HAILGAPCURTAILMENT |
| 7 | Coniglio Solar | BT Coniglio Solar LLC | PV | 123.6 | 2021 | 19.0% | -19.3% | 13 | Moderate | RESIDUALHAIL |
| 17 | Midway Solar - TX | 174 Power Global Corp. | PV | 182 | 2018 | 18.8% | -18.3% | 4 | Moderate | CURTAILMENT |
| 11 | Pearl Solar | BHE Renewables, LLC | PV | 50 | 2017 | 19.7% | -17.4% | 3 | Moderate | VINTAGECURTAILMENT |
| 9 | Pisgah Ridge Solar, LLC | Pisgah Ridge Solar, LLC | PV | 250 | 2022 | 20.7% | -16.3% | 10 | Moderate | RESIDUALHAIL |
| 16 | Oberon IA | 174 Power Global Corp. / TotalEnergies | PV | 150 | 2020 | 19.3% | -16.0% | 9 | Moderate | HAILCURTAILMENT |
| 18 | OCI Alamo 4, LLC | RWE Clean Energy | PV | 39.6 | 2014 | 20.3% | -13.0% | 3 | Moderate | VINTAGE |
| 15 | Rambler | RE Rambler, LLC | PV | 200 | 2020 | 20.1% | -11.7% | 21 | Moderate | HAIL |
| 4 | Barilla Solar | Leeward Asset Management, LLC | PV | 30.2 | 2015 | 20.0% | -10.3% | 12 | Moderate | HAILVINTAGECURTAILMENT |
| 10 | Upton County Solar | RWE Clean Energy | PV | 150 | 2017 | 20.3% | -8.3% | 7 | Moderate | HAILVINTAGECURTAILMENT |
| 14 | Taygete Energy Project LLC | TE Taygete Energy HoldCo, LLC | PV | 255 | 2021 | 22.9% | -5.0% | 23 | Moderate | HAILCURTAILMENT |
| 20 | East Blackland Solar Project 1 | Duke Energy Renewables Services | PV | 144 | 2021 | 21.6% | 2.8% | 27 | Moderate | HAIL |
The centerpiece visual: each plant's monthly MWh against its peer-median expected MWh, with hail events overlaid on the time axis.
100 MW Hamilton County plant, owned by Grizzly Ridge Solar LLC, COD 2023. Trailing 12-month capacity factor 5.6% vs peer median 23.4% (gap of -79.8%); 3 hail event(s) ≥1.5" within 50km in last 24 months. Of the -79.8% trailing gap, -3.3% is explained by hail modeling and vintage drift; -76.5% is unexplained, consistent with module/inverter degradation but not confirmed without site-level diagnostics.
173 MW Tom Green County plant, owned by CVS Energy Holdings, LLC, COD 2023. Trailing 12-month capacity factor 17.8% vs peer median 24.6% (gap of -26.8%); 13 hail event(s) ≥1.5" within 50km in last 24 months. Of the -26.8% trailing gap, -9.0% is explained by hail modeling and vintage drift; -17.8% is unexplained, consistent with module/inverter degradation but not confirmed without site-level diagnostics.
158 MW Hill County plant, owned by BPL Files Solar LLC, COD 2023. Trailing 12-month capacity factor 15.9% vs peer median 24.4% (gap of -34.6%); 14 hail event(s) ≥1.5" within 50km in last 24 months. Of the -34.6% trailing gap, -8.0% is explained by hail modeling and vintage drift; -26.6% is unexplained, consistent with module/inverter degradation but not confirmed without site-level diagnostics.
30 MW Pecos County plant, owned by Leeward Asset Management, LLC, COD 2015. Trailing 12-month capacity factor 20.0% vs peer median 23.4% (gap of -10.3%); 12 hail event(s) ≥1.5" within 50km in last 24 months, curtailment-suspect (ERCOT West).
28 MW Nueces County plant, owned by Flint Hills Resources Corpus Christi LLC, COD 2025. Trailing 12-month capacity factor 10.5% vs peer median 23.6% (gap of -54.3%); 9 hail event(s) ≥1.5" within 50km in last 24 months. Of the -54.3% trailing gap, -6.2% is explained by hail modeling; -48.1% is unexplained, consistent with module/inverter degradation but not confirmed without site-level diagnostics.
30 MW Ector County plant, owned by 174 Power Global Corp., COD 2020. Trailing 12-month capacity factor 17.4% vs peer median 23.5% (gap of -26.3%); 9 hail event(s) ≥1.5" within 50km in last 24 months, curtailment-suspect (ERCOT West). Of the -26.3% trailing gap, -14.3% is explained by curtailment and hail modeling and vintage drift; -12.0% is unexplained, consistent with module/inverter degradation but not confirmed without site-level diagnostics.
124 MW Fannin County plant, owned by BT Coniglio Solar LLC, COD 2021. Trailing 12-month capacity factor 19.0% vs peer median 23.6% (gap of -19.3%); 13 hail event(s) ≥1.5" within 50km in last 24 months. Of the -19.3% trailing gap, -8.0% is explained by hail modeling and vintage drift; -11.3% is unexplained, consistent with module/inverter degradation but not confirmed without site-level diagnostics.
255 MW Pecos County plant, owned by Concho Bluff LLC, COD 2021. Trailing 12-month capacity factor 19.0% vs peer median 24.3% (gap of -20.5%); 21 hail event(s) ≥1.5" within 50km in last 24 months, curtailment-suspect (ERCOT West).
250 MW Navarro County plant, owned by Pisgah Ridge Solar, LLC, COD 2022. Trailing 12-month capacity factor 20.7% vs peer median 24.4% (gap of -16.3%); 10 hail event(s) ≥1.5" within 50km in last 24 months. Of the -16.3% trailing gap, -5.9% is explained by hail modeling and vintage drift; -10.4% is unexplained, consistent with module/inverter degradation but not confirmed without site-level diagnostics.
150 MW Upton County plant, owned by RWE Clean Energy, COD 2017. Trailing 12-month capacity factor 20.3% vs peer median 22.4% (gap of -8.3%); 7 hail event(s) ≥1.5" within 50km in last 24 months, curtailment-suspect (ERCOT West).
50 MW Pecos County plant, owned by BHE Renewables, LLC, COD 2017. Trailing 12-month capacity factor 19.7% vs peer median 23.8% (gap of -17.4%); 3 hail event(s) ≥1.5" within 50km in last 24 months, curtailment-suspect (ERCOT West).
250 MW Franklin County plant, owned by Invenergy Services LLC, COD 2022. Trailing 12-month capacity factor 15.0% vs peer median 24.1% (gap of -38.7%); 0 hail event(s) ≥1.5" within 50km in last 24 months. Of the -38.7% trailing gap, -1.5% is explained by vintage drift; -37.2% is unexplained, consistent with module/inverter degradation but not confirmed without site-level diagnostics.
250 MW Lamar County plant, owned by Invenergy Services LLC, COD 2022. Trailing 12-month capacity factor 13.8% vs peer median 24.1% (gap of -43.0%); 0 hail event(s) ≥1.5" within 50km in last 24 months. Of the -43.0% trailing gap, -1.5% is explained by vintage drift; -41.5% is unexplained, consistent with module/inverter degradation but not confirmed without site-level diagnostics.
255 MW Pecos County plant, owned by TE Taygete Energy HoldCo, LLC, COD 2021. Trailing 12-month capacity factor 22.9% vs peer median 24.2% (gap of -5.0%); 23 hail event(s) ≥1.5" within 50km in last 24 months, curtailment-suspect (ERCOT West).
200 MW Tom Green County plant, owned by RE Rambler, LLC, COD 2020. Trailing 12-month capacity factor 20.1% vs peer median 23.0% (gap of -11.6%); 21 hail event(s) ≥1.5" within 50km in last 24 months.
150 MW Ector County plant, owned by 174 Power Global Corp. / TotalEnergies, COD 2020. Trailing 12-month capacity factor 19.3% vs peer median 22.5% (gap of -16.0%); 9 hail event(s) ≥1.5" within 50km in last 24 months, curtailment-suspect (ERCOT West).
182 MW Pecos County plant, owned by 174 Power Global Corp., COD 2018. Trailing 12-month capacity factor 18.8% vs peer median 22.8% (gap of -18.3%); 4 hail event(s) ≥1.5" within 50km in last 24 months, curtailment-suspect (ERCOT West).
40 MW Kinney County plant, owned by RWE Clean Energy, COD 2014. Trailing 12-month capacity factor 20.3% vs peer median 23.8% (gap of -13.0%); 3 hail event(s) ≥1.5" within 50km in last 24 months.
100 MW Uvalde County plant, owned by RWE Clean Energy, COD 2015. Trailing 12-month capacity factor 18.1% vs peer median 23.6% (gap of -23.8%); 1 hail event(s) ≥1.5" within 50km in last 24 months. Of the -23.8% trailing gap, -5.3% is explained by hail modeling and vintage drift; -18.5% is unexplained, consistent with module/inverter degradation but not confirmed without site-level diagnostics.
144 MW Travis County plant, owned by Duke Energy Renewables Services, COD 2021. Trailing 12-month capacity factor 21.6% vs peer median 22.7% (gap of +2.8%); 27 hail event(s) ≥1.5" within 50km in last 24 months.
Every formula, source, and selection rule. If you disagree with the screen, you should be able to point at the line you disagree with.
All inputs are public. Generation data is real (EIA Form 923, 2023-2024). Hail data from NOAA SPC reports. Irradiance from Open-Meteo Historical Archive. Owner names from EIA 860 Schedule 4.
Each plant is grouped with utility-scale PV peers sharing all of:
Constraints relax in tiers when a cohort is too thin: the full set needs at least 5 peers, after which tracking type is dropped, then COD, then capacity, each needing at least 3. Cohort quality is reported alongside every score. The peer-median 12-month capacity factor is used as the expected reference.
Irradiance is not used as a cohorting constraint. Peers share a NERC region and therefore broadly similar solar resource, which normalizes for it implicitly. Sub-regional weather variance is not controlled for.
Capacity factor and gap are computed as:
CF_plant = MWh_actual_12mo / (MW_AC × 8760)
CF_peer_med = median( CF_i ) for i in peer cohort
gap_pct = (CF_plant − CF_peer_med) / CF_peer_med × 100Monthly comparison normalizes each month against the peer cohort's monthly median to control for weather-shape effects.
A plant is flagged on hail if any of the following hold over the trailing 12 months:
Plants with COD in 2016–2018 are flagged for PPA roll-off in the typical 2031–2036 window. This is a structural signal, not asset-specific.
From the population of TX utility-scale PV plants:
Selection is fully reproducible. Code & frozen inputs are published on GitHub.
A single capacity-factor gap number conflates very different underlying causes. We split each plant's trailing-12mo gap into named, rule-based components: what is plausibly attributable to known explanators, and what is left unexplained. The unexplained residual is the closest signal to fixable underperformance an acquirer can extract from public data.
gap_pct_12mo = curtailment + hail + vintage + hybrid + residual curtailment = −7% if curtailment_suspect (ERCOT West, lon < −101.5°) else 0 hail = clamp( −1.0% × events_≥2.0″_24mo −0.3% × events_1.5–2.0″_24mo, [−8%, 0]) vintage = clamp( −0.5% × max(0, current_year − cod_year − 1), [−5%, 0]) hybrid = −4% if project_type = "Hybrid PV+BESS" else 0 residual = gap_pct_12mo − (sum of the above)Coefficient sources:
Bounded total.If the explanators sum to more negative than the actual gap, components are proportionally scaled down so they cannot "over-explain"; residual is then zero, not positive.
Residual flag. A plant fires the RESIDUAL flag when both gap_pct_12mo ≤ −10% AND residual ≤ −10%: meaningful gap that can't be attributed to known explanators. Of the current top 20, ~5 fire this flag.
HYBRID in the Type column) report net generation in EIA Form 923. When the co-located BESS is being charged from on-site solar, net export is reduced, making the plant look underperforming relative to a PV-only peer cohort even when irradiance-to-DC performance is fine. Read those gaps with caution; co-located storage MW is shown in the per-plant detail card.This work uses the terms underperformance signal and screening flag. It does not use the terms “distress score,” “default risk,” or any equivalent. No claim is made that any named plant will fail, default, or be sold.
This page is a screening artifact for acquirer outreach, not investment advice.
Happy to walk through the methodology, share the underlying CSV, and discuss any of the 20 in detail. No pitch, no ask. Just a conversation.