Remodel/packages/engine/tests/fixtures/nagasamudra_inputs.json
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

34 lines
947 B
JSON

{
"_comment": "PLACEHOLDER — replace with real Nagasamudra project inputs before parity gate.",
"_status": "AWAITING_USER_DATA",
"solar": {
"location_id": "KA",
"capacity_dc_mwp": 600.0,
"capacity_ac_mw": 400.0,
"dc_loss_fraction": 0.02,
"inverter_efficiency": 0.97,
"ac_loss_fraction": 0.01,
"availability_fraction": 0.98,
"soiling_fraction": 0.02,
"degradation_y1": 0.007,
"degradation_annual": 0.005
},
"wind": {
"location_id": "KA",
"capacity_mw": 300.0,
"hub_height_m": 140.0,
"ref_height_m": 100.0,
"wind_shear_exponent": 0.14,
"wake_loss_fraction": 0.05,
"electrical_loss_fraction": 0.02,
"availability_fraction": 0.97,
"degradation_annual": 0.002
},
"_expected": {
"_note": "Fill these from the Excel model output for the parity gate",
"solar_y1_cuf": null,
"wind_y1_plf": null,
"solar_y1_mwh": null,
"wind_y1_mwh": null
}
}