Remodel/packages/engine
Mannu 314127effc [S1-T01 through T11] Solar, Wind, BESS generation simulation + CLI
- Pydantic schemas: SolarConfig, WindConfig, BessConfig, GenerationResult
- Catalog: synthetic 8760h profiles for RJ/KA/GJ solar and wind; LRU-cached loader
- generation/solar.py: 25yr hourly simulation (DC losses, inverter, clipping, soiling, degradation)
- generation/wind.py: power-law shear, piecewise power curve, wake/electrical losses, degradation
- generation/bess_state.py: SOH-based capacity degradation with augmentation schedule
- CLI: remodel --input scenario.json --output gen.parquet (Typer upgraded to 0.25.1 for Click 8.3 compat)
- 43 unit tests, 97.4% coverage; mypy strict + ruff clean
- S1-T10 parity gate: placeholder fixture + skipped integration tests (awaiting Nagasamudra data)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-07 10:04:21 +05:30
..
docs [S1-T01 through T11] Solar, Wind, BESS generation simulation + CLI 2026-05-07 10:04:21 +05:30
src/remodel_engine [S1-T01 through T11] Solar, Wind, BESS generation simulation + CLI 2026-05-07 10:04:21 +05:30
tests [S1-T01 through T11] Solar, Wind, BESS generation simulation + CLI 2026-05-07 10:04:21 +05:30
pyproject.toml [S1-T01 through T11] Solar, Wind, BESS generation simulation + CLI 2026-05-07 10:04:21 +05:30
README.md [S0-T02] Set up packages/engine with Poetry, Ruff, mypy strict, pytest 2026-05-07 02:14:45 +05:30

remodel-engine

UI-agnostic Python calculation library for hybrid RE (Solar + Wind + BESS) project finance.

Setup

poetry install

Common commands

poetry run pytest                   # run tests with coverage
poetry run ruff check .             # lint
poetry run mypy src/                # type-check
poetry run remodel --help           # CLI (after implementation)

Package layout

src/remodel_engine/
├── schemas/        Pydantic models (single source of truth)
├── catalog/        Default values, CostItem catalog, profiles
├── generation/     solar.py, wind.py, bess_state.py
├── dispatch/       hybrid_rtc.py, mcp_settlement.py
├── commercial/     ppa.py, dsm.py, charges.py, losses.py
├── capex/          cost_items.py, phasing.py, idc.py
├── financial/      pnl.py, cfs.py, bs.py, depreciation.py, tax.py
├── debt/           sizing.py, sculpting.py, schedule.py, compliance.py
├── irr/            metrics.py
├── solver/         tariff.py
├── scenarios/      runner.py, sweep.py
├── io/             parquet_io.py, excel_export.py
└── cli.py