- Added windProfileAvg to Year level display (similar to solarProfileAvg)
- Added windProfileMo to Month level display
- Added windProfileDay to Day level display
- Added hourProfileW (raw wind profile) to Hour level display
- This makes Wind profile display consistent with Solar profile display
The financing cost (IDC + upfront fees) was being displayed both as a separate
line item AND included in the total calculation, causing the Total Project Cost
to be inflated by the financing amount. This fix removes the separate financing
row from the breakdown table while keeping the correct total calculation.
- Added upfrontLeaseCostCr to totalCostCr calculation
- IDC and upfront fee now calculated on full project cost including lease
- Updated Land & Common card to show lease cost is included in total
- Changed Lease Rate default from 30 to 0.4 Lakh/acre/year
- Changed Upfront Fee default from 1% to 0.75%*1.18 (=0.885%)
- Updated upfront lease cost calculation to use new default
- Moved AC Capacity above DC Capacity
- Added DC:AC Ratio input field (editable, default 1.4)
- Made DC Capacity auto-calculated (read-only) based on AC * ratio
- Updated buildInputs() to include dc_ac_ratio
- Maintains same data flow as InputsTab.tsx
- Hour: raw profile %, DC MW, output MW
- Day: average profile %, DC MW, sum MWh
- Month: average profile %, DC MW, sum MWh
All levels now show: Solar 8760, DC MW, Solar MW, Wind, Total RE, Client End, Load
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
- Add solarDCMW and windMW props
- Pull from inputs_json in scenario page
- DC MW column now shows actual capacity from input
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
- Add helper functions for raw profile averages
- Solar 8760 shows average profile % at each level
- Month/day levels use daily/hourly averages
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
- Add hourly_solar_profile and hourly_wind_profile to store per-hour output values
- Add solar_dc_mwp, solar_ac_mw, wind_mw to PipelineResult for capacity display
- Add columns: Solar 8760, DC MW, Solar MW / Wind 8760, MW, Wind MW
- Updated UI to show detailed breakdown at each level (Year/Month/Day/Hour)
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
- Add client_load_mw to CommercialConfig (defaults to ppa_capacity_mw)
- Add hourly_timestamps, hourly_fy, hourly_proj_year, hourly_total_re,
hourly_client_end, hourly_load to ScenarioResult
- Generate 25-year hourly data in runner.py with proper timestamps
- Update API worker to return new hourly fields
- Update WorkbookView HourlyGenerationSheet to show all 5 columns
at each expandable level (Year > Month > Day > Hour)
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
- Show Apr 27 instead of Apr - include FY suffix
- Reverse month order: Apr first, then May... Mar
- Change hourly from horizontal wrap to vertical stack
- Show FY 2026-27 instead of Y1 based on cod_year
- Show month names (Apr, May, etc.) instead of M1, M2
- Show actual dates (Apr 1, etc.) instead of D1, D2
- Pass codYear from scenario inputs to WorkbookView
- Engine: generate all 25 years × 8760 hours of hourly generation
- Schema: add solar_hourly and wind_hourly fields to ScenarioResult
- API: expose hourly data in statements endpoint
- UI: new HourlyGenerationSheet with Year → Month → Day → Hour drill-down
- Add TYPEOF for hourly generation in web API types
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>