# Environment settings — the shape of the Simulations → AI handover. # # This file feeds aicontrol/env/spaces.py now and the placeholder environment next week. # Values marked PLACEHOLDER are ours until: the joint session with Simulations (November) # for sizes, ranges and the forecast layout; the reward-weight conversation with Energy # Management and Business (Q2) for the weights. Same YAML style as Simulations' scenario # files, to be aligned with their core developer. step_minutes: 5 # the manual's timestep; 105,120 steps per year plant: # PLACEHOLDER: the Rijnstate-type pilot plant from the cost register pv_kw: 460 # 2,300 m² of panels electrolyser_kw: 118 # H2B2 EL20N datasheet, found in the live Simulink model fuel_cell_kw: 100 battery_kwh: 500 battery_kw: 250 h2_capacity_kg: 200 tank_p_max_bar: 30 # 30 bar storage, from the cost register load_max_kw: 1000 # upper bound for scaling load observations, PLACEHOLDER observation: price_range: [-1.0, 5.0] # currency per kWh; negative prices happen co2_range: [0.0, 1.5] # kg CO2 per kWh forecast: # the block of forecasts the agent sees; layout to agree with Simulations quantities: [solar, tier1, tier2, tier3] horizons_min: [60, 180, 360, 1440] quantiles: [p10, p50, p90] # best / likely / worst, as the manual asks action: shedding_levels: 3 # 0 nothing, 1 Tier 3, 2 Tiers 2 and 3 reward: # PLACEHOLDER weights — not ours to set; a proposal for the Q2 conversation cost_per_currency: -1.0 # energy cost this step co2_per_kg: -0.05 # emissions this step tier1_unserved_per_kwh: -1000.0 # must dominate everything else tier2_shed_per_kwh: -2.0 tier3_shed_per_kwh: -0.5 limit_violation: -10.0 # battery or tank pushed past a safe limit switching: -0.1 # equipment switched on or off this step