validate_commodity_graphs_for_model

Function validate_commodity_graphs_for_model 

Source
pub fn validate_commodity_graphs_for_model(
    commodity_graphs: &IndexMap<(RegionID, u32), CommoditiesGraph>,
    processes: &ProcessMap,
    commodities: &CommodityMap,
    time_slice_info: &TimeSliceInfo,
) -> Result<()>
Expand description

Validates commodity graphs for the entire model.

The validation process checks three time slice levels:

  • Annual: Validates annual-level commodities and processes
  • Seasonal: Validates seasonal-level commodities and processes for each season
  • Day/Night: Validates day/night-level commodities and processes for each time slice

§Arguments

  • commodity_graphs - Commodity graphs for each region and year, outputted from build_commodity_graphs_for_model
  • processes - All processes in the model with their flows and activity limits
  • commodities - All commodities with their types and demand specifications
  • region_ids - Collection of regions to model
  • years - Years to analyse
  • time_slice_info - Time slice configuration (seasons, day/night periods)

§Errors

Returns an error if:

  • Commodity type rules are violated (e.g., SVD commodities being consumed)
  • Demand cannot be satisfied