Skip to main content

Solar Sizing Re-run, Sept 2026 (600 Wp panels)

This page re-runs the solar sizing from Solar Plus Battery Economic Case (Sezibwa) on three months of live OpenEMS load. It answers one question: is 7 to 8 panels (600 Wp each) still the best PV size for Sezibwa, and does it cut the energy bill in half?

Answer

Yes. With 600 Wp panels:

  • 6 panels (3.6 kWp) cut the energy bill by half.
  • 7 panels (4.2 kWp) cut it by 55%.
  • 8 panels (4.8 kWp) cut it by 58% and give the best 20 year return (highest NPV).

Past about 5 kWp each extra panel adds little. The battery is already full by midday, and without grid export the surplus is wasted.

What changed since August

Input August model This re-run
Load data Modbus logger archive, Mar to Aug 2026 OpenEMS aggregate meter DTSU666 (serial 221123297561), 1 Jul to 28 Sep 2026, 76 days of data
Average load 21.3 kWh/day 25.8 kWh/day
Baseline energy bill about 374,000 UGX/month about 454,000 UGX/month
Panel size kWp only 600 Wp panels

The model code and economics are otherwise unchanged. One correction was made: the daily average now divides by the hours actually covered by data, not the calendar span, so data gaps (for example the site internet outage of 25 to 26 Sep) no longer understate the load.

Results (600 Wp panels, no grid export)

Panels kWp Saving per month (UGX) Bill cut Solar wasted Added by this panel (UGX/month) Turnkey cost (UGX) Simple payback IRR NPV at 15% (UGX)
4 2.4 164,758 36% 1% 3.0M 1.5 yr 65% 8.9M
5 3.0 199,406 44% 4% 34,648 3.8M 1.6 yr 63% 10.6M
6 3.6 225,904 50% 10% 26,499 4.5M 1.7 yr 59% 11.7M
7 4.2 247,923 55% 16% 22,018 5.3M 1.8 yr 55% 12.4M
8 4.8 263,462 58% 22% 15,539 6.0M 1.9 yr 51% 12.7M
9 5.4 273,637 60% 28% 10,176 6.8M 2.1 yr 47% 12.6M
10 6.0 281,205 62% 33% 7,568 7.6M 2.3 yr 44% 12.4M
11 6.6 287,350 63% 38% 6,145 8.3M 2.4 yr 40% 12.1M
12 7.2 292,746 64% 42% 5,396 9.1M 2.6 yr 38% 11.7M

Battery only (the existing SRNE, no panels) saves about 34,000 UGX/month (8%) on the model's arbitrage policy.

How to read it

  • Bill cut: the share of the energy bill (energy charges only, excluding the fixed service charge and VAT) that solar plus the existing battery removes.
  • Solar wasted: the share of generated solar energy that can't be used or stored, because the battery is full and there is no export.
  • Added by this panel: the extra monthly saving from adding that one panel. It falls from about 35,000 UGX for the 5th panel to about 10,000 UGX for the 9th.
  • NPV at 15%: the 20 year value after paying the turnkey cost. It peaks at 8 panels and then declines, so the 8th panel is the last one that pays for itself at that discount rate.

Recommendation

Install 7 to 8 panels of 600 Wp (4.2 to 4.8 kWp) on the existing SRNE inverter and battery. 8 panels is the best return. 7 panels is the cheaper option that still cuts the bill by more than half. Going above 8 only makes sense with grid export (net metering) or more battery storage.

Assumptions and caveats

  • Weather is modelled, not measured: 5.2 peak sun hours, 0.78 performance ratio, and a seeded day to day variation. Measured site irradiance would firm this up.
  • Tariff is UEDCL Code 10.2 Q3 2026 (off peak 429.7, shoulder 562.1, peak 666.5 UGX/kWh). The Q4 schedule takes effect on 1 Oct and should be checked.
  • Capex is the August turnkey price of 1,260,000 UGX/kWp, including DC surge protection and MC4 connectors. Get a current quote.
  • Load covers July to September only, so there is no seasonal variation.
  • Battery use: with solar, the battery is charged from solar and discharged through the shoulder and peak periods. It replaces the current grid arbitrage (off peak charge, 21:30 to 23:30 discharge). A 30% reserve is held for backup.
  • Per phase limit: the inverter delivers at most 4 kW per phase on battery (see the 27 Sep outage report). Solar does not change that limit.

Reproduce

The model is in NFE/CUSTOM_CODE/solar-sim/, recovered from the August work and kept under version control:

python3 sweep.py m100_openems.csv 600
python3 nfe_solar_model.py m100_openems.csv

m100_openems.csv holds the site aggregate energy in 15 minute steps (site totals only, no per customer data).