SolarCalc is a comprehensive solar energy calculator designed to help homeowners, businesses, and solar installers estimate solar power system requirements with precision.
SolarCalc provides an intuitive web interface for calculating solar system components, estimating costs, and generating detailed bills of materials. Whether you're a homeowner exploring solar options or a professional installer preparing quotes, SolarCalc streamlines the entire estimation process.
- β‘ Quick System Size Estimator
- π§ Detailed PV System Calculator
- π Bill of Materials Generator
- π Real-time Calculations
- π± Responsive Design
- π Print-Friendly Reports
- π Privacy-Focused (Client-side calculations only)
Frontend (HTML/CSS/JS)
β
βΌ
Flask Backend
β
βΌ
Jinja2 Templates
β
βΌ
Static Assets (CSS/Images)
- Python 3.7+
- pip
git clone https://github.com/imtona44/solarcalc.git
cd solarcalcpip install -r requirements.txtpython Solar.pyApplication: http://localhost:5000
- Enter monthly electricity bill.
- Enter monthly energy consumption (kWh).
- Click Calculate System Size.
- Review recommended PV system size.
Configure:
- System Voltage
- PV Module Rating
- PV Module Isc
- Advanced Settings
- Device Loads
Results include:
- Energy Consumption
- Solar Panels
- Battery Bank
- Inverter
- Charge Controller
Generate and print a complete component list after calculation.
solarcalc/
βββ Solar.py
βββ requirements.txt
βββ LICENSE
βββ README.md
βββ templates/
βββ static/
βββ docs/
| Route | Method | Description |
|---|---|---|
| / | GET | Home |
| /system-size | GET | Quick estimator |
| /detailed-calculator | GET | Detailed calculator |
| /materials | GET | Materials |
| /about | GET | About |
| /privacy | GET | Privacy |
| /api/calculate-system-size | POST | Quick calculation |
| /api/calculate-detailed-system | POST | Full calculation |
Daily Consumption = Monthly Consumption / 30
System Size = Daily Consumption / (24 * PanelEfficiency)
TotalWh = Ξ£(DeviceWatts * DeviceHours)
RequiredWh = TotalWh * SystemLossFactor
Panels = ceil(TotalWp / PanelRating)
BatteryAh = (TotalWh * DaysAutonomy) / (Derating * DOD * Voltage)
Inverter = TotalDeviceWatts * 1.25
Controller = ceil(Panels * Isc * 1.3)| Parameter | Value |
|---|---|
| System Loss Factor | 1.3 |
| Panel Generation Factor | 3.43 |
| Days of Autonomy | 3 |
| Derating Factor | 0.85 |
| Depth of Discharge | 0.6 |
| Panel Efficiency | 0.16 |
pip install -r requirements.txtpython -m venv venv
pip install -r requirements-dev.txt
python Solar.pygunicorn -w 4 Solar:appor
waitress-serve --port=5000 Solar:apppython -m pytest tests/
python -m pytest --cov=. tests/| Issue | Solution |
|---|---|
| Port already in use | Change port |
| Missing dependencies | Install requirements |
| Template missing | Verify templates folder |
| Static files missing | Check static folder |
- Fork repository
- Create feature branch
- Commit changes
- Push branch
- Open Pull Request
Educational project using the MIT License.
Results are estimates only. Consult a certified solar engineer before installation.
- Email: region2@tesda.gov.ph
- Telephone: (078) 846-1618
- Address: TESDA Region II, Tuguegarao, Cagayan
- LEONICS Solar PV System Design
- TESDA Region II
- Font Awesome
- Community Contributors
If you found this project useful, please consider giving it a β on GitHub.
Built with β€οΈ for the renewable energy community.