grid / openenv.yaml
Not-OmKar's picture
Big update
427a79e
name: openenv-smartgrid-marketsim
version: "0.1.0"
description: >
Multi-agent smart-grid market simulation where strategic bids are cleared by a market,
corrected by an explicit dispatch control agent, and then enforced by a physics-constrained
safety shield.
tags:
- openenv
- multi-agent
- market
- smart-grid
- long-horizon
tasks:
- id: default
display_name: Strategic Bidding With Physical Dispatch
difficulty: medium
max_steps: 24
description: >
Agents bid into a market, then LDU enforces grid feasibility. Reward is based on
physically delivered outcomes under volatility and shock events.
success_threshold: 0.62
- id: long_horizon
display_name: Long Horizon Reliability Planning
difficulty: hard
max_steps: 48
description: >
Extended planning task with delayed effects and recurring scarcity windows.
Evaluates durable policy memory and low-volatility dispatch behavior.
success_threshold: 0.58
- id: stress_shock
display_name: Shock Stress Reliability
difficulty: hard
max_steps: 30
description: >
Shock-heavy scenario with renewable collapse and demand volatility.
Tests emergency adaptation and correction-aware decision quality.
success_threshold: 0.56
- id: normal
display_name: Benchmark Normal Operations
difficulty: medium
max_steps: 24
description: >
Mild-variability benchmark with no forced shock, emphasizing efficient
low-correction dispatch.
success_threshold: 0.62
- id: outage
display_name: Benchmark Outage Contingency
difficulty: hard
max_steps: 30
description: >
Outage benchmark with N-1 generator-or-feeder contingency and delayed thermal
recovery behavior.
success_threshold: 0.56
- id: renewable_collapse
display_name: Benchmark Renewable Collapse
difficulty: hard
max_steps: 30
description: >
Severe renewable drop and forecast-error benchmark testing scarcity
recovery and reliability adaptation.
success_threshold: 0.56
action_space:
type: object
fields:
bids:
type: array
description: List of supply and demand bids from multiple agents
ev_charge_mwh:
type: float
min: 0.0
ev_discharge_mwh:
type: float
min: 0.0
dispatch_action_space:
type: object
fields:
reserve_activation_mwh:
type: float
min: 0.0
peaker_adjustment_mwh:
type: float
storage_dispatch_mwh:
type: float
corrective_redispatch_mwh:
type: float
observation_space:
type: object
fields:
step:
type: int
steps_taken:
type: int
max_steps:
type: int
demand_mwh:
type: float
renewable_availability_mwh:
type: float
peaker_capacity_mwh:
type: float
ev_storage_mwh:
type: float
ev_storage_capacity_mwh:
type: float
last_clearing_price:
type: float
leader_price_signal:
type: float
scarcity_index:
type: float
shock_active:
type: bool
forecast_demand_mwh:
type: float
forecast_renewable_mwh:
type: float
load_forecast_error_mwh:
type: float
renewable_forecast_error_mwh:
type: float
contingency_active:
type: bool
contingency_type:
type: string
operator_override_enabled:
type: bool
public_signal:
type: string
schema_info:
type: string
hint:
type: string
nullable: true
error_message:
type: string
nullable: true
reward:
type: object
fields:
score:
type: float
range: [0.0, 1.0]
reason:
type: string
demand_satisfaction_score:
type: float
cost_efficiency_score:
type: float
renewable_utilization_score:
type: float
stability_score:
type: float
reserve_adequacy_score:
type: float
emissions_intensity_tco2_per_mwh:
type: float
infeasibility_penalty:
type: float
blackout_penalty:
type: float
environment:
api: REST
framework: FastAPI
base_url: http://localhost:7860
endpoints:
- GET /health
- POST /reset
- POST /step
- POST /act
- POST /dispatch-act
- GET /state
- GET /events
- GET /events/stream
- GET /info
- POST /inject-shock
- POST /operator-override
- POST /run-inference
- POST /run-demo-mode
- POST /run-resilience-demo
- GET /demo
docker:
image: openenv-smartgrid-marketsim
port: 7860