← Back to project catalogue
GP-EE-0OFUKMHElectricalReady

Battery-storage sizing and degradation analyser

A completed electrical planning study that sizes an LFP battery for a 150 kWp campus PV system while coupling hourly dispatch, prepared outages, expected degradation, and lifecycle cost.

Battery-storage sizing and degradation analyser project visual
GP-EE-0OFUKMH · Electrical
  • Python
  • NumPy
  • Pandas
  • SciPy
  • BLAST-Lite
  • Rainflow
  • Matplotlib
  • Jupyter

Project definition

Problem statement

A battery selected from first-year savings can appear economical while capacity fade changes late-life reliability, peak reduction, operating cost, and replacement exposure.

The engineering problem is to compare power and energy ratings under the same hourly balance, outage, tariff, expected-life, and lifecycle-cost assumptions without treating a numerical result as a vendor quotation.

Project objectives

  • Prepare an hourly campus load, PV, tariff, critical-load, and grid-availability profile.
  • Evaluate 100 to 400 kWh and 50 to 150 kW candidates under explicit SOC, efficiency, power, and energy constraints.
  • Couple each annual dispatch to the BLAST-Lite LFP expected-life model for fifteen years.
  • Reject designs with unserved critical energy in any prepared outage year.
  • Compare degradation-aware and nominal-capacity selection and test ageing-rate and temperature sensitivity.

Project structure

Project components

01

Profile preparation

Verifies the retained PVGIS response, converts local time, and creates the declared synthetic demand, tariff, and outage columns.

02

Sparse dispatch model

Solves hourly grid import, charge, discharge, stored energy, curtailment, unserved energy, and monthly demand peaks.

03

Expected-life model

Passes SOC, time, and temperature to the published BLAST-Lite 250 Ah prismatic LFP model.

04

Sizing and economics

Couples fifteen annual operating years and ranks only candidates that pass the prepared reliability rule.

05

Evidence pipeline

Retains hourly, annual, candidate, sensitivity, figure, test, Word, and PDF outputs.

Methodology

Project workflow

  1. 01
    Prepare the profile

    Verify 8,760 PVGIS records and create the reproducible synthetic campus demand and outage cases.

  2. 02
    Solve each design

    Run the same sparse hourly optimisation for all twelve energy and power combinations.

  3. 03
    Apply degradation

    Use each SOC trace to update expected capacity and solve the next operating year.

  4. 04
    Filter reliability

    Reject any candidate with unserved critical energy in one or more coupled years.

  5. 05
    Compare lifecycle cost

    Select the least-cost reliable candidate and quantify the error from omitting degradation.

Demonstration scenario

A 150 kWp PV system supplies a declared synthetic campus demand under time-varying energy and monthly demand charges. Every 100 kWh candidate fails the prepared outage requirement. The 200 kWh, 50 kW design passes all fifteen years, reaches 83.27 percent expected state of health, and exposes an INR 376,647 cost error when degradation is ignored.

Engineering

Tools and method

Tools
The project uses Python, NumPy, Pandas, SciPy, BLAST-Lite, Rainflow, Matplotlib, Jupyter for subject analysis, simulation, and results.
Electrical model
Hourly power balance, SOC recursion, directional efficiency, grid availability, converter power, usable energy, and monthly peak constraints.
Optimisation
SciPy and HiGHS-compatible sparse linear programming with deterministic inputs and retained feasibility checks.
Battery ageing
BLAST-Lite expected cell capacity, annual feedback, 80 percent replacement rule, equivalent full cycles, and rainflow depth statistics.
Lifecycle analysis
Separate kW and kWh capex, fixed O&M, tariff escalation, discounting, replacement, and baseline comparison in Indian rupees.
Verification
Unit and branch tests, dependency consistency and audit, repository checks, exact container run, and full document render inspection.

Testing

Evaluation

Evaluation measures

  • Hourly power-balance, state-of-charge, grid, power, and energy constraint satisfaction
  • Maximum annual unserved critical energy across fifteen coupled years
  • First-year and year-15 grid peak, equivalent full cycles, and operating cost
  • Expected year-15 state of health and replacement year
  • Degradation-aware lifecycle cost, NPV saving, and no-degradation omission error
  • Sensitivity to fitted degradation rate and assumed cell temperature

Project boundaries

  • Campus demand is synthetic and PV generation is PVGIS model output, not measured site data.
  • Perfect annual foresight is a planning upper bound and the prepared outages are not a reliability forecast.
  • BLAST-Lite predicts expected cell life and does not replace pack warranty, thermal, cell-balance, or failure evidence.
  • The project does not control battery hardware or provide protection, interconnection, fire-safety, or construction design.
  • Tariff and cost values are declared scenario assumptions and not a utility or vendor quotation.

Included

  1. 01150 kWp Hyderabad PVGIS source with retained provenance
  2. 02Declared synthetic campus demand and three prepared outage cases
  3. 03Twelve battery power and energy candidates
  4. 04Hourly dispatch with tariff, monthly demand, SOC, power, energy, and outage constraints
  5. 05Fifteen-year BLAST-Lite expected-degradation coupling
  6. 06Candidate, annual, hourly, sensitivity, and lifecycle result files
  7. 07Fifteen labelled figures and 52 annotated references
  8. 08Sixteen automated tests with 96 percent branch coverage
  9. 09Complete project files, models, calculations, and analysis material in a private GitHub repository
  10. 1083-page project documentation in PDF and editable Word formats
  11. 1117-page setup and usage guide in PDF and editable Word formats

Project record

No information is collected on this page.

Permanent project ID
GP-EE-0OFUKMH
Catalogued
21 Aug 2026
Completed
26 Aug 2026
Verified
26 Aug 2026
Demonstration
Included in repository

Handover

After purchase

  1. 01
    Payment is confirmed

    The project is marked unavailable and cannot be purchased again.

  2. 02
    Repository access is granted

    The buyer's submitted GitHub account receives access to the private repository.

  3. 03
    The purchase record is delivered

    The certification sheet is prepared from the reviewed buyer details and sent privately by email.