Instructions
Start hereThis site has been created as a clean starting point.
We can now build it page by page, with the model logic added gradually into the backend.
Blank starting page for the Energy Model website.
This site has been created as a clean starting point.
We can now build it page by page, with the model logic added gradually into the backend.
Build a technically defensible solar PV + BESS evaluation platform that starts from real project inputs and produces robust technical, commercial, and client-ready outputs.
The site must support multiple projects, where each project is a single client/site evaluation context with its own description.
Within each project, we need multiple scenarios so different assumptions, PV sizes, BESS sizes, tariff choices, and commercial structures can be compared cleanly.
Each scenario must be savable, and the interface should also support clearing/resetting inputs back to sensible defaults for starting a fresh scenario or a new project.
We will build this gradually and carefully so the website structure matches the real model logic instead of repeating old spreadsheet mistakes.
Project and scenario structure: support multiple projects/sites, each with its own description, and allow multiple scenarios within a project with save and clear/reset actions.
Bill and tariff inputs: accept monthly client electricity bills, support country-specific tariff structures, and especially South African time-of-use periods such as peak, standard, and off-peak.
Load profile inference: infer a likely hourly site load profile from bill and TOU data when interval metering is not available.
Solar PV inputs: accept probable site PV yield and use it in hourly simulation.
Technical model inputs: include grid connection capacity, PV degradation, BESS degradation, charge/discharge rates, usable DOD, minimum charge, efficiencies, grid charging rules, export rules, throttles, and setpoints.
Hourly dispatch engine: model explicit energy paths including PV to load, PV to BESS, PV to grid, grid to BESS, BESS to load, BESS to grid, grid to load, clipping, losses, and energy-balance checks.
Scenario comparison: compare utility only, PV only, BESS only, and PV + BESS cases, while also allowing multiple sizing/configuration scenarios for the same project.
Optimization logic: maximize PV utilization, optimize BESS arbitrage across tariff periods, and test multiple PV and BESS sizes to minimize energy cost.
Tariff calendar logic: build an hourly tariff calendar using date, hour, weekday, demand period, TOU label, and assigned tariff value.
Long-term simulation: run yearly roll-forwards over 15 to 20 years with PV degradation, BESS degradation, and grid tariff escalation.
Commercial outputs: evaluate capex, savings, outright purchase, funded lease structures, O&M, insurance, funding rates, and broader client economics.
IPP/commercial layer: preserve space for deeper outputs learned from the workbook such as LCOE, cumulative savings, discount vs Eskom, and DSCR-style views where relevant.
Reporting: produce robust comparison outputs and eventually client-ready reports that help support battery adoption decisions.
Model quality: keep the logic step-driven, technically sound, sanity-checked, and auditable.
This site will need structured storage for multiple project-specific and scenario-specific documents, including bills, PV simulations, supporting calculators, and generated outputs.
We have started with separate areas for raw uploads, processed files, project records, reusable reference data, templates, and exports so the system stays clean as multiple evaluations grow.
The next step later will be to formalize how each project folder and scenario folder stores metadata, inputs, linked documents, and saved scenario state.