A design study for an assumed warehouse roof in Hooghly district, West Bengal: how many panels fit, how they connect to the grid, how much they make, and what a RESCO can charge before the numbers stop working.
Design decisions, inputs and checks are mine; AI tools assisted with scripting and documentation. The roof and the factory are assumed, not a real client.
Verified against a source Partly verified Assumed, with a reason
A rooftop plant only saves money on the power the factory uses while it is generating. This is an average day, with the plant size set by you.
Solar output: PVsyst 7.4.7, Kolkata weather, 2 slopes at 7°. Factory load: assumed two-shift manufacturer using 120,000 kWh a month.
The roof is a metal-sheet shed: a 60 m ridge with two 20 m slopes facing east and west, tilted 7°. After setbacks and two skylight strips per slope, 1,983 m² is usable. The plant uses only part of it, because the size is set by the smallest of three limits: the roof, the grid rules, and the factory's daytime load.

PVsyst predicts 409,153 kWh a year, or 1,331 kWh per kWp, with a performance ratio of 84.9%. Orienting the modules east and west costs about 6% against the best single tilt, but it spreads output across the day, which suits a two-shift factory.
| Step | Loss |
|---|---|
| Light hitting the glass at an angle | 2.76% |
| Heat in the cells | 7.52% |
| Mismatch between modules | 2.00% |
| DC cable resistance | 0.88% |
| Inverter efficiency | 2.13% |
| Inverter clipping at DC/AC 1.40 | 0.32% |
The factory takes power at 11 kV through its own transformer. WBSEDCL's procedures let an HT consumer connect its plant at its low-voltage bus, as long as the net meter sits on the high-voltage side.

A RESCO pays for the plant and sells the power to the factory at a discount to the grid. Change the inputs: it runs the same arithmetic as the Python model in the repository.
The grid price is the HV industrial energy charge of ₹3.84 per kWh. Capex comes from two installer pages. Maintenance cost, escalation and the discount are assumed. The calculation ignores tax, loans and inverter replacement, and gives the client no credit for lower demand charges.
With the grid energy charge this low, a RESCO that discounts 20% earns about 10% a year on its money, and every extra 10 points of discount takes roughly 1.5 points off that. Installer pages that quote three-year paybacks assume a tariff of ₹8 to ₹12 per kWh, which is not this client's.
The repository has a commissioning checklist with expected readings worked out from the design: a healthy 17-module string should read about 882 V open-circuit at 25 °C cell temperature, and 836 V at 45 °C. A one-page safety note covers the three real hazards on this roof: falls through skylights, strings that cannot be switched off in daylight, and DC fire.
Every value in the repository is logged with its source in VERIFICATION.md, and every design choice with its reason in ASSUMPTIONS.md.
| Item | Status | Still to do |
|---|---|---|
| Roof geometry, client, load profile | Assumed | Replace with a surveyed roof and a real bill |
| Module and inverter specifications | Datasheets | Check ALMM listing of this exact model; inverter variant in PVsyst differs slightly |
| WBSEDCL rules and tariffs | Utility document, FY 2025-26 | Read the regulation's gazette text and the FY 2026-27 order |
| Capex, RESCO terms | Installer pages | Get a quotation |
| Maintenance cost, tariff escalation, base discount | Assumed | Agree with the client |
| Wind loads, fire setbacks | Screening only | Structural engineer and fire authority |