From a0d7c264b09cda48b74d9ad77a3da8e2472ca85c Mon Sep 17 00:00:00 2001 From: Aurash Karimi Date: Mon, 1 Dec 2025 12:30:03 +0000 Subject: [PATCH 01/27] added the investment_constraints input file --- src/asset.rs | 13 +- src/fixture.rs | 5 + src/input/agent/search_space.rs | 4 +- src/input/process.rs | 9 +- src/input/process/availability.rs | 4 +- src/input/process/investment_constraints.rs | 308 ++++++++++++++++++++ src/process.rs | 36 +++ 7 files changed, 374 insertions(+), 5 deletions(-) create mode 100644 src/input/process/investment_constraints.rs diff --git a/src/asset.rs b/src/asset.rs index d1ffc5a83..6c27aec41 100644 --- a/src/asset.rs +++ b/src/asset.rs @@ -907,7 +907,7 @@ mod tests { }; use crate::process::{ FlowType, Process, ProcessActivityLimitsMap, ProcessFlow, ProcessFlowsMap, - ProcessParameter, ProcessParameterMap, + ProcessInvestmentConstraintsMap, ProcessParameter, ProcessParameterMap, }; use crate::region::RegionID; use crate::time_slice::{TimeSliceID, TimeSliceLevel}; @@ -968,6 +968,9 @@ mod tests { // Create empty activity limits map let activity_limits = hash_map! {(region_id.clone(), 2020) => Rc::new(HashMap::new())}; + // Create empty constraints map + let investment_constraints = hash_map! {(region_id.clone(), 2020) => Rc::new(Vec::new())}; + let process = Rc::new(Process { id: ProcessID::from("PROC1"), description: "Test process".to_string(), @@ -978,6 +981,7 @@ mod tests { years: 2020..=2020, activity_limits, capacity_to_activity: ActivityPerCapacity(1.0), + investment_constraints: investment_constraints, }); // Create asset @@ -1063,6 +1067,10 @@ mod tests { .iter() .map(|&year| ((region_id.clone(), year), Rc::new(IndexMap::new()))) .collect(); + let investment_constraints = years + .iter() + .map(|&year| ((region_id.clone(), year), Rc::new(Vec::new()))) + .collect(); let process = Rc::new(Process { id: "process1".into(), description: "Description".into(), @@ -1073,6 +1081,7 @@ mod tests { regions: IndexSet::from(["GBR".into()]), primary_output: None, capacity_to_activity: ActivityPerCapacity(1.0), + investment_constraints: investment_constraints, }); let future = [2020, 2010] .map(|year| { @@ -1112,6 +1121,7 @@ mod tests { let fraction_limits = Dimensionless(1.0)..=Dimensionless(2.0); let mut flows = ProcessFlowsMap::new(); let mut activity_limits = ProcessActivityLimitsMap::new(); + let investment_constraints = ProcessInvestmentConstraintsMap::new(); let limit_map = Rc::new(hash_map! {time_slice => fraction_limits}); for year in [2010, 2020] { // empty flows map, but this is fine for our purposes @@ -1128,6 +1138,7 @@ mod tests { regions: IndexSet::from([region_id]), primary_output: None, capacity_to_activity: ActivityPerCapacity(3.0), + investment_constraints: investment_constraints, } } diff --git a/src/fixture.rs b/src/fixture.rs index bfd32d0d7..014d60612 100644 --- a/src/fixture.rs +++ b/src/fixture.rs @@ -159,6 +159,10 @@ pub fn process( let flows = iproduct!(region_ids.iter(), milestone_years.iter()) .map(|(region_id, year)| ((region_id.clone(), *year), Rc::new(IndexMap::new()))) .collect(); + let investment_constraints = iproduct!(region_ids.iter(), milestone_years.iter()) + .map(|(region_id, year)| ((region_id.clone(), *year), Rc::new(Vec::new()))) + .collect(); + Process { id: "process1".into(), description: "Description".into(), @@ -169,6 +173,7 @@ pub fn process( regions: region_ids, primary_output: None, capacity_to_activity: ActivityPerCapacity(1.0), + investment_constraints: investment_constraints, } } diff --git a/src/input/agent/search_space.rs b/src/input/agent/search_space.rs index 3dbdf7940..aefa2be8b 100644 --- a/src/input/agent/search_space.rs +++ b/src/input/agent/search_space.rs @@ -203,7 +203,8 @@ mod tests { use super::*; use crate::fixture::{agents, assert_error, region_ids}; use crate::process::{ - ProcessActivityLimitsMap, ProcessFlowsMap, ProcessID, ProcessParameterMap, + ProcessActivityLimitsMap, ProcessFlowsMap, ProcessID, ProcessInvestmentConstraintsMap, + ProcessParameterMap, }; use crate::region::RegionID; use crate::units::ActivityPerCapacity; @@ -226,6 +227,7 @@ mod tests { regions: region_ids.clone(), primary_output: None, capacity_to_activity: ActivityPerCapacity(1.0), + investment_constraints: ProcessInvestmentConstraintsMap::new(), }; (id, process.into()) }) diff --git a/src/input/process.rs b/src/input/process.rs index 61caf993e..516223d9c 100644 --- a/src/input/process.rs +++ b/src/input/process.rs @@ -3,7 +3,8 @@ use super::{input_err_msg, read_csv}; use crate::commodity::CommodityMap; use crate::id::IDCollection; use crate::process::{ - Process, ProcessActivityLimitsMap, ProcessFlowsMap, ProcessID, ProcessMap, ProcessParameterMap, + Process, ProcessActivityLimitsMap, ProcessFlowsMap, ProcessID, ProcessInvestmentConstraintsMap, + ProcessMap, ProcessParameterMap, }; use crate::region::{RegionID, parse_region_str}; use crate::time_slice::TimeSliceInfo; @@ -22,6 +23,8 @@ use flow::read_process_flows; mod parameter; use crate::id::define_id_getter; use parameter::read_process_parameters; +mod investment_constraints; +use investment_constraints::read_process_investment_constraints; const PROCESSES_FILE_NAME: &str = "processes.csv"; @@ -62,6 +65,8 @@ pub fn read_processes( read_process_availabilities(model_dir, &processes, time_slice_info, milestone_years)?; let mut flows = read_process_flows(model_dir, &mut processes, commodities, milestone_years)?; let mut parameters = read_process_parameters(model_dir, &processes, milestone_years)?; + let mut investment_constraints = + read_process_investment_constraints(model_dir, &processes, milestone_years)?; // Add data to Process objects for (id, process) in &mut processes { @@ -72,6 +77,7 @@ pub fn read_processes( process.activity_limits = activity_limits.remove(id).unwrap(); process.flows = flows.remove(id).unwrap(); process.parameters = parameters.remove(id).unwrap(); + process.investment_constraints = investment_constraints.remove(id).unwrap_or_default(); } Ok(processes) @@ -157,6 +163,7 @@ where regions, primary_output, capacity_to_activity, + investment_constraints: ProcessInvestmentConstraintsMap::new(), }; ensure!( diff --git a/src/input/process/availability.rs b/src/input/process/availability.rs index 4fa68eb32..7bfa6d450 100644 --- a/src/input/process/availability.rs +++ b/src/input/process/availability.rs @@ -55,8 +55,8 @@ impl ProcessAvailabilityRaw { } /// The type of limit given for availability -#[derive(DeserializeLabeledStringEnum)] -enum LimitType { +#[derive(DeserializeLabeledStringEnum, Debug, Clone, Copy, PartialEq, Eq)] +pub enum LimitType { #[string = "lo"] LowerBound, #[string = "up"] diff --git a/src/input/process/investment_constraints.rs b/src/input/process/investment_constraints.rs new file mode 100644 index 000000000..e7f0c677a --- /dev/null +++ b/src/input/process/investment_constraints.rs @@ -0,0 +1,308 @@ +//! Code for reading process investment constraints CSV file +use super::super::input_err_msg; +use super::availability::LimitType; +use crate::input::read_csv_optional; +use crate::process::{ + InvestmentConstraintValue, ProcessID, ProcessInvestmentConstraint, + ProcessInvestmentConstraintsMap, ProcessMap, +}; +use crate::region::parse_region_str; +use anyhow::{Context, Result, bail, ensure}; +use serde::Deserialize; +use serde_string_enum::DeserializeLabeledStringEnum; +use std::collections::{HashMap, HashSet}; +use std::path::Path; +use std::rc::Rc; + +const PROCESS_INVESTMENT_CONSTRAINTS_FILE_NAME: &str = "process_investment_constraints.csv"; + +/// Represents a row of the process investment constraints CSV file +#[derive(Deserialize)] +struct ProcessInvestmentConstraintRaw { + constraint_name: String, + process_id: String, + #[serde(default = "default_region")] + regions: String, + commission_years: u32, + limit_type: LimitType, + constraint_type: ConstraintType, + growth_constraint_seed: Option, + value: f64, +} + +/// Default value for region field when not specified +fn default_region() -> String { + "ALL".to_string() +} + +impl ProcessInvestmentConstraintRaw { + /// Validate the constraint record for logical consistency and required fields + fn validate(&self) -> Result<()> { + // Validate that growth_constraint_seed is provided when constraint_type is growth + if matches!(self.constraint_type, ConstraintType::Growth) { + bail!("Growth constraints are not supported yet!") + } + if matches!(self.constraint_type, ConstraintType::Limit) { + bail!("Limit constraints are not supported yet!") + } + + // Validate that value is finite + ensure!( + self.value.is_finite(), + "Constraint value must be finite for constraint '{}'", + self.constraint_name + ); + + Ok(()) + } +} + +/// The type of investment constraint being applied +#[derive(DeserializeLabeledStringEnum, Debug, Clone, Copy, PartialEq, Eq)] +pub enum ConstraintType { + /// Growth rate constraint (relative change between periods) + #[string = "growth"] + Growth, + /// Addition constraint (absolute change between periods) + #[string = "addition"] + Addition, + /// Absolute limit constraint (total capacity limit) + #[string = "limit"] + Limit, +} + +/// Read the process investment constraints CSV file. +/// +/// This file contains information about investment constraints that limit how processes can be +/// deployed, either through growth rates, absolute additions, or capacity limits. +/// +/// # Arguments +/// +/// * `model_dir` - Folder containing model configuration files +/// * `processes` - Map of processes to validate against +/// * `milestone_years` - Milestone years of simulation to validate against +/// +/// # Returns +/// +/// A map keyed by process ID containing investment constraints maps, or an error. +pub fn read_process_investment_constraints( + model_dir: &Path, + processes: &ProcessMap, + milestone_years: &[u32], +) -> Result> { + let file_path = model_dir.join(PROCESS_INVESTMENT_CONSTRAINTS_FILE_NAME); + let constraints_csv = read_csv_optional(&file_path)?; + read_process_investment_constraints_from_iter(constraints_csv, processes, milestone_years) + .with_context(|| input_err_msg(&file_path)) +} + +/// Process raw process investment constraint input data into a constraints map. +/// +/// # Arguments +/// +/// * `iter` - Iterator of raw process investment constraint records +/// * `processes` - Map of processes to validate against +/// * `milestone_years` - Milestone years of simulation to validate against +/// +/// # Returns +/// +/// A map keyed by process ID containing investment constraints maps, or an error. +fn read_process_investment_constraints_from_iter( + iter: I, + processes: &ProcessMap, + milestone_years: &[u32], +) -> Result> +where + I: Iterator, +{ + let mut map: HashMap = HashMap::new(); + + for record in iter { + // Validate the raw record + record.validate()?; + + // Verify the process exists + let (process_id, process) = processes + .get_key_value(record.process_id.as_str()) + .with_context(|| format!("Process {} not found", record.process_id))?; + + // Parse and validate regions + let process_regions = &process.regions; + let record_regions = + parse_region_str(&record.regions, process_regions).with_context(|| { + format!( + "Invalid region for process {process_id}. Valid regions are {process_regions:?}" + ) + })?; + + // Validate year is a milestone year + ensure!( + milestone_years.contains(&record.commission_years), + "Year {} is not a milestone year for constraint '{}'. Valid milestone years are: {:?}", + record.commission_years, + record.constraint_name, + milestone_years + ); + + // Validate year is within process operational years + let process_years: Vec = process.years.clone().collect(); + ensure!( + process_years.contains(&record.commission_years), + "Year {} is not valid for process {}. Valid years are: {:?}", + record.commission_years, + process_id, + process_years + ); + + // Create a processed constraint for each region + for region in &record_regions { + let constraint_value = match record.constraint_type { + ConstraintType::Addition => InvestmentConstraintValue::Addition { + addition_limit: record.value, + }, + ConstraintType::Growth => InvestmentConstraintValue::Growth { + growth_constraint_seed: record.growth_constraint_seed.unwrap(), + }, + ConstraintType::Limit => InvestmentConstraintValue::Limit {}, + }; + + let limit_type_str = match record.limit_type { + LimitType::LowerBound => "LowerBound", + LimitType::UpperBound => "UpperBound", + LimitType::Equality => "Equality", + }; + + let constraint = ProcessInvestmentConstraint { + constraint_name: record.constraint_name.clone(), + constraint_value, + limit_type: limit_type_str.to_string(), + }; + + let process_map = map.entry(process_id.clone()).or_default(); + let constraints_vec = process_map + .entry((region.clone(), record.commission_years)) + .or_insert_with(|| Rc::new(Vec::new())); + + let constraints_mut = Rc::get_mut(constraints_vec) + .expect("Should have exclusive access during construction"); + constraints_mut.push(constraint); + } + } + + validate_constraint_consistency(&map)?; + + Ok(map) +} + +/// Validate that constraints are internally consistent +/// +/// Checks for duplicate constraint names within each process/region/year combination. +fn validate_constraint_consistency( + map: &HashMap, +) -> Result<()> { + for (process_id, constraints_map) in map { + for ((region_id, year), constraints) in constraints_map { + // Check for duplicate constraint names + let mut seen = HashSet::new(); + for constraint in constraints.iter() { + if !seen.insert(&constraint.constraint_name) { + bail!( + "Duplicate constraint name '{}' for process '{}', region '{}', year {}", + constraint.constraint_name, + process_id, + region_id, + year + ); + } + } + } + } + + Ok(()) +} + +#[cfg(test)] +mod tests { + use super::*; + + fn create_raw_constraint( + constraint_type: ConstraintType, + limit_type: LimitType, + value: f64, + growth_constraint_seed: Option, + ) -> ProcessInvestmentConstraintRaw { + ProcessInvestmentConstraintRaw { + constraint_name: "test_constraint".into(), + process_id: "test_process".into(), + regions: "ALL".into(), + commission_years: 2030, + limit_type, + constraint_type, + growth_constraint_seed, + value, + } + } + + #[test] + fn test_validate_growth_not_supported() { + // Growth constraints should fail with "not supported yet" message + let constraint = create_raw_constraint( + ConstraintType::Growth, + LimitType::UpperBound, + 0.1, + Some(100.0), + ); + let result = constraint.validate(); + assert!(result.is_err()); + assert!(result.unwrap_err().to_string().contains("not supported")); + } + + #[test] + fn test_validate_limit_not_supported() { + // Limit constraints should fail with "not supported yet" message + let constraint = + create_raw_constraint(ConstraintType::Limit, LimitType::UpperBound, 100.0, None); + let result = constraint.validate(); + assert!(result.is_err()); + assert!(result.unwrap_err().to_string().contains("not supported")); + } + + #[test] + fn test_validate_addition_with_finite_value() { + // Valid: addition constraint with positive value + let valid = + create_raw_constraint(ConstraintType::Addition, LimitType::UpperBound, 10.0, None); + assert!(valid.validate().is_ok()); + + // Valid: addition constraint with zero value + let valid = + create_raw_constraint(ConstraintType::Addition, LimitType::UpperBound, 0.0, None); + assert!(valid.validate().is_ok()); + + // Valid: addition constraint with negative value (constraint allows this) + let valid = + create_raw_constraint(ConstraintType::Addition, LimitType::LowerBound, -10.0, None); + assert!(valid.validate().is_ok()); + } + + #[test] + fn test_validate_addition_rejects_infinite() { + // Invalid: infinite value + let invalid = create_raw_constraint( + ConstraintType::Addition, + LimitType::UpperBound, + f64::INFINITY, + None, + ); + assert!(invalid.validate().is_err()); + + // Invalid: NaN value + let invalid = create_raw_constraint( + ConstraintType::Addition, + LimitType::UpperBound, + f64::NAN, + None, + ); + assert!(invalid.validate().is_err()); + } +} diff --git a/src/process.rs b/src/process.rs index 63af58c98..a8d5602f3 100644 --- a/src/process.rs +++ b/src/process.rs @@ -34,6 +34,10 @@ pub type ProcessParameterMap = HashMap<(RegionID, u32), Rc>; /// The value is actually a map itself, keyed by commodity ID. pub type ProcessFlowsMap = HashMap<(RegionID, u32), Rc>>; +/// Map of process investment constraints, keyed by region and year +pub type ProcessInvestmentConstraintsMap = + HashMap<(RegionID, u32), Rc>>; + /// Represents a process within the simulation #[derive(PartialEq, Debug)] pub struct Process { @@ -59,6 +63,8 @@ pub struct Process { /// if capacity is measured in GW and energy is measured in PJ, the `capacity_to_activity` for the /// process is 31.536 because 1 GW of capacity can produce 31.536 PJ energy output in a year. pub capacity_to_activity: ActivityPerCapacity, + /// Investment constraints for this process + pub investment_constraints: ProcessInvestmentConstraintsMap, } impl Process { @@ -167,6 +173,36 @@ pub struct ProcessParameter { pub discount_rate: Dimensionless, } +/// Value specification for different possible types of investment constraints +#[derive(Debug, Clone, PartialEq)] +pub enum InvestmentConstraintValue { + /// Addition constraint: Yearly limit an agent can invest + /// in the process, shared according to the agent's + /// proportion of the processes primary commodity demand + Addition { + /// constraint value to apply + addition_limit: f64, + }, + /// Growth constraint: Not implemented yet + Growth { + /// growth constraint seed value + growth_constraint_seed: f64, + }, + /// Limit constraint: Not implemented yet + Limit {}, +} + +/// A constraint imposed on investments in the process +#[derive(PartialEq, Debug, Clone)] +pub struct ProcessInvestmentConstraint { + /// The name of the investment constraint + pub constraint_name: String, + /// The parameters value required to impose the constraint + pub constraint_value: InvestmentConstraintValue, + /// The limit type for the constraint + pub limit_type: String, +} + #[cfg(test)] mod tests { use super::*; From 2631e5d384ac5ec3dd43dca107da97024e9c085c Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Tue, 25 Nov 2025 14:20:50 +0000 Subject: [PATCH 02/27] Create ProcessAvailabilities struct --- src/asset.rs | 13 +++++++------ src/graph/validate.rs | 5 +---- src/input.rs | 23 +++++++++++++++++++++-- src/input/process/availability.rs | 14 ++++++++++---- src/process.rs | 26 ++++++++++++++++++++------ 5 files changed, 59 insertions(+), 22 deletions(-) diff --git a/src/asset.rs b/src/asset.rs index 6c27aec41..06c348205 100644 --- a/src/asset.rs +++ b/src/asset.rs @@ -1,17 +1,18 @@ //! Assets are instances of a process which are owned and invested in by agents. use crate::agent::AgentID; use crate::commodity::CommodityID; -use crate::process::{FlowDirection, Process, ProcessFlow, ProcessID, ProcessParameter}; +use crate::process::{ + FlowDirection, Process, ProcessAvailabilities, ProcessFlow, ProcessID, ProcessParameter, +}; use crate::region::RegionID; use crate::simulation::CommodityPrices; use crate::time_slice::TimeSliceID; -use crate::units::{Activity, ActivityPerCapacity, Capacity, Dimensionless, MoneyPerActivity}; +use crate::units::{Activity, ActivityPerCapacity, Capacity, MoneyPerActivity}; use anyhow::{Context, Result, ensure}; use indexmap::IndexMap; use itertools::{Itertools, chain}; use log::{debug, warn}; use serde::{Deserialize, Serialize}; -use std::collections::HashMap; use std::hash::{Hash, Hasher}; use std::ops::{Deref, RangeInclusive}; use std::rc::Rc; @@ -84,7 +85,7 @@ pub struct Asset { /// The [`Process`] that this asset corresponds to process: Rc, /// Activity limits for this asset - activity_limits: Rc>>, + activity_limits: Rc, /// The commodity flows for this asset flows: Rc>, /// The [`ProcessParameter`] corresponding to the asset's region and commission year @@ -276,7 +277,7 @@ impl Asset { /// Get the activity limits for this asset in a particular time slice pub fn get_activity_limits(&self, time_slice: &TimeSliceID) -> RangeInclusive { - let limits = &self.activity_limits[time_slice]; + let limits = &self.activity_limits.time_slice_limits[time_slice]; let max_act = self.max_activity(); // limits in real units (which are user defined) @@ -288,7 +289,7 @@ impl Asset { &self, time_slice: &TimeSliceID, ) -> RangeInclusive { - let limits = &self.activity_limits[time_slice]; + let limits = &self.activity_limits.time_slice_limits[time_slice]; let cap2act = self.process.capacity_to_activity; (cap2act * *limits.start())..=(cap2act * *limits.end()) } diff --git a/src/graph/validate.rs b/src/graph/validate.rs index a488731ca..55a08b2be 100644 --- a/src/graph/validate.rs +++ b/src/graph/validate.rs @@ -89,10 +89,7 @@ fn can_be_active(process: &Process, target: &(RegionID, u32), time_slice: &TimeS let Some(limits_map) = process.activity_limits.get(target) else { continue; }; - if limits_map - .get(time_slice) - .is_some_and(|avail| *avail.end() > Dimensionless(0.0)) - { + if limits_map.time_slice_limits[time_slice].end() > &Dimensionless(0.0) { return true; } } diff --git a/src/input.rs b/src/input.rs index e82ad6c47..08358facc 100644 --- a/src/input.rs +++ b/src/input.rs @@ -31,6 +31,24 @@ use region::read_regions; mod time_slice; use time_slice::read_time_slice_info; +/// A trait which provides a method to insert a key and value into a map +pub trait Insert { + /// Insert a key and value into the map + fn insert(&mut self, key: K, value: V) -> Option; +} + +impl Insert for HashMap { + fn insert(&mut self, key: K, value: V) -> Option { + HashMap::insert(self, key, value) + } +} + +impl Insert for IndexMap { + fn insert(&mut self, key: K, value: V) -> Option { + IndexMap::insert(self, key, value) + } +} + /// Read a series of type `T`s from a CSV file. /// /// Will raise an error if the file is empty. @@ -163,9 +181,10 @@ where /// Inserts a key-value pair into a `HashMap` if the key does not already exist. /// /// If the key already exists, it returns an error with a message indicating the key's existence. -pub fn try_insert(map: &mut HashMap, key: &K, value: V) -> Result<()> +pub fn try_insert(map: &mut M, key: &K, value: V) -> Result<()> where - K: Eq + Hash + Clone + fmt::Debug, + M: Insert, + K: Eq + Hash + Clone + std::fmt::Debug, { let existing = map.insert(key.clone(), value).is_some(); ensure!(!existing, "Key {key:?} already exists in the map"); diff --git a/src/input/process/availability.rs b/src/input/process/availability.rs index 7bfa6d450..d99d640fc 100644 --- a/src/input/process/availability.rs +++ b/src/input/process/availability.rs @@ -1,6 +1,8 @@ //! Code for reading process availabilities CSV file use super::super::{format_items_with_cap, input_err_msg, read_csv, try_insert}; -use crate::process::{Process, ProcessActivityLimitsMap, ProcessID, ProcessMap}; +use crate::process::{ + Process, ProcessActivityLimitsMap, ProcessAvailabilities, ProcessID, ProcessMap, +}; use crate::region::parse_region_str; use crate::time_slice::TimeSliceInfo; use crate::units::{Dimensionless, Year}; @@ -153,11 +155,15 @@ where for (region_id, year) in iproduct!(&record_regions, &record_years) { let limits_map_inner = limits_map .entry((region_id.clone(), *year)) - .or_insert_with(|| Rc::new(HashMap::new())); + .or_insert_with(|| Rc::new(ProcessAvailabilities::default())); let limits_map_inner = Rc::get_mut(limits_map_inner).unwrap(); for (time_slice, ts_length) in ts_selection.iter(time_slice_info) { let bounds = record.to_bounds(ts_length); - try_insert(limits_map_inner, time_slice, bounds.clone())?; + try_insert( + &mut limits_map_inner.time_slice_limits, + time_slice, + bounds.clone(), + )?; } } } @@ -233,7 +239,7 @@ fn check_missing_time_slices( missing.extend( time_slice_info .iter_ids() - .filter(|ts| !map_for_region_year.contains_key(ts)) + .filter(|ts| !map_for_region_year.time_slice_limits.contains_key(*ts)) .map(|ts| (region_id, year, ts)), ); } diff --git a/src/process.rs b/src/process.rs index a8d5602f3..87a488da2 100644 --- a/src/process.rs +++ b/src/process.rs @@ -3,7 +3,7 @@ use crate::commodity::{Commodity, CommodityID}; use crate::id::define_id_type; use crate::region::RegionID; -use crate::time_slice::TimeSliceID; +use crate::time_slice::{Season, TimeSliceID}; use crate::units::{ ActivityPerCapacity, Dimensionless, FlowPerActivity, MoneyPerActivity, MoneyPerCapacity, MoneyPerCapacityPerYear, MoneyPerFlow, @@ -20,11 +20,7 @@ define_id_type! {ProcessID} pub type ProcessMap = IndexMap>; /// A map indicating activity limits for a [`Process`] throughout the year. -/// -/// The value is calculated as availability multiplied by time slice length. The limits are given as -/// ranges, depending on the user-specified limit type and value for availability. -pub type ProcessActivityLimitsMap = - HashMap<(RegionID, u32), Rc>>>; +pub type ProcessActivityLimitsMap = HashMap<(RegionID, u32), Rc>; /// A map of [`ProcessParameter`]s, keyed by region and year pub type ProcessParameterMap = HashMap<(RegionID, u32), Rc>; @@ -74,6 +70,24 @@ impl Process { } } +// Defines the availability limits for a process in a given region and year +/// +/// Values are calculated as availability multiplied by time slice/season length. The limits are +/// given as ranges, depending on the user-specified limit type and value for availability. +/// +/// All time slices must have an entry in `time_slice_limits`. Seasonal and annual limits may be +/// present if provided by the user, and only if they provide an extra level of constraint on top of +/// the time slice limits. +#[derive(PartialEq, Debug, Clone, Default)] +pub struct ProcessAvailabilities { + /// Optional annual limit + pub annual_limit: Option>, + /// Optional limits for each season + pub seasonal_limits: IndexMap>, + /// Limits for each time slice (mandatory for all time slices) + pub time_slice_limits: IndexMap>, +} + /// Represents a maximum annual commodity coeff for a given process #[derive(PartialEq, Debug, Clone)] pub struct ProcessFlow { From e737a0c32f2e2f22c3dc25f6ec0c676c7ad18f27 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Tue, 25 Nov 2025 15:13:10 +0000 Subject: [PATCH 03/27] New limits for investment appraisal --- src/asset.rs | 32 +++++++++++- src/process.rs | 51 ++++++++++++++++++- .../investment/appraisal/constraints.rs | 42 +++++++++++---- .../investment/appraisal/optimisation.rs | 1 + 4 files changed, 114 insertions(+), 12 deletions(-) diff --git a/src/asset.rs b/src/asset.rs index 06c348205..39a1a63e8 100644 --- a/src/asset.rs +++ b/src/asset.rs @@ -6,7 +6,7 @@ use crate::process::{ }; use crate::region::RegionID; use crate::simulation::CommodityPrices; -use crate::time_slice::TimeSliceID; +use crate::time_slice::{TimeSliceID, TimeSliceSelection}; use crate::units::{Activity, ActivityPerCapacity, Capacity, MoneyPerActivity}; use anyhow::{Context, Result, ensure}; use indexmap::IndexMap; @@ -294,6 +294,36 @@ impl Asset { (cap2act * *limits.start())..=(cap2act * *limits.end()) } + /// Iterate over activity limits for this asset + pub fn iter_activity_limits( + &self, + ) -> impl Iterator)> + '_ { + let max_act = self.max_activity(); + self.activity_limits + .iter_availability_limits() + .map(move |(ts_sel, limit)| { + ( + ts_sel, + (max_act * *limit.start())..=(max_act * *limit.end()), + ) + }) + } + + /// Iterate over activity per capacity limits for this asset + pub fn iter_activity_per_capacity_limits( + &self, + ) -> impl Iterator)> + '_ { + let cap2act = self.process.capacity_to_activity; + self.activity_limits + .iter_availability_limits() + .map(move |(ts_sel, limit)| { + ( + ts_sel, + (cap2act * *limit.start())..=(cap2act * *limit.end()), + ) + }) + } + /// Get the operating cost for this asset in a given year and time slice pub fn get_operating_cost(&self, year: u32, time_slice: &TimeSliceID) -> MoneyPerActivity { // The cost for all commodity flows (including levies/incentives) diff --git a/src/process.rs b/src/process.rs index 87a488da2..f0bcd44cc 100644 --- a/src/process.rs +++ b/src/process.rs @@ -3,7 +3,7 @@ use crate::commodity::{Commodity, CommodityID}; use crate::id::define_id_type; use crate::region::RegionID; -use crate::time_slice::{Season, TimeSliceID}; +use crate::time_slice::{Season, TimeSliceID, TimeSliceSelection}; use crate::units::{ ActivityPerCapacity, Dimensionless, FlowPerActivity, MoneyPerActivity, MoneyPerCapacity, MoneyPerCapacityPerYear, MoneyPerFlow, @@ -88,6 +88,55 @@ pub struct ProcessAvailabilities { pub time_slice_limits: IndexMap>, } +impl ProcessAvailabilities { + /// Check if the availability limits allow activity in the given time slice + pub fn has_availability(&self, time_slice: &TimeSliceID) -> bool { + // Check limit for this specific time slice + self.time_slice_limits[time_slice].end() > &Dimensionless(0.0) + + // Also need to check seasonal and annual limits, if present + && self + .seasonal_limits + .get(&time_slice.season) + .is_none_or(|seasonal_limit| seasonal_limit.end() > &Dimensionless(0.0)) + && self + .annual_limit + .as_ref() + .is_none_or(|annual_limit| annual_limit.end() > &Dimensionless(0.0)) + } + + /// Iterate over all time slice availability limits + /// + /// This first iterates over all individual timeslice limits, followed by seasonal limits (if + /// any), and finally the annual limit (if any). + pub fn iter_availability_limits( + &self, + ) -> impl Iterator)> { + // Iterate over all time slice limits + let time_slice_limits = self + .time_slice_limits + .iter() + .map(|(ts_id, limit)| (TimeSliceSelection::Single(ts_id.clone()), limit)); + + // Then seasonal limits, if any + let seasonal_limits = self + .seasonal_limits + .iter() + .map(|(season, limit)| (TimeSliceSelection::Season(season.clone()), limit)); + + // Then annual limit, if any + let annual_limits = self + .annual_limit + .as_ref() + .map(|limit| (TimeSliceSelection::Annual, limit)); + + // Chain all limits together + time_slice_limits + .chain(seasonal_limits) + .chain(annual_limits) + } +} + /// Represents a maximum annual commodity coeff for a given process #[derive(PartialEq, Debug, Clone)] pub struct ProcessFlow { diff --git a/src/simulation/investment/appraisal/constraints.rs b/src/simulation/investment/appraisal/constraints.rs index 36473a232..e13f2377f 100644 --- a/src/simulation/investment/appraisal/constraints.rs +++ b/src/simulation/investment/appraisal/constraints.rs @@ -51,13 +51,20 @@ pub fn add_activity_constraints( asset: &AssetRef, capacity_var: Variable, activity_vars: &IndexMap, + time_slice_info: &TimeSliceInfo, ) { match asset.state() { AssetState::Commissioned { .. } => { - add_activity_constraints_for_existing(problem, asset, activity_vars); + add_activity_constraints_for_existing(problem, asset, activity_vars, time_slice_info); } AssetState::Candidate => { - add_activity_constraints_for_candidate(problem, asset, capacity_var, activity_vars); + add_activity_constraints_for_candidate( + problem, + asset, + capacity_var, + activity_vars, + time_slice_info, + ); } _ => panic!( "add_activity_constraints should only be called with Commissioned or Candidate assets" @@ -69,11 +76,18 @@ fn add_activity_constraints_for_existing( problem: &mut Problem, asset: &AssetRef, activity_vars: &IndexMap, + time_slice_info: &TimeSliceInfo, ) { - for (time_slice, var) in activity_vars { - let limits = asset.get_activity_limits(time_slice); + for (ts_selection, limits) in asset.iter_activity_limits() { let limits = limits.start().value()..=limits.end().value(); - problem.add_row(limits, [(*var, 1.0)]); + let terms = ts_selection + .iter(time_slice_info) + .map(|(time_slice, _)| { + let var = *activity_vars.get(time_slice).unwrap(); + (var, 1.0) + }) + .collect::>(); + problem.add_row(limits, &terms); } } @@ -82,17 +96,25 @@ fn add_activity_constraints_for_candidate( asset: &AssetRef, capacity_var: Variable, activity_vars: &IndexMap, + time_slice_info: &TimeSliceInfo, ) { - for (time_slice, activity_var) in activity_vars { - let limits = asset.get_activity_per_capacity_limits(time_slice); - let lower_limit = limits.start().value(); + for (ts_selection, limits) in asset.iter_activity_per_capacity_limits() { let upper_limit = limits.end().value(); + let lower_limit = limits.start().value(); + + let mut terms_upper = vec![(capacity_var, -upper_limit)]; + let mut terms_lower = vec![(capacity_var, lower_limit)]; + for (time_slice, _) in ts_selection.iter(time_slice_info) { + let var = *activity_vars.get(time_slice).unwrap(); + terms_upper.push((var, 1.0)); + terms_lower.push((var, -1.0)); + } // Upper bound: activity ≤ capacity * upper_limit - problem.add_row(..=0.0, [(*activity_var, 1.0), (capacity_var, -upper_limit)]); + problem.add_row(..=0.0, &terms_upper); // Lower bound: activity ≥ capacity * lower_limit - problem.add_row(..=0.0, [(*activity_var, -1.0), (capacity_var, lower_limit)]); + problem.add_row(..=0.0, &terms_lower); } } diff --git a/src/simulation/investment/appraisal/optimisation.rs b/src/simulation/investment/appraisal/optimisation.rs index eb4677e4c..a127ccd92 100644 --- a/src/simulation/investment/appraisal/optimisation.rs +++ b/src/simulation/investment/appraisal/optimisation.rs @@ -88,6 +88,7 @@ fn add_constraints( asset, variables.capacity_var, &variables.activity_vars, + time_slice_info, ); add_demand_constraints( problem, From 6989bfb7ad0aaf7d198918b92816242999447b3c Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Tue, 25 Nov 2025 15:36:07 +0000 Subject: [PATCH 04/27] New constraints for dispatch --- src/simulation/optimisation.rs | 18 ++--- src/simulation/optimisation/constraints.rs | 80 ++++++++++++++-------- 2 files changed, 63 insertions(+), 35 deletions(-) diff --git a/src/simulation/optimisation.rs b/src/simulation/optimisation.rs index f318f7fcc..e4b760463 100644 --- a/src/simulation/optimisation.rs +++ b/src/simulation/optimisation.rs @@ -165,13 +165,6 @@ impl VariableMap { .expect("No unmet demand variable for given params") } - /// Iterate over the activity variables - fn iter_activity_vars(&self) -> impl Iterator { - self.activity_vars - .iter() - .map(|((asset, time_slice), var)| (asset, time_slice, *var)) - } - /// Iterate over the keys for activity variables fn activity_var_keys(&self) -> indexmap::map::Keys<'_, (AssetRef, TimeSliceID), Variable> { self.activity_vars.keys() @@ -278,13 +271,22 @@ impl Solution<'_> { /// Note: if there are any flexible capacity assets, these will have two duals with identical /// keys, and there will be no way to distinguish between them in the resulting iterator. /// Recommended for now only to use this function when there are no flexible capacity assets. + /// + /// Also note: this excludes seasonal and annual constraints. Recommended for now not to use + /// this for models that include seasonal or annual availability constraints. pub fn iter_activity_duals( &self, ) -> impl Iterator { self.constraint_keys .activity_keys .zip_duals(self.solution.dual_rows()) - .map(|((asset, time_slice), dual)| (asset, time_slice, dual)) + .filter_map(move |((asset, ts_selection), dual)| { + let mut it = ts_selection.iter(self.time_slice_info); + match (it.next(), it.next()) { + (Some((time_slice, _)), None) => Some((asset, time_slice, dual)), + _ => None, + } + }) } /// Keys and values for column duals. diff --git a/src/simulation/optimisation/constraints.rs b/src/simulation/optimisation/constraints.rs index 8f7a39d94..fd27f3f94 100644 --- a/src/simulation/optimisation/constraints.rs +++ b/src/simulation/optimisation/constraints.rs @@ -4,7 +4,7 @@ use crate::asset::{AssetIterator, AssetRef}; use crate::commodity::{CommodityID, CommodityType}; use crate::model::Model; use crate::region::RegionID; -use crate::time_slice::{TimeSliceID, TimeSliceSelection}; +use crate::time_slice::{TimeSliceInfo, TimeSliceSelection}; use crate::units::UnitType; use highs::RowProblem as Problem; use indexmap::IndexMap; @@ -36,7 +36,7 @@ impl KeysWithOffset { pub type CommodityBalanceKeys = KeysWithOffset<(CommodityID, RegionID, TimeSliceSelection)>; /// Indicates the asset ID and time slice covered by each activity constraint -pub type ActivityKeys = KeysWithOffset<(AssetRef, TimeSliceID)>; +pub type ActivityKeys = KeysWithOffset<(AssetRef, TimeSliceSelection)>; /// The keys for different constraints pub struct ConstraintKeys { @@ -83,7 +83,8 @@ where year, ); - let activity_keys = add_activity_constraints(problem, variables); + let activity_keys = + add_activity_constraints(problem, variables, &model.time_slice_info, assets.clone()); // Return constraint keys ConstraintKeys { @@ -187,38 +188,63 @@ where /// See description in [the dispatch optimisation documentation][1]. /// /// [1]: https://energysystemsmodellinglab.github.io/MUSE2/model/dispatch_optimisation.html#a4-constraints-capacity--availability-for-standard-assets--a-in-mathbfastd- -fn add_activity_constraints(problem: &mut Problem, variables: &VariableMap) -> ActivityKeys { +fn add_activity_constraints<'a, I>( + problem: &mut Problem, + variables: &VariableMap, + time_slice_info: &TimeSliceInfo, + assets: I, +) -> ActivityKeys +where + I: Iterator + 'a, +{ // Row offset in problem. This line **must** come before we add more constraints. let offset = problem.num_rows(); let mut keys = Vec::new(); let capacity_vars: IndexMap<&AssetRef, highs::Col> = variables.iter_capacity_vars().collect(); - for (asset, time_slice, activity_var) in variables.iter_activity_vars() { + + // Create constraints for each asset + for asset in assets { if let Some(&capacity_var) = capacity_vars.get(asset) { - // Asset has flexible capacity. - let per_capacity_limits = asset.get_activity_per_capacity_limits(time_slice); - let lower_limit = per_capacity_limits.start().value(); - let upper_limit = per_capacity_limits.end().value(); - - // Upper bound: activity ≤ capacity * upper_limit - problem.add_row(..=0.0, [(activity_var, 1.0), (capacity_var, -upper_limit)]); - - // Lower bound: activity ≥ capacity * lower_limit - problem.add_row(..=0.0, [(activity_var, -1.0), (capacity_var, lower_limit)]); - - // Store keys for retrieving duals later. - // TODO: a bit of a hack pushing identical keys twice. Safe for now so long as we don't - // use the activity duals for anything important when using flexible capacity assets. - keys.push((asset.clone(), time_slice.clone())); - keys.push((asset.clone(), time_slice.clone())); + // Asset with flexible capacity + for (ts_selection, limits) in asset.iter_activity_per_capacity_limits() { + // Create constraints for this time slice selection + let upper_limit = limits.end().value(); + let lower_limit = limits.start().value(); + let mut terms_upper = vec![(capacity_var, -upper_limit)]; + let mut terms_lower = vec![(capacity_var, lower_limit)]; + for (time_slice, _) in ts_selection.iter(time_slice_info) { + let var = variables.get_activity_var(asset, time_slice); + terms_upper.push((var, 1.0)); + terms_lower.push((var, -1.0)); + } + + // Upper bound: activity ≤ capacity * upper_limit + problem.add_row(..=0.0, &terms_upper); + + // Lower bound: activity ≥ capacity * lower_limit + problem.add_row(..=0.0, &terms_lower); + + // Store keys for retrieving duals later. + // TODO: a bit of a hack pushing identical keys twice. Safe for now so long as we don't + // use the activity duals for anything important when using flexible capacity assets. + keys.push((asset.clone(), ts_selection.clone())); + keys.push((asset.clone(), ts_selection.clone())); + } } else { // Fixed-capacity asset: simple absolute activity limits. - let activity_limits = asset.get_activity_limits(time_slice); - let range = activity_limits.start().value()..=activity_limits.end().value(); - problem.add_row(range, [(activity_var, 1.0)]); - - // Store keys for retrieving duals later. - keys.push((asset.clone(), time_slice.clone())); + for (ts_selection, limits) in asset.iter_activity_limits() { + // Create constraint for this time slice selection + let limits = limits.start().value()..=limits.end().value(); + let vars = ts_selection + .iter(time_slice_info) + .map(|(time_slice, _)| (variables.get_activity_var(asset, time_slice), 1.0)) + .collect::>(); + problem.add_row(limits, &vars); + + // Store keys for retrieving duals later. + keys.push((asset.clone(), ts_selection.clone())); + } } } From 8d48eeafb8de82e7eb6c87575ae037679818df69 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Tue, 25 Nov 2025 17:01:10 +0000 Subject: [PATCH 05/27] Add get_availability_limit function --- src/asset.rs | 13 ++---- src/graph/validate.rs | 19 +++++--- src/process.rs | 103 ++++++++++++++++++++++++++++++++++++------ 3 files changed, 104 insertions(+), 31 deletions(-) diff --git a/src/asset.rs b/src/asset.rs index 39a1a63e8..466417418 100644 --- a/src/asset.rs +++ b/src/asset.rs @@ -275,21 +275,14 @@ impl Asset { self.max_decommission_year } - /// Get the activity limits for this asset in a particular time slice - pub fn get_activity_limits(&self, time_slice: &TimeSliceID) -> RangeInclusive { - let limits = &self.activity_limits.time_slice_limits[time_slice]; - let max_act = self.max_activity(); - - // limits in real units (which are user defined) - (max_act * *limits.start())..=(max_act * *limits.end()) - } - /// Get the activity limits per unit of capacity for this asset in a particular time slice pub fn get_activity_per_capacity_limits( &self, time_slice: &TimeSliceID, ) -> RangeInclusive { - let limits = &self.activity_limits.time_slice_limits[time_slice]; + let limits = &self + .activity_limits + .get_availability_limit_for_time_slice(time_slice); let cap2act = self.process.capacity_to_activity; (cap2act * *limits.start())..=(cap2act * *limits.end()) } diff --git a/src/graph/validate.rs b/src/graph/validate.rs index 55a08b2be..06829ea6e 100644 --- a/src/graph/validate.rs +++ b/src/graph/validate.rs @@ -3,7 +3,7 @@ use super::{CommoditiesGraph, GraphEdge, GraphNode}; use crate::commodity::{CommodityMap, CommodityType}; use crate::process::{Process, ProcessMap}; use crate::region::RegionID; -use crate::time_slice::{TimeSliceID, TimeSliceInfo, TimeSliceLevel, TimeSliceSelection}; +use crate::time_slice::{TimeSliceInfo, TimeSliceLevel, TimeSliceSelection}; use crate::units::{Dimensionless, Flow}; use anyhow::{Context, Result, ensure}; use indexmap::IndexMap; @@ -42,9 +42,7 @@ fn prepare_commodities_graph_for_validation( let process = &processes[process_id]; // Check if the process has availability > 0 in any time slice in the selection - time_slice_selection - .iter(time_slice_info) - .any(|(time_slice, _)| can_be_active(process, &key, time_slice)) + can_be_active(process, &key, time_slice_selection, time_slice_info) }); // Add demand edges @@ -78,7 +76,12 @@ fn prepare_commodities_graph_for_validation( /// is active in the required timeslice. In other words, this checks if there is the _possibility_ /// of having an active process, although there is no guarantee of that happening since it depends /// on the investment. -fn can_be_active(process: &Process, target: &(RegionID, u32), time_slice: &TimeSliceID) -> bool { +fn can_be_active( + process: &Process, + target: &(RegionID, u32), + time_slice_selection: &TimeSliceSelection, + time_slice_info: &TimeSliceInfo, +) -> bool { let (target_region, target_year) = target; for ((region, year), value) in &process.parameters { @@ -89,7 +92,11 @@ fn can_be_active(process: &Process, target: &(RegionID, u32), time_slice: &TimeS let Some(limits_map) = process.activity_limits.get(target) else { continue; }; - if limits_map.time_slice_limits[time_slice].end() > &Dimensionless(0.0) { + if limits_map + .get_availability_limit(time_slice_selection, time_slice_info) + .end() + > &Dimensionless(0.0) + { return true; } } diff --git a/src/process.rs b/src/process.rs index f0bcd44cc..76782cfdd 100644 --- a/src/process.rs +++ b/src/process.rs @@ -3,7 +3,7 @@ use crate::commodity::{Commodity, CommodityID}; use crate::id::define_id_type; use crate::region::RegionID; -use crate::time_slice::{Season, TimeSliceID, TimeSliceSelection}; +use crate::time_slice::{Season, TimeSliceID, TimeSliceInfo, TimeSliceLevel, TimeSliceSelection}; use crate::units::{ ActivityPerCapacity, Dimensionless, FlowPerActivity, MoneyPerActivity, MoneyPerCapacity, MoneyPerCapacityPerYear, MoneyPerFlow, @@ -89,20 +89,93 @@ pub struct ProcessAvailabilities { } impl ProcessAvailabilities { - /// Check if the availability limits allow activity in the given time slice - pub fn has_availability(&self, time_slice: &TimeSliceID) -> bool { - // Check limit for this specific time slice - self.time_slice_limits[time_slice].end() > &Dimensionless(0.0) - - // Also need to check seasonal and annual limits, if present - && self - .seasonal_limits - .get(&time_slice.season) - .is_none_or(|seasonal_limit| seasonal_limit.end() > &Dimensionless(0.0)) - && self - .annual_limit - .as_ref() - .is_none_or(|annual_limit| annual_limit.end() > &Dimensionless(0.0)) + /// Get the availability limit for a given time slice selection + pub fn get_availability_limit( + &self, + time_slice_selection: &TimeSliceSelection, + time_slice_info: &TimeSliceInfo, + ) -> RangeInclusive { + match time_slice_selection { + TimeSliceSelection::Single(ts_id) => self.get_availability_limit_for_time_slice(ts_id), + TimeSliceSelection::Season(season) => self.get_availability_limit_for_season(season), + TimeSliceSelection::Annual => self.get_availability_limit_for_year(time_slice_info), + } + } + + /// Get the availability limit for a given time slice + pub fn get_availability_limit_for_time_slice( + &self, + time_slice: &TimeSliceID, + ) -> RangeInclusive { + // Get limit for this specific time slice + let ts_limit = self.time_slice_limits[time_slice].clone(); + let ts_lower = *ts_limit.start(); + let ts_upper = *ts_limit.end(); + + // Time slice availability cannot exceed seasonal or annual limits, if specified + let seasonal_upper = self + .seasonal_limits + .get(&time_slice.season) + .map_or(Dimensionless(1.0), |limit| *limit.end()); + let annual_upper = self + .annual_limit + .as_ref() + .map_or(Dimensionless(1.0), |limit| *limit.end()); + let max_limit = ts_upper.min(seasonal_upper).min(annual_upper); + + ts_lower..=max_limit + } + + /// Get the availability limit for a given season + fn get_availability_limit_for_season(&self, season: &Season) -> RangeInclusive { + // Get sum of limits for all time slices in this season + let mut total_lower = Dimensionless(0.0); + let mut total_upper = Dimensionless(0.0); + for (ts, limit) in &self.time_slice_limits { + if &ts.season == season { + total_lower += *limit.start(); + total_upper += *limit.end(); + } + } + + // Also get seasonal limit, if specified + if let Some(seasonal_limit) = self.seasonal_limits.get(season) { + total_lower = total_lower.max(*seasonal_limit.start()); + total_upper = total_upper.min(*seasonal_limit.end()); + } + + // Seasonal availability cannot exceed the upper annual limit, if specified + if let Some(annual_limit) = &self.annual_limit { + total_upper = total_upper.min(*annual_limit.end()); + } + + total_lower..=total_upper + } + + /// Get the availability limit for the entire year + fn get_availability_limit_for_year( + &self, + time_slice_info: &TimeSliceInfo, + ) -> RangeInclusive { + // Sum limits for each season + let mut total_lower = Dimensionless(0.0); + let mut total_upper = Dimensionless(0.0); + for ts_selection in time_slice_info.iter_selections_at_level(TimeSliceLevel::Season) { + let TimeSliceSelection::Season(season) = ts_selection else { + panic!("Expected season selection") + }; + let season_limit = self.get_availability_limit_for_season(&season); + total_lower += *season_limit.start(); + total_upper += *season_limit.end(); + } + + // Bound this by the annual limit, if specified + if let Some(annual_limit) = &self.annual_limit { + total_lower = total_lower.max(*annual_limit.start()); + total_upper = total_upper.min(*annual_limit.end()); + } + + total_lower..=total_upper } /// Iterate over all time slice availability limits From 15537890a94cf278d6a5acdd87671b9ba85c2b85 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Wed, 26 Nov 2025 14:10:08 +0000 Subject: [PATCH 06/27] Update inputs module --- src/input/process.rs | 3 +- src/input/process/availability.rs | 145 +++++++----------------------- src/process.rs | 87 ++++++++++++++++-- src/time_slice.rs | 6 ++ 4 files changed, 121 insertions(+), 120 deletions(-) diff --git a/src/input/process.rs b/src/input/process.rs index 516223d9c..570fee211 100644 --- a/src/input/process.rs +++ b/src/input/process.rs @@ -61,8 +61,7 @@ pub fn read_processes( milestone_years: &[u32], ) -> Result { let mut processes = read_processes_file(model_dir, milestone_years, region_ids, commodities)?; - let mut activity_limits = - read_process_availabilities(model_dir, &processes, time_slice_info, milestone_years)?; + let mut activity_limits = read_process_availabilities(model_dir, &processes, time_slice_info)?; let mut flows = read_process_flows(model_dir, &mut processes, commodities, milestone_years)?; let mut parameters = read_process_parameters(model_dir, &processes, milestone_years)?; let mut investment_constraints = diff --git a/src/input/process/availability.rs b/src/input/process/availability.rs index d99d640fc..24d6664e8 100644 --- a/src/input/process/availability.rs +++ b/src/input/process/availability.rs @@ -1,8 +1,6 @@ //! Code for reading process availabilities CSV file -use super::super::{format_items_with_cap, input_err_msg, read_csv, try_insert}; -use crate::process::{ - Process, ProcessActivityLimitsMap, ProcessAvailabilities, ProcessID, ProcessMap, -}; +use super::super::{input_err_msg, read_csv, try_insert}; +use crate::process::{ProcessActivityLimitsMap, ProcessAvailabilities, ProcessID, ProcessMap}; use crate::region::parse_region_str; use crate::time_slice::TimeSliceInfo; use crate::units::{Dimensionless, Year}; @@ -87,17 +85,11 @@ pub fn read_process_availabilities( model_dir: &Path, processes: &ProcessMap, time_slice_info: &TimeSliceInfo, - milestone_years: &[u32], ) -> Result> { let file_path = model_dir.join(PROCESS_AVAILABILITIES_FILE_NAME); let process_availabilities_csv = read_csv(&file_path)?; - read_process_availabilities_from_iter( - process_availabilities_csv, - processes, - time_slice_info, - milestone_years, - ) - .with_context(|| input_err_msg(&file_path)) + read_process_availabilities_from_iter(process_availabilities_csv, processes, time_slice_info) + .with_context(|| input_err_msg(&file_path)) } /// Process raw process availabilities input data into [`ProcessActivityLimitsMap`]s. @@ -107,7 +99,6 @@ pub fn read_process_availabilities( /// * `iter` - Iterator of raw process availability records /// * `processes` - Map of processes /// * `time_slice_info` - Information about seasons and times of day -/// * `milestone_years` - Milestone years of simulation /// /// # Returns /// @@ -117,12 +108,16 @@ fn read_process_availabilities_from_iter( iter: I, processes: &ProcessMap, time_slice_info: &TimeSliceInfo, - milestone_years: &[u32], ) -> Result> where I: Iterator, { - let mut map = HashMap::new(); + // Collect all entries + let mut entries: HashMap = processes + .iter() + .map(|(id, _)| (id.clone(), HashMap::new())) + .collect(); + for record in iter { record.validate()?; @@ -148,112 +143,38 @@ where // Get time slices let ts_selection = time_slice_info.get_selection(&record.time_slice)?; - // Insert the activity limit into the map - let limits_map = map - .entry(id.clone()) - .or_insert_with(ProcessActivityLimitsMap::new); + // Store the activity limit for each region/year + let entries_for_process = entries.get_mut(id).unwrap(); for (region_id, year) in iproduct!(&record_regions, &record_years) { - let limits_map_inner = limits_map + let entries_for_process_region_year = entries_for_process .entry((region_id.clone(), *year)) - .or_insert_with(|| Rc::new(ProcessAvailabilities::default())); - let limits_map_inner = Rc::get_mut(limits_map_inner).unwrap(); - for (time_slice, ts_length) in ts_selection.iter(time_slice_info) { - let bounds = record.to_bounds(ts_length); - try_insert( - &mut limits_map_inner.time_slice_limits, - time_slice, - bounds.clone(), - )?; - } + .or_default(); + let length = time_slice_info.length_for_selection(&ts_selection)?; + try_insert( + entries_for_process_region_year, + &ts_selection, + record.to_bounds(length), + )?; } } - validate_activity_limits_maps(&map, processes, time_slice_info, milestone_years)?; - - Ok(map) -} - -/// Check that the activity limits cover every time slice and all regions/years of the process -fn validate_activity_limits_maps( - all_availabilities: &HashMap, - processes: &ProcessMap, - time_slice_info: &TimeSliceInfo, - milestone_years: &[u32], -) -> Result<()> { + // Create `ProcessActivityLimitsMap`s + let mut map: HashMap = HashMap::new(); for (process_id, process) in processes { - // A map of maps: the outer map is keyed by region and year; the inner one by time slice - let map_for_process = all_availabilities - .get(process_id) - .with_context(|| format!("Missing availabilities for process {process_id}"))?; - - check_missing_milestone_years(process, map_for_process, milestone_years)?; - check_missing_time_slices(process, map_for_process, time_slice_info)?; - } - - Ok(()) -} - -/// Check every milestone year in which the process can be commissioned has availabilities. -/// -/// Entries for non-milestone years in which the process can be commissioned (which are only -/// required for pre-defined assets, if at all) are not required and will be checked lazily when -/// assets requiring them are constructed. -fn check_missing_milestone_years( - process: &Process, - map_for_process: &ProcessActivityLimitsMap, - milestone_years: &[u32], -) -> Result<()> { - let process_milestone_years = process - .years - .clone() - .filter(|year| milestone_years.contains(year)); - let mut missing = Vec::new(); - for (region_id, year) in iproduct!(&process.regions, process_milestone_years) { - if !map_for_process.contains_key(&(region_id.clone(), year)) { - missing.push((region_id, year)); + let mut inner_map = HashMap::new(); + let entries_for_process = &entries[process_id]; + for (region_id, year) in iproduct!(&process.regions, process.years.clone()) { + let limits = entries_for_process + .get(&(region_id.clone(), year)) + .cloned() + .unwrap_or_default(); + let availabilities = ProcessAvailabilities::new_from_limits(&limits, time_slice_info); + inner_map.insert((region_id.clone(), year), Rc::new(availabilities)); } + map.insert(process_id.clone(), inner_map); } - ensure!( - missing.is_empty(), - "Process {} is missing availabilities for the following regions and milestone years: {}", - &process.id, - format_items_with_cap(&missing) - ); - - Ok(()) -} - -/// Check that entries for all time slices are provided for any process/region/year combo for which -/// we have any entries at all -fn check_missing_time_slices( - process: &Process, - map_for_process: &ProcessActivityLimitsMap, - time_slice_info: &TimeSliceInfo, -) -> Result<()> { - let mut missing = Vec::new(); - for (region_id, year) in iproduct!(&process.regions, process.years.clone()) { - if let Some(map_for_region_year) = map_for_process.get(&(region_id.clone(), year)) { - // There are at least some entries for this region/year combo; check if there are - // any time slices not covered - missing.extend( - time_slice_info - .iter_ids() - .filter(|ts| !map_for_region_year.time_slice_limits.contains_key(*ts)) - .map(|ts| (region_id, year, ts)), - ); - } - } - - ensure!( - missing.is_empty(), - "Availabilities supplied for some, but not all time slices, for process {}. The following \ - regions, years and time slices are missing: {}", - &process.id, - format_items_with_cap(&missing) - ); - - Ok(()) + Ok(map) } #[cfg(test)] diff --git a/src/process.rs b/src/process.rs index 76782cfdd..030e597d5 100644 --- a/src/process.rs +++ b/src/process.rs @@ -78,17 +78,92 @@ impl Process { /// All time slices must have an entry in `time_slice_limits`. Seasonal and annual limits may be /// present if provided by the user, and only if they provide an extra level of constraint on top of /// the time slice limits. -#[derive(PartialEq, Debug, Clone, Default)] +#[derive(PartialEq, Debug, Clone)] pub struct ProcessAvailabilities { /// Optional annual limit - pub annual_limit: Option>, + annual_limit: Option>, /// Optional limits for each season - pub seasonal_limits: IndexMap>, + seasonal_limits: IndexMap>, /// Limits for each time slice (mandatory for all time slices) - pub time_slice_limits: IndexMap>, + time_slice_limits: IndexMap>, } impl ProcessAvailabilities { + /// Create a new `ProcessAvailabilities` with full availability for all time slices + fn new_with_full_availability(time_slice_info: &TimeSliceInfo) -> Self { + // Initialize time slice limits to full availability + let mut ts_limits = IndexMap::new(); + for (ts_id, ts_length) in time_slice_info.iter() { + ts_limits.insert( + ts_id.clone(), + Dimensionless(0.0)..=Dimensionless(ts_length.value()), + ); + } + + ProcessAvailabilities { + annual_limit: None, + seasonal_limits: IndexMap::new(), + time_slice_limits: ts_limits, + } + } + + /// Create a new `ProcessAvailabilities` from a map of limits for time slice selections + pub fn new_from_limits( + limits: &HashMap>, + time_slice_info: &TimeSliceInfo, + ) -> Self { + let mut availabilities = ProcessAvailabilities::new_with_full_availability(time_slice_info); + + // Add time slice limits first + for (ts_selection, limit) in limits { + if let TimeSliceSelection::Single(ts_id) = ts_selection { + availabilities.insert_time_slice_limit(ts_id.clone(), limit.clone()); + } + } + + // Then add seasonal limits + for (ts_selection, limit) in limits { + if let TimeSliceSelection::Season(season) = ts_selection { + availabilities.insert_seasonal_limit(season.clone(), limit.clone()); + } + } + + // Then add annual limit + if let Some(limit) = limits.get(&TimeSliceSelection::Annual) { + availabilities.insert_annual_limit(limit.clone()); + } + + availabilities + } + + fn insert_time_slice_limit( + &mut self, + ts_id: TimeSliceID, + limit: RangeInclusive, + ) { + self.time_slice_limits.insert(ts_id, limit); + } + + fn insert_seasonal_limit(&mut self, season: Season, limit: RangeInclusive) { + // Get current limit for the season + let current_limit = self.get_availability_limit_for_season(&season); + + // Only insert the seasonal limit if it provides an extra level of constraint + if *limit.start() > *current_limit.start() || *limit.end() < *current_limit.end() { + self.seasonal_limits.insert(season, limit); + } + } + + fn insert_annual_limit(&mut self, limit: RangeInclusive) { + // Get current limit for the year + let current_limit = self.get_availability_limit_for_year(&TimeSliceInfo::default()); + + // Only insert the annual limit if it provides an extra level of constraint + if *limit.start() > *current_limit.start() || *limit.end() < *current_limit.end() { + self.annual_limit = Some(limit); + } + } + /// Get the availability limit for a given time slice selection pub fn get_availability_limit( &self, @@ -112,7 +187,7 @@ impl ProcessAvailabilities { let ts_lower = *ts_limit.start(); let ts_upper = *ts_limit.end(); - // Time slice availability cannot exceed seasonal or annual limits, if specified + // Time slice availability cannot exceed upper limit for the season/year, if specified let seasonal_upper = self .seasonal_limits .get(&time_slice.season) @@ -144,7 +219,7 @@ impl ProcessAvailabilities { total_upper = total_upper.min(*seasonal_limit.end()); } - // Seasonal availability cannot exceed the upper annual limit, if specified + // Seasonal availability cannot exceed the upper limit for the year, if specified if let Some(annual_limit) = &self.annual_limit { total_upper = total_upper.min(*annual_limit.end()); } diff --git a/src/time_slice.rs b/src/time_slice.rs index ee84c785b..7791ea368 100644 --- a/src/time_slice.rs +++ b/src/time_slice.rs @@ -338,6 +338,12 @@ impl TimeSliceInfo { Some(iter) } + /// Calculate the total length of a selection of time slices. + pub fn length_for_selection(&self, selection: &TimeSliceSelection) -> Result { + let length: Year = selection.iter(self).map(|(_, duration)| duration).sum(); + Ok(length) + } + /// Share a value between a subset of time slices in proportion to their lengths. /// /// For instance, you could use this function to compute how demand is distributed between the From 2c03f999b6c421f2131af18a6a35a5b75fa53b8e Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Wed, 26 Nov 2025 15:16:35 +0000 Subject: [PATCH 07/27] Use range syntax in input files --- .../circularity/process_availabilities.csv | 68 +++--- .../process_availabilities.csv | 50 ++-- .../muse1_default/process_availabilities.csv | 12 +- examples/simple/process_availabilities.csv | 44 ++-- .../two_outputs/process_availabilities.csv | 64 ++--- .../two_regions/process_availabilities.csv | 12 +- src/input/process/availability.rs | 231 ++++++++++-------- src/input/process/investment_constraints.rs | 101 +++----- 8 files changed, 287 insertions(+), 295 deletions(-) diff --git a/examples/circularity/process_availabilities.csv b/examples/circularity/process_availabilities.csv index 652cff992..36db5bc0d 100644 --- a/examples/circularity/process_availabilities.csv +++ b/examples/circularity/process_availabilities.csv @@ -1,34 +1,34 @@ -process_id,regions,commission_years,time_slice,limit_type,value -GASDRV,all,all,annual,up,0.9 -OAGRSV,all,all,annual,up,0.9 -GASPRC,all,all,annual,up,0.9 -OILREF,all,all,annual,up,0.9 -OILRF2,all,all,annual,up,0.9 -GASCGT,all,all,annual,up,0.9 -TPETCR,all,all,annual,up,1 -TDIECR,all,all,annual,up,1 -TELCCR,all,all,annual,up,1 -THYBCR,all,all,annual,up,1 -RGASBR,all,all,annual,up,1 -RELCHP,all,all,annual,up,1 -WNDFRM,all,all,winter.night,up,0.486418015 -WNDFRM,all,all,winter.day,up,0.543166784 -WNDFRM,all,all,winter.peak,up,0.504433498 -WNDFRM,all,all,winter.evening,up,0.493173821 -WNDFRM,all,all,peak.night,up,0.312697296 -WNDFRM,all,all,peak.day,up,0.489120338 -WNDFRM,all,all,peak.peak,up,0.454890922 -WNDFRM,all,all,peak.evening,up,0.331034483 -WNDFRM,all,all,summer.night,up,0.17951141 -WNDFRM,all,all,summer.day,up,0.349950739 -WNDFRM,all,all,summer.peak,up,0.342294159 -WNDFRM,all,all,summer.evening,up,0.202674173 -WNDFRM,all,all,autumn.night,up,0.3513019 -WNDFRM,all,all,autumn.day,up,0.460745954 -WNDFRM,all,all,autumn.peak,up,0.396340605 -WNDFRM,all,all,autumn.evening,up,0.364813512 -H2YGEN,all,all,annual,up,1 -H2YPRO,all,all,annual,up,1 -BIOPRO,all,all,annual,up,1.0 -BIOPLL,all,all,annual,up,0.95 -RBIOBL,all,all,annual,up,1.0 +process_id,regions,commission_years,time_slice,limits +GASDRV,all,all,annual,..0.9 +OAGRSV,all,all,annual,..0.9 +GASPRC,all,all,annual,..0.9 +OILREF,all,all,annual,..0.9 +OILRF2,all,all,annual,..0.9 +GASCGT,all,all,annual,..0.9 +TPETCR,all,all,annual,..1 +TDIECR,all,all,annual,..1 +TELCCR,all,all,annual,..1 +THYBCR,all,all,annual,..1 +RGASBR,all,all,annual,..1 +RELCHP,all,all,annual,..1 +WNDFRM,all,all,winter.night,..0.486418015 +WNDFRM,all,all,winter.day,..0.543166784 +WNDFRM,all,all,winter.peak,..0.504433498 +WNDFRM,all,all,winter.evening,..0.493173821 +WNDFRM,all,all,peak.night,..0.312697296 +WNDFRM,all,all,peak.day,..0.489120338 +WNDFRM,all,all,peak.peak,..0.454890922 +WNDFRM,all,all,peak.evening,..0.331034483 +WNDFRM,all,all,summer.night,..0.17951141 +WNDFRM,all,all,summer.day,..0.349950739 +WNDFRM,all,all,summer.peak,..0.342294159 +WNDFRM,all,all,summer.evening,..0.202674173 +WNDFRM,all,all,autumn.night,..0.3513019 +WNDFRM,all,all,autumn.day,..0.460745954 +WNDFRM,all,all,autumn.peak,..0.396340605 +WNDFRM,all,all,autumn.evening,..0.364813512 +H2YGEN,all,all,annual,..1 +H2YPRO,all,all,annual,..1 +BIOPRO,all,all,annual,..1.0 +BIOPLL,all,all,annual,..0.95 +RBIOBL,all,all,annual,..1.0 diff --git a/examples/missing_commodity/process_availabilities.csv b/examples/missing_commodity/process_availabilities.csv index c9d9c4471..9c1acf78f 100644 --- a/examples/missing_commodity/process_availabilities.csv +++ b/examples/missing_commodity/process_availabilities.csv @@ -1,25 +1,25 @@ -process_id,regions,commission_years,time_slice,limit_type,value -GASDRV,all,all,annual,up,0.9 -GASPRC,all,all,annual,up,0.9 -BIOPRO,all,all,annual,up,1.0 -BIOPLL,all,all,annual,up,0.95 -GASCGT,all,all,annual,up,0.9 -RGASBR,all,all,annual,up,1.0 -RELCHP,all,all,annual,up,1.0 -RBIOBL,all,all,annual,up,1.0 -WNDFRM,all,all,winter.night,up,0.486418015 -WNDFRM,all,all,winter.day,up,0.543166784 -WNDFRM,all,all,winter.peak,up,0.504433498 -WNDFRM,all,all,winter.evening,up,0.493173821 -WNDFRM,all,all,peak.night,up,0.312697296 -WNDFRM,all,all,peak.day,up,0.489120338 -WNDFRM,all,all,peak.peak,up,0.454890922 -WNDFRM,all,all,peak.evening,up,0.331034483 -WNDFRM,all,all,summer.night,up,0.17951141 -WNDFRM,all,all,summer.day,up,0.349950739 -WNDFRM,all,all,summer.peak,up,0.342294159 -WNDFRM,all,all,summer.evening,up,0.202674173 -WNDFRM,all,all,autumn.night,up,0.3513019 -WNDFRM,all,all,autumn.day,up,0.460745954 -WNDFRM,all,all,autumn.peak,up,0.396340605 -WNDFRM,all,all,autumn.evening,up,0.364813512 +process_id,regions,commission_years,time_slice,limits +GASDRV,all,all,annual,..0.9 +GASPRC,all,all,annual,..0.9 +BIOPRO,all,all,annual,..1.0 +BIOPLL,all,all,annual,..0.95 +GASCGT,all,all,annual,..0.9 +RGASBR,all,all,annual,..1.0 +RELCHP,all,all,annual,..1.0 +RBIOBL,all,all,annual,..1.0 +WNDFRM,all,all,winter.night,..0.486418015 +WNDFRM,all,all,winter.day,..0.543166784 +WNDFRM,all,all,winter.peak,..0.504433498 +WNDFRM,all,all,winter.evening,..0.493173821 +WNDFRM,all,all,peak.night,..0.312697296 +WNDFRM,all,all,peak.day,..0.489120338 +WNDFRM,all,all,peak.peak,..0.454890922 +WNDFRM,all,all,peak.evening,..0.331034483 +WNDFRM,all,all,summer.night,..0.17951141 +WNDFRM,all,all,summer.day,..0.349950739 +WNDFRM,all,all,summer.peak,..0.342294159 +WNDFRM,all,all,summer.evening,..0.202674173 +WNDFRM,all,all,autumn.night,..0.3513019 +WNDFRM,all,all,autumn.day,..0.460745954 +WNDFRM,all,all,autumn.peak,..0.396340605 +WNDFRM,all,all,autumn.evening,..0.364813512 diff --git a/examples/muse1_default/process_availabilities.csv b/examples/muse1_default/process_availabilities.csv index 843fdb00a..d656efb11 100644 --- a/examples/muse1_default/process_availabilities.csv +++ b/examples/muse1_default/process_availabilities.csv @@ -1,6 +1,6 @@ -process_id,regions,commission_years,time_slice,limit_type,value -gassupply1,R1,all,annual,up,0.9 -gasCCGT,R1,all,annual,up,0.9 -windturbine,R1,all,annual,up,0.4 -gasboiler,R1,all,annual,up,1.0 -heatpump,R1,all,annual,up,1.0 +process_id,regions,commission_years,time_slice,limits +gassupply1,R1,all,annual,..0.9 +gasCCGT,R1,all,annual,..0.9 +windturbine,R1,all,annual,..0.4 +gasboiler,R1,all,annual,..1.0 +heatpump,R1,all,annual,..1.0 diff --git a/examples/simple/process_availabilities.csv b/examples/simple/process_availabilities.csv index 4713484d0..ad31320e9 100644 --- a/examples/simple/process_availabilities.csv +++ b/examples/simple/process_availabilities.csv @@ -1,22 +1,22 @@ -process_id,regions,commission_years,time_slice,limit_type,value -GASDRV,all,all,annual,up,0.9 -GASPRC,all,all,annual,up,0.9 -GASCGT,all,all,annual,up,0.9 -RGASBR,all,all,annual,up,1.0 -RELCHP,all,all,annual,up,1.0 -WNDFRM,all,all,winter.night,up,0.486418015 -WNDFRM,all,all,winter.day,up,0.543166784 -WNDFRM,all,all,winter.peak,up,0.504433498 -WNDFRM,all,all,winter.evening,up,0.493173821 -WNDFRM,all,all,peak.night,up,0.312697296 -WNDFRM,all,all,peak.day,up,0.489120338 -WNDFRM,all,all,peak.peak,up,0.454890922 -WNDFRM,all,all,peak.evening,up,0.331034483 -WNDFRM,all,all,summer.night,up,0.17951141 -WNDFRM,all,all,summer.day,up,0.349950739 -WNDFRM,all,all,summer.peak,up,0.342294159 -WNDFRM,all,all,summer.evening,up,0.202674173 -WNDFRM,all,all,autumn.night,up,0.3513019 -WNDFRM,all,all,autumn.day,up,0.460745954 -WNDFRM,all,all,autumn.peak,up,0.396340605 -WNDFRM,all,all,autumn.evening,up,0.364813512 +process_id,regions,commission_years,time_slice,limits +GASDRV,all,all,annual,..0.9 +GASPRC,all,all,annual,..0.9 +GASCGT,all,all,annual,..0.9 +RGASBR,all,all,annual,..1.0 +RELCHP,all,all,annual,..1.0 +WNDFRM,all,all,winter.night,..0.486418015 +WNDFRM,all,all,winter.day,..0.543166784 +WNDFRM,all,all,winter.peak,..0.504433498 +WNDFRM,all,all,winter.evening,..0.493173821 +WNDFRM,all,all,peak.night,..0.312697296 +WNDFRM,all,all,peak.day,..0.489120338 +WNDFRM,all,all,peak.peak,..0.454890922 +WNDFRM,all,all,peak.evening,..0.331034483 +WNDFRM,all,all,summer.night,..0.17951141 +WNDFRM,all,all,summer.day,..0.349950739 +WNDFRM,all,all,summer.peak,..0.342294159 +WNDFRM,all,all,summer.evening,..0.202674173 +WNDFRM,all,all,autumn.night,..0.3513019 +WNDFRM,all,all,autumn.day,..0.460745954 +WNDFRM,all,all,autumn.peak,..0.396340605 +WNDFRM,all,all,autumn.evening,..0.364813512 diff --git a/examples/two_outputs/process_availabilities.csv b/examples/two_outputs/process_availabilities.csv index 6102b545d..746dee56b 100644 --- a/examples/two_outputs/process_availabilities.csv +++ b/examples/two_outputs/process_availabilities.csv @@ -1,32 +1,32 @@ -process_id,regions,commission_years,time_slice,limit_type,value -GASDRV,all,all,annual,up,0.9 -OAGRSV,all,all,annual,up,0.9 -GASPRC,all,all,annual,up,0.9 -OILREF,all,all,annual,up,0.9 -OILRF2,all,all,annual,up,0.9 -GASCGT,all,all,annual,up,0.9 -TPETCR,all,all,annual,up,1 -TDIECR,all,all,annual,up,1 -TELCCR,all,all,annual,up,1 -THYBCR,all,all,annual,up,1 -RGASBR,all,all,annual,up,1 -RELCHP,all,all,annual,up,1 -WNDFRM,all,all,winter.night,up,0.486418015 -WNDFRM,all,all,winter.day,up,0.543166784 -WNDFRM,all,all,winter.peak,up,0.504433498 -WNDFRM,all,all,winter.evening,up,0.493173821 -WNDFRM,all,all,peak.night,up,0.312697296 -WNDFRM,all,all,peak.day,up,0.489120338 -WNDFRM,all,all,peak.peak,up,0.454890922 -WNDFRM,all,all,peak.evening,up,0.331034483 -WNDFRM,all,all,summer.night,up,0.17951141 -WNDFRM,all,all,summer.day,up,0.349950739 -WNDFRM,all,all,summer.peak,up,0.342294159 -WNDFRM,all,all,summer.evening,up,0.202674173 -WNDFRM,all,all,autumn.night,up,0.3513019 -WNDFRM,all,all,autumn.day,up,0.460745954 -WNDFRM,all,all,autumn.peak,up,0.396340605 -WNDFRM,all,all,autumn.evening,up,0.364813512 -BIOPRO,all,all,annual,up,1.0 -BIOPLL,all,all,annual,up,0.95 -RBIOBL,all,all,annual,up,1.0 +process_id,regions,commission_years,time_slice,limits +GASDRV,all,all,annual,..0.9 +OAGRSV,all,all,annual,..0.9 +GASPRC,all,all,annual,..0.9 +OILREF,all,all,annual,..0.9 +OILRF2,all,all,annual,..0.9 +GASCGT,all,all,annual,..0.9 +TPETCR,all,all,annual,..1 +TDIECR,all,all,annual,..1 +TELCCR,all,all,annual,..1 +THYBCR,all,all,annual,..1 +RGASBR,all,all,annual,..1 +RELCHP,all,all,annual,..1 +WNDFRM,all,all,winter.night,..0.486418015 +WNDFRM,all,all,winter.day,..0.543166784 +WNDFRM,all,all,winter.peak,..0.504433498 +WNDFRM,all,all,winter.evening,..0.493173821 +WNDFRM,all,all,peak.night,..0.312697296 +WNDFRM,all,all,peak.day,..0.489120338 +WNDFRM,all,all,peak.peak,..0.454890922 +WNDFRM,all,all,peak.evening,..0.331034483 +WNDFRM,all,all,summer.night,..0.17951141 +WNDFRM,all,all,summer.day,..0.349950739 +WNDFRM,all,all,summer.peak,..0.342294159 +WNDFRM,all,all,summer.evening,..0.202674173 +WNDFRM,all,all,autumn.night,..0.3513019 +WNDFRM,all,all,autumn.day,..0.460745954 +WNDFRM,all,all,autumn.peak,..0.396340605 +WNDFRM,all,all,autumn.evening,..0.364813512 +BIOPRO,all,all,annual,..1.0 +BIOPLL,all,all,annual,..0.95 +RBIOBL,all,all,annual,..1.0 diff --git a/examples/two_regions/process_availabilities.csv b/examples/two_regions/process_availabilities.csv index 104410f99..631a3e1c9 100644 --- a/examples/two_regions/process_availabilities.csv +++ b/examples/two_regions/process_availabilities.csv @@ -1,6 +1,6 @@ -process_id,regions,commission_years,time_slice,limit_type,value -gassupply1,R1;R2,all,annual,up,0.9 -gasCCGT,R1;R2,all,annual,up,0.9 -windturbine,R1;R2,all,annual,up,0.4 -gasboiler,R1;R2,all,annual,up,1.0 -heatpump,R1;R2,all,annual,up,1.0 +process_id,regions,commission_years,time_slice,limits +gassupply1,R1;R2,all,annual,..0.9 +gasCCGT,R1;R2,all,annual,..0.9 +windturbine,R1;R2,all,annual,..0.4 +gasboiler,R1;R2,all,annual,..1.0 +heatpump,R1;R2,all,annual,..1.0 diff --git a/src/input/process/availability.rs b/src/input/process/availability.rs index 24d6664e8..20648f03a 100644 --- a/src/input/process/availability.rs +++ b/src/input/process/availability.rs @@ -1,6 +1,6 @@ //! Code for reading process availabilities CSV file -use super::super::{input_err_msg, read_csv, try_insert}; -use crate::process::{ProcessActivityLimitsMap, ProcessAvailabilities, ProcessID, ProcessMap}; +use super::super::{input_err_msg, read_csv_optional, try_insert}; +use crate::process::{ActivityLimits, ProcessActivityLimitsMap, ProcessID, ProcessMap}; use crate::region::parse_region_str; use crate::time_slice::TimeSliceInfo; use crate::units::{Dimensionless, Year}; @@ -8,7 +8,6 @@ use crate::year::parse_year_str; use anyhow::{Context, Result, ensure}; use itertools::iproduct; use serde::Deserialize; -use serde_string_enum::DeserializeLabeledStringEnum; use std::collections::HashMap; use std::ops::RangeInclusive; use std::path::Path; @@ -23,46 +22,79 @@ struct ProcessAvailabilityRaw { regions: String, commission_years: String, time_slice: String, - limit_type: LimitType, - value: Dimensionless, + limits: String, } impl ProcessAvailabilityRaw { - fn validate(&self) -> Result<()> { - // Check availability value - ensure!( - self.value >= Dimensionless(0.0) && self.value <= Dimensionless(1.0), - "Value for availability must be between 0 and 1 inclusive" - ); - - Ok(()) - } - - /// Calculate fraction of annual energy as availability multiplied by time slice length. + /// Calculate fraction of annual energy as availability multiplied by the length of time covered. /// - /// The resulting limits are max/min energy produced/consumed in each time slice per + /// The resulting limits are max/min energy produced/consumed in the covered time period per /// `capacity_to_activity` units of capacity. - fn to_bounds(&self, ts_length: Year) -> RangeInclusive { - // We know ts_length also represents a fraction of a year, so this is ok. - let ts_frac = ts_length / Year(1.0); - let value = self.value * ts_frac; - match self.limit_type { - LimitType::LowerBound => value..=ts_frac, - LimitType::UpperBound => Dimensionless(0.0)..=value, - LimitType::Equality => value..=value, - } + fn to_bounds(&self, length: Year) -> Result> { + // Parse availability_range string + let availability_range = parse_availabilities_string(&self.limits)?; + + // Convert to bounds based on fraction of the year covered + let ts_frac = length / Year(1.0); + let start = *availability_range.start() * ts_frac; + let end = *availability_range.end() * ts_frac; + Ok(start..=end) } } -/// The type of limit given for availability -#[derive(DeserializeLabeledStringEnum, Debug, Clone, Copy, PartialEq, Eq)] -pub enum LimitType { - #[string = "lo"] - LowerBound, - #[string = "up"] - UpperBound, - #[string = "fx"] - Equality, +/// Parse a string representing availability limits into a range. +fn parse_availabilities_string(s: &str) -> Result> { + // Disallow empty string + ensure!(!s.trim().is_empty(), "Availability range cannot be empty"); + + // Require exactly one ".." separator so only forms lower..upper, lower.. or ..upper are allowed. + let parts: Vec<&str> = s.split("..").collect(); + ensure!( + parts.len() == 2, + "Availability range must be of the form 'lower..upper', 'lower..' or '..upper'. Invalid: {s}" + ); + let left = parts[0].trim(); + let right = parts[1].trim(); + + // Parse lower limit + let lower = if left.is_empty() { + Dimensionless(0.0) + } else { + Dimensionless( + left.parse::() + .ok() + .with_context(|| format!("Invalid lower availability limit: {left}"))?, + ) + }; + + // Parse upper limit + let upper = if right.is_empty() { + Dimensionless(1.0) + } else { + Dimensionless( + right + .parse::() + .ok() + .with_context(|| format!("Invalid upper availability limit: {right}"))?, + ) + }; + + // Validation checks + ensure!( + upper >= lower, + "Upper availability limit must be greater than or equal to lower limit. Invalid: {s}" + ); + ensure!( + lower >= Dimensionless(0.0), + "Lower availability limit must be >= 0. Invalid: {s}" + ); + ensure!( + upper <= Dimensionless(1.0), + "Upper availability limit must be <= 1. Invalid: {s}" + ); + + // Return range + Ok(lower..=upper) } /// Read the process availabilities CSV file. @@ -87,7 +119,7 @@ pub fn read_process_availabilities( time_slice_info: &TimeSliceInfo, ) -> Result> { let file_path = model_dir.join(PROCESS_AVAILABILITIES_FILE_NAME); - let process_availabilities_csv = read_csv(&file_path)?; + let process_availabilities_csv = read_csv_optional(&file_path)?; read_process_availabilities_from_iter(process_availabilities_csv, processes, time_slice_info) .with_context(|| input_err_msg(&file_path)) } @@ -112,15 +144,13 @@ fn read_process_availabilities_from_iter( where I: Iterator, { - // Collect all entries + // Collect entries for all processes let mut entries: HashMap = processes .iter() .map(|(id, _)| (id.clone(), HashMap::new())) .collect(); for record in iter { - record.validate()?; - // Get process let (id, process) = processes .get_key_value(record.process_id.as_str()) @@ -153,13 +183,16 @@ where try_insert( entries_for_process_region_year, &ts_selection, - record.to_bounds(length), + record.to_bounds(length)?, )?; } } - // Create `ProcessActivityLimitsMap`s - let mut map: HashMap = HashMap::new(); + // Create `ProcessActivityLimitsMap`s for each process. + // Maps are created for all regions and years defined for each process, gathering the limits + // defined in the entries above, or using default limits (full availability) if none were + // defined. + let mut map = HashMap::new(); for (process_id, process) in processes { let mut inner_map = HashMap::new(); let entries_for_process = &entries[process_id]; @@ -168,7 +201,10 @@ where .get(&(region_id.clone(), year)) .cloned() .unwrap_or_default(); - let availabilities = ProcessAvailabilities::new_from_limits(&limits, time_slice_info); + let availabilities = ActivityLimits::new_from_limits(&limits, time_slice_info) + .with_context(|| { + format!("Error creating activity limits for process {process_id}") + })?; inner_map.insert((region_id.clone(), year), Rc::new(availabilities)); } map.insert(process_id.clone(), inner_map); @@ -180,74 +216,69 @@ where #[cfg(test)] mod tests { use super::*; + use crate::fixture::assert_error; + use float_cmp::assert_approx_eq; + use rstest::rstest; - fn create_process_availability_raw( - limit_type: LimitType, - value: Dimensionless, - ) -> ProcessAvailabilityRaw { + fn create_process_availability_raw(limits: String) -> ProcessAvailabilityRaw { ProcessAvailabilityRaw { process_id: "process".into(), regions: "region".into(), commission_years: "2010".into(), time_slice: "day".into(), - limit_type, - value, + limits, } } - #[test] - fn test_validate() { - // Valid - let valid = create_process_availability_raw(LimitType::LowerBound, Dimensionless(0.5)); - assert!(valid.validate().is_ok()); - let valid = create_process_availability_raw(LimitType::LowerBound, Dimensionless(0.0)); - assert!(valid.validate().is_ok()); - let valid = create_process_availability_raw(LimitType::LowerBound, Dimensionless(1.0)); - assert!(valid.validate().is_ok()); - - // Invalid: negative value - let invalid = create_process_availability_raw(LimitType::LowerBound, Dimensionless(-0.5)); - assert!(invalid.validate().is_err()); - - // Invalid: value greater than 1 - let invalid = create_process_availability_raw(LimitType::LowerBound, Dimensionless(1.5)); - assert!(invalid.validate().is_err()); - - // Invalid: infinity value - let invalid = - create_process_availability_raw(LimitType::LowerBound, Dimensionless(f64::INFINITY)); - assert!(invalid.validate().is_err()); - - // Invalid: negative infinity value - let invalid = create_process_availability_raw( - LimitType::LowerBound, - Dimensionless(f64::NEG_INFINITY), - ); - assert!(invalid.validate().is_err()); - - // Invalid: NaN value - let invalid = - create_process_availability_raw(LimitType::LowerBound, Dimensionless(f64::NAN)); - assert!(invalid.validate().is_err()); + #[rstest] + #[case("0.1..0.9", Dimensionless(0.1)..=Dimensionless(0.9))] + #[case("..0.9", Dimensionless(0.0)..=Dimensionless(0.9))] // Empty lower + #[case("0.1..", Dimensionless(0.1)..=Dimensionless(1.0))] // Empty upper + #[case("0.5..0.5", Dimensionless(0.5)..=Dimensionless(0.5))] // Equality + fn test_parse_availabilities_string_valid( + #[case] input: &str, + #[case] expected: RangeInclusive, + ) { + assert_eq!(parse_availabilities_string(input).unwrap(), expected); } - #[test] - fn test_to_bounds() { - let ts_length = Year(0.1); - - // Lower bound - let raw = create_process_availability_raw(LimitType::LowerBound, Dimensionless(0.5)); - let bounds = raw.to_bounds(ts_length); - assert_eq!(bounds, Dimensionless(0.05)..=Dimensionless(0.1)); - - // Upper bound - let raw = create_process_availability_raw(LimitType::UpperBound, Dimensionless(0.5)); - let bounds = raw.to_bounds(ts_length); - assert_eq!(bounds, Dimensionless(0.0)..=Dimensionless(0.05)); + #[rstest] + #[case("", "Availability range cannot be empty")] + #[case( + "0.6..0.5", + "Upper availability limit must be greater than or equal to lower limit. Invalid: 0.6..0.5" + )] + #[case( + "..0.1..0.9", + "Availability range must be of the form 'lower..upper', 'lower..' or '..upper'. Invalid: ..0.1..0.9" + )] + #[case("0.1...0.9", "Invalid upper availability limit: .0.9")] + #[case( + "-0.1..0.5", + "Lower availability limit must be >= 0. Invalid: -0.1..0.5" + )] + #[case("0.1..1.5", "Upper availability limit must be <= 1. Invalid: 0.1..1.5")] + #[case("abc..0.5", "Invalid lower availability limit: abc")] + #[case( + "0.5", + "Availability range must be of the form 'lower..upper', 'lower..' or '..upper'. Invalid: 0.5" + )] + fn test_parse_availabilities_string_invalid(#[case] input: &str, #[case] error_msg: &str) { + assert_error!(parse_availabilities_string(input), error_msg); + } - // Equality - let raw = create_process_availability_raw(LimitType::Equality, Dimensionless(0.5)); - let bounds = raw.to_bounds(ts_length); - assert_eq!(bounds, Dimensionless(0.05)..=Dimensionless(0.05)); + #[rstest] + #[case("0.1..", Year(0.1), Dimensionless(0.01)..=Dimensionless(0.1))] // Lower bound + #[case("..0.5", Year(0.1), Dimensionless(0.0)..=Dimensionless(0.05))] // Upper bound + #[case("0.5..0.5", Year(0.1), Dimensionless(0.05)..=Dimensionless(0.05))] // Equality + fn test_to_bounds( + #[case] limits: &str, + #[case] ts_length: Year, + #[case] expected: RangeInclusive, + ) { + let raw = create_process_availability_raw(limits.into()); + let bounds = raw.to_bounds(ts_length).unwrap(); + assert_approx_eq!(Dimensionless, *bounds.start(), *expected.start()); + assert_approx_eq!(Dimensionless, *bounds.end(), *expected.end()); } } diff --git a/src/input/process/investment_constraints.rs b/src/input/process/investment_constraints.rs index e7f0c677a..2d0b31d00 100644 --- a/src/input/process/investment_constraints.rs +++ b/src/input/process/investment_constraints.rs @@ -1,6 +1,5 @@ //! Code for reading process investment constraints CSV file use super::super::input_err_msg; -use super::availability::LimitType; use crate::input::read_csv_optional; use crate::process::{ InvestmentConstraintValue, ProcessID, ProcessInvestmentConstraint, @@ -21,20 +20,12 @@ const PROCESS_INVESTMENT_CONSTRAINTS_FILE_NAME: &str = "process_investment_const struct ProcessInvestmentConstraintRaw { constraint_name: String, process_id: String, - #[serde(default = "default_region")] regions: String, commission_years: u32, - limit_type: LimitType, constraint_type: ConstraintType, - growth_constraint_seed: Option, value: f64, } -/// Default value for region field when not specified -fn default_region() -> String { - "ALL".to_string() -} - impl ProcessInvestmentConstraintRaw { /// Validate the constraint record for logical consistency and required fields fn validate(&self) -> Result<()> { @@ -53,6 +44,15 @@ impl ProcessInvestmentConstraintRaw { self.constraint_name ); + if matches!(self.constraint_type, ConstraintType::Addition) { + // For addition constraints, value must be non-negative + ensure!( + self.value >= 0.0, + "Addition constraint value must be non-negative for constraint '{}'", + self.constraint_name + ); + } + Ok(()) } } @@ -158,34 +158,20 @@ where for region in &record_regions { let constraint_value = match record.constraint_type { ConstraintType::Addition => InvestmentConstraintValue::Addition { - addition_limit: record.value, - }, - ConstraintType::Growth => InvestmentConstraintValue::Growth { - growth_constraint_seed: record.growth_constraint_seed.unwrap(), + addition_limit: Some(record.value), }, + ConstraintType::Growth => InvestmentConstraintValue::Growth {}, ConstraintType::Limit => InvestmentConstraintValue::Limit {}, }; - let limit_type_str = match record.limit_type { - LimitType::LowerBound => "LowerBound", - LimitType::UpperBound => "UpperBound", - LimitType::Equality => "Equality", - }; - let constraint = ProcessInvestmentConstraint { constraint_name: record.constraint_name.clone(), constraint_value, - limit_type: limit_type_str.to_string(), }; - let process_map = map.entry(process_id.clone()).or_default(); - let constraints_vec = process_map + process_map .entry((region.clone(), record.commission_years)) - .or_insert_with(|| Rc::new(Vec::new())); - - let constraints_mut = Rc::get_mut(constraints_vec) - .expect("Should have exclusive access during construction"); - constraints_mut.push(constraint); + .or_insert_with(|| Rc::new(constraint)); } } @@ -201,19 +187,17 @@ fn validate_constraint_consistency( map: &HashMap, ) -> Result<()> { for (process_id, constraints_map) in map { - for ((region_id, year), constraints) in constraints_map { + for ((region_id, year), constraint) in constraints_map { // Check for duplicate constraint names let mut seen = HashSet::new(); - for constraint in constraints.iter() { - if !seen.insert(&constraint.constraint_name) { - bail!( - "Duplicate constraint name '{}' for process '{}', region '{}', year {}", - constraint.constraint_name, - process_id, - region_id, - year - ); - } + if !seen.insert(&constraint.constraint_name) { + bail!( + "Duplicate constraint name '{}' for process '{}', region '{}', year {}", + constraint.constraint_name, + process_id, + region_id, + year + ); } } } @@ -227,18 +211,14 @@ mod tests { fn create_raw_constraint( constraint_type: ConstraintType, - limit_type: LimitType, value: f64, - growth_constraint_seed: Option, ) -> ProcessInvestmentConstraintRaw { ProcessInvestmentConstraintRaw { constraint_name: "test_constraint".into(), process_id: "test_process".into(), regions: "ALL".into(), commission_years: 2030, - limit_type, constraint_type, - growth_constraint_seed, value, } } @@ -246,12 +226,7 @@ mod tests { #[test] fn test_validate_growth_not_supported() { // Growth constraints should fail with "not supported yet" message - let constraint = create_raw_constraint( - ConstraintType::Growth, - LimitType::UpperBound, - 0.1, - Some(100.0), - ); + let constraint = create_raw_constraint(ConstraintType::Growth, 0.1); let result = constraint.validate(); assert!(result.is_err()); assert!(result.unwrap_err().to_string().contains("not supported")); @@ -260,8 +235,7 @@ mod tests { #[test] fn test_validate_limit_not_supported() { // Limit constraints should fail with "not supported yet" message - let constraint = - create_raw_constraint(ConstraintType::Limit, LimitType::UpperBound, 100.0, None); + let constraint = create_raw_constraint(ConstraintType::Limit, 100.0); let result = constraint.validate(); assert!(result.is_err()); assert!(result.unwrap_err().to_string().contains("not supported")); @@ -270,39 +244,26 @@ mod tests { #[test] fn test_validate_addition_with_finite_value() { // Valid: addition constraint with positive value - let valid = - create_raw_constraint(ConstraintType::Addition, LimitType::UpperBound, 10.0, None); + let valid = create_raw_constraint(ConstraintType::Addition, 10.0); assert!(valid.validate().is_ok()); // Valid: addition constraint with zero value - let valid = - create_raw_constraint(ConstraintType::Addition, LimitType::UpperBound, 0.0, None); + let valid = create_raw_constraint(ConstraintType::Addition, 0.0); assert!(valid.validate().is_ok()); - // Valid: addition constraint with negative value (constraint allows this) - let valid = - create_raw_constraint(ConstraintType::Addition, LimitType::LowerBound, -10.0, None); - assert!(valid.validate().is_ok()); + // Not valid: addition constraint with negative value + let valid = create_raw_constraint(ConstraintType::Addition, -10.0); + assert!(valid.validate().is_err()); } #[test] fn test_validate_addition_rejects_infinite() { // Invalid: infinite value - let invalid = create_raw_constraint( - ConstraintType::Addition, - LimitType::UpperBound, - f64::INFINITY, - None, - ); + let invalid = create_raw_constraint(ConstraintType::Addition, f64::INFINITY); assert!(invalid.validate().is_err()); // Invalid: NaN value - let invalid = create_raw_constraint( - ConstraintType::Addition, - LimitType::UpperBound, - f64::NAN, - None, - ); + let invalid = create_raw_constraint(ConstraintType::Addition, f64::NAN); assert!(invalid.validate().is_err()); } } From 7972784404afd5fb15db53b35b07cf5b0400cf5c Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Thu, 27 Nov 2025 12:07:01 +0000 Subject: [PATCH 08/27] Fix/update tests --- src/asset.rs | 201 +++++++++-------------------------- src/fixture.rs | 93 +++++++++++----- src/process.rs | 5 +- src/simulation/investment.rs | 90 +++++----------- 4 files changed, 147 insertions(+), 242 deletions(-) diff --git a/src/asset.rs b/src/asset.rs index 466417418..2f0640ac0 100644 --- a/src/asset.rs +++ b/src/asset.rs @@ -2,7 +2,7 @@ use crate::agent::AgentID; use crate::commodity::CommodityID; use crate::process::{ - FlowDirection, Process, ProcessAvailabilities, ProcessFlow, ProcessID, ProcessParameter, + ActivityLimits, FlowDirection, Process, ProcessFlow, ProcessID, ProcessParameter, }; use crate::region::RegionID; use crate::simulation::CommodityPrices; @@ -85,7 +85,7 @@ pub struct Asset { /// The [`Process`] that this asset corresponds to process: Rc, /// Activity limits for this asset - activity_limits: Rc, + activity_limits: Rc, /// The commodity flows for this asset flows: Rc>, /// The [`ProcessParameter`] corresponding to the asset's region and commission year @@ -280,9 +280,7 @@ impl Asset { &self, time_slice: &TimeSliceID, ) -> RangeInclusive { - let limits = &self - .activity_limits - .get_availability_limit_for_time_slice(time_slice); + let limits = &self.activity_limits.get_limit_for_time_slice(time_slice); let cap2act = self.process.capacity_to_activity; (cap2act * *limits.start())..=(cap2act * *limits.end()) } @@ -293,7 +291,7 @@ impl Asset { ) -> impl Iterator)> + '_ { let max_act = self.max_activity(); self.activity_limits - .iter_availability_limits() + .iter_limits() .map(move |(ts_sel, limit)| { ( ts_sel, @@ -308,7 +306,7 @@ impl Asset { ) -> impl Iterator)> + '_ { let cap2act = self.process.capacity_to_activity; self.activity_limits - .iter_availability_limits() + .iter_limits() .map(move |(ts_sel, limit)| { ( ts_sel, @@ -925,95 +923,50 @@ impl<'a, I> AssetIterator<'a> for I where I: Iterator + Siz #[cfg(test)] mod tests { use super::*; - use crate::commodity::{Commodity, CommodityID, CommodityType}; + use crate::commodity::Commodity; use crate::fixture::{ - assert_error, asset, commodity_id, process, process_parameter_map, region_id, time_slice, - }; - use crate::process::{ - FlowType, Process, ProcessActivityLimitsMap, ProcessFlow, ProcessFlowsMap, - ProcessInvestmentConstraintsMap, ProcessParameter, ProcessParameterMap, + assert_error, asset, process, process_activity_limits_map, process_flows_map, + process_parameter_map, region_id, svd_commodity, time_slice, time_slice_info, }; + use crate::process::{FlowType, Process, ProcessFlow, ProcessParameter}; use crate::region::RegionID; - use crate::time_slice::{TimeSliceID, TimeSliceLevel}; + use crate::time_slice::{TimeSliceID, TimeSliceInfo}; use crate::units::{ ActivityPerCapacity, Capacity, Dimensionless, FlowPerActivity, MoneyPerActivity, MoneyPerCapacity, MoneyPerCapacityPerYear, MoneyPerFlow, }; - use indexmap::{IndexSet, indexmap, indexset}; + use indexmap::indexmap; use itertools::{Itertools, assert_equal}; - use map_macro::hash_map; use rstest::{fixture, rstest}; - use std::collections::HashMap; use std::iter; use std::rc::Rc; #[rstest] fn test_get_input_cost_from_prices( region_id: RegionID, - commodity_id: CommodityID, - mut process_parameter_map: ProcessParameterMap, + svd_commodity: Commodity, + mut process: Process, time_slice: TimeSliceID, ) { - // Create a commodity - let commodity = Rc::new(Commodity { - id: commodity_id.clone(), - description: "Test commodity".to_string(), - kind: CommodityType::ServiceDemand, - time_slice_level: TimeSliceLevel::Annual, - levies_prod: Default::default(), - levies_cons: Default::default(), - demand: Default::default(), - }); - - // Create a process flow (input) - let flow = ProcessFlow { - commodity: commodity.clone(), - coeff: FlowPerActivity(-2.0), // input + // Update the process flows using the existing commodity fixture + let commodity_rc = Rc::new(svd_commodity); + let process_flow = ProcessFlow { + commodity: Rc::clone(&commodity_rc), + coeff: FlowPerActivity(-2.0), // Input kind: FlowType::Fixed, cost: MoneyPerFlow(0.0), }; - - // Insert process parameter for year 2020 - process_parameter_map.insert( - (region_id.clone(), 2020), - Rc::new(ProcessParameter { - capital_cost: Default::default(), - fixed_operating_cost: Default::default(), - variable_operating_cost: Default::default(), - lifetime: 1, - discount_rate: Default::default(), - }), - ); - - // Create flows map - let flow_map = indexmap! { commodity_id.clone() => flow }; - let flows = hash_map! {(region_id.clone(), 2020) => flow_map.into()}; - - // Create empty activity limits map - let activity_limits = hash_map! {(region_id.clone(), 2020) => Rc::new(HashMap::new())}; - - // Create empty constraints map - let investment_constraints = hash_map! {(region_id.clone(), 2020) => Rc::new(Vec::new())}; - - let process = Rc::new(Process { - id: ProcessID::from("PROC1"), - description: "Test process".to_string(), - flows, - parameters: process_parameter_map, - regions: indexset! {region_id.clone()}, - primary_output: Some(commodity_id.clone()), - years: 2020..=2020, - activity_limits, - capacity_to_activity: ActivityPerCapacity(1.0), - investment_constraints: investment_constraints, - }); + let process_flows = indexmap! { commodity_rc.id.clone() => process_flow.clone() }; + let process_flows_map = process_flows_map(process.regions.clone(), Rc::new(process_flows)); + process.flows = process_flows_map; // Create asset - let asset = Asset::new_candidate(process, region_id.clone(), Capacity(1.0), 2020).unwrap(); + let asset = + Asset::new_candidate(Rc::new(process), region_id.clone(), Capacity(1.0), 2020).unwrap(); // Set input prices let mut input_prices = CommodityPrices::default(); - input_prices.insert(&commodity_id, ®ion_id, &time_slice, MoneyPerFlow(3.0)); + input_prices.insert(&commodity_rc.id, ®ion_id, &time_slice, MoneyPerFlow(3.0)); // Call function let cost = asset.get_input_cost_from_prices(&input_prices, &time_slice); @@ -1070,48 +1023,24 @@ mod tests { } #[fixture] - fn asset_pool(region_id: RegionID) -> AssetPool { - let process_param = Rc::new(ProcessParameter { + fn asset_pool(mut process: Process) -> AssetPool { + // Update process parameters (lifetime = 20 years) + let process_param = ProcessParameter { capital_cost: MoneyPerCapacity(5.0), fixed_operating_cost: MoneyPerCapacityPerYear(2.0), variable_operating_cost: MoneyPerActivity(1.0), lifetime: 20, discount_rate: Dimensionless(0.9), - }); - let years = RangeInclusive::new(2010, 2020).collect_vec(); - let process_parameter_map: ProcessParameterMap = years - .iter() - .map(|&year| ((region_id.clone(), year), process_param.clone())) - .collect(); - let activity_limits = years - .iter() - .map(|&year| ((region_id.clone(), year), Rc::new(HashMap::new()))) - .collect(); - let flows = years - .iter() - .map(|&year| ((region_id.clone(), year), Rc::new(IndexMap::new()))) - .collect(); - let investment_constraints = years - .iter() - .map(|&year| ((region_id.clone(), year), Rc::new(Vec::new()))) - .collect(); - let process = Rc::new(Process { - id: "process1".into(), - description: "Description".into(), - years: 2010..=2020, - activity_limits, - flows, - parameters: process_parameter_map, - regions: IndexSet::from(["GBR".into()]), - primary_output: None, - capacity_to_activity: ActivityPerCapacity(1.0), - investment_constraints: investment_constraints, - }); + }; + let process_parameter_map = process_parameter_map(process.regions.clone(), process_param); + process.parameters = process_parameter_map; + + let rc_process = Rc::new(process); let future = [2020, 2010] .map(|year| { Asset::new_future( "agent1".into(), - Rc::clone(&process), + Rc::clone(&rc_process), "GBR".into(), Capacity(1.0), year, @@ -1125,45 +1054,20 @@ mod tests { } #[fixture] - fn process_with_activity_limits(region_id: RegionID) -> Process { - let process_param = Rc::new(ProcessParameter { - capital_cost: MoneyPerCapacity(5.0), - fixed_operating_cost: MoneyPerCapacityPerYear(2.0), - variable_operating_cost: MoneyPerActivity(1.0), - lifetime: 5, - discount_rate: Dimensionless(0.9), - }); - let years = RangeInclusive::new(2010, 2020).collect_vec(); - let process_parameter_map: ProcessParameterMap = years - .iter() - .map(|&year| ((region_id.clone(), year), process_param.clone())) - .collect(); - let time_slice = TimeSliceID { - season: "winter".into(), - time_of_day: "day".into(), - }; - let fraction_limits = Dimensionless(1.0)..=Dimensionless(2.0); - let mut flows = ProcessFlowsMap::new(); - let mut activity_limits = ProcessActivityLimitsMap::new(); - let investment_constraints = ProcessInvestmentConstraintsMap::new(); - let limit_map = Rc::new(hash_map! {time_slice => fraction_limits}); - for year in [2010, 2020] { - // empty flows map, but this is fine for our purposes - flows.insert((region_id.clone(), year), Rc::new(IndexMap::new())); - activity_limits.insert((region_id.clone(), year), limit_map.clone()); - } - Process { - id: "process1".into(), - description: "Description".into(), - years: 2010..=2020, - activity_limits, - flows, - parameters: process_parameter_map, - regions: IndexSet::from([region_id]), - primary_output: None, - capacity_to_activity: ActivityPerCapacity(3.0), - investment_constraints: investment_constraints, - } + fn process_with_activity_limits( + mut process: Process, + time_slice_info: TimeSliceInfo, + time_slice: TimeSliceID, + ) -> Process { + // Add activity limits to the process + let mut activity_limits = ActivityLimits::new_with_full_availability(&time_slice_info); + activity_limits.add_time_slice_limit(time_slice, Dimensionless(0.1)..=Dimensionless(0.5)); + process.activity_limits = + process_activity_limits_map(process.regions.clone(), activity_limits); + + // Update cap2act + process.capacity_to_activity = ActivityPerCapacity(2.0); + process } #[fixture] @@ -1178,22 +1082,15 @@ mod tests { .unwrap() } - #[rstest] - fn test_asset_get_activity_limits(asset_with_activity_limits: Asset, time_slice: TimeSliceID) { - assert_eq!( - asset_with_activity_limits.get_activity_limits(&time_slice), - Activity(6.0)..=Activity(12.0) - ); - } - #[rstest] fn test_asset_get_activity_per_capacity_limits( asset_with_activity_limits: Asset, time_slice: TimeSliceID, ) { + // With cap2act of 2, and activity limits of 0.1..=0.5, should get 0.2..=1.0 assert_eq!( asset_with_activity_limits.get_activity_per_capacity_limits(&time_slice), - ActivityPerCapacity(3.0)..=ActivityPerCapacity(6.0) + ActivityPerCapacity(0.2)..=ActivityPerCapacity(1.0) ); } diff --git a/src/fixture.rs b/src/fixture.rs index 014d60612..fceca96f7 100644 --- a/src/fixture.rs +++ b/src/fixture.rs @@ -6,7 +6,10 @@ use crate::agent::{ }; use crate::asset::{Asset, AssetPool, AssetRef}; use crate::commodity::{Commodity, CommodityID, CommodityLevyMap, CommodityType, DemandMap}; -use crate::process::{Process, ProcessMap, ProcessParameter, ProcessParameterMap}; +use crate::process::{ + Process, ProcessActivityLimitsMap, ProcessAvailabilities, ProcessFlow, ProcessFlowsMap, + ProcessMap, ProcessParameter, ProcessParameterMap, +}; use crate::region::RegionID; use crate::simulation::investment::appraisal::{ AppraisalOutput, coefficients::ObjectiveCoefficients, @@ -18,7 +21,7 @@ use crate::units::{ }; use indexmap::indexmap; use indexmap::{IndexMap, IndexSet}; -use itertools::{Itertools, iproduct}; +use itertools::Itertools; use rstest::fixture; use std::collections::HashMap; use std::iter; @@ -127,15 +130,23 @@ pub fn assets(asset: Asset) -> AssetPool { } #[fixture] -pub fn process_parameter_map(region_ids: IndexSet) -> ProcessParameterMap { - let parameter = Rc::new(ProcessParameter { +pub fn process_parameter() -> ProcessParameter { + ProcessParameter { capital_cost: MoneyPerCapacity(0.0), fixed_operating_cost: MoneyPerCapacityPerYear(0.0), variable_operating_cost: MoneyPerActivity(0.0), lifetime: 5, discount_rate: Dimensionless(1.0), - }); + } +} +#[fixture] +/// Create a ProcessParameterMap with the specified parameters for each region and year +pub fn process_parameter_map( + region_ids: IndexSet, + process_parameter: ProcessParameter, +) -> ProcessParameterMap { + let parameter = Rc::new(process_parameter); region_ids .into_iter() .cartesian_product(2010..=2020) @@ -144,36 +155,70 @@ pub fn process_parameter_map(region_ids: IndexSet) -> ProcessParameter } #[fixture] +/// Create a ProcessAvailabilities with full availability for all time slices +pub fn process_activity_limits(time_slice_info: TimeSliceInfo) -> ProcessAvailabilities { + ProcessAvailabilities::new_with_full_availability(&time_slice_info) +} + +#[fixture] +/// Create a ProcessActivityLimitsMap with full availability for each region and year +pub fn process_activity_limits_map( + region_ids: IndexSet, + process_activity_limits: ProcessAvailabilities, +) -> ProcessActivityLimitsMap { + region_ids + .into_iter() + .cartesian_product(2010..=2020) + .map(|(region_id, year)| ((region_id, year), Rc::new(process_activity_limits.clone()))) + .collect() +} + +#[fixture] +/// Create an empty set of ProcessInvestmentConstraints for a given region/year +/// Returns a HashMap keyed by (RegionID, year) with empty Rc +pub fn process_investment_constraints() -> ProcessInvestmentConstraintsMap { + HashMap::new() +} + +#[fixture] +/// Create an empty set of ProcessFlows for a given region/year +pub fn process_flows() -> Rc> { + Rc::new(IndexMap::new()) +} + +#[fixture] +/// Create a ProcessFlowsMap with the provided flows for each region/year +pub fn process_flows_map( + region_ids: IndexSet, + process_flows: Rc>, +) -> ProcessFlowsMap { + region_ids + .into_iter() + .cartesian_product(2010..=2020) + .map(|(region_id, year)| ((region_id, year), process_flows.clone())) + .collect() +} + +#[fixture] +/// Create a Process with the given components pub fn process( region_ids: IndexSet, process_parameter_map: ProcessParameterMap, + process_activity_limits_map: ProcessActivityLimitsMap, + process_flows_map: ProcessFlowsMap, + process_investment_constraints: ProcessInvestmentConstraintsMap, ) -> Process { - let milestone_years = vec![2010, 2015, 2020]; - // The process start year is before the base year - let years = 2008..=*milestone_years.last().unwrap(); - - // Create maps with (empty) entries for every region/year combo - let activity_limits = iproduct!(region_ids.iter(), milestone_years.iter()) - .map(|(region_id, year)| ((region_id.clone(), *year), Rc::new(HashMap::new()))) - .collect(); - let flows = iproduct!(region_ids.iter(), milestone_years.iter()) - .map(|(region_id, year)| ((region_id.clone(), *year), Rc::new(IndexMap::new()))) - .collect(); - let investment_constraints = iproduct!(region_ids.iter(), milestone_years.iter()) - .map(|(region_id, year)| ((region_id.clone(), *year), Rc::new(Vec::new()))) - .collect(); - Process { id: "process1".into(), description: "Description".into(), - years, - activity_limits, - flows, + years: 2010..=2020, + activity_limits: process_activity_limits_map, + flows: process_flows_map, parameters: process_parameter_map, regions: region_ids, primary_output: None, capacity_to_activity: ActivityPerCapacity(1.0), - investment_constraints: investment_constraints, + investment_constraints: process_investment_constraints, } } diff --git a/src/process.rs b/src/process.rs index 030e597d5..a0702fe07 100644 --- a/src/process.rs +++ b/src/process.rs @@ -90,7 +90,7 @@ pub struct ProcessAvailabilities { impl ProcessAvailabilities { /// Create a new `ProcessAvailabilities` with full availability for all time slices - fn new_with_full_availability(time_slice_info: &TimeSliceInfo) -> Self { + pub fn new_with_full_availability(time_slice_info: &TimeSliceInfo) -> Self { // Initialize time slice limits to full availability let mut ts_limits = IndexMap::new(); for (ts_id, ts_length) in time_slice_info.iter() { @@ -136,7 +136,8 @@ impl ProcessAvailabilities { availabilities } - fn insert_time_slice_limit( + /// Insert a limit for a specific time slice + pub fn insert_time_slice_limit( &mut self, ts_id: TimeSliceID, limit: RangeInclusive, diff --git a/src/simulation/investment.rs b/src/simulation/investment.rs index 4f15ba6c4..db6a258fb 100644 --- a/src/simulation/investment.rs +++ b/src/simulation/investment.rs @@ -854,27 +854,24 @@ mod tests { use super::*; use crate::commodity::Commodity; use crate::fixture::{ - asset, process, process_parameter_map, region_id, svd_commodity, time_slice, + asset, process, process_activity_limits_map, process_flows_map, svd_commodity, time_slice, time_slice_info, time_slice_info2, }; - use crate::process::{FlowType, ProcessFlow}; - use crate::region::RegionID; + use crate::process::{FlowType, Process, ProcessAvailabilities, ProcessFlow}; use crate::time_slice::{TimeSliceID, TimeSliceInfo}; - use crate::units::{Dimensionless, Flow, FlowPerActivity, MoneyPerFlow}; + use crate::units::{Flow, FlowPerActivity, MoneyPerFlow}; use indexmap::indexmap; - use itertools::Itertools; - use map_macro::hash_map; use rstest::rstest; use std::rc::Rc; #[rstest] fn test_get_demand_limiting_capacity( time_slice: TimeSliceID, - region_id: RegionID, time_slice_info: TimeSliceInfo, svd_commodity: Commodity, + mut process: Process, ) { - // Create a process flow using the existing commodity fixture + // Add flows for the process using the existing commodity fixture let commodity_rc = Rc::new(svd_commodity); let process_flow = ProcessFlow { commodity: Rc::clone(&commodity_rc), @@ -882,28 +879,9 @@ mod tests { kind: FlowType::Fixed, cost: MoneyPerFlow(0.0), }; - - // Create a process with the flows and activity limits - let mut process = process( - [region_id.clone()].into_iter().collect(), - process_parameter_map([region_id.clone()].into_iter().collect()), - ); - - // Add the flow to the process - process.flows.insert( - (region_id.clone(), 2015), // Using default commission year from fixture - Rc::new( - [(commodity_rc.id.clone(), process_flow)] - .into_iter() - .collect(), - ), - ); - - // Add activity limits - process.activity_limits.insert( - (region_id.clone(), 2015), - Rc::new(hash_map! {time_slice.clone() => Dimensionless(0.0)..=Dimensionless(1.0)}), - ); + let process_flows = indexmap! { commodity_rc.id.clone() => process_flow.clone() }; + let process_flows_map = process_flows_map(process.regions.clone(), Rc::new(process_flows)); + process.flows = process_flows_map; // Create asset with the configured process let asset = asset(process); @@ -924,13 +902,12 @@ mod tests { fn test_get_demand_limiting_capacity_multiple_time_slices( time_slice_info2: TimeSliceInfo, svd_commodity: Commodity, - region_id: RegionID, + mut process: Process, ) { - // Create time slices from the fixture (day and night) let (time_slice1, time_slice2) = time_slice_info2.time_slices.keys().collect_tuple().unwrap(); - // Create a process flow using the existing commodity fixture + // Add flows for the process using the existing commodity fixture let commodity_rc = Rc::new(svd_commodity); let process_flow = ProcessFlow { commodity: Rc::clone(&commodity_rc), @@ -938,40 +915,25 @@ mod tests { kind: FlowType::Fixed, cost: MoneyPerFlow(0.0), }; - - // Create a process with the flows and activity limits - let mut process = process( - [region_id.clone()].into_iter().collect(), - process_parameter_map([region_id.clone()].into_iter().collect()), - ); - - // Add the flow to the process - process.flows.insert( - (region_id.clone(), 2015), // Using default commission year from fixture - Rc::new( - [(commodity_rc.id.clone(), process_flow)] - .into_iter() - .collect(), - ), - ); - - // Add activity limits for both time slices with different limits - let limits = hash_map! { - // Higher limit for day - time_slice1.clone() => Dimensionless(0.0)..=Dimensionless(2.0), - // Zero limit for night - should be skipped - time_slice2.clone() => Dimensionless(0.0)..=Dimensionless(0.0) - }; - process - .activity_limits - .insert((region_id.clone(), 2015), limits.into()); + let process_flows = indexmap! { commodity_rc.id.clone() => process_flow.clone() }; + let process_flows_map = process_flows_map(process.regions.clone(), Rc::new(process_flows)); + process.flows = process_flows_map; + + // Add activity limits for the process + let mut limits = ProcessAvailabilities::new_with_full_availability(&time_slice_info2); + limits + .insert_time_slice_limit(time_slice1.clone(), Dimensionless(0.0)..=Dimensionless(0.2)); + limits + .insert_time_slice_limit(time_slice2.clone(), Dimensionless(0.0)..=Dimensionless(0.0)); + let limits_map = process_activity_limits_map(process.regions.clone(), limits); + process.activity_limits = limits_map; // Create asset with the configured process let asset = asset(process); // Create demand map with different demands for each time slice let demand = indexmap! { - time_slice1.clone() => Flow(4.0), // Requires capacity of 4.0/2.0 = 2.0 + time_slice1.clone() => Flow(4.0), // Requires capacity of 4.0/0.2 = 20.0 time_slice2.clone() => Flow(3.0), // Would require infinite capacity, but should be skipped }; @@ -980,9 +942,9 @@ mod tests { get_demand_limiting_capacity(&time_slice_info2, &asset, &commodity_rc, &demand); // Expected: maximum of the capacity requirements across time slices (excluding zero limit) - // Time slice 1: demand (4.0) / (activity_limit (2.0) * coeff (1.0)) = 2.0 + // Time slice 1: demand (4.0) / (activity_limit (0.2) * coeff (1.0)) = 20.0 // Time slice 2: skipped due to zero activity limit - // Maximum = 2.0 - assert_eq!(result, Capacity(2.0)); + // Maximum = 20.0 + assert_eq!(result, Capacity(20.0)); } } From a074cbb7d5016bf260a42dd65de94b821bcbfcab Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Thu, 27 Nov 2025 15:00:13 +0000 Subject: [PATCH 09/27] Tidy-ups to `ActivityLimits` --- src/fixture.rs | 10 +- src/graph/validate.rs | 2 +- src/process.rs | 175 ++++++++++++++++++++++------------- src/simulation/investment.rs | 4 +- 4 files changed, 121 insertions(+), 70 deletions(-) diff --git a/src/fixture.rs b/src/fixture.rs index fceca96f7..feb62a375 100644 --- a/src/fixture.rs +++ b/src/fixture.rs @@ -7,8 +7,8 @@ use crate::agent::{ use crate::asset::{Asset, AssetPool, AssetRef}; use crate::commodity::{Commodity, CommodityID, CommodityLevyMap, CommodityType, DemandMap}; use crate::process::{ - Process, ProcessActivityLimitsMap, ProcessAvailabilities, ProcessFlow, ProcessFlowsMap, - ProcessMap, ProcessParameter, ProcessParameterMap, + ActivityLimits, Process, ProcessActivityLimitsMap, ProcessFlow, ProcessFlowsMap, ProcessMap, + ProcessParameter, ProcessParameterMap, }; use crate::region::RegionID; use crate::simulation::investment::appraisal::{ @@ -156,15 +156,15 @@ pub fn process_parameter_map( #[fixture] /// Create a ProcessAvailabilities with full availability for all time slices -pub fn process_activity_limits(time_slice_info: TimeSliceInfo) -> ProcessAvailabilities { - ProcessAvailabilities::new_with_full_availability(&time_slice_info) +pub fn process_activity_limits(time_slice_info: TimeSliceInfo) -> ActivityLimits { + ActivityLimits::new_with_full_availability(&time_slice_info) } #[fixture] /// Create a ProcessActivityLimitsMap with full availability for each region and year pub fn process_activity_limits_map( region_ids: IndexSet, - process_activity_limits: ProcessAvailabilities, + process_activity_limits: ActivityLimits, ) -> ProcessActivityLimitsMap { region_ids .into_iter() diff --git a/src/graph/validate.rs b/src/graph/validate.rs index 06829ea6e..8dcbaabf4 100644 --- a/src/graph/validate.rs +++ b/src/graph/validate.rs @@ -93,7 +93,7 @@ fn can_be_active( continue; }; if limits_map - .get_availability_limit(time_slice_selection, time_slice_info) + .get_limit(time_slice_selection, time_slice_info) .end() > &Dimensionless(0.0) { diff --git a/src/process.rs b/src/process.rs index a0702fe07..ca01337ca 100644 --- a/src/process.rs +++ b/src/process.rs @@ -8,6 +8,7 @@ use crate::units::{ ActivityPerCapacity, Dimensionless, FlowPerActivity, MoneyPerActivity, MoneyPerCapacity, MoneyPerCapacityPerYear, MoneyPerFlow, }; +use anyhow::{Result, ensure}; use indexmap::{IndexMap, IndexSet}; use serde_string_enum::DeserializeLabeledStringEnum; use std::collections::HashMap; @@ -20,7 +21,7 @@ define_id_type! {ProcessID} pub type ProcessMap = IndexMap>; /// A map indicating activity limits for a [`Process`] throughout the year. -pub type ProcessActivityLimitsMap = HashMap<(RegionID, u32), Rc>; +pub type ProcessActivityLimitsMap = HashMap<(RegionID, u32), Rc>; /// A map of [`ProcessParameter`]s, keyed by region and year pub type ProcessParameterMap = HashMap<(RegionID, u32), Rc>; @@ -70,16 +71,28 @@ impl Process { } } -// Defines the availability limits for a process in a given region and year +/// Defines the activity limits for a process in a given region and year /// -/// Values are calculated as availability multiplied by time slice/season length. The limits are -/// given as ranges, depending on the user-specified limit type and value for availability. +/// Activity limits represent the minimum and maximum fraction of the potential annual activity that +/// can be undertaken in each time slice, season, or the year as a whole. The limits stored and +/// returned by this struct are dimensionless; to convert to actual activity limits for an asset, +/// multiply by the capacity to activity factor of the process and the installed capacity of the +/// asset. /// -/// All time slices must have an entry in `time_slice_limits`. Seasonal and annual limits may be -/// present if provided by the user, and only if they provide an extra level of constraint on top of -/// the time slice limits. +/// All time slices must have an entry in `self.time_slice_limits`. If no specific availability limit +/// is provided for a time slice, this will just represent the length of the time slice as a +/// fraction of the year. Seasonal and annual limits may be stored if provided by the user, and only +/// if they provide an extra level of constraint on top of the time slice limits. +/// +/// Limits can be retrieved in three ways: +/// - Retrieve the limit for a specific time slice using `get_limit_for_time_slice()`. +/// - Retrieve a limit for a specific time slice selection (time slice, season, or annual) +/// using `get_limit()`. +/// - Retrieve all limits as an iterator using `iter_limits()`. Note: individual +/// limits within this iterator cannot be relied upon, but the totality of these limits can be +/// used to construct a set of constraints that ensures that all limits are respected. #[derive(PartialEq, Debug, Clone)] -pub struct ProcessAvailabilities { +pub struct ActivityLimits { /// Optional annual limit annual_limit: Option>, /// Optional limits for each season @@ -88,8 +101,8 @@ pub struct ProcessAvailabilities { time_slice_limits: IndexMap>, } -impl ProcessAvailabilities { - /// Create a new `ProcessAvailabilities` with full availability for all time slices +impl ActivityLimits { + /// Create a new `ActivityLimits` with full availability for all time slices pub fn new_with_full_availability(time_slice_info: &TimeSliceInfo) -> Self { // Initialize time slice limits to full availability let mut ts_limits = IndexMap::new(); @@ -100,19 +113,21 @@ impl ProcessAvailabilities { ); } - ProcessAvailabilities { + ActivityLimits { annual_limit: None, seasonal_limits: IndexMap::new(), time_slice_limits: ts_limits, } } - /// Create a new `ProcessAvailabilities` from a map of limits for time slice selections + /// Create a new `ActivityLimits` from a map of limits for time slice selections + /// + /// The limits provided here may be for individual time slices, seasons, or the entire year. pub fn new_from_limits( limits: &HashMap>, time_slice_info: &TimeSliceInfo, - ) -> Self { - let mut availabilities = ProcessAvailabilities::new_with_full_availability(time_slice_info); + ) -> Result { + let mut availabilities = ActivityLimits::new_with_full_availability(time_slice_info); // Add time slice limits first for (ts_selection, limit) in limits { @@ -122,18 +137,33 @@ impl ProcessAvailabilities { } // Then add seasonal limits + // Error will be raised if seasonal limits are incompatible with time slice limits for (ts_selection, limit) in limits { if let TimeSliceSelection::Season(season) = ts_selection { - availabilities.insert_seasonal_limit(season.clone(), limit.clone()); + availabilities.insert_seasonal_limit(season.clone(), limit.clone())?; } } // Then add annual limit + // Error will be raised if annual limit is incompatible with time slice/seasonal limits if let Some(limit) = limits.get(&TimeSliceSelection::Annual) { - availabilities.insert_annual_limit(limit.clone()); + availabilities.insert_annual_limit(limit.clone())?; } - availabilities + Ok(availabilities) + } + + /// Sanity check to make sure a limit is valid + /// + /// In theory, all limits should already be validated when read from input data, but this is an + /// extra safeguard. + fn check_limit(limit: &RangeInclusive) { + assert!( + *limit.start() >= Dimensionless(0.0) + && *limit.end() <= Dimensionless(1.0) + && *limit.start() <= *limit.end(), + "Invalid activity limit: {limit:?}. Must be within [0.0, 1.0] and start <= end.", + ); } /// Insert a limit for a specific time slice @@ -142,105 +172,126 @@ impl ProcessAvailabilities { ts_id: TimeSliceID, limit: RangeInclusive, ) { + Self::check_limit(&limit); self.time_slice_limits.insert(ts_id, limit); } - fn insert_seasonal_limit(&mut self, season: Season, limit: RangeInclusive) { + fn insert_seasonal_limit( + &mut self, + season: Season, + limit: RangeInclusive, + ) -> Result<()> { + Self::check_limit(&limit); + // Get current limit for the season - let current_limit = self.get_availability_limit_for_season(&season); + let current_limit = self.get_limit_for_season(&season); + + // Ensure that the new limit is compatible with the current limit + ensure!( + *limit.start() <= *current_limit.end() && *limit.end() >= *current_limit.start(), + "Incompatible limit {limit:?} for season {season:?}", + ); // Only insert the seasonal limit if it provides an extra level of constraint if *limit.start() > *current_limit.start() || *limit.end() < *current_limit.end() { self.seasonal_limits.insert(season, limit); } + + Ok(()) } - fn insert_annual_limit(&mut self, limit: RangeInclusive) { + fn insert_annual_limit(&mut self, limit: RangeInclusive) -> Result<()> { + Self::check_limit(&limit); + // Get current limit for the year - let current_limit = self.get_availability_limit_for_year(&TimeSliceInfo::default()); + let current_limit = self.get_limit_for_year(&TimeSliceInfo::default()); + + // Ensure that the new limit is compatible with the current limit + ensure!( + *limit.start() <= *current_limit.end() && *limit.end() >= *current_limit.start(), + "Incompatible annual limit {limit:?}", + ); // Only insert the annual limit if it provides an extra level of constraint if *limit.start() > *current_limit.start() || *limit.end() < *current_limit.end() { self.annual_limit = Some(limit); } + + Ok(()) } - /// Get the availability limit for a given time slice selection - pub fn get_availability_limit( + /// Get the limit for a given time slice selection + pub fn get_limit( &self, time_slice_selection: &TimeSliceSelection, time_slice_info: &TimeSliceInfo, ) -> RangeInclusive { match time_slice_selection { - TimeSliceSelection::Single(ts_id) => self.get_availability_limit_for_time_slice(ts_id), - TimeSliceSelection::Season(season) => self.get_availability_limit_for_season(season), - TimeSliceSelection::Annual => self.get_availability_limit_for_year(time_slice_info), + TimeSliceSelection::Single(ts_id) => self.get_limit_for_time_slice(ts_id), + TimeSliceSelection::Season(season) => self.get_limit_for_season(season), + TimeSliceSelection::Annual => self.get_limit_for_year(time_slice_info), } } - /// Get the availability limit for a given time slice - pub fn get_availability_limit_for_time_slice( + /// Get the limit for a given time slice + pub fn get_limit_for_time_slice( &self, time_slice: &TimeSliceID, ) -> RangeInclusive { // Get limit for this specific time slice let ts_limit = self.time_slice_limits[time_slice].clone(); - let ts_lower = *ts_limit.start(); - let ts_upper = *ts_limit.end(); + let lower = *ts_limit.start(); + let mut upper = *ts_limit.end(); - // Time slice availability cannot exceed upper limit for the season/year, if specified - let seasonal_upper = self - .seasonal_limits - .get(&time_slice.season) - .map_or(Dimensionless(1.0), |limit| *limit.end()); - let annual_upper = self - .annual_limit - .as_ref() - .map_or(Dimensionless(1.0), |limit| *limit.end()); - let max_limit = ts_upper.min(seasonal_upper).min(annual_upper); + // If there's a seasonal/annual limit, we must cap the timeslice limit to ensure that it + // doesn't exceed the upper bound of the season/year + if let Some(seasonal_limit) = self.seasonal_limits.get(&time_slice.season) { + upper = upper.min(*seasonal_limit.end()); + } + if let Some(annual_limit) = &self.annual_limit { + upper = upper.min(*annual_limit.end()); + } - ts_lower..=max_limit + lower..=upper } - /// Get the availability limit for a given season - fn get_availability_limit_for_season(&self, season: &Season) -> RangeInclusive { + /// Get the limit for a given season + fn get_limit_for_season(&self, season: &Season) -> RangeInclusive { // Get sum of limits for all time slices in this season - let mut total_lower = Dimensionless(0.0); - let mut total_upper = Dimensionless(0.0); + let mut lower = Dimensionless(0.0); + let mut upper = Dimensionless(0.0); for (ts, limit) in &self.time_slice_limits { if &ts.season == season { - total_lower += *limit.start(); - total_upper += *limit.end(); + lower += *limit.start(); + upper += *limit.end(); } } - // Also get seasonal limit, if specified + // Bound this by the seasonal limit, if specified if let Some(seasonal_limit) = self.seasonal_limits.get(season) { - total_lower = total_lower.max(*seasonal_limit.start()); - total_upper = total_upper.min(*seasonal_limit.end()); + lower = lower.max(*seasonal_limit.start()); + upper = upper.min(*seasonal_limit.end()); } - // Seasonal availability cannot exceed the upper limit for the year, if specified + // If there's an annual limit, we must also cap the seasonal limit to ensure it doesn't + // exceed the upper bound of the year if let Some(annual_limit) = &self.annual_limit { - total_upper = total_upper.min(*annual_limit.end()); + upper = upper.min(*annual_limit.end()); } - total_lower..=total_upper + lower..=upper } - /// Get the availability limit for the entire year - fn get_availability_limit_for_year( - &self, - time_slice_info: &TimeSliceInfo, - ) -> RangeInclusive { - // Sum limits for each season + /// Get the limit for the entire year + fn get_limit_for_year(&self, time_slice_info: &TimeSliceInfo) -> RangeInclusive { + // Get the sum of limits for all seasons let mut total_lower = Dimensionless(0.0); let mut total_upper = Dimensionless(0.0); for ts_selection in time_slice_info.iter_selections_at_level(TimeSliceLevel::Season) { let TimeSliceSelection::Season(season) = ts_selection else { panic!("Expected season selection") }; - let season_limit = self.get_availability_limit_for_season(&season); + let season_limit = self.get_limit_for_season(&season); total_lower += *season_limit.start(); total_upper += *season_limit.end(); } @@ -254,11 +305,11 @@ impl ProcessAvailabilities { total_lower..=total_upper } - /// Iterate over all time slice availability limits + /// Iterate over all limits /// /// This first iterates over all individual timeslice limits, followed by seasonal limits (if /// any), and finally the annual limit (if any). - pub fn iter_availability_limits( + pub fn iter_limits( &self, ) -> impl Iterator)> { // Iterate over all time slice limits diff --git a/src/simulation/investment.rs b/src/simulation/investment.rs index db6a258fb..faeb8667a 100644 --- a/src/simulation/investment.rs +++ b/src/simulation/investment.rs @@ -857,7 +857,7 @@ mod tests { asset, process, process_activity_limits_map, process_flows_map, svd_commodity, time_slice, time_slice_info, time_slice_info2, }; - use crate::process::{FlowType, Process, ProcessAvailabilities, ProcessFlow}; + use crate::process::{ActivityLimits, FlowType, Process, ProcessFlow}; use crate::time_slice::{TimeSliceID, TimeSliceInfo}; use crate::units::{Flow, FlowPerActivity, MoneyPerFlow}; use indexmap::indexmap; @@ -920,7 +920,7 @@ mod tests { process.flows = process_flows_map; // Add activity limits for the process - let mut limits = ProcessAvailabilities::new_with_full_availability(&time_slice_info2); + let mut limits = ActivityLimits::new_with_full_availability(&time_slice_info2); limits .insert_time_slice_limit(time_slice1.clone(), Dimensionless(0.0)..=Dimensionless(0.2)); limits From 5fb29ee5bab7ae9c67e2ddb141fcba4db89afb5c Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Thu, 27 Nov 2025 15:38:32 +0000 Subject: [PATCH 10/27] Better error handling --- src/process.rs | 51 ++++++++++++++---------------------- src/simulation/investment.rs | 6 ++--- 2 files changed, 22 insertions(+), 35 deletions(-) diff --git a/src/process.rs b/src/process.rs index ca01337ca..89b4f107e 100644 --- a/src/process.rs +++ b/src/process.rs @@ -127,12 +127,12 @@ impl ActivityLimits { limits: &HashMap>, time_slice_info: &TimeSliceInfo, ) -> Result { - let mut availabilities = ActivityLimits::new_with_full_availability(time_slice_info); + let mut result = ActivityLimits::new_with_full_availability(time_slice_info); // Add time slice limits first for (ts_selection, limit) in limits { if let TimeSliceSelection::Single(ts_id) = ts_selection { - availabilities.insert_time_slice_limit(ts_id.clone(), limit.clone()); + result.add_time_slice_limit(ts_id.clone(), limit.clone()); } } @@ -140,59 +140,47 @@ impl ActivityLimits { // Error will be raised if seasonal limits are incompatible with time slice limits for (ts_selection, limit) in limits { if let TimeSliceSelection::Season(season) = ts_selection { - availabilities.insert_seasonal_limit(season.clone(), limit.clone())?; + result.add_seasonal_limit(season.clone(), limit.clone())?; } } // Then add annual limit // Error will be raised if annual limit is incompatible with time slice/seasonal limits if let Some(limit) = limits.get(&TimeSliceSelection::Annual) { - availabilities.insert_annual_limit(limit.clone())?; + result.add_annual_limit(limit.clone())?; } - Ok(availabilities) + Ok(result) } - /// Sanity check to make sure a limit is valid - /// - /// In theory, all limits should already be validated when read from input data, but this is an - /// extra safeguard. - fn check_limit(limit: &RangeInclusive) { - assert!( - *limit.start() >= Dimensionless(0.0) - && *limit.end() <= Dimensionless(1.0) - && *limit.start() <= *limit.end(), - "Invalid activity limit: {limit:?}. Must be within [0.0, 1.0] and start <= end.", - ); - } - - /// Insert a limit for a specific time slice - pub fn insert_time_slice_limit( + /// Add a limit for a specific time slice + pub fn add_time_slice_limit( &mut self, ts_id: TimeSliceID, limit: RangeInclusive, ) { - Self::check_limit(&limit); self.time_slice_limits.insert(ts_id, limit); } - fn insert_seasonal_limit( + /// Add a limit for a specific season + fn add_seasonal_limit( &mut self, season: Season, limit: RangeInclusive, ) -> Result<()> { - Self::check_limit(&limit); - // Get current limit for the season let current_limit = self.get_limit_for_season(&season); // Ensure that the new limit is compatible with the current limit ensure!( *limit.start() <= *current_limit.end() && *limit.end() >= *current_limit.start(), - "Incompatible limit {limit:?} for season {season:?}", + "Availability limit for season {season} clashes with time slice limits", ); - // Only insert the seasonal limit if it provides an extra level of constraint + // Only insert the seasonal limit if it provides an extra level of constraint above the + // existing time slice limits. This is to minimize the number of seasonal limits stored and + // returned by `iter_limits()`, therefore preventing unnecessary constraints from being + // added to the optimization model. if *limit.start() > *current_limit.start() || *limit.end() < *current_limit.end() { self.seasonal_limits.insert(season, limit); } @@ -200,19 +188,20 @@ impl ActivityLimits { Ok(()) } - fn insert_annual_limit(&mut self, limit: RangeInclusive) -> Result<()> { - Self::check_limit(&limit); - + /// Add an annual limit + fn add_annual_limit(&mut self, limit: RangeInclusive) -> Result<()> { // Get current limit for the year let current_limit = self.get_limit_for_year(&TimeSliceInfo::default()); // Ensure that the new limit is compatible with the current limit ensure!( *limit.start() <= *current_limit.end() && *limit.end() >= *current_limit.start(), - "Incompatible annual limit {limit:?}", + "Annual availability limit clashes with time slice/seasonal limits", ); - // Only insert the annual limit if it provides an extra level of constraint + // Only insert the annual limit if it provides an extra level of constraint above the + // existing time slice/seasonal limits. This prevents unnecessary constraints from being + // stored and added to the optimization model. if *limit.start() > *current_limit.start() || *limit.end() < *current_limit.end() { self.annual_limit = Some(limit); } diff --git a/src/simulation/investment.rs b/src/simulation/investment.rs index faeb8667a..542f643d4 100644 --- a/src/simulation/investment.rs +++ b/src/simulation/investment.rs @@ -921,10 +921,8 @@ mod tests { // Add activity limits for the process let mut limits = ActivityLimits::new_with_full_availability(&time_slice_info2); - limits - .insert_time_slice_limit(time_slice1.clone(), Dimensionless(0.0)..=Dimensionless(0.2)); - limits - .insert_time_slice_limit(time_slice2.clone(), Dimensionless(0.0)..=Dimensionless(0.0)); + limits.add_time_slice_limit(time_slice1.clone(), Dimensionless(0.0)..=Dimensionless(0.2)); + limits.add_time_slice_limit(time_slice2.clone(), Dimensionless(0.0)..=Dimensionless(0.0)); let limits_map = process_activity_limits_map(process.regions.clone(), limits); process.activity_limits = limits_map; From ebd5f793cab3b1ee3eb60a7ebf160fce8f36e602 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Thu, 27 Nov 2025 16:15:18 +0000 Subject: [PATCH 11/27] Documentation and coverage checks --- examples/simple/process_availabilities.csv | 3 --- schemas/input/process_availabilities.yaml | 30 ++++++++++++---------- src/process.rs | 28 ++++++++++++++++++++ src/time_slice.rs | 5 ++++ 4 files changed, 49 insertions(+), 17 deletions(-) diff --git a/examples/simple/process_availabilities.csv b/examples/simple/process_availabilities.csv index ad31320e9..47d492dd1 100644 --- a/examples/simple/process_availabilities.csv +++ b/examples/simple/process_availabilities.csv @@ -17,6 +17,3 @@ WNDFRM,all,all,summer.day,..0.349950739 WNDFRM,all,all,summer.peak,..0.342294159 WNDFRM,all,all,summer.evening,..0.202674173 WNDFRM,all,all,autumn.night,..0.3513019 -WNDFRM,all,all,autumn.day,..0.460745954 -WNDFRM,all,all,autumn.peak,..0.396340605 -WNDFRM,all,all,autumn.evening,..0.364813512 diff --git a/schemas/input/process_availabilities.yaml b/schemas/input/process_availabilities.yaml index b4e29cbd5..5cf3e2874 100644 --- a/schemas/input/process_availabilities.yaml +++ b/schemas/input/process_availabilities.yaml @@ -1,10 +1,15 @@ $schema: https://specs.frictionlessdata.io/schemas/table-schema.json description: | - Defines how much of a process's capacity is available throughout the year. + Defines constraints on process availabilities throughout the year. notes: - - Must be provided for every process. - - Only one type of limit can be supplied for each combination of process/region/year/time slice. + - Limits can be combined across multiple time periods. For example, users could provide a limit + of "..0.9" for "winter.day" and "..0.5" for "winter", indicating that the activity can reach + up to 90% during winter days, so long as activity does not exceed 50% across winter as a whole. + - Incompatible limits will be flagged at the input validation stage. For example, a limit of + "..0.01" for "winter" would likely be incompatible with a limit of "0.9.." for "winter.day". + - If a limit is provided for any time slice (or season) for a particular process/region/year, it + must be provided for all time slices (or seasons). fields: - name: process_id @@ -25,15 +30,12 @@ fields: type: string description: The time slices(s) to which this entry applies notes: | - Can be a single time slice (e.g. `winter.day`), a whole season (e.g. `winter`) or `annual`, - representing the whole year - - name: limit_type + Can be a single time slice (e.g. `winter.day`), a season (e.g. `winter`) or `annual`. If a + season or `annual`, this means that limit will apply to the season/year as a whole. + - name: limits type: string - description: The type of limit - notes: | - Can be `lo` (a lower bound), `up` (an upper bound) or `fx` (indicating that the availability - is constant) - - name: value - type: number - description: The proportion of capacity which is available - notes: Must be >0 and <=1 + description: Lower and upper limits on the availability of the process within the specified time slice(s) + notes: + A string in the format `min..max`, where `min` and `max` are decimal numbers between 0 and 1 + (inclusive). 0 represents no availability, and 1 represents full availability. Either `min` + or `max` can be omitted, which will set the corresponding limit to 0 or 1, respectively. diff --git a/src/process.rs b/src/process.rs index 89b4f107e..85e3d7fde 100644 --- a/src/process.rs +++ b/src/process.rs @@ -130,20 +130,48 @@ impl ActivityLimits { let mut result = ActivityLimits::new_with_full_availability(time_slice_info); // Add time slice limits first + let mut time_slices_added = IndexSet::new(); for (ts_selection, limit) in limits { if let TimeSliceSelection::Single(ts_id) = ts_selection { result.add_time_slice_limit(ts_id.clone(), limit.clone()); + time_slices_added.insert(ts_id.clone()); } } + // Check that limits have been added for all/no time slices + if !time_slices_added.is_empty() { + let missing = time_slice_info + .iter_ids() + .filter(|ts_id| !time_slices_added.contains(*ts_id)) + .collect::>(); + ensure!( + missing.is_empty(), + "Missing availability limits for time slices: {missing:?}. Please provide", + ); + } + // Then add seasonal limits // Error will be raised if seasonal limits are incompatible with time slice limits + let mut seasons_added = IndexSet::new(); for (ts_selection, limit) in limits { if let TimeSliceSelection::Season(season) = ts_selection { result.add_seasonal_limit(season.clone(), limit.clone())?; + seasons_added.insert(season.clone()); } } + // Check that limits have been added for all/no seasons + if !seasons_added.is_empty() { + let missing = time_slice_info + .iter_seasons() + .filter(|season| !seasons_added.contains(*season)) + .collect::>(); + ensure!( + missing.is_empty(), + "Missing availability limits for seasons: {missing:?}. Please provide", + ); + } + // Then add annual limit // Error will be raised if annual limit is incompatible with time slice/seasonal limits if let Some(limit) = limits.get(&TimeSliceSelection::Annual) { diff --git a/src/time_slice.rs b/src/time_slice.rs index 7791ea368..577593a6c 100644 --- a/src/time_slice.rs +++ b/src/time_slice.rs @@ -283,6 +283,11 @@ impl TimeSliceInfo { self.time_slices.keys() } + /// Iterate over all seasons + pub fn iter_seasons(&self) -> indexmap::map::Keys<'_, Season, Year> { + self.seasons.keys() + } + /// Iterate over all time slices pub fn iter(&self) -> impl Iterator { self.time_slices From e1b621809a373e84fa55fd6be2217797b188c35a Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Thu, 27 Nov 2025 16:15:48 +0000 Subject: [PATCH 12/27] Undo delete rows --- examples/simple/process_availabilities.csv | 3 +++ 1 file changed, 3 insertions(+) diff --git a/examples/simple/process_availabilities.csv b/examples/simple/process_availabilities.csv index 47d492dd1..ad31320e9 100644 --- a/examples/simple/process_availabilities.csv +++ b/examples/simple/process_availabilities.csv @@ -17,3 +17,6 @@ WNDFRM,all,all,summer.day,..0.349950739 WNDFRM,all,all,summer.peak,..0.342294159 WNDFRM,all,all,summer.evening,..0.202674173 WNDFRM,all,all,autumn.night,..0.3513019 +WNDFRM,all,all,autumn.day,..0.460745954 +WNDFRM,all,all,autumn.peak,..0.396340605 +WNDFRM,all,all,autumn.evening,..0.364813512 From e66fa1b804e8faae6e20e0632f529d298df64340 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Thu, 27 Nov 2025 16:38:39 +0000 Subject: [PATCH 13/27] Remove empty constraints --- examples/circularity/process_availabilities.csv | 10 ---------- examples/missing_commodity/process_availabilities.csv | 4 ---- examples/muse1_default/process_availabilities.csv | 2 -- examples/simple/process_availabilities.csv | 2 -- examples/two_outputs/process_availabilities.csv | 8 -------- examples/two_regions/process_availabilities.csv | 2 -- 6 files changed, 28 deletions(-) diff --git a/examples/circularity/process_availabilities.csv b/examples/circularity/process_availabilities.csv index 36db5bc0d..652ec21af 100644 --- a/examples/circularity/process_availabilities.csv +++ b/examples/circularity/process_availabilities.csv @@ -5,12 +5,6 @@ GASPRC,all,all,annual,..0.9 OILREF,all,all,annual,..0.9 OILRF2,all,all,annual,..0.9 GASCGT,all,all,annual,..0.9 -TPETCR,all,all,annual,..1 -TDIECR,all,all,annual,..1 -TELCCR,all,all,annual,..1 -THYBCR,all,all,annual,..1 -RGASBR,all,all,annual,..1 -RELCHP,all,all,annual,..1 WNDFRM,all,all,winter.night,..0.486418015 WNDFRM,all,all,winter.day,..0.543166784 WNDFRM,all,all,winter.peak,..0.504433498 @@ -27,8 +21,4 @@ WNDFRM,all,all,autumn.night,..0.3513019 WNDFRM,all,all,autumn.day,..0.460745954 WNDFRM,all,all,autumn.peak,..0.396340605 WNDFRM,all,all,autumn.evening,..0.364813512 -H2YGEN,all,all,annual,..1 -H2YPRO,all,all,annual,..1 -BIOPRO,all,all,annual,..1.0 BIOPLL,all,all,annual,..0.95 -RBIOBL,all,all,annual,..1.0 diff --git a/examples/missing_commodity/process_availabilities.csv b/examples/missing_commodity/process_availabilities.csv index 9c1acf78f..7b80997c5 100644 --- a/examples/missing_commodity/process_availabilities.csv +++ b/examples/missing_commodity/process_availabilities.csv @@ -1,12 +1,8 @@ process_id,regions,commission_years,time_slice,limits GASDRV,all,all,annual,..0.9 GASPRC,all,all,annual,..0.9 -BIOPRO,all,all,annual,..1.0 BIOPLL,all,all,annual,..0.95 GASCGT,all,all,annual,..0.9 -RGASBR,all,all,annual,..1.0 -RELCHP,all,all,annual,..1.0 -RBIOBL,all,all,annual,..1.0 WNDFRM,all,all,winter.night,..0.486418015 WNDFRM,all,all,winter.day,..0.543166784 WNDFRM,all,all,winter.peak,..0.504433498 diff --git a/examples/muse1_default/process_availabilities.csv b/examples/muse1_default/process_availabilities.csv index d656efb11..e6d456eca 100644 --- a/examples/muse1_default/process_availabilities.csv +++ b/examples/muse1_default/process_availabilities.csv @@ -2,5 +2,3 @@ process_id,regions,commission_years,time_slice,limits gassupply1,R1,all,annual,..0.9 gasCCGT,R1,all,annual,..0.9 windturbine,R1,all,annual,..0.4 -gasboiler,R1,all,annual,..1.0 -heatpump,R1,all,annual,..1.0 diff --git a/examples/simple/process_availabilities.csv b/examples/simple/process_availabilities.csv index ad31320e9..4cc4fc23e 100644 --- a/examples/simple/process_availabilities.csv +++ b/examples/simple/process_availabilities.csv @@ -2,8 +2,6 @@ process_id,regions,commission_years,time_slice,limits GASDRV,all,all,annual,..0.9 GASPRC,all,all,annual,..0.9 GASCGT,all,all,annual,..0.9 -RGASBR,all,all,annual,..1.0 -RELCHP,all,all,annual,..1.0 WNDFRM,all,all,winter.night,..0.486418015 WNDFRM,all,all,winter.day,..0.543166784 WNDFRM,all,all,winter.peak,..0.504433498 diff --git a/examples/two_outputs/process_availabilities.csv b/examples/two_outputs/process_availabilities.csv index 746dee56b..652ec21af 100644 --- a/examples/two_outputs/process_availabilities.csv +++ b/examples/two_outputs/process_availabilities.csv @@ -5,12 +5,6 @@ GASPRC,all,all,annual,..0.9 OILREF,all,all,annual,..0.9 OILRF2,all,all,annual,..0.9 GASCGT,all,all,annual,..0.9 -TPETCR,all,all,annual,..1 -TDIECR,all,all,annual,..1 -TELCCR,all,all,annual,..1 -THYBCR,all,all,annual,..1 -RGASBR,all,all,annual,..1 -RELCHP,all,all,annual,..1 WNDFRM,all,all,winter.night,..0.486418015 WNDFRM,all,all,winter.day,..0.543166784 WNDFRM,all,all,winter.peak,..0.504433498 @@ -27,6 +21,4 @@ WNDFRM,all,all,autumn.night,..0.3513019 WNDFRM,all,all,autumn.day,..0.460745954 WNDFRM,all,all,autumn.peak,..0.396340605 WNDFRM,all,all,autumn.evening,..0.364813512 -BIOPRO,all,all,annual,..1.0 BIOPLL,all,all,annual,..0.95 -RBIOBL,all,all,annual,..1.0 diff --git a/examples/two_regions/process_availabilities.csv b/examples/two_regions/process_availabilities.csv index 631a3e1c9..746f69584 100644 --- a/examples/two_regions/process_availabilities.csv +++ b/examples/two_regions/process_availabilities.csv @@ -2,5 +2,3 @@ process_id,regions,commission_years,time_slice,limits gassupply1,R1;R2,all,annual,..0.9 gasCCGT,R1;R2,all,annual,..0.9 windturbine,R1;R2,all,annual,..0.4 -gasboiler,R1;R2,all,annual,..1.0 -heatpump,R1;R2,all,annual,..1.0 From 653e4e6f82bdf9b45193b48a3d7ffcde9c17f0e2 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Thu, 27 Nov 2025 16:39:23 +0000 Subject: [PATCH 14/27] Update regenerate data script --- tests/regenerate_all_data.sh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tests/regenerate_all_data.sh b/tests/regenerate_all_data.sh index 55a31b087..df39213ec 100755 --- a/tests/regenerate_all_data.sh +++ b/tests/regenerate_all_data.sh @@ -8,6 +8,11 @@ echo Building MUSE2 examples=$(cargo run example list 2> /dev/null) for example in $examples; do + # Skip the circularity example + if [ "$example" = circularity ]; then + continue + fi + echo Generating data for example: $example # We only need debug files for the simple model From 1461133dae1806903e070e37ef815815ba3be474 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Thu, 27 Nov 2025 16:46:27 +0000 Subject: [PATCH 15/27] Update results files --- tests/data/missing_commodity/assets.csv | 8 +- .../missing_commodity/commodity_flows.csv | 634 ++-- .../missing_commodity/commodity_prices.csv | 92 +- tests/data/muse1_default/assets.csv | 26 +- tests/data/muse1_default/commodity_flows.csv | 1078 +++---- tests/data/muse1_default/commodity_prices.csv | 114 +- tests/data/simple/commodity_flows.csv | 566 ++-- tests/data/simple/commodity_prices.csv | 20 +- tests/data/simple/debug_appraisal_results.csv | 100 +- .../debug_appraisal_results_time_slices.csv | 480 +-- .../simple/debug_commodity_balance_duals.csv | 90 +- tests/data/simple/debug_dispatch_assets.csv | 1688 +++++----- tests/data/simple/debug_solver.csv | 34 +- tests/data/two_outputs/assets.csv | 22 +- tests/data/two_outputs/commodity_flows.csv | 2126 ++++++------- tests/data/two_outputs/commodity_prices.csv | 228 +- tests/data/two_regions/assets.csv | 66 +- tests/data/two_regions/commodity_flows.csv | 2828 +++++++++-------- tests/data/two_regions/commodity_prices.csv | 124 +- 19 files changed, 5241 insertions(+), 5083 deletions(-) diff --git a/tests/data/missing_commodity/assets.csv b/tests/data/missing_commodity/assets.csv index e2ec94edc..e0bf88902 100644 --- a/tests/data/missing_commodity/assets.csv +++ b/tests/data/missing_commodity/assets.csv @@ -6,8 +6,8 @@ asset_id,process_id,region_id,agent_id,commission_year,decommission_year,capacit 4,RGASBR,GBR,A0_RES,2020,2035,2900.0 5,RELCHP,GBR,A0_RES,2020,2035,399.98 6,RBIOBL,GBR,A0_RES,2030,,355.83840587648046 -7,BIOPLL,GBR,A0_BPL,2030,,449.480091633449 -8,BIOPRO,GBR,A0_BPD,2030,,448.35639140436535 +7,BIOPLL,GBR,A0_BPL,2030,,427.00608705177655 +8,BIOPRO,GBR,A0_BPD,2030,,108.68349219309701 9,RBIOBL,GBR,A0_RES,2040,,3655.8189696 -10,BIOPLL,GBR,A0_BPL,2040,,2282.060105834934 -11,BIOPRO,GBR,A0_BPD,2040,,2276.354955570347 +10,BIOPLL,GBR,A0_BPL,2040,,2167.9571005431867 +11,BIOPRO,GBR,A0_BPD,2040,,2616.027854781616 diff --git a/tests/data/missing_commodity/commodity_flows.csv b/tests/data/missing_commodity/commodity_flows.csv index 6b85abf47..fd6ca6025 100644 --- a/tests/data/missing_commodity/commodity_flows.csv +++ b/tests/data/missing_commodity/commodity_flows.csv @@ -1,20 +1,20 @@ milestone_year,asset_id,commodity_id,time_slice,flow 2020,0,GASPRD,winter.night,0.0 2020,0,CO2EMT,winter.night,0.0 -2020,0,GASPRD,winter.day,180.73595015109328 -2020,0,CO2EMT,winter.day,924.10291312254 -2020,0,GASPRD,winter.peak,112.5635625 -2020,0,CO2EMT,winter.peak,575.5374950625 -2020,0,GASPRD,winter.evening,150.084751200678 -2020,0,CO2EMT,winter.evening,767.3833328890667 +2020,0,GASPRD,winter.day,151.10360181069296 +2020,0,CO2EMT,winter.day,772.5927160580732 +2020,0,GASPRD,winter.peak,125.070625 +2020,0,CO2EMT,winter.peak,639.486105625 +2020,0,GASPRD,winter.evening,166.76083466742 +2020,0,CO2EMT,winter.evening,852.6481476545185 2020,0,GASPRD,peak.night,0.0 2020,0,CO2EMT,peak.night,0.0 2020,0,GASPRD,peak.day,0.0 2020,0,CO2EMT,peak.day,0.0 -2020,0,GASPRD,peak.peak,77.9831213632338 -2020,0,CO2EMT,peak.peak,398.72769953021447 -2020,0,GASPRD,peak.evening,150.084751200678 -2020,0,CO2EMT,peak.evening,767.3833328890667 +2020,0,GASPRD,peak.peak,58.67582562255717 +2020,0,CO2EMT,peak.peak,300.00949640813485 +2020,0,GASPRD,peak.evening,166.76083466742 +2020,0,CO2EMT,peak.evening,852.6481476545185 2020,0,GASPRD,summer.night,0.0 2020,0,CO2EMT,summer.night,0.0 2020,0,GASPRD,summer.day,0.0 @@ -27,34 +27,34 @@ milestone_year,asset_id,commodity_id,time_slice,flow 2020,0,CO2EMT,autumn.night,0.0 2020,0,GASPRD,autumn.day,0.0 2020,0,CO2EMT,autumn.day,0.0 -2020,0,GASPRD,autumn.peak,16.804933265797757 -2020,0,CO2EMT,autumn.peak,85.92362378802395 -2020,0,GASPRD,autumn.evening,150.084751200678 -2020,0,CO2EMT,autumn.evening,767.3833328890667 +2020,0,GASPRD,autumn.peak,0.0 +2020,0,CO2EMT,autumn.peak,0.0 +2020,0,GASPRD,autumn.evening,163.3883025525992 +2020,0,CO2EMT,autumn.evening,835.4043909514398 2020,1,GASPRD,winter.night,-0.0 2020,1,GASNAT,winter.night,0.0 2020,1,CO2EMT,winter.night,0.0 -2020,1,GASPRD,winter.day,-182.77186734790033 -2020,1,GASNAT,winter.day,174.0684450932384 -2020,1,CO2EMT,winter.day,445.005979880864 -2020,1,GASPRD,winter.peak,-111.69102656250001 -2020,1,GASNAT,winter.peak,106.37240625000001 -2020,1,CO2EMT,winter.peak,271.941056578125 -2020,1,GASPRD,winter.evening,-148.92136994137095 -2020,1,GASNAT,winter.evening,141.829876134639 -2020,1,CO2EMT,winter.evening,362.58807833820464 +2020,1,GASPRD,winter.day,-153.36573202936748 +2020,1,GASNAT,winter.day,146.06260193273093 +2020,1,CO2EMT,winter.day,373.40904184102664 +2020,1,GASPRD,winter.peak,-124.10114062500001 +2020,1,GASNAT,winter.peak,118.1915625 +2020,1,CO2EMT,winter.peak,302.15672953125005 +2020,1,GASPRD,winter.evening,-165.4681888237455 +2020,1,GASNAT,winter.evening,157.58875126070998 +2020,1,CO2EMT,winter.evening,402.87564259800513 2020,1,GASPRD,peak.night,-0.0 2020,1,GASNAT,peak.night,0.0 2020,1,CO2EMT,peak.night,0.0 2020,1,GASPRD,peak.day,-0.0 2020,1,GASNAT,peak.day,0.0 2020,1,CO2EMT,peak.day,0.0 -2020,1,GASPRD,peak.peak,-79.14650262254086 -2020,1,GASNAT,peak.peak,75.37762154527701 -2020,1,CO2EMT,peak.peak,192.7028894805007 -2020,1,GASPRD,peak.evening,-148.92136994137095 -2020,1,GASNAT,peak.evening,141.829876134639 -2020,1,CO2EMT,peak.evening,362.58807833820464 +2020,1,GASPRD,peak.peak,-59.96847146623166 +2020,1,GASNAT,peak.peak,57.11282996783967 +2020,1,CO2EMT,peak.peak,146.00894981278213 +2020,1,GASPRD,peak.evening,-165.4681888237455 +2020,1,GASNAT,peak.evening,157.58875126070998 +2020,1,CO2EMT,peak.evening,402.87564259800513 2020,1,GASPRD,summer.night,-0.0 2020,1,GASNAT,summer.night,0.0 2020,1,CO2EMT,summer.night,0.0 @@ -73,12 +73,12 @@ milestone_year,asset_id,commodity_id,time_slice,flow 2020,1,GASPRD,autumn.day,-0.0 2020,1,GASNAT,autumn.day,0.0 2020,1,CO2EMT,autumn.day,0.0 -2020,1,GASPRD,autumn.peak,-17.96831452510479 -2020,1,GASNAT,autumn.peak,17.1126805000998 -2020,1,CO2EMT,autumn.peak,43.74856769850514 -2020,1,GASPRD,autumn.evening,-148.92136994137095 -2020,1,GASNAT,autumn.evening,141.829876134639 -2020,1,CO2EMT,autumn.evening,362.58807833820464 +2020,1,GASPRD,autumn.peak,-0.0 +2020,1,GASNAT,autumn.peak,0.0 +2020,1,CO2EMT,autumn.peak,0.0 +2020,1,GASPRD,autumn.evening,-163.3883025525992 +2020,1,GASNAT,autumn.evening,155.60790719295161 +2020,1,CO2EMT,autumn.evening,397.81161473878086 2020,2,ELCTRI,winter.night,4.435312795545212 2020,2,ELCTRI,winter.day,7.075379933645912 2020,2,ELCTRI,winter.peak,1.9712501261051125 @@ -95,30 +95,30 @@ milestone_year,asset_id,commodity_id,time_slice,flow 2020,2,ELCTRI,autumn.day,6.001752635595889 2020,2,ELCTRI,autumn.peak,1.5488393825638174 2020,2,ELCTRI,autumn.evening,1.9008483513729915 -2020,3,GASNAT,winter.night,-7.544466596988991 -2020,3,ELCTRI,winter.night,5.02964439799266 -2020,3,CO2EMT,winter.night,385.74857710404706 +2020,3,GASNAT,winter.night,-7.783808997678887 +2020,3,ELCTRI,winter.night,5.189205998452591 +2020,3,CO2EMT,winter.night,397.9861540513214 2020,3,GASNAT,winter.day,-10.010898915527838 2020,3,ELCTRI,winter.day,6.6739326103518914 2020,3,CO2EMT,winter.day,511.8572615509383 2020,3,GASNAT,winter.peak,-3.2303154358423316 2020,3,ELCTRI,winter.peak,2.1535436238948877 2020,3,CO2EMT,winter.peak,165.1660282346184 -2020,3,GASNAT,winter.evening,-4.31112378448899 -2020,3,ELCTRI,winter.evening,2.87408252299266 -2020,3,CO2EMT,winter.evening,220.42775910092203 -2020,3,GASNAT,peak.night,-7.544466596988991 -2020,3,ELCTRI,peak.night,5.02964439799266 -2020,3,CO2EMT,peak.night,385.74857710404706 -2020,3,GASNAT,peak.day,-10.777809409488992 -2020,3,ELCTRI,peak.day,7.185206272992661 -2020,3,CO2EMT,peak.day,551.0693951071721 -2020,3,GASNAT,peak.peak,-3.2333428125 -2020,3,ELCTRI,peak.peak,2.155561875 -2020,3,CO2EMT,peak.peak,165.320818003125 -2020,3,GASNAT,peak.evening,-4.31112378448899 -2020,3,ELCTRI,peak.evening,2.87408252299266 -2020,3,CO2EMT,peak.evening,220.42775910092203 +2020,3,GASNAT,winter.evening,-4.395089526235901 +2020,3,ELCTRI,winter.evening,2.9300596841572673 +2020,3,CO2EMT,winter.evening,224.7209274764416 +2020,3,GASNAT,peak.night,-8.382740663321101 +2020,3,ELCTRI,peak.night,5.5884937755474 +2020,3,CO2EMT,peak.night,428.6095301156078 +2020,3,GASNAT,peak.day,-11.066925767990737 +2020,3,ELCTRI,peak.day,7.3779505119938245 +2020,3,CO2EMT,peak.day,565.8519145173664 +2020,3,GASNAT,peak.peak,-3.520722822271213 +2020,3,ELCTRI,peak.peak,2.3471485481808085 +2020,3,CO2EMT,peak.peak,180.0145579027271 +2020,3,GASNAT,peak.evening,-4.790137538321099 +2020,3,ELCTRI,peak.evening,3.1934250255473997 +2020,3,CO2EMT,peak.evening,244.9197323343578 2020,3,GASNAT,summer.night,-0.1605901409141769 2020,3,ELCTRI,summer.night,0.1070600939427846 2020,3,CO2EMT,summer.night,8.210973904941865 @@ -131,42 +131,42 @@ milestone_year,asset_id,commodity_id,time_slice,flow 2020,3,GASNAT,summer.evening,-0.0 2020,3,ELCTRI,summer.evening,0.0 2020,3,CO2EMT,summer.evening,0.0 -2020,3,GASNAT,autumn.night,-7.544466596988991 -2020,3,ELCTRI,autumn.night,5.02964439799266 -2020,3,CO2EMT,autumn.night,385.74857710404706 -2020,3,GASNAT,autumn.day,-10.777809409488992 -2020,3,ELCTRI,autumn.day,7.185206272992661 -2020,3,CO2EMT,autumn.day,551.0693951071721 -2020,3,GASNAT,autumn.peak,-3.2333428125 -2020,3,ELCTRI,autumn.peak,2.155561875 -2020,3,CO2EMT,autumn.peak,165.320818003125 -2020,3,GASNAT,autumn.evening,-4.31112378448899 -2020,3,ELCTRI,autumn.evening,2.87408252299266 -2020,3,CO2EMT,autumn.evening,220.42775910092203 -2020,4,GASNAT,winter.night,-36.86891657531278 -2020,4,RSHEAT,winter.night,32.05992745679372 -2020,4,CO2EMT,winter.night,1885.1077044957426 +2020,3,GASNAT,autumn.night,-8.382740663321101 +2020,3,ELCTRI,autumn.night,5.5884937755474 +2020,3,CO2EMT,autumn.night,428.6095301156078 +2020,3,GASNAT,autumn.day,-11.621339862602872 +2020,3,ELCTRI,autumn.day,7.747559908401914 +2020,3,CO2EMT,autumn.day,594.1991071748848 +2020,3,GASNAT,autumn.peak,-3.592603125 +2020,3,ELCTRI,autumn.peak,2.39506875 +2020,3,CO2EMT,autumn.peak,183.68979778124998 +2020,3,GASNAT,autumn.evening,-4.790137538321099 +2020,3,ELCTRI,autumn.evening,3.1934250255473997 +2020,3,CO2EMT,autumn.evening,244.9197323343578 +2020,4,GASNAT,winter.night,-36.31286857370999 +2020,4,RSHEAT,winter.night,31.576407455399995 +2020,4,CO2EMT,winter.night,1856.6769701737921 2020,4,GASNAT,winter.day,-193.26973453857997 2020,4,RSHEAT,winter.day,168.06063872919998 2020,4,CO2EMT,winter.day,9881.881526957595 2020,4,GASNAT,winter.peak,-104.21872974118598 2020,4,RSHEAT,winter.peak,90.62498238363999 2020,4,CO2EMT,winter.peak,5328.7036516668395 -2020,4,GASNAT,winter.evening,-62.8165418899506 -2020,4,RSHEAT,winter.evening,54.62307990430487 -2020,4,CO2EMT,winter.evening,3211.8097868331747 -2020,4,GASNAT,peak.night,-21.469777923615393 -2020,4,RSHEAT,peak.night,18.669372107491647 -2020,4,CO2EMT,peak.night,1097.749745234455 -2020,4,GASNAT,peak.day,-82.85587286499846 -2020,4,RSHEAT,peak.day,72.04858509999866 -2020,4,CO2EMT,peak.day,4236.420779587372 -2020,4,GASNAT,peak.peak,-58.95892814405731 -2020,4,RSHEAT,peak.peak,51.26863316874549 -2020,4,CO2EMT,peak.peak,3014.5699960056504 -2020,4,GASNAT,peak.evening,-28.056176143777883 -2020,4,RSHEAT,peak.evening,24.396674907632942 -2020,4,CO2EMT,peak.evening,1434.5122862313633 +2020,4,GASNAT,winter.evening,-62.62146996467999 +2020,4,RSHEAT,winter.evening,54.453452143199996 +2020,4,CO2EMT,winter.evening,3201.8357592940883 +2020,4,GASNAT,peak.night,-19.52227251698524 +2020,4,RSHEAT,peak.night,16.975889145204558 +2020,4,CO2EMT,peak.night,998.1737937934555 +2020,4,GASNAT,peak.day,-82.18418839575197 +2020,4,RSHEAT,peak.day,71.46451164847998 +2020,4,CO2EMT,peak.day,4202.077552674799 +2020,4,GASNAT,peak.peak,-58.291277616306004 +2020,4,RSHEAT,peak.peak,50.688067492440005 +2020,4,CO2EMT,peak.peak,2980.433024521726 +2020,4,GASNAT,peak.evening,-26.943315907602276 +2020,4,RSHEAT,peak.evening,23.428970354436764 +2020,4,CO2EMT,peak.evening,1377.6117423557046 2020,4,GASNAT,summer.night,-0.0 2020,4,RSHEAT,summer.night,0.0 2020,4,CO2EMT,summer.night,0.0 @@ -179,34 +179,34 @@ milestone_year,asset_id,commodity_id,time_slice,flow 2020,4,GASNAT,summer.evening,-0.0 2020,4,RSHEAT,summer.evening,0.0 2020,4,CO2EMT,summer.evening,0.0 -2020,4,GASNAT,autumn.night,-11.056466636303362 -2020,4,RSHEAT,autumn.night,9.614318814176837 -2020,4,CO2EMT,autumn.night,565.3171391141909 -2020,4,GASNAT,autumn.day,-58.653940599340956 -2020,4,RSHEAT,autumn.day,51.003426608122574 -2020,4,CO2EMT,autumn.day,2998.9759828443034 -2020,4,GASNAT,autumn.peak,-45.214871221410895 -2020,4,RSHEAT,autumn.peak,39.317279322966 -2020,4,CO2EMT,autumn.peak,2311.8363655507396 -2020,4,GASNAT,autumn.evening,-18.150535574216605 -2020,4,RSHEAT,autumn.evening,15.783074412362266 -2020,4,CO2EMT,autumn.evening,928.0368839096951 -2020,5,ELCTRI,winter.night,-9.464957193537872 -2020,5,RSHEAT,winter.night,28.681688465266276 +2020,4,GASNAT,autumn.night,-9.10896122967321 +2020,4,RSHEAT,autumn.night,7.920835851889748 +2020,4,CO2EMT,autumn.night,465.7411876731913 +2020,4,GASNAT,autumn.day,-56.69422338503598 +2020,4,RSHEAT,autumn.day,49.29932468263999 +2020,4,CO2EMT,autumn.day,2898.7756416768902 +2020,4,GASNAT,autumn.peak,-44.38022605095635 +2020,4,RSHEAT,autumn.peak,38.591500913875095 +2020,4,CO2EMT,autumn.peak,2269.160957985399 +2020,4,GASNAT,autumn.evening,-17.037675338040994 +2020,4,RSHEAT,autumn.evening,14.815369859166085 +2020,4,CO2EMT,autumn.evening,871.1363400340363 +2020,5,ELCTRI,winter.night,-9.624518793997803 +2020,5,RSHEAT,winter.night,29.165208466660005 2020,5,ELCTRI,winter.day,-13.749312543997803 2020,5,RSHEAT,winter.day,41.664583466660005 2020,5,ELCTRI,winter.peak,-4.12479375 2020,5,RSHEAT,winter.peak,12.499375 -2020,5,ELCTRI,winter.evening,-5.443747882833193 -2020,5,RSHEAT,winter.evening,16.49620570555513 -2020,5,ELCTRI,peak.night,-7.880916915276357 -2020,5,RSHEAT,peak.night,23.881566409928354 -2020,5,ELCTRI,peak.day,-13.55656830499664 -2020,5,RSHEAT,peak.day,41.08051001514133 -2020,5,ELCTRI,peak.peak,-3.933207076819192 -2020,5,RSHEAT,peak.peak,11.91880932369452 -2020,5,ELCTRI,peak.evening,-4.59892639680773 -2020,5,RSHEAT,peak.evening,13.93614059638706 +2020,5,ELCTRI,winter.evening,-5.499725043997801 +2020,5,RSHEAT,winter.evening,16.66583346666 +2020,5,ELCTRI,peak.night,-8.439766292831097 +2020,5,RSHEAT,peak.night,25.575049372215442 +2020,5,ELCTRI,peak.day,-13.749312543997803 +2020,5,RSHEAT,peak.day,41.664583466660005 +2020,5,ELCTRI,peak.peak,-4.12479375 +2020,5,RSHEAT,peak.peak,12.499375 +2020,5,ELCTRI,peak.evening,-4.91826889936247 +2020,5,RSHEAT,peak.evening,14.903845149583242 2020,5,ELCTRI,summer.night,-1.7439017181564 2020,5,RSHEAT,summer.night,5.28455066108 2020,5,ELCTRI,summer.day,-2.9055524196533997 @@ -215,30 +215,30 @@ milestone_year,asset_id,commodity_id,time_slice,flow 2020,5,RSHEAT,summer.peak,2.89937103318 2020,5,ELCTRI,summer.evening,-0.7124084843502 2020,5,RSHEAT,summer.evening,2.1588135889399998 -2020,5,ELCTRI,autumn.night,-8.232925863974845 -2020,5,RSHEAT,autumn.night,24.948260193863167 -2020,5,ELCTRI,autumn.day,-13.18695890858855 -2020,5,RSHEAT,autumn.day,39.96048154117742 -2020,5,ELCTRI,autumn.peak,-3.704401257563817 -2020,5,RSHEAT,autumn.peak,11.225458356253991 -2020,5,ELCTRI,autumn.evening,-4.774930874365651 -2020,5,RSHEAT,autumn.evening,14.469487498077731 +2020,5,ELCTRI,autumn.night,-8.791775241529585 +2020,5,RSHEAT,autumn.night,26.641743156150255 +2020,5,ELCTRI,autumn.day,-13.749312543997803 +2020,5,RSHEAT,autumn.day,41.664583466660005 +2020,5,ELCTRI,autumn.peak,-3.9439081325638172 +2020,5,RSHEAT,autumn.peak,11.9512367653449 +2020,5,ELCTRI,autumn.evening,-5.094273376920391 +2020,5,RSHEAT,autumn.evening,15.437192051273913 2030,0,GASPRD,winter.night,0.0 2030,0,CO2EMT,winter.night,0.0 -2030,0,GASPRD,winter.day,131.220992721706 -2030,0,CO2EMT,winter.day,670.9329357860829 -2030,0,GASPRD,winter.peak,112.5635625 -2030,0,CO2EMT,winter.peak,575.5374950625 -2030,0,GASPRD,winter.evening,150.084751200678 -2030,0,CO2EMT,winter.evening,767.3833328890667 +2030,0,GASPRD,winter.day,182.9686101428585 +2030,0,CO2EMT,winter.day,935.5185036604356 +2030,0,GASPRD,winter.peak,125.070625 +2030,0,CO2EMT,winter.peak,639.486105625 +2030,0,GASPRD,winter.evening,166.76083466742 +2030,0,CO2EMT,winter.evening,852.6481476545185 2030,0,GASPRD,peak.night,0.0 2030,0,CO2EMT,peak.night,0.0 2030,0,GASPRD,peak.day,0.0 2030,0,CO2EMT,peak.day,0.0 -2030,0,GASPRD,peak.peak,5.902580190466324 -2030,0,CO2EMT,peak.peak,30.179892513854316 -2030,0,GASPRD,peak.evening,150.084751200678 -2030,0,CO2EMT,peak.evening,767.3833328890667 +2030,0,GASPRD,peak.peak,66.12597124472265 +2030,0,CO2EMT,peak.peak,338.10209097426696 +2030,0,GASPRD,peak.evening,166.76083466742 +2030,0,CO2EMT,peak.evening,852.6481476545185 2030,0,GASPRD,summer.night,0.0 2030,0,CO2EMT,summer.night,0.0 2030,0,GASPRD,summer.day,0.0 @@ -253,32 +253,32 @@ milestone_year,asset_id,commodity_id,time_slice,flow 2030,0,CO2EMT,autumn.day,0.0 2030,0,GASPRD,autumn.peak,0.0 2030,0,CO2EMT,autumn.peak,0.0 -2030,0,GASPRD,autumn.evening,95.00451478571051 -2030,0,CO2EMT,autumn.evening,485.7580840993379 +2030,0,GASPRD,autumn.evening,164.21378572301475 +2030,0,CO2EMT,autumn.evening,839.6250864017745 2030,1,GASPRD,winter.night,-0.0 2030,1,GASNAT,winter.night,0.0 2030,1,CO2EMT,winter.night,0.0 -2030,1,GASPRD,winter.day,-133.25690991851303 -2030,1,GASNAT,winter.day,126.91134277953623 -2030,1,CO2EMT,winter.day,324.4488478158844 -2030,1,GASPRD,winter.peak,-111.69102656250001 -2030,1,GASNAT,winter.peak,106.37240625000001 -2030,1,CO2EMT,winter.peak,271.941056578125 -2030,1,GASPRD,winter.evening,-148.92136994137095 -2030,1,GASNAT,winter.evening,141.829876134639 -2030,1,CO2EMT,winter.evening,362.58807833820464 +2030,1,GASPRD,winter.day,-185.23074036153295 +2030,1,GASNAT,winter.day,176.41022891574565 +2030,1,CO2EMT,winter.day,450.99275022310377 +2030,1,GASPRD,winter.peak,-124.10114062500001 +2030,1,GASNAT,winter.peak,118.1915625 +2030,1,CO2EMT,winter.peak,302.15672953125005 +2030,1,GASPRD,winter.evening,-165.4681888237455 +2030,1,GASNAT,winter.evening,157.58875126070998 +2030,1,CO2EMT,winter.evening,402.87564259800513 2030,1,GASPRD,peak.night,-0.0 2030,1,GASNAT,peak.night,0.0 2030,1,CO2EMT,peak.night,0.0 2030,1,GASPRD,peak.day,-0.0 2030,1,GASNAT,peak.day,0.0 2030,1,CO2EMT,peak.day,0.0 -2030,1,GASPRD,peak.peak,-7.065961449773363 -2030,1,GASNAT,peak.peak,6.72948709502225 -2030,1,CO2EMT,peak.peak,17.203933758424384 -2030,1,GASPRD,peak.evening,-148.92136994137095 -2030,1,GASNAT,peak.evening,141.829876134639 -2030,1,CO2EMT,peak.evening,362.58807833820464 +2030,1,GASPRD,peak.peak,-67.41861708839716 +2030,1,GASNAT,peak.peak,64.20820675085443 +2030,1,CO2EMT,peak.peak,164.14828055855938 +2030,1,GASPRD,peak.evening,-165.4681888237455 +2030,1,GASNAT,peak.evening,157.58875126070998 +2030,1,CO2EMT,peak.evening,402.87564259800513 2030,1,GASPRD,summer.night,-0.0 2030,1,GASNAT,summer.night,0.0 2030,1,CO2EMT,summer.night,0.0 @@ -300,9 +300,9 @@ milestone_year,asset_id,commodity_id,time_slice,flow 2030,1,GASPRD,autumn.peak,-0.0 2030,1,GASNAT,autumn.peak,0.0 2030,1,CO2EMT,autumn.peak,0.0 -2030,1,GASPRD,autumn.evening,-95.00451478571051 -2030,1,GASNAT,autumn.evening,90.48049027210524 -2030,1,CO2EMT,autumn.evening,231.31337338063707 +2030,1,GASPRD,autumn.evening,-164.21378572301475 +2030,1,GASNAT,autumn.evening,156.39408164096642 +2030,1,CO2EMT,autumn.evening,399.82146971513066 2030,2,ELCTRI,winter.night,4.435312795545212 2030,2,ELCTRI,winter.day,7.075379933645912 2030,2,ELCTRI,winter.peak,1.9712501261051125 @@ -319,30 +319,30 @@ milestone_year,asset_id,commodity_id,time_slice,flow 2030,2,ELCTRI,autumn.day,6.001752635595889 2030,2,ELCTRI,autumn.peak,1.5488393825638174 2030,2,ELCTRI,autumn.evening,1.9008483513729915 -2030,3,GASNAT,winter.night,-7.544466596988991 -2030,3,ELCTRI,winter.night,5.02964439799266 -2030,3,CO2EMT,winter.night,385.74857710404706 +2030,3,GASNAT,winter.night,-7.783808997678887 +2030,3,ELCTRI,winter.night,5.189205998452591 +2030,3,CO2EMT,winter.night,397.9861540513214 2030,3,GASNAT,winter.day,-10.010898915527838 2030,3,ELCTRI,winter.day,6.6739326103518914 2030,3,CO2EMT,winter.day,511.8572615509383 2030,3,GASNAT,winter.peak,-3.2303154358423316 2030,3,ELCTRI,winter.peak,2.1535436238948877 2030,3,CO2EMT,winter.peak,165.1660282346184 -2030,3,GASNAT,winter.evening,-4.31112378448899 -2030,3,ELCTRI,winter.evening,2.87408252299266 -2030,3,CO2EMT,winter.evening,220.42775910092203 -2030,3,GASNAT,peak.night,-6.213469739879806 -2030,3,ELCTRI,peak.night,4.142313159919871 -2030,3,CO2EMT,peak.night,317.69470780005446 -2030,3,GASNAT,peak.day,-10.777809409488992 -2030,3,ELCTRI,peak.day,7.185206272992661 -2030,3,CO2EMT,peak.day,551.0693951071721 -2030,3,GASNAT,peak.peak,-3.2333428125 -2030,3,ELCTRI,peak.peak,2.155561875 -2030,3,CO2EMT,peak.peak,165.320818003125 -2030,3,GASNAT,peak.evening,-4.31112378448899 -2030,3,ELCTRI,peak.evening,2.87408252299266 -2030,3,CO2EMT,peak.evening,220.42775910092203 +2030,3,GASNAT,winter.evening,-4.395089526235901 +2030,3,ELCTRI,winter.evening,2.9300596841572673 +2030,3,CO2EMT,winter.evening,224.7209274764416 +2030,3,GASNAT,peak.night,-8.382740663321101 +2030,3,ELCTRI,peak.night,5.5884937755474 +2030,3,CO2EMT,peak.night,428.6095301156078 +2030,3,GASNAT,peak.day,-11.066925767990737 +2030,3,ELCTRI,peak.day,7.3779505119938245 +2030,3,CO2EMT,peak.day,565.8519145173664 +2030,3,GASNAT,peak.peak,-3.520722822271213 +2030,3,ELCTRI,peak.peak,2.3471485481808085 +2030,3,CO2EMT,peak.peak,180.0145579027271 +2030,3,GASNAT,peak.evening,-4.790137538321099 +2030,3,ELCTRI,peak.evening,3.1934250255473997 +2030,3,CO2EMT,peak.evening,244.9197323343578 2030,3,GASNAT,summer.night,-0.0 2030,3,ELCTRI,summer.night,0.0 2030,3,CO2EMT,summer.night,0.0 @@ -355,42 +355,42 @@ milestone_year,asset_id,commodity_id,time_slice,flow 2030,3,GASNAT,summer.evening,-0.0 2030,3,ELCTRI,summer.evening,0.0 2030,3,CO2EMT,summer.evening,0.0 -2030,3,GASNAT,autumn.night,-1.304830260188972 -2030,3,ELCTRI,autumn.night,0.8698868401259814 -2030,3,CO2EMT,autumn.night,66.71597120346213 -2030,3,GASNAT,autumn.day,-10.777809409488992 -2030,3,ELCTRI,autumn.day,7.185206272992661 -2030,3,CO2EMT,autumn.day,551.0693951071721 -2030,3,GASNAT,autumn.peak,-3.2333428125 -2030,3,ELCTRI,autumn.peak,2.155561875 -2030,3,CO2EMT,autumn.peak,165.320818003125 -2030,3,GASNAT,autumn.evening,-4.31112378448899 -2030,3,ELCTRI,autumn.evening,2.87408252299266 -2030,3,CO2EMT,autumn.evening,220.42775910092203 -2030,4,GASNAT,winter.night,-14.562663451140692 -2030,4,RSHEAT,winter.night,12.66318560968756 -2030,4,CO2EMT,winter.night,744.5889822568237 -2030,4,GASNAT,winter.day,-176.65028985322192 -2030,4,RSHEAT,winter.day,153.60894769845385 -2030,4,CO2EMT,winter.day,9032.129320195238 +2030,3,GASNAT,autumn.night,-8.382740663321101 +2030,3,ELCTRI,autumn.night,5.5884937755474 +2030,3,CO2EMT,autumn.night,428.6095301156078 +2030,3,GASNAT,autumn.day,-11.621339862602872 +2030,3,ELCTRI,autumn.day,7.747559908401914 +2030,3,CO2EMT,autumn.day,594.1991071748848 +2030,3,GASNAT,autumn.peak,-3.592603125 +2030,3,ELCTRI,autumn.peak,2.39506875 +2030,3,CO2EMT,autumn.peak,183.68979778124998 +2030,3,GASNAT,autumn.evening,-4.790137538321099 +2030,3,ELCTRI,autumn.evening,3.1934250255473997 +2030,3,CO2EMT,autumn.evening,244.9197323343578 +2030,4,GASNAT,winter.night,-43.845148578709995 +2030,4,RSHEAT,winter.night,38.1262161554 +2030,4,CO2EMT,winter.night,2241.8024468294425 +2030,4,GASNAT,winter.day,-219.27676569358 +2030,4,RSHEAT,winter.day,190.6754484292 +2030,4,CO2EMT,winter.day,11211.621029912745 2030,4,GASNAT,winter.peak,-104.21874999999999 2030,4,RSHEAT,winter.peak,90.625 2030,4,CO2EMT,winter.peak,5328.704687500001 -2030,4,GASNAT,winter.evening,-54.585117126964526 -2030,4,RSHEAT,winter.evening,47.465319240838724 -2030,4,CO2EMT,winter.evening,2790.9370387016966 -2030,4,GASNAT,peak.night,-0.0 -2030,4,RSHEAT,peak.night,0.0 -2030,4,CO2EMT,peak.night,0.0 -2030,4,GASNAT,peak.day,-54.25800011964036 -2030,4,RSHEAT,peak.day,47.18086966925249 -2030,4,CO2EMT,peak.day,2774.2115461172116 -2030,4,GASNAT,peak.peak,-54.006560802871306 -2030,4,RSHEAT,peak.peak,46.962226785105486 -2030,4,CO2EMT,peak.peak,2761.35545385081 -2030,4,GASNAT,peak.evening,-15.759056560791807 -2030,4,RSHEAT,peak.evening,13.70352744416679 -2030,4,CO2EMT,peak.evening,805.7605619532852 +2030,4,GASNAT,winter.evening,-59.42976552888078 +2030,4,RSHEAT,winter.evening,51.678056981635464 +2030,4,CO2EMT,winter.evening,3038.6439114916748 +2030,4,GASNAT,peak.night,0.0 +2030,4,RSHEAT,peak.night,-0.0 +2030,4,CO2EMT,peak.night,-0.0 +2030,4,GASNAT,peak.day,-96.21279149075198 +2030,4,RSHEAT,peak.day,83.66329694848 +2030,4,CO2EMT,peak.day,4919.3600289221495 +2030,4,GASNAT,peak.peak,-66.12685298630602 +2030,4,RSHEAT,peak.peak,57.50161129244002 +2030,4,CO2EMT,peak.peak,3381.0659931898267 +2030,4,GASNAT,peak.evening,-31.696786742602278 +2030,4,RSHEAT,peak.evening,27.562423254436766 +2030,4,CO2EMT,peak.evening,1620.6567061492547 2030,4,GASNAT,summer.night,-0.0 2030,4,RSHEAT,summer.night,0.0 2030,4,CO2EMT,summer.night,0.0 @@ -406,31 +406,31 @@ milestone_year,asset_id,commodity_id,time_slice,flow 2030,4,GASNAT,autumn.night,-0.0 2030,4,RSHEAT,autumn.night,0.0 2030,4,CO2EMT,autumn.night,0.0 -2030,4,GASNAT,autumn.day,-27.307468033982868 -2030,4,RSHEAT,autumn.day,23.74562437737641 -2030,4,CO2EMT,autumn.day,1396.230840577544 -2030,4,GASNAT,autumn.peak,-38.69449394522489 -2030,4,RSHEAT,autumn.peak,33.647386039325994 -2030,4,CO2EMT,autumn.peak,1978.4494754193488 -2030,4,GASNAT,autumn.evening,-4.851422026230531 -2030,4,RSHEAT,autumn.evening,4.218627848896114 -2030,4,CO2EMT,autumn.evening,248.05320820116705 -2030,5,ELCTRI,winter.night,-9.464957193537872 -2030,5,RSHEAT,winter.night,28.681688465266276 +2030,4,GASNAT,autumn.day,-67.97422666003601 +2030,4,RSHEAT,autumn.day,59.10802318264001 +2030,4,CO2EMT,autumn.day,3475.5222091276414 +2030,4,GASNAT,autumn.peak,-50.64779148595636 +2030,4,RSHEAT,autumn.peak,44.0415578138751 +2030,4,CO2EMT,autumn.peak,2589.621578676949 +2030,4,GASNAT,autumn.evening,-9.385242305728973 +2030,4,RSHEAT,autumn.evening,8.16108026585128 +2030,4,CO2EMT,autumn.evening,479.8674390919224 +2030,5,ELCTRI,winter.night,-9.624518793997803 +2030,5,RSHEAT,winter.night,29.165208466660005 2030,5,ELCTRI,winter.day,-13.749312543997803 2030,5,RSHEAT,winter.day,41.664583466660005 2030,5,ELCTRI,winter.peak,-4.12479375 2030,5,RSHEAT,winter.peak,12.499375 -2030,5,ELCTRI,winter.evening,-5.443747882833193 -2030,5,RSHEAT,winter.evening,16.49620570555513 -2030,5,ELCTRI,peak.night,-6.9935856772035665 -2030,5,RSHEAT,peak.night,21.192683870313836 -2030,5,ELCTRI,peak.day,-13.55656830499664 -2030,5,RSHEAT,peak.day,41.08051001514133 -2030,5,ELCTRI,peak.peak,-3.933207076819192 -2030,5,RSHEAT,peak.peak,11.91880932369452 -2030,5,ELCTRI,peak.evening,-4.59892639680773 -2030,5,RSHEAT,peak.evening,13.93614059638706 +2030,5,ELCTRI,winter.evening,-5.499725043997801 +2030,5,RSHEAT,winter.evening,16.66583346666 +2030,5,ELCTRI,peak.night,-8.439766292831097 +2030,5,RSHEAT,peak.night,25.575049372215442 +2030,5,ELCTRI,peak.day,-13.749312543997803 +2030,5,RSHEAT,peak.day,41.664583466660005 +2030,5,ELCTRI,peak.peak,-4.12479375 +2030,5,RSHEAT,peak.peak,12.499375 +2030,5,ELCTRI,peak.evening,-4.91826889936247 +2030,5,RSHEAT,peak.evening,14.903845149583242 2030,5,ELCTRI,summer.night,-1.6368416242136157 2030,5,RSHEAT,summer.night,4.960126133980653 2030,5,ELCTRI,summer.day,-3.2188600626534005 @@ -439,30 +439,30 @@ milestone_year,asset_id,commodity_id,time_slice,flow 2030,5,RSHEAT,summer.peak,3.2120121331800005 2030,5,ELCTRI,summer.evening,-0.7892279633502001 2030,5,RSHEAT,summer.evening,2.39159988894 -2030,5,ELCTRI,autumn.night,-4.073168306108166 -2030,5,RSHEAT,autumn.night,12.342934260933838 -2030,5,ELCTRI,autumn.day,-13.18695890858855 -2030,5,RSHEAT,autumn.day,39.96048154117742 -2030,5,ELCTRI,autumn.peak,-3.704401257563817 -2030,5,RSHEAT,autumn.peak,11.225458356253991 -2030,5,ELCTRI,autumn.evening,-4.774930874365651 -2030,5,RSHEAT,autumn.evening,14.469487498077731 -2030,6,BIOPEL,winter.night,-31.135860656527402 -2030,6,RSHEAT,winter.night,25.94655054710617 -2030,6,BIOPEL,winter.day,-44.47980087689542 -2030,6,RSHEAT,winter.day,37.066500730746185 +2030,5,ELCTRI,autumn.night,-8.791775241529585 +2030,5,RSHEAT,autumn.night,26.641743156150255 +2030,5,ELCTRI,autumn.day,-13.749312543997803 +2030,5,RSHEAT,autumn.day,41.664583466660005 +2030,5,ELCTRI,autumn.peak,-3.9439081325638172 +2030,5,RSHEAT,autumn.peak,11.9512367653449 +2030,5,ELCTRI,autumn.evening,-5.094273376920391 +2030,5,RSHEAT,autumn.evening,15.437192051273913 +2030,6,BIOPEL,winter.night,-0.0 +2030,6,RSHEAT,winter.night,0.0 +2030,6,BIOPEL,winter.day,-0.0 +2030,6,RSHEAT,winter.day,0.0 2030,6,BIOPEL,winter.peak,-13.343940220368017 2030,6,RSHEAT,winter.peak,11.119950183640015 -2030,6,BIOPEL,winter.evening,-17.791920436159383 -2030,6,RSHEAT,winter.evening,14.826600363466154 -2030,6,BIOPEL,peak.night,-31.135860656527402 -2030,6,RSHEAT,peak.night,25.94655054710617 -2030,6,BIOPEL,peak.day,-44.47980087689542 -2030,6,RSHEAT,peak.day,37.066500730746185 -2030,6,BIOPEL,peak.peak,-13.343940220368017 -2030,6,RSHEAT,peak.peak,11.119950183640015 -2030,6,BIOPEL,peak.evening,-17.791920436159383 -2030,6,RSHEAT,peak.evening,14.826600363466154 +2030,6,BIOPEL,winter.evening,-12.533081833877455 +2030,6,RSHEAT,winter.evening,10.444234861564546 +2030,6,BIOPEL,peak.night,-25.877022054245472 +2030,6,RSHEAT,peak.night,21.56418504520456 +2030,6,BIOPEL,peak.day,-0.0 +2030,6,RSHEAT,peak.day,0.0 +2030,6,BIOPEL,peak.peak,-0.0 +2030,6,RSHEAT,peak.peak,0.0 +2030,6,BIOPEL,peak.evening,-0.0 +2030,6,RSHEAT,peak.evening,0.0 2030,6,BIOPEL,summer.night,-1.0731133525192167 2030,6,RSHEAT,summer.night,0.8942611270993472 2030,6,BIOPEL,summer.day,-0.0 @@ -471,28 +471,28 @@ milestone_year,asset_id,commodity_id,time_slice,flow 2030,6,RSHEAT,summer.peak,0.0 2030,6,BIOPEL,summer.evening,-0.0 2030,6,RSHEAT,summer.evening,0.0 -2030,6,BIOPEL,autumn.night,-31.135860656527402 -2030,6,RSHEAT,autumn.night,25.94655054710617 -2030,6,BIOPEL,autumn.day,-44.47980087689542 -2030,6,RSHEAT,autumn.day,37.066500730746185 -2030,6,BIOPEL,autumn.peak,-13.343940220368017 -2030,6,RSHEAT,autumn.peak,11.119950183640015 -2030,6,BIOPEL,autumn.evening,-17.791920436159383 -2030,6,RSHEAT,autumn.evening,14.826600363466154 -2030,7,BIOPRD,winter.night,-32.692653689353776 -2030,7,BIOPEL,winter.night,31.135860656527402 -2030,7,BIOPRD,winter.day,-46.7037909207402 -2030,7,BIOPEL,winter.day,44.479800876895425 -2030,7,BIOPRD,winter.peak,-14.011137231386414 -2030,7,BIOPEL,winter.peak,13.343940220368012 -2030,7,BIOPRD,winter.evening,-18.681516457967344 -2030,7,BIOPEL,winter.evening,17.791920436159376 -2030,7,BIOPRD,peak.night,-32.692653689353776 -2030,7,BIOPEL,peak.night,31.135860656527402 -2030,7,BIOPRD,peak.day,-46.70379092074019 -2030,7,BIOPEL,peak.day,44.47980087689542 -2030,7,BIOPRD,peak.peak,-14.011137231386417 -2030,7,BIOPEL,peak.peak,13.343940220368015 +2030,6,BIOPEL,autumn.night,-13.977289982267699 +2030,6,RSHEAT,autumn.night,11.64774165188975 +2030,6,BIOPEL,autumn.day,-0.0 +2030,6,RSHEAT,autumn.day,0.0 +2030,6,BIOPEL,autumn.peak,-0.0 +2030,6,RSHEAT,autumn.peak,0.0 +2030,6,BIOPEL,autumn.evening,-11.899732071977771 +2030,6,RSHEAT,autumn.evening,9.91644339331481 +2030,7,BIOPRD,winter.night,-0.0 +2030,7,BIOPEL,winter.night,0.0 +2030,7,BIOPRD,winter.day,-0.0 +2030,7,BIOPEL,winter.day,0.0 +2030,7,BIOPRD,winter.peak,-8.489356698990392 +2030,7,BIOPEL,winter.peak,8.085101618086087 +2030,7,BIOPRD,winter.evening,-18.681516457967355 +2030,7,BIOPEL,winter.evening,17.791920436159383 +2030,7,BIOPRD,peak.night,-0.0 +2030,7,BIOPEL,peak.night,0.0 +2030,7,BIOPRD,peak.day,-0.0 +2030,7,BIOPEL,peak.day,0.0 +2030,7,BIOPRD,peak.peak,-8.489356698990392 +2030,7,BIOPEL,peak.peak,8.085101618086087 2030,7,BIOPRD,peak.evening,-18.681516457967355 2030,7,BIOPEL,peak.evening,17.791920436159383 2030,7,BIOPRD,summer.night,-0.0 @@ -503,30 +503,30 @@ milestone_year,asset_id,commodity_id,time_slice,flow 2030,7,BIOPEL,summer.peak,0.0 2030,7,BIOPRD,summer.evening,-1.1267690201451777 2030,7,BIOPEL,summer.evening,1.0731133525192167 -2030,7,BIOPRD,autumn.night,-32.692653689353776 -2030,7,BIOPEL,autumn.night,31.135860656527402 -2030,7,BIOPRD,autumn.day,-46.70379092074019 -2030,7,BIOPEL,autumn.day,44.47980087689542 -2030,7,BIOPRD,autumn.peak,-14.011137231386417 -2030,7,BIOPEL,autumn.peak,13.343940220368015 +2030,7,BIOPRD,autumn.night,-0.0 +2030,7,BIOPEL,autumn.night,0.0 +2030,7,BIOPRD,autumn.day,-0.0 +2030,7,BIOPEL,autumn.day,0.0 +2030,7,BIOPRD,autumn.peak,-8.489356698990392 +2030,7,BIOPEL,autumn.peak,8.085101618086087 2030,7,BIOPRD,autumn.evening,-18.681516457967355 2030,7,BIOPEL,autumn.evening,17.791920436159383 -2030,8,BIOPRD,winter.night,32.692653689353776 -2030,8,BIOPRD,winter.day,46.70379092074019 -2030,8,BIOPRD,winter.peak,14.011137231386417 -2030,8,BIOPRD,winter.evening,18.68151645796735 -2030,8,BIOPRD,peak.night,32.69265368935379 -2030,8,BIOPRD,peak.day,46.70379092074019 -2030,8,BIOPRD,peak.peak,14.011137231386417 -2030,8,BIOPRD,peak.evening,18.68151645796735 +2030,8,BIOPRD,winter.night,7.924838008641155 +2030,8,BIOPRD,winter.day,11.321197139675437 +2030,8,BIOPRD,winter.peak,3.3963591310342816 +2030,8,BIOPRD,winter.evening,4.528478877606872 +2030,8,BIOPRD,peak.night,7.924838008641155 +2030,8,BIOPRD,peak.day,11.321197139675437 +2030,8,BIOPRD,peak.peak,3.3963591310342816 +2030,8,BIOPRD,peak.evening,4.528478877606872 2030,8,BIOPRD,summer.night,0.0 2030,8,BIOPRD,summer.day,0.0 2030,8,BIOPRD,summer.peak,0.0 2030,8,BIOPRD,summer.evening,1.1267690201451777 -2030,8,BIOPRD,autumn.night,32.69265368935379 -2030,8,BIOPRD,autumn.day,46.70379092074019 -2030,8,BIOPRD,autumn.peak,14.011137231386417 -2030,8,BIOPRD,autumn.evening,18.68151645796735 +2030,8,BIOPRD,autumn.night,7.924838008641155 +2030,8,BIOPRD,autumn.day,11.321197139675437 +2030,8,BIOPRD,autumn.peak,3.3963591310342816 +2030,8,BIOPRD,autumn.evening,4.528478877606872 2040,6,BIOPEL,winter.night,-31.135860656527402 2040,6,RSHEAT,winter.night,25.94655054710617 2040,6,BIOPEL,winter.day,-44.47980087689542 @@ -559,12 +559,12 @@ milestone_year,asset_id,commodity_id,time_slice,flow 2040,6,RSHEAT,autumn.peak,11.119950183640015 2040,6,BIOPEL,autumn.evening,-17.791920436159383 2040,6,RSHEAT,autumn.evening,14.826600363466154 -2040,7,BIOPRD,winter.night,-32.69265368935369 -2040,7,BIOPEL,winter.night,31.13586065652732 -2040,7,BIOPRD,winter.day,-46.70379092074019 -2040,7,BIOPEL,winter.day,44.47980087689542 -2040,7,BIOPRD,winter.peak,-14.011137231386417 -2040,7,BIOPEL,winter.peak,13.343940220368015 +2040,7,BIOPRD,winter.night,-32.692653689353804 +2040,7,BIOPEL,winter.night,31.135860656527434 +2040,7,BIOPRD,winter.day,-46.7037909207402 +2040,7,BIOPEL,winter.day,44.479800876895425 +2040,7,BIOPRD,winter.peak,-14.011137231386419 +2040,7,BIOPEL,winter.peak,13.343940220368017 2040,7,BIOPRD,winter.evening,-18.681516457967355 2040,7,BIOPEL,winter.evening,17.791920436159383 2040,7,BIOPRD,peak.night,-0.0 @@ -591,10 +591,10 @@ milestone_year,asset_id,commodity_id,time_slice,flow 2040,7,BIOPEL,autumn.peak,0.0 2040,7,BIOPRD,autumn.evening,-0.0 2040,7,BIOPEL,autumn.evening,0.0 -2040,8,BIOPRD,winter.night,32.69265368935355 -2040,8,BIOPRD,winter.day,46.70379092074019 -2040,8,BIOPRD,winter.peak,14.011137231386417 -2040,8,BIOPRD,winter.evening,18.68151645796735 +2040,8,BIOPRD,winter.night,7.924838008640879 +2040,8,BIOPRD,winter.day,11.321197139675437 +2040,8,BIOPRD,winter.peak,3.3963591310342816 +2040,8,BIOPRD,winter.evening,4.528478877606872 2040,8,BIOPRD,peak.night,0.0 2040,8,BIOPRD,peak.day,0.0 2040,8,BIOPRD,peak.peak,0.0 @@ -639,22 +639,22 @@ milestone_year,asset_id,commodity_id,time_slice,flow 2040,9,RSHEAT,autumn.peak,50.32290129557999 2040,9,BIOPEL,autumn.evening,-26.340322976368615 2040,9,RSHEAT,autumn.evening,21.950269146973845 -2040,10,BIOPRD,winter.night,-165.98421626912278 -2040,10,BIOPEL,winter.night,158.0802059705931 -2040,10,BIOPRD,winter.day,-237.1203086306961 -2040,10,BIOPEL,winter.day,225.82886536256768 -2040,10,BIOPRD,winter.peak,-71.13609236157333 -2040,10,BIOPEL,winter.peak,67.7486593919746 -2040,10,BIOPRD,winter.evening,-94.84812390754941 -2040,10,BIOPEL,winter.evening,90.33154657861849 +2040,10,BIOPRD,winter.night,-165.98421626912275 +2040,10,BIOPEL,winter.night,158.08020597059308 +2040,10,BIOPRD,winter.day,-237.12030863069606 +2040,10,BIOPEL,winter.day,225.82886536256765 +2040,10,BIOPRD,winter.peak,-71.13609236157332 +2040,10,BIOPEL,winter.peak,67.74865939197458 +2040,10,BIOPRD,winter.evening,-94.8481239075494 +2040,10,BIOPEL,winter.evening,90.33154657861847 2040,10,BIOPRD,peak.night,-0.0 2040,10,BIOPEL,peak.night,0.0 2040,10,BIOPRD,peak.day,-227.9780274914425 2040,10,BIOPEL,peak.day,217.12193094423094 -2040,10,BIOPRD,peak.peak,-71.13609236157333 -2040,10,BIOPEL,peak.peak,67.7486593919746 -2040,10,BIOPRD,peak.evening,-94.84812390754941 -2040,10,BIOPEL,peak.evening,90.33154657861849 +2040,10,BIOPRD,peak.peak,-71.13609236157332 +2040,10,BIOPEL,peak.peak,67.74865939197458 +2040,10,BIOPRD,peak.evening,-94.8481239075494 +2040,10,BIOPEL,peak.evening,90.33154657861847 2040,10,BIOPRD,summer.night,-0.0 2040,10,BIOPEL,summer.night,0.0 2040,10,BIOPRD,summer.day,-0.0 @@ -665,25 +665,25 @@ milestone_year,asset_id,commodity_id,time_slice,flow 2040,10,BIOPEL,summer.evening,27.932162142216 2040,10,BIOPRD,autumn.night,-0.0 2040,10,BIOPEL,autumn.night,0.0 -2040,10,BIOPRD,autumn.day,-150.04572883209724 -2040,10,BIOPEL,autumn.day,142.9006941258069 -2040,10,BIOPRD,autumn.peak,-71.13609236157333 -2040,10,BIOPEL,autumn.peak,67.7486593919746 -2040,10,BIOPRD,autumn.evening,-94.84812390754941 -2040,10,BIOPEL,autumn.evening,90.33154657861849 -2040,11,BIOPRD,winter.night,165.9842162691228 -2040,11,BIOPRD,winter.day,237.12030863069614 -2040,11,BIOPRD,winter.peak,71.13609236157335 -2040,11,BIOPRD,winter.evening,94.84812390754944 +2040,10,BIOPRD,autumn.day,-150.04572883209727 +2040,10,BIOPEL,autumn.day,142.90069412580692 +2040,10,BIOPRD,autumn.peak,-71.13609236157332 +2040,10,BIOPEL,autumn.peak,67.74865939197458 +2040,10,BIOPRD,autumn.evening,-94.8481239075494 +2040,10,BIOPEL,autumn.evening,90.33154657861847 +2040,11,BIOPRD,winter.night,190.75203194983547 +2040,11,BIOPRD,winter.day,272.50290241176094 +2040,11,BIOPRD,winter.peak,81.7508704619255 +2040,11,BIOPRD,winter.evening,109.00116148790995 2040,11,BIOPRD,peak.night,0.0 -2040,11,BIOPRD,peak.day,227.97802749144245 -2040,11,BIOPRD,peak.peak,71.13609236157335 -2040,11,BIOPRD,peak.evening,94.84812390754944 +2040,11,BIOPRD,peak.day,203.2102118107298 +2040,11,BIOPRD,peak.peak,81.7508704619255 +2040,11,BIOPRD,peak.evening,109.00116148790995 2040,11,BIOPRD,summer.night,0.0 2040,11,BIOPRD,summer.day,0.0 2040,11,BIOPRD,summer.peak,0.0 2040,11,BIOPRD,summer.evening,29.3287702493268 2040,11,BIOPRD,autumn.night,0.0 -2040,11,BIOPRD,autumn.day,150.04572883209715 -2040,11,BIOPRD,autumn.peak,71.13609236157335 -2040,11,BIOPRD,autumn.evening,94.84812390754944 +2040,11,BIOPRD,autumn.day,125.27791315138455 +2040,11,BIOPRD,autumn.peak,81.7508704619255 +2040,11,BIOPRD,autumn.evening,109.00116148790995 diff --git a/tests/data/missing_commodity/commodity_prices.csv b/tests/data/missing_commodity/commodity_prices.csv index ac58fcbd5..4185d7c4d 100644 --- a/tests/data/missing_commodity/commodity_prices.csv +++ b/tests/data/missing_commodity/commodity_prices.csv @@ -15,37 +15,37 @@ milestone_year,commodity_id,region_id,time_slice,price 2020,BIOPEL,GBR,winter.evening,4.7221140833333335 2020,BIOPEL,GBR,winter.night,4.7221140833333335 2020,BIOPEL,GBR,winter.peak,4.7221140833333335 -2020,BIOPRD,GBR,autumn.day,0.25 -2020,BIOPRD,GBR,autumn.evening,0.25 -2020,BIOPRD,GBR,autumn.night,0.25 -2020,BIOPRD,GBR,autumn.peak,0.25 -2020,BIOPRD,GBR,peak.day,0.25 -2020,BIOPRD,GBR,peak.evening,0.25 -2020,BIOPRD,GBR,peak.night,0.25 -2020,BIOPRD,GBR,peak.peak,0.25 +2020,BIOPRD,GBR,autumn.day,4.249632460317461 +2020,BIOPRD,GBR,autumn.evening,4.249632460317461 +2020,BIOPRD,GBR,autumn.night,4.249632460317461 +2020,BIOPRD,GBR,autumn.peak,4.249632460317461 +2020,BIOPRD,GBR,peak.day,4.249632460317461 +2020,BIOPRD,GBR,peak.evening,4.249632460317461 +2020,BIOPRD,GBR,peak.night,4.249632460317461 +2020,BIOPRD,GBR,peak.peak,4.249632460317461 2020,BIOPRD,GBR,summer.day,0.25 2020,BIOPRD,GBR,summer.evening,0.25 2020,BIOPRD,GBR,summer.night,0.25 2020,BIOPRD,GBR,summer.peak,0.25 -2020,BIOPRD,GBR,winter.day,0.25 -2020,BIOPRD,GBR,winter.evening,0.25 -2020,BIOPRD,GBR,winter.night,0.25 -2020,BIOPRD,GBR,winter.peak,0.25 -2020,ELCTRI,GBR,autumn.day,17.26223303030303 +2020,BIOPRD,GBR,winter.day,4.249632460317461 +2020,BIOPRD,GBR,winter.evening,4.249632460317461 +2020,BIOPRD,GBR,winter.night,4.249632460317461 +2020,BIOPRD,GBR,winter.peak,4.249632460317461 +2020,ELCTRI,GBR,autumn.day,7.993308999999999 2020,ELCTRI,GBR,autumn.evening,17.26223303030303 2020,ELCTRI,GBR,autumn.night,17.26223303030303 2020,ELCTRI,GBR,autumn.peak,17.26223303030303 -2020,ELCTRI,GBR,peak.day,17.26223303030303 +2020,ELCTRI,GBR,peak.day,7.993308999999999 2020,ELCTRI,GBR,peak.evening,17.26223303030303 2020,ELCTRI,GBR,peak.night,17.26223303030303 -2020,ELCTRI,GBR,peak.peak,17.26223303030303 +2020,ELCTRI,GBR,peak.peak,7.993308999999999 2020,ELCTRI,GBR,summer.day,0.4 2020,ELCTRI,GBR,summer.evening,0.4 2020,ELCTRI,GBR,summer.night,7.993308999999999 2020,ELCTRI,GBR,summer.peak,0.4 2020,ELCTRI,GBR,winter.day,7.993308999999999 -2020,ELCTRI,GBR,winter.evening,17.26223303030303 -2020,ELCTRI,GBR,winter.night,17.26223303030303 +2020,ELCTRI,GBR,winter.evening,7.993308999999999 +2020,ELCTRI,GBR,winter.night,7.993308999999999 2020,ELCTRI,GBR,winter.peak,7.993308999999999 2020,GASNAT,GBR,autumn.day,2.9170059999999998 2020,GASNAT,GBR,autumn.evening,2.9170059999999998 @@ -95,14 +95,14 @@ milestone_year,commodity_id,region_id,time_slice,price 2020,RSHEAT,GBR,winter.evening,5.8665369 2020,RSHEAT,GBR,winter.night,5.8665369 2020,RSHEAT,GBR,winter.peak,5.8665369 -2030,BIOPEL,GBR,autumn.day,2.173159975 -2030,BIOPEL,GBR,autumn.evening,2.173159975 -2030,BIOPEL,GBR,autumn.night,2.173159975 -2030,BIOPEL,GBR,autumn.peak,2.173159975 -2030,BIOPEL,GBR,peak.day,2.173159975 -2030,BIOPEL,GBR,peak.evening,2.173159975 -2030,BIOPEL,GBR,peak.night,2.173159975 -2030,BIOPEL,GBR,peak.peak,2.173159975 +2030,BIOPEL,GBR,autumn.day,4.7221140833333335 +2030,BIOPEL,GBR,autumn.evening,4.7221140833333335 +2030,BIOPEL,GBR,autumn.night,4.7221140833333335 +2030,BIOPEL,GBR,autumn.peak,4.7221140833333335 +2030,BIOPEL,GBR,peak.day,4.7221140833333335 +2030,BIOPEL,GBR,peak.evening,4.7221140833333335 +2030,BIOPEL,GBR,peak.night,4.7221140833333335 +2030,BIOPEL,GBR,peak.peak,4.7221140833333335 2030,BIOPEL,GBR,summer.day,0.5225 2030,BIOPEL,GBR,summer.evening,0.5225 2030,BIOPEL,GBR,summer.night,0.5225 @@ -111,37 +111,37 @@ milestone_year,commodity_id,region_id,time_slice,price 2030,BIOPEL,GBR,winter.evening,4.7221140833333335 2030,BIOPEL,GBR,winter.night,4.7221140833333335 2030,BIOPEL,GBR,winter.peak,4.7221140833333335 -2030,BIOPRD,GBR,autumn.day,0.25 -2030,BIOPRD,GBR,autumn.evening,0.25 -2030,BIOPRD,GBR,autumn.night,0.25 -2030,BIOPRD,GBR,autumn.peak,0.25 -2030,BIOPRD,GBR,peak.day,0.25 -2030,BIOPRD,GBR,peak.evening,0.25 -2030,BIOPRD,GBR,peak.night,0.25 -2030,BIOPRD,GBR,peak.peak,0.25 +2030,BIOPRD,GBR,autumn.day,4.249632460317461 +2030,BIOPRD,GBR,autumn.evening,4.249632460317461 +2030,BIOPRD,GBR,autumn.night,4.249632460317461 +2030,BIOPRD,GBR,autumn.peak,4.249632460317461 +2030,BIOPRD,GBR,peak.day,4.249632460317461 +2030,BIOPRD,GBR,peak.evening,4.249632460317461 +2030,BIOPRD,GBR,peak.night,4.249632460317461 +2030,BIOPRD,GBR,peak.peak,4.249632460317461 2030,BIOPRD,GBR,summer.day,0.25 2030,BIOPRD,GBR,summer.evening,0.25 2030,BIOPRD,GBR,summer.night,0.25 2030,BIOPRD,GBR,summer.peak,0.25 -2030,BIOPRD,GBR,winter.day,0.25 -2030,BIOPRD,GBR,winter.evening,0.25 -2030,BIOPRD,GBR,winter.night,0.25 -2030,BIOPRD,GBR,winter.peak,0.25 -2030,ELCTRI,GBR,autumn.day,17.26223303030303 +2030,BIOPRD,GBR,winter.day,4.249632460317461 +2030,BIOPRD,GBR,winter.evening,4.249632460317461 +2030,BIOPRD,GBR,winter.night,4.249632460317461 +2030,BIOPRD,GBR,winter.peak,4.249632460317461 +2030,ELCTRI,GBR,autumn.day,7.993308999999999 2030,ELCTRI,GBR,autumn.evening,17.26223303030303 -2030,ELCTRI,GBR,autumn.night,7.993308999999999 +2030,ELCTRI,GBR,autumn.night,17.26223303030303 2030,ELCTRI,GBR,autumn.peak,17.26223303030303 -2030,ELCTRI,GBR,peak.day,17.26223303030303 +2030,ELCTRI,GBR,peak.day,7.993308999999999 2030,ELCTRI,GBR,peak.evening,17.26223303030303 -2030,ELCTRI,GBR,peak.night,7.993308999999999 -2030,ELCTRI,GBR,peak.peak,17.26223303030303 +2030,ELCTRI,GBR,peak.night,17.26223303030303 +2030,ELCTRI,GBR,peak.peak,7.993308999999999 2030,ELCTRI,GBR,summer.day,0.4 2030,ELCTRI,GBR,summer.evening,0.4 2030,ELCTRI,GBR,summer.night,1.9909090909090907 2030,ELCTRI,GBR,summer.peak,0.4 2030,ELCTRI,GBR,winter.day,7.993308999999999 -2030,ELCTRI,GBR,winter.evening,17.26223303030303 -2030,ELCTRI,GBR,winter.night,17.26223303030303 +2030,ELCTRI,GBR,winter.evening,7.993308999999999 +2030,ELCTRI,GBR,winter.night,7.993308999999999 2030,ELCTRI,GBR,winter.peak,7.993308999999999 2030,GASNAT,GBR,autumn.day,2.9170059999999998 2030,GASNAT,GBR,autumn.evening,2.9170059999999998 @@ -177,11 +177,11 @@ milestone_year,commodity_id,region_id,time_slice,price 2030,GASPRD,GBR,winter.peak,2.20452 2030,RSHEAT,GBR,autumn.day,5.8665369 2030,RSHEAT,GBR,autumn.evening,5.8665369 -2030,RSHEAT,GBR,autumn.night,2.80779197 +2030,RSHEAT,GBR,autumn.night,5.8665369 2030,RSHEAT,GBR,autumn.peak,5.8665369 2030,RSHEAT,GBR,peak.day,5.8665369 2030,RSHEAT,GBR,peak.evening,5.8665369 -2030,RSHEAT,GBR,peak.night,2.80779197 +2030,RSHEAT,GBR,peak.night,5.8665369 2030,RSHEAT,GBR,peak.peak,5.8665369 2030,RSHEAT,GBR,summer.day,0.30200000000000005 2030,RSHEAT,GBR,summer.evening,0.30200000000000005 diff --git a/tests/data/muse1_default/assets.csv b/tests/data/muse1_default/assets.csv index 2d9d2b829..aa86378d7 100644 --- a/tests/data/muse1_default/assets.csv +++ b/tests/data/muse1_default/assets.csv @@ -1,16 +1,16 @@ asset_id,process_id,region_id,agent_id,commission_year,decommission_year,capacity -0,gassupply1,R1,A1_GAS,2020,,24.0 +0,gassupply1,R1,A1_GAS,2020,2030,24.0 1,gasboiler,R1,A1_RES,2020,2030,19.0 2,heatpump,R1,A1_RES,2025,,16.757966484067033 -3,windturbine,R1,A1_PWR,2025,,16.757966484067026 -4,heatpump,R1,A1_RES,2030,,13.121973756052487 -5,gasCCGT,R1,A1_PWR,2030,,5.831988336023331 -6,heatpump,R1,A1_RES,2035,,6.119987760024477 -7,windturbine,R1,A1_PWR,2035,,3.5999928000144 -8,gasCCGT,R1,A1_PWR,2035,,1.119997760004481 -9,heatpump,R1,A1_RES,2040,,8.387983224033553 -10,windturbine,R1,A1_PWR,2040,,8.387983224033553 -11,heatpump,R1,A1_RES,2045,,4.787990424019152 -12,windturbine,R1,A1_PWR,2045,,4.787990424019152 -13,heatpump,R1,A1_RES,2050,,5.3999892000216 -14,windturbine,R1,A1_PWR,2050,,5.399989200021599 +3,windturbine,R1,A1_PWR,2025,,6.703186593626812 +4,gasCCGT,R1,A1_PWR,2025,2040,5.3625492749014505 +5,heatpump,R1,A1_RES,2030,,13.121973756052487 +6,windturbine,R1,A1_PWR,2030,,11.951976096047806 +7,heatpump,R1,A1_RES,2035,,6.119987760024477 +8,windturbine,R1,A1_PWR,2035,,12.95997408005184 +9,heatpump,R1,A1_RES,2040,,5.939988120023761 +10,windturbine,R1,A1_PWR,2040,,7.696784606430788 +11,heatpump,R1,A1_RES,2045,,5.939988120023761 +12,windturbine,R1,A1_PWR,2045,,8.683182633634738 +13,heatpump,R1,A1_RES,2050,,6.119987760024477 +14,windturbine,R1,A1_PWR,2050,,4.355991288017403 diff --git a/tests/data/muse1_default/commodity_flows.csv b/tests/data/muse1_default/commodity_flows.csv index 00dfe90e1..81efff3a9 100644 --- a/tests/data/muse1_default/commodity_flows.csv +++ b/tests/data/muse1_default/commodity_flows.csv @@ -23,12 +23,12 @@ milestone_year,asset_id,commodity_id,time_slice,flow 2020,1,gas,all-year.evening,-2.32 2020,1,heat,all-year.evening,2.0 2020,1,CO2f,all-year.evening,129.42 -2025,0,gas,all-year.night,-0.0 -2025,0,gas,all-year.morning,-0.0 -2025,0,gas,all-year.afternoon,-0.0 -2025,0,gas,all-year.early-peak,-0.0 -2025,0,gas,all-year.late-peak,1.3885199999999995 -2025,0,gas,all-year.evening,-0.0 +2025,0,gas,all-year.night,0.0 +2025,0,gas,all-year.morning,0.0 +2025,0,gas,all-year.afternoon,0.0 +2025,0,gas,all-year.early-peak,1.33266 +2025,0,gas,all-year.late-peak,2.8810991999999995 +2025,0,gas,all-year.evening,0.7818272000000002 2025,1,gas,all-year.night,-0.0 2025,1,heat,all-year.night,0.0 2025,1,CO2f,all-year.night,0.0 @@ -47,36 +47,48 @@ milestone_year,asset_id,commodity_id,time_slice,flow 2025,1,gas,all-year.evening,-0.0 2025,1,heat,all-year.evening,0.0 2025,1,CO2f,all-year.evening,0.0 -2025,2,electricity,all-year.night,-1.1172000000000002 -2025,2,heat,all-year.night,2.7930000000000006 -2025,2,electricity,all-year.morning,-1.1172000000000002 -2025,2,heat,all-year.morning,2.7930000000000006 -2025,2,electricity,all-year.afternoon,-1.1172000000000002 -2025,2,heat,all-year.afternoon,2.7930000000000006 -2025,2,electricity,all-year.early-peak,-1.1172000000000002 -2025,2,heat,all-year.early-peak,2.7930000000000006 +2025,2,electricity,all-year.night,-0.532 +2025,2,heat,all-year.night,1.33 +2025,2,electricity,all-year.morning,-0.798 +2025,2,heat,all-year.morning,1.995 +2025,2,electricity,all-year.afternoon,-0.532 +2025,2,heat,all-year.afternoon,1.33 +2025,2,electricity,all-year.early-peak,-0.798 +2025,2,heat,all-year.early-peak,1.995 2025,2,electricity,all-year.late-peak,-1.1172000000000002 2025,2,heat,all-year.late-peak,2.7930000000000006 -2025,2,electricity,all-year.evening,-1.1172000000000002 -2025,2,heat,all-year.evening,2.7930000000000006 -2025,3,wind,all-year.night,-1.1171999999999997 -2025,3,electricity,all-year.night,1.1171999999999997 -2025,3,wind,all-year.morning,-1.1171999999999997 -2025,3,electricity,all-year.morning,1.1171999999999997 -2025,3,wind,all-year.afternoon,-1.1171999999999997 -2025,3,electricity,all-year.afternoon,1.1171999999999997 -2025,3,wind,all-year.early-peak,-1.1171999999999997 -2025,3,electricity,all-year.early-peak,1.1171999999999997 -2025,3,wind,all-year.late-peak,-1.1171999999999997 -2025,3,electricity,all-year.late-peak,1.1171999999999997 -2025,3,wind,all-year.evening,-1.1171999999999997 -2025,3,electricity,all-year.evening,1.1171999999999997 -2030,0,gas,all-year.night,-0.0 -2030,0,gas,all-year.morning,-0.0 -2030,0,gas,all-year.afternoon,-0.0 -2030,0,gas,all-year.early-peak,-0.0 -2030,0,gas,all-year.late-peak,1.4609160000000008 -2030,0,gas,all-year.evening,0.3520360000000008 +2025,2,electricity,all-year.evening,-1.064 +2025,2,heat,all-year.evening,2.66 +2025,3,wind,all-year.night,-0.532 +2025,3,electricity,all-year.night,0.532 +2025,3,wind,all-year.morning,-0.798 +2025,3,electricity,all-year.morning,0.798 +2025,3,wind,all-year.afternoon,-0.532 +2025,3,electricity,all-year.afternoon,0.532 +2025,3,wind,all-year.early-peak,-0.0 +2025,3,electricity,all-year.early-peak,0.0 +2025,3,wind,all-year.late-peak,-0.22344000000000008 +2025,3,electricity,all-year.late-peak,0.22344000000000008 +2025,3,wind,all-year.evening,-0.5958399999999999 +2025,3,electricity,all-year.evening,0.5958399999999999 +2025,4,gas,all-year.night,0.0 +2025,4,electricity,all-year.night,-0.0 +2025,4,CO2f,all-year.night,-0.0 +2025,4,gas,all-year.morning,0.0 +2025,4,electricity,all-year.morning,-0.0 +2025,4,CO2f,all-year.morning,-0.0 +2025,4,gas,all-year.afternoon,0.0 +2025,4,electricity,all-year.afternoon,-0.0 +2025,4,CO2f,all-year.afternoon,-0.0 +2025,4,gas,all-year.early-peak,-1.33266 +2025,4,electricity,all-year.early-peak,0.798 +2025,4,CO2f,all-year.early-peak,73.15266000000001 +2025,4,gas,all-year.late-peak,-1.4925792000000002 +2025,4,electricity,all-year.late-peak,0.8937600000000001 +2025,4,CO2f,all-year.late-peak,81.93097920000001 +2025,4,gas,all-year.evening,-0.7818272000000002 +2025,4,electricity,all-year.evening,0.46816000000000013 +2025,4,CO2f,all-year.evening,42.916227200000016 2030,2,electricity,all-year.night,-0.0 2030,2,heat,all-year.night,0.0 2030,2,electricity,all-year.morning,-0.12120000000000015 @@ -89,54 +101,60 @@ milestone_year,asset_id,commodity_id,time_slice,flow 2030,2,heat,all-year.late-peak,2.7930000000000006 2030,2,electricity,all-year.evening,-0.4532000000000002 2030,2,heat,all-year.evening,1.1330000000000005 -2030,3,wind,all-year.night,-1.1171999999999997 -2030,3,electricity,all-year.night,1.1171999999999997 -2030,3,wind,all-year.morning,-1.1171999999999997 -2030,3,electricity,all-year.morning,1.1171999999999997 -2030,3,wind,all-year.afternoon,-1.1171999999999997 -2030,3,electricity,all-year.afternoon,1.1171999999999997 -2030,3,wind,all-year.early-peak,-1.1171999999999997 -2030,3,electricity,all-year.early-peak,1.1171999999999997 -2030,3,wind,all-year.late-peak,-1.1171999999999997 -2030,3,electricity,all-year.late-peak,1.1171999999999997 -2030,3,wind,all-year.evening,-1.1171999999999997 -2030,3,electricity,all-year.evening,1.1171999999999997 -2030,4,electricity,all-year.night,-0.6640000000000001 -2030,4,heat,all-year.night,1.6600000000000001 -2030,4,electricity,all-year.morning,-0.8748 -2030,4,heat,all-year.morning,2.187 -2030,4,electricity,all-year.afternoon,-0.6640000000000001 -2030,4,heat,all-year.afternoon,1.6600000000000001 -2030,4,electricity,all-year.early-peak,-0.8748 -2030,4,heat,all-year.early-peak,2.187 -2030,4,electricity,all-year.late-peak,-0.8748 -2030,4,heat,all-year.late-peak,2.187 -2030,4,electricity,all-year.evening,-0.8748 -2030,4,heat,all-year.evening,2.187 -2030,5,gas,all-year.night,-0.0 -2030,5,electricity,all-year.night,0.0 -2030,5,CO2f,all-year.night,0.0 -2030,5,gas,all-year.morning,-0.0 -2030,5,electricity,all-year.morning,0.0 -2030,5,CO2f,all-year.morning,0.0 -2030,5,gas,all-year.afternoon,-0.0 -2030,5,electricity,all-year.afternoon,0.0 -2030,5,CO2f,all-year.afternoon,0.0 -2030,5,gas,all-year.early-peak,-0.0 -2030,5,electricity,all-year.early-peak,0.0 -2030,5,CO2f,all-year.early-peak,0.0 -2030,5,gas,all-year.late-peak,-1.4609160000000008 -2030,5,electricity,all-year.late-peak,0.8748000000000005 -2030,5,CO2f,all-year.late-peak,80.19291600000004 -2030,5,gas,all-year.evening,-0.3520360000000008 -2030,5,electricity,all-year.evening,0.2108000000000005 -2030,5,CO2f,all-year.evening,19.324036000000046 -2035,0,gas,all-year.night,-0.0 -2035,0,gas,all-year.morning,-0.0 -2035,0,gas,all-year.afternoon,-0.0 -2035,0,gas,all-year.early-peak,-0.0 -2035,0,gas,all-year.late-peak,1.7414760000000005 -2035,0,gas,all-year.evening,0.4054760000000006 +2030,3,wind,all-year.night,-0.6640000000000001 +2030,3,electricity,all-year.night,0.6640000000000001 +2030,3,wind,all-year.morning,-0.9960000000000002 +2030,3,electricity,all-year.morning,0.9960000000000002 +2030,3,wind,all-year.afternoon,-0.6640000000000001 +2030,3,electricity,all-year.afternoon,0.6640000000000001 +2030,3,wind,all-year.early-peak,-0.0 +2030,3,electricity,all-year.early-peak,0.0 +2030,3,wind,all-year.late-peak,-0.0 +2030,3,electricity,all-year.late-peak,0.0 +2030,3,wind,all-year.evening,-0.3572799999999996 +2030,3,electricity,all-year.evening,0.3572799999999996 +2030,4,gas,all-year.night,-0.0 +2030,4,electricity,all-year.night,0.0 +2030,4,CO2f,all-year.night,0.0 +2030,4,gas,all-year.morning,-0.0 +2030,4,electricity,all-year.morning,0.0 +2030,4,CO2f,all-year.morning,0.0 +2030,4,gas,all-year.afternoon,-0.0 +2030,4,electricity,all-year.afternoon,0.0 +2030,4,CO2f,all-year.afternoon,0.0 +2030,4,gas,all-year.early-peak,-0.0 +2030,4,electricity,all-year.early-peak,0.0 +2030,4,CO2f,all-year.early-peak,0.0 +2030,4,gas,all-year.late-peak,-0.0 +2030,4,electricity,all-year.late-peak,0.0 +2030,4,CO2f,all-year.late-peak,0.0 +2030,4,gas,all-year.evening,-0.0 +2030,4,electricity,all-year.evening,0.0 +2030,4,CO2f,all-year.evening,0.0 +2030,5,electricity,all-year.night,-0.6640000000000001 +2030,5,heat,all-year.night,1.6600000000000001 +2030,5,electricity,all-year.morning,-0.8748 +2030,5,heat,all-year.morning,2.187 +2030,5,electricity,all-year.afternoon,-0.6640000000000001 +2030,5,heat,all-year.afternoon,1.6600000000000001 +2030,5,electricity,all-year.early-peak,-0.8748 +2030,5,heat,all-year.early-peak,2.187 +2030,5,electricity,all-year.late-peak,-0.8748 +2030,5,heat,all-year.late-peak,2.187 +2030,5,electricity,all-year.evening,-0.8748 +2030,5,heat,all-year.evening,2.187 +2030,6,wind,all-year.night,-0.0 +2030,6,electricity,all-year.night,0.0 +2030,6,wind,all-year.morning,-0.0 +2030,6,electricity,all-year.morning,0.0 +2030,6,wind,all-year.afternoon,-0.0 +2030,6,electricity,all-year.afternoon,0.0 +2030,6,wind,all-year.early-peak,-0.9960000000000002 +2030,6,electricity,all-year.early-peak,0.9960000000000002 +2030,6,wind,all-year.late-peak,-1.9920000000000002 +2030,6,electricity,all-year.late-peak,1.9920000000000002 +2030,6,wind,all-year.evening,-0.9707200000000007 +2030,6,electricity,all-year.evening,0.9707200000000007 2035,2,electricity,all-year.night,-0.0 2035,2,heat,all-year.night,0.0 2035,2,electricity,all-year.morning,-0.0 @@ -149,96 +167,84 @@ milestone_year,asset_id,commodity_id,time_slice,flow 2035,2,heat,all-year.late-peak,2.7930000000000006 2035,2,electricity,all-year.evening,-0.31720000000000026 2035,2,heat,all-year.evening,0.7930000000000006 -2035,3,wind,all-year.night,-1.1171999999999997 -2035,3,electricity,all-year.night,1.1171999999999997 -2035,3,wind,all-year.morning,-1.1171999999999997 -2035,3,electricity,all-year.morning,1.1171999999999997 -2035,3,wind,all-year.afternoon,-1.1171999999999997 -2035,3,electricity,all-year.afternoon,1.1171999999999997 -2035,3,wind,all-year.early-peak,-1.1171999999999997 -2035,3,electricity,all-year.early-peak,1.1171999999999997 -2035,3,wind,all-year.late-peak,-1.1171999999999997 -2035,3,electricity,all-year.late-peak,1.1171999999999997 -2035,3,wind,all-year.evening,-1.1171999999999997 -2035,3,electricity,all-year.evening,1.1171999999999997 -2035,4,electricity,all-year.night,-0.3920000000000002 -2035,4,heat,all-year.night,0.9800000000000004 -2035,4,electricity,all-year.morning,-0.7920000000000003 -2035,4,heat,all-year.morning,1.9800000000000004 -2035,4,electricity,all-year.afternoon,-0.3920000000000002 -2035,4,heat,all-year.afternoon,0.9800000000000004 -2035,4,electricity,all-year.early-peak,-0.7920000000000003 -2035,4,heat,all-year.early-peak,1.9800000000000004 -2035,4,electricity,all-year.late-peak,-0.8748 -2035,4,heat,all-year.late-peak,2.187 -2035,4,electricity,all-year.evening,-0.8748 -2035,4,heat,all-year.evening,2.187 -2035,5,gas,all-year.night,-0.0 -2035,5,electricity,all-year.night,0.0 -2035,5,CO2f,all-year.night,0.0 -2035,5,gas,all-year.morning,-0.0 -2035,5,electricity,all-year.morning,0.0 -2035,5,CO2f,all-year.morning,0.0 -2035,5,gas,all-year.afternoon,-0.0 -2035,5,electricity,all-year.afternoon,0.0 -2035,5,CO2f,all-year.afternoon,0.0 -2035,5,gas,all-year.early-peak,-0.0 -2035,5,electricity,all-year.early-peak,0.0 -2035,5,CO2f,all-year.early-peak,0.0 -2035,5,gas,all-year.late-peak,-1.460916 -2035,5,electricity,all-year.late-peak,0.8748000000000001 -2035,5,CO2f,all-year.late-peak,80.19291600000001 -2035,5,gas,all-year.evening,-0.12491600000000033 -2035,5,electricity,all-year.evening,0.0748000000000002 -2035,5,CO2f,all-year.evening,6.856916000000019 -2035,6,electricity,all-year.night,-0.40799999999999986 -2035,6,heat,all-year.night,1.0199999999999996 -2035,6,electricity,all-year.morning,-0.40799999999999986 -2035,6,heat,all-year.morning,1.0199999999999996 -2035,6,electricity,all-year.afternoon,-0.40799999999999986 -2035,6,heat,all-year.afternoon,1.0199999999999996 -2035,6,electricity,all-year.early-peak,-0.40799999999999986 -2035,6,heat,all-year.early-peak,1.0199999999999996 -2035,6,electricity,all-year.late-peak,-0.40799999999999986 -2035,6,heat,all-year.late-peak,1.0199999999999996 -2035,6,electricity,all-year.evening,-0.40799999999999986 -2035,6,heat,all-year.evening,1.0199999999999996 -2035,7,wind,all-year.night,-0.24000000000000005 -2035,7,electricity,all-year.night,0.24000000000000005 -2035,7,wind,all-year.morning,-0.24000000000000005 -2035,7,electricity,all-year.morning,0.24000000000000005 -2035,7,wind,all-year.afternoon,-0.24000000000000005 -2035,7,electricity,all-year.afternoon,0.24000000000000005 -2035,7,wind,all-year.early-peak,-0.24000000000000005 -2035,7,electricity,all-year.early-peak,0.24000000000000005 -2035,7,wind,all-year.late-peak,-0.24000000000000005 -2035,7,electricity,all-year.late-peak,0.24000000000000005 -2035,7,wind,all-year.evening,-0.24000000000000005 -2035,7,electricity,all-year.evening,0.24000000000000005 -2035,8,gas,all-year.night,-0.0 -2035,8,electricity,all-year.night,0.0 -2035,8,CO2f,all-year.night,0.0 -2035,8,gas,all-year.morning,-0.0 +2035,3,wind,all-year.night,-0.0 +2035,3,electricity,all-year.night,0.0 +2035,3,wind,all-year.morning,-1.1172 +2035,3,electricity,all-year.morning,1.1172 +2035,3,wind,all-year.afternoon,-0.0 +2035,3,electricity,all-year.afternoon,0.0 +2035,3,wind,all-year.early-peak,-1.1172 +2035,3,electricity,all-year.early-peak,1.1172 +2035,3,wind,all-year.late-peak,-0.0 +2035,3,electricity,all-year.late-peak,0.0 +2035,3,wind,all-year.evening,-0.0 +2035,3,electricity,all-year.evening,0.0 +2035,4,gas,all-year.night,-0.0 +2035,4,electricity,all-year.night,0.0 +2035,4,CO2f,all-year.night,0.0 +2035,4,gas,all-year.morning,-0.0 +2035,4,electricity,all-year.morning,0.0 +2035,4,CO2f,all-year.morning,0.0 +2035,4,gas,all-year.afternoon,-0.0 +2035,4,electricity,all-year.afternoon,0.0 +2035,4,CO2f,all-year.afternoon,0.0 +2035,4,gas,all-year.early-peak,-0.0 +2035,4,electricity,all-year.early-peak,0.0 +2035,4,CO2f,all-year.early-peak,0.0 +2035,4,gas,all-year.late-peak,-0.0 +2035,4,electricity,all-year.late-peak,0.0 +2035,4,CO2f,all-year.late-peak,0.0 +2035,4,gas,all-year.evening,-0.0 +2035,4,electricity,all-year.evening,0.0 +2035,4,CO2f,all-year.evening,0.0 +2035,5,electricity,all-year.night,-0.3920000000000002 +2035,5,heat,all-year.night,0.9800000000000004 +2035,5,electricity,all-year.morning,-0.7920000000000003 +2035,5,heat,all-year.morning,1.9800000000000004 +2035,5,electricity,all-year.afternoon,-0.3920000000000002 +2035,5,heat,all-year.afternoon,0.9800000000000004 +2035,5,electricity,all-year.early-peak,-0.7920000000000003 +2035,5,heat,all-year.early-peak,1.9800000000000004 +2035,5,electricity,all-year.late-peak,-0.8748 +2035,5,heat,all-year.late-peak,2.187 +2035,5,electricity,all-year.evening,-0.8748 +2035,5,heat,all-year.evening,2.187 +2035,6,wind,all-year.night,-0.0 +2035,6,electricity,all-year.night,0.0 +2035,6,wind,all-year.morning,-0.08280000000000015 +2035,6,electricity,all-year.morning,0.08280000000000015 +2035,6,wind,all-year.afternoon,-0.0 +2035,6,electricity,all-year.afternoon,0.0 +2035,6,wind,all-year.early-peak,-0.08280000000000015 +2035,6,electricity,all-year.early-peak,0.08280000000000015 +2035,6,wind,all-year.late-peak,-1.9919999999999998 +2035,6,electricity,all-year.late-peak,1.9919999999999998 +2035,6,wind,all-year.evening,-0.0 +2035,6,electricity,all-year.evening,0.0 +2035,7,electricity,all-year.night,-0.40799999999999986 +2035,7,heat,all-year.night,1.0199999999999996 +2035,7,electricity,all-year.morning,-0.40799999999999986 +2035,7,heat,all-year.morning,1.0199999999999996 +2035,7,electricity,all-year.afternoon,-0.40799999999999986 +2035,7,heat,all-year.afternoon,1.0199999999999996 +2035,7,electricity,all-year.early-peak,-0.40799999999999986 +2035,7,heat,all-year.early-peak,1.0199999999999996 +2035,7,electricity,all-year.late-peak,-0.40799999999999986 +2035,7,heat,all-year.late-peak,1.0199999999999996 +2035,7,electricity,all-year.evening,-0.40799999999999986 +2035,7,heat,all-year.evening,1.0199999999999996 +2035,8,wind,all-year.night,-0.8 +2035,8,electricity,all-year.night,0.8 +2035,8,wind,all-year.morning,-0.0 2035,8,electricity,all-year.morning,0.0 -2035,8,CO2f,all-year.morning,0.0 -2035,8,gas,all-year.afternoon,-0.0 -2035,8,electricity,all-year.afternoon,0.0 -2035,8,CO2f,all-year.afternoon,0.0 -2035,8,gas,all-year.early-peak,-0.0 +2035,8,wind,all-year.afternoon,-0.8 +2035,8,electricity,all-year.afternoon,0.8 +2035,8,wind,all-year.early-peak,-0.0 2035,8,electricity,all-year.early-peak,0.0 -2035,8,CO2f,all-year.early-peak,0.0 -2035,8,gas,all-year.late-peak,-0.28056000000000025 -2035,8,electricity,all-year.late-peak,0.16800000000000015 -2035,8,CO2f,all-year.late-peak,15.400560000000015 -2035,8,gas,all-year.evening,-0.28056000000000025 -2035,8,electricity,all-year.evening,0.16800000000000015 -2035,8,CO2f,all-year.evening,15.400560000000015 -2040,0,gas,all-year.night,-0.0 -2040,0,gas,all-year.morning,-0.0 -2040,0,gas,all-year.afternoon,-0.0 -2040,0,gas,all-year.early-peak,-0.0 -2040,0,gas,all-year.late-peak,1.4689320000000006 -2040,0,gas,all-year.evening,-0.0 +2035,8,wind,all-year.late-peak,-0.4080000000000003 +2035,8,electricity,all-year.late-peak,0.4080000000000003 +2035,8,wind,all-year.evening,-1.6 +2035,8,electricity,all-year.evening,1.6 2040,2,electricity,all-year.night,-0.0 2040,2,heat,all-year.night,0.0 2040,2,electricity,all-year.morning,-0.0 @@ -247,124 +253,94 @@ milestone_year,asset_id,commodity_id,time_slice,flow 2040,2,heat,all-year.afternoon,0.0 2040,2,electricity,all-year.early-peak,-0.0 2040,2,heat,all-year.early-peak,0.0 -2040,2,electricity,all-year.late-peak,-0.9540000000000005 -2040,2,heat,all-year.late-peak,2.385000000000001 -2040,2,electricity,all-year.evening,-0.02200000000000024 -2040,2,heat,all-year.evening,0.055000000000000604 -2040,3,wind,all-year.night,-1.1171999999999997 -2040,3,electricity,all-year.night,1.1171999999999997 -2040,3,wind,all-year.morning,-1.1171999999999997 -2040,3,electricity,all-year.morning,1.1171999999999997 -2040,3,wind,all-year.afternoon,-1.1171999999999997 -2040,3,electricity,all-year.afternoon,1.1171999999999997 -2040,3,wind,all-year.early-peak,-1.1171999999999997 -2040,3,electricity,all-year.early-peak,1.1171999999999997 -2040,3,wind,all-year.late-peak,-1.1171999999999997 -2040,3,electricity,all-year.late-peak,1.1171999999999997 -2040,3,wind,all-year.evening,-1.1171999999999997 -2040,3,electricity,all-year.evening,1.1171999999999997 -2040,4,electricity,all-year.night,-0.0 -2040,4,heat,all-year.night,0.0 -2040,4,electricity,all-year.morning,-0.4308000000000002 -2040,4,heat,all-year.morning,1.0770000000000004 -2040,4,electricity,all-year.afternoon,-0.0 -2040,4,heat,all-year.afternoon,0.0 -2040,4,electricity,all-year.early-peak,-0.4308000000000002 -2040,4,heat,all-year.early-peak,1.0770000000000004 -2040,4,electricity,all-year.late-peak,-0.8748 -2040,4,heat,all-year.late-peak,2.187 -2040,4,electricity,all-year.evening,-0.8748 -2040,4,heat,all-year.evening,2.187 -2040,5,gas,all-year.night,-0.0 -2040,5,electricity,all-year.night,0.0 -2040,5,CO2f,all-year.night,0.0 -2040,5,gas,all-year.morning,-0.0 -2040,5,electricity,all-year.morning,0.0 -2040,5,CO2f,all-year.morning,0.0 -2040,5,gas,all-year.afternoon,-0.0 -2040,5,electricity,all-year.afternoon,0.0 -2040,5,CO2f,all-year.afternoon,0.0 -2040,5,gas,all-year.early-peak,-0.0 -2040,5,electricity,all-year.early-peak,0.0 -2040,5,CO2f,all-year.early-peak,0.0 -2040,5,gas,all-year.late-peak,-1.1883720000000004 -2040,5,electricity,all-year.late-peak,0.7116000000000003 -2040,5,CO2f,all-year.late-peak,65.23237200000003 -2040,5,gas,all-year.evening,-0.0 -2040,5,electricity,all-year.evening,0.0 -2040,5,CO2f,all-year.evening,0.0 -2040,6,electricity,all-year.night,-0.3728 -2040,6,heat,all-year.night,0.9319999999999999 -2040,6,electricity,all-year.morning,-0.40799999999999986 -2040,6,heat,all-year.morning,1.0199999999999996 -2040,6,electricity,all-year.afternoon,-0.3728 -2040,6,heat,all-year.afternoon,0.9319999999999999 -2040,6,electricity,all-year.early-peak,-0.40799999999999986 -2040,6,heat,all-year.early-peak,1.0199999999999996 -2040,6,electricity,all-year.late-peak,-0.40799999999999986 -2040,6,heat,all-year.late-peak,1.0199999999999996 -2040,6,electricity,all-year.evening,-0.40799999999999986 -2040,6,heat,all-year.evening,1.0199999999999996 -2040,7,wind,all-year.night,-0.24000000000000005 -2040,7,electricity,all-year.night,0.24000000000000005 -2040,7,wind,all-year.morning,-0.24000000000000005 -2040,7,electricity,all-year.morning,0.24000000000000005 -2040,7,wind,all-year.afternoon,-0.24000000000000005 -2040,7,electricity,all-year.afternoon,0.24000000000000005 -2040,7,wind,all-year.early-peak,-0.24000000000000005 -2040,7,electricity,all-year.early-peak,0.24000000000000005 -2040,7,wind,all-year.late-peak,-0.24000000000000005 -2040,7,electricity,all-year.late-peak,0.24000000000000005 -2040,7,wind,all-year.evening,-0.24000000000000005 -2040,7,electricity,all-year.evening,0.24000000000000005 -2040,8,gas,all-year.night,-0.0 +2040,2,electricity,all-year.late-peak,-1.1172000000000002 +2040,2,heat,all-year.late-peak,2.7930000000000006 +2040,2,electricity,all-year.evening,-0.18520000000000023 +2040,2,heat,all-year.evening,0.4630000000000005 +2040,3,wind,all-year.night,-0.0 +2040,3,electricity,all-year.night,0.0 +2040,3,wind,all-year.morning,-0.0 +2040,3,electricity,all-year.morning,0.0 +2040,3,wind,all-year.afternoon,-0.0 +2040,3,electricity,all-year.afternoon,0.0 +2040,3,wind,all-year.early-peak,-0.0 +2040,3,electricity,all-year.early-peak,0.0 +2040,3,wind,all-year.late-peak,-0.6360000000000001 +2040,3,electricity,all-year.late-peak,0.6360000000000001 +2040,3,wind,all-year.evening,-0.0 +2040,3,electricity,all-year.evening,0.0 +2040,5,electricity,all-year.night,-0.1280000000000001 +2040,5,heat,all-year.night,0.3200000000000003 +2040,5,electricity,all-year.morning,-0.5940000000000002 +2040,5,heat,all-year.morning,1.4850000000000003 +2040,5,electricity,all-year.afternoon,-0.1280000000000001 +2040,5,heat,all-year.afternoon,0.3200000000000003 +2040,5,electricity,all-year.early-peak,-0.5940000000000002 +2040,5,heat,all-year.early-peak,1.4850000000000003 +2040,5,electricity,all-year.late-peak,-0.8748 +2040,5,heat,all-year.late-peak,2.187 +2040,5,electricity,all-year.evening,-0.8748 +2040,5,heat,all-year.evening,2.187 +2040,6,wind,all-year.night,-0.9320000000000002 +2040,6,electricity,all-year.night,0.9320000000000002 +2040,6,wind,all-year.morning,-1.3980000000000001 +2040,6,electricity,all-year.morning,1.3980000000000001 +2040,6,wind,all-year.afternoon,-0.0 +2040,6,electricity,all-year.afternoon,0.0 +2040,6,wind,all-year.early-peak,-0.11520000000000002 +2040,6,electricity,all-year.early-peak,0.11520000000000002 +2040,6,wind,all-year.late-peak,-0.0 +2040,6,electricity,all-year.late-peak,0.0 +2040,6,wind,all-year.evening,-1.8640000000000003 +2040,6,electricity,all-year.evening,1.8640000000000003 +2040,7,electricity,all-year.night,-0.40799999999999986 +2040,7,heat,all-year.night,1.0199999999999996 +2040,7,electricity,all-year.morning,-0.40799999999999986 +2040,7,heat,all-year.morning,1.0199999999999996 +2040,7,electricity,all-year.afternoon,-0.40799999999999986 +2040,7,heat,all-year.afternoon,1.0199999999999996 +2040,7,electricity,all-year.early-peak,-0.40799999999999986 +2040,7,heat,all-year.early-peak,1.0199999999999996 +2040,7,electricity,all-year.late-peak,-0.40799999999999986 +2040,7,heat,all-year.late-peak,1.0199999999999996 +2040,7,electricity,all-year.evening,-0.40799999999999986 +2040,7,heat,all-year.evening,1.0199999999999996 +2040,8,wind,all-year.night,-0.0 2040,8,electricity,all-year.night,0.0 -2040,8,CO2f,all-year.night,0.0 -2040,8,gas,all-year.morning,-0.0 +2040,8,wind,all-year.morning,-0.0 2040,8,electricity,all-year.morning,0.0 -2040,8,CO2f,all-year.morning,0.0 -2040,8,gas,all-year.afternoon,-0.0 -2040,8,electricity,all-year.afternoon,0.0 -2040,8,CO2f,all-year.afternoon,0.0 -2040,8,gas,all-year.early-peak,-0.0 +2040,8,wind,all-year.afternoon,-0.9320000000000002 +2040,8,electricity,all-year.afternoon,0.9320000000000002 +2040,8,wind,all-year.early-peak,-0.0 2040,8,electricity,all-year.early-peak,0.0 -2040,8,CO2f,all-year.early-peak,0.0 -2040,8,gas,all-year.late-peak,-0.28056000000000025 -2040,8,electricity,all-year.late-peak,0.16800000000000015 -2040,8,CO2f,all-year.late-peak,15.400560000000015 -2040,8,gas,all-year.evening,-0.0 +2040,8,wind,all-year.late-peak,-2.16 +2040,8,electricity,all-year.late-peak,2.16 +2040,8,wind,all-year.evening,-0.0 2040,8,electricity,all-year.evening,0.0 -2040,8,CO2f,all-year.evening,0.0 -2040,9,electricity,all-year.night,-0.5592 -2040,9,heat,all-year.night,1.3980000000000001 -2040,9,electricity,all-year.morning,-0.5592 -2040,9,heat,all-year.morning,1.3980000000000001 -2040,9,electricity,all-year.afternoon,-0.5592 -2040,9,heat,all-year.afternoon,1.3980000000000001 -2040,9,electricity,all-year.early-peak,-0.5592 -2040,9,heat,all-year.early-peak,1.3980000000000001 -2040,9,electricity,all-year.late-peak,-0.5592 -2040,9,heat,all-year.late-peak,1.3980000000000001 -2040,9,electricity,all-year.evening,-0.5592 -2040,9,heat,all-year.evening,1.3980000000000001 -2040,10,wind,all-year.night,-0.5592000000000001 -2040,10,electricity,all-year.night,0.5592000000000001 -2040,10,wind,all-year.morning,-0.5592000000000001 -2040,10,electricity,all-year.morning,0.5592000000000001 -2040,10,wind,all-year.afternoon,-0.5592000000000001 -2040,10,electricity,all-year.afternoon,0.5592000000000001 -2040,10,wind,all-year.early-peak,-0.5592000000000001 -2040,10,electricity,all-year.early-peak,0.5592000000000001 -2040,10,wind,all-year.late-peak,-0.5592000000000001 -2040,10,electricity,all-year.late-peak,0.5592000000000001 -2040,10,wind,all-year.evening,-0.5592000000000001 -2040,10,electricity,all-year.evening,0.5592000000000001 -2045,0,gas,all-year.night,-0.0 -2045,0,gas,all-year.morning,-0.0 -2045,0,gas,all-year.afternoon,-0.0 -2045,0,gas,all-year.early-peak,-0.0 -2045,0,gas,all-year.late-peak,1.597188000000001 -2045,0,gas,all-year.evening,-0.0 +2040,9,electricity,all-year.night,-0.39600000000000013 +2040,9,heat,all-year.night,0.9900000000000002 +2040,9,electricity,all-year.morning,-0.39600000000000013 +2040,9,heat,all-year.morning,0.9900000000000002 +2040,9,electricity,all-year.afternoon,-0.39600000000000013 +2040,9,heat,all-year.afternoon,0.9900000000000002 +2040,9,electricity,all-year.early-peak,-0.39600000000000013 +2040,9,heat,all-year.early-peak,0.9900000000000002 +2040,9,electricity,all-year.late-peak,-0.39600000000000013 +2040,9,heat,all-year.late-peak,0.9900000000000002 +2040,9,electricity,all-year.evening,-0.39600000000000013 +2040,9,heat,all-year.evening,0.9900000000000002 +2040,10,wind,all-year.night,-0.0 +2040,10,electricity,all-year.night,0.0 +2040,10,wind,all-year.morning,-0.0 +2040,10,electricity,all-year.morning,0.0 +2040,10,wind,all-year.afternoon,-0.0 +2040,10,electricity,all-year.afternoon,0.0 +2040,10,wind,all-year.early-peak,-1.2828000000000002 +2040,10,electricity,all-year.early-peak,1.2828000000000002 +2040,10,wind,all-year.late-peak,-0.0 +2040,10,electricity,all-year.late-peak,0.0 +2040,10,wind,all-year.evening,-0.0 +2040,10,electricity,all-year.evening,0.0 2045,2,electricity,all-year.night,-0.0 2045,2,heat,all-year.night,0.0 2045,2,electricity,all-year.morning,-0.0 @@ -373,148 +349,118 @@ milestone_year,asset_id,commodity_id,time_slice,flow 2045,2,heat,all-year.afternoon,0.0 2045,2,electricity,all-year.early-peak,-0.0 2045,2,heat,all-year.early-peak,0.0 -2045,2,electricity,all-year.late-peak,-1.0308000000000006 -2045,2,heat,all-year.late-peak,2.5770000000000013 -2045,2,electricity,all-year.evening,-0.0 -2045,2,heat,all-year.evening,0.0 -2045,3,wind,all-year.night,-1.1171999999999997 -2045,3,electricity,all-year.night,1.1171999999999997 -2045,3,wind,all-year.morning,-1.1171999999999997 -2045,3,electricity,all-year.morning,1.1171999999999997 -2045,3,wind,all-year.afternoon,-1.1171999999999997 -2045,3,electricity,all-year.afternoon,1.1171999999999997 -2045,3,wind,all-year.early-peak,-1.1171999999999997 -2045,3,electricity,all-year.early-peak,1.1171999999999997 -2045,3,wind,all-year.late-peak,-1.1171999999999997 -2045,3,electricity,all-year.late-peak,1.1171999999999997 -2045,3,wind,all-year.evening,-1.1171999999999997 -2045,3,electricity,all-year.evening,1.1171999999999997 -2045,4,electricity,all-year.night,-0.0 -2045,4,heat,all-year.night,0.0 -2045,4,electricity,all-year.morning,-0.3096000000000002 -2045,4,heat,all-year.morning,0.7740000000000005 -2045,4,electricity,all-year.afternoon,-0.0 -2045,4,heat,all-year.afternoon,0.0 -2045,4,electricity,all-year.early-peak,-0.3096000000000002 -2045,4,heat,all-year.early-peak,0.7740000000000005 -2045,4,electricity,all-year.late-peak,-0.8748 -2045,4,heat,all-year.late-peak,2.187 -2045,4,electricity,all-year.evening,-0.8416000000000002 -2045,4,heat,all-year.evening,2.1040000000000005 -2045,5,gas,all-year.night,-0.0 -2045,5,electricity,all-year.night,0.0 -2045,5,CO2f,all-year.night,0.0 -2045,5,gas,all-year.morning,-0.0 -2045,5,electricity,all-year.morning,0.0 -2045,5,CO2f,all-year.morning,0.0 -2045,5,gas,all-year.afternoon,-0.0 -2045,5,electricity,all-year.afternoon,0.0 -2045,5,CO2f,all-year.afternoon,0.0 -2045,5,gas,all-year.early-peak,-0.0 -2045,5,electricity,all-year.early-peak,0.0 -2045,5,CO2f,all-year.early-peak,0.0 -2045,5,gas,all-year.late-peak,-1.3166280000000006 -2045,5,electricity,all-year.late-peak,0.7884000000000004 -2045,5,CO2f,all-year.late-peak,72.27262800000004 -2045,5,gas,all-year.evening,-0.0 -2045,5,electricity,all-year.evening,0.0 -2045,5,CO2f,all-year.evening,0.0 -2045,6,electricity,all-year.night,-0.1856 -2045,6,heat,all-year.night,0.46399999999999997 -2045,6,electricity,all-year.morning,-0.40799999999999986 -2045,6,heat,all-year.morning,1.0199999999999996 -2045,6,electricity,all-year.afternoon,-0.1856 -2045,6,heat,all-year.afternoon,0.46399999999999997 -2045,6,electricity,all-year.early-peak,-0.40799999999999986 -2045,6,heat,all-year.early-peak,1.0199999999999996 -2045,6,electricity,all-year.late-peak,-0.40799999999999986 -2045,6,heat,all-year.late-peak,1.0199999999999996 -2045,6,electricity,all-year.evening,-0.40799999999999986 -2045,6,heat,all-year.evening,1.0199999999999996 -2045,7,wind,all-year.night,-0.24000000000000005 -2045,7,electricity,all-year.night,0.24000000000000005 -2045,7,wind,all-year.morning,-0.24000000000000005 -2045,7,electricity,all-year.morning,0.24000000000000005 -2045,7,wind,all-year.afternoon,-0.24000000000000005 -2045,7,electricity,all-year.afternoon,0.24000000000000005 -2045,7,wind,all-year.early-peak,-0.24000000000000005 -2045,7,electricity,all-year.early-peak,0.24000000000000005 -2045,7,wind,all-year.late-peak,-0.24000000000000005 -2045,7,electricity,all-year.late-peak,0.24000000000000005 -2045,7,wind,all-year.evening,-0.24000000000000005 -2045,7,electricity,all-year.evening,0.24000000000000005 -2045,8,gas,all-year.night,-0.0 +2045,2,electricity,all-year.late-peak,-1.1172000000000002 +2045,2,heat,all-year.late-peak,2.7930000000000006 +2045,2,electricity,all-year.evening,-0.053200000000000185 +2045,2,heat,all-year.evening,0.13300000000000045 +2045,3,wind,all-year.night,-0.0 +2045,3,electricity,all-year.night,0.0 +2045,3,wind,all-year.morning,-1.1172 +2045,3,electricity,all-year.morning,1.1172 +2045,3,wind,all-year.afternoon,-0.0 +2045,3,electricity,all-year.afternoon,0.0 +2045,3,wind,all-year.early-peak,-0.44688000000000017 +2045,3,electricity,all-year.early-peak,0.44688000000000017 +2045,3,wind,all-year.late-peak,-0.0 +2045,3,electricity,all-year.late-peak,0.0 +2045,3,wind,all-year.evening,-1.1172 +2045,3,electricity,all-year.evening,1.1172 +2045,5,electricity,all-year.night,-0.0 +2045,5,heat,all-year.night,0.0 +2045,5,electricity,all-year.morning,-0.39600000000000013 +2045,5,heat,all-year.morning,0.9900000000000002 +2045,5,electricity,all-year.afternoon,-0.0 +2045,5,heat,all-year.afternoon,0.0 +2045,5,electricity,all-year.early-peak,-0.39600000000000013 +2045,5,heat,all-year.early-peak,0.9900000000000002 +2045,5,electricity,all-year.late-peak,-0.8748 +2045,5,heat,all-year.late-peak,2.187 +2045,5,electricity,all-year.evening,-0.8748 +2045,5,heat,all-year.evening,2.187 +2045,6,wind,all-year.night,-0.6975199999999983 +2045,6,electricity,all-year.night,0.6975199999999983 +2045,6,wind,all-year.morning,-0.0 +2045,6,electricity,all-year.morning,0.0 +2045,6,wind,all-year.afternoon,-0.0 +2045,6,electricity,all-year.afternoon,0.0 +2045,6,wind,all-year.early-peak,-1.1491200000000001 +2045,6,electricity,all-year.early-peak,1.1491200000000001 +2045,6,wind,all-year.late-peak,-0.0 +2045,6,electricity,all-year.late-peak,0.0 +2045,6,wind,all-year.evening,-0.0 +2045,6,electricity,all-year.evening,0.0 +2045,7,electricity,all-year.night,-0.2719999999999999 +2045,7,heat,all-year.night,0.6799999999999997 +2045,7,electricity,all-year.morning,-0.40799999999999986 +2045,7,heat,all-year.morning,1.0199999999999996 +2045,7,electricity,all-year.afternoon,-0.2719999999999999 +2045,7,heat,all-year.afternoon,0.6799999999999997 +2045,7,electricity,all-year.early-peak,-0.40799999999999986 +2045,7,heat,all-year.early-peak,1.0199999999999996 +2045,7,electricity,all-year.late-peak,-0.40799999999999986 +2045,7,heat,all-year.late-peak,1.0199999999999996 +2045,7,electricity,all-year.evening,-0.40799999999999986 +2045,7,heat,all-year.evening,1.0199999999999996 +2045,8,wind,all-year.night,-0.0 2045,8,electricity,all-year.night,0.0 -2045,8,CO2f,all-year.night,0.0 -2045,8,gas,all-year.morning,-0.0 -2045,8,electricity,all-year.morning,0.0 -2045,8,CO2f,all-year.morning,0.0 -2045,8,gas,all-year.afternoon,-0.0 +2045,8,wind,all-year.morning,-0.47880000000000034 +2045,8,electricity,all-year.morning,0.47880000000000034 +2045,8,wind,all-year.afternoon,-0.0 2045,8,electricity,all-year.afternoon,0.0 -2045,8,CO2f,all-year.afternoon,0.0 -2045,8,gas,all-year.early-peak,-0.0 +2045,8,wind,all-year.early-peak,-0.0 2045,8,electricity,all-year.early-peak,0.0 -2045,8,CO2f,all-year.early-peak,0.0 -2045,8,gas,all-year.late-peak,-0.28056000000000025 -2045,8,electricity,all-year.late-peak,0.16800000000000015 -2045,8,CO2f,all-year.late-peak,15.400560000000015 -2045,8,gas,all-year.evening,-0.0 +2045,8,wind,all-year.late-peak,-2.16 +2045,8,electricity,all-year.late-peak,2.16 +2045,8,wind,all-year.evening,-0.0 2045,8,electricity,all-year.evening,0.0 -2045,8,CO2f,all-year.evening,0.0 -2045,9,electricity,all-year.night,-0.5592 -2045,9,heat,all-year.night,1.3980000000000001 -2045,9,electricity,all-year.morning,-0.5592 -2045,9,heat,all-year.morning,1.3980000000000001 -2045,9,electricity,all-year.afternoon,-0.5592 -2045,9,heat,all-year.afternoon,1.3980000000000001 -2045,9,electricity,all-year.early-peak,-0.5592 -2045,9,heat,all-year.early-peak,1.3980000000000001 -2045,9,electricity,all-year.late-peak,-0.5592 -2045,9,heat,all-year.late-peak,1.3980000000000001 -2045,9,electricity,all-year.evening,-0.5592 -2045,9,heat,all-year.evening,1.3980000000000001 -2045,10,wind,all-year.night,-0.5592000000000001 -2045,10,electricity,all-year.night,0.5592000000000001 -2045,10,wind,all-year.morning,-0.5592000000000001 -2045,10,electricity,all-year.morning,0.5592000000000001 -2045,10,wind,all-year.afternoon,-0.5592000000000001 -2045,10,electricity,all-year.afternoon,0.5592000000000001 -2045,10,wind,all-year.early-peak,-0.5592000000000001 -2045,10,electricity,all-year.early-peak,0.5592000000000001 -2045,10,wind,all-year.late-peak,-0.5592000000000001 -2045,10,electricity,all-year.late-peak,0.5592000000000001 -2045,10,wind,all-year.evening,-0.5592000000000001 -2045,10,electricity,all-year.evening,0.5592000000000001 -2045,11,electricity,all-year.night,-0.31920000000000004 -2045,11,heat,all-year.night,0.798 -2045,11,electricity,all-year.morning,-0.31920000000000004 -2045,11,heat,all-year.morning,0.798 -2045,11,electricity,all-year.afternoon,-0.31920000000000004 -2045,11,heat,all-year.afternoon,0.798 -2045,11,electricity,all-year.early-peak,-0.31920000000000004 -2045,11,heat,all-year.early-peak,0.798 -2045,11,electricity,all-year.late-peak,-0.31920000000000004 -2045,11,heat,all-year.late-peak,0.798 -2045,11,electricity,all-year.evening,-0.31920000000000004 -2045,11,heat,all-year.evening,0.798 -2045,12,wind,all-year.night,-0.31920000000000004 -2045,12,electricity,all-year.night,0.31920000000000004 -2045,12,wind,all-year.morning,-0.31920000000000004 -2045,12,electricity,all-year.morning,0.31920000000000004 -2045,12,wind,all-year.afternoon,-0.31920000000000004 -2045,12,electricity,all-year.afternoon,0.31920000000000004 -2045,12,wind,all-year.early-peak,-0.31920000000000004 -2045,12,electricity,all-year.early-peak,0.31920000000000004 -2045,12,wind,all-year.late-peak,-0.31920000000000004 -2045,12,electricity,all-year.late-peak,0.31920000000000004 -2045,12,wind,all-year.evening,-0.31920000000000004 -2045,12,electricity,all-year.evening,0.31920000000000004 -2050,0,gas,all-year.night,-0.0 -2050,0,gas,all-year.morning,-0.0 -2050,0,gas,all-year.afternoon,-0.0 -2050,0,gas,all-year.early-peak,-0.0 -2050,0,gas,all-year.late-peak,1.6773480000000012 -2050,0,gas,all-year.evening,-0.0 +2045,9,electricity,all-year.night,-0.39600000000000013 +2045,9,heat,all-year.night,0.9900000000000002 +2045,9,electricity,all-year.morning,-0.39600000000000013 +2045,9,heat,all-year.morning,0.9900000000000002 +2045,9,electricity,all-year.afternoon,-0.39600000000000013 +2045,9,heat,all-year.afternoon,0.9900000000000002 +2045,9,electricity,all-year.early-peak,-0.39600000000000013 +2045,9,heat,all-year.early-peak,0.9900000000000002 +2045,9,electricity,all-year.late-peak,-0.39600000000000013 +2045,9,heat,all-year.late-peak,0.9900000000000002 +2045,9,electricity,all-year.evening,-0.39600000000000013 +2045,9,heat,all-year.evening,0.9900000000000002 +2045,10,wind,all-year.night,-0.0 +2045,10,electricity,all-year.night,0.0 +2045,10,wind,all-year.morning,-0.0 +2045,10,electricity,all-year.morning,0.0 +2045,10,wind,all-year.afternoon,-0.0 +2045,10,electricity,all-year.afternoon,0.0 +2045,10,wind,all-year.early-peak,-0.0 +2045,10,electricity,all-year.early-peak,0.0 +2045,10,wind,all-year.late-peak,-0.0 +2045,10,electricity,all-year.late-peak,0.0 +2045,10,wind,all-year.evening,-0.0 +2045,10,electricity,all-year.evening,0.0 +2045,11,electricity,all-year.night,-0.39600000000000013 +2045,11,heat,all-year.night,0.9900000000000002 +2045,11,electricity,all-year.morning,-0.39600000000000013 +2045,11,heat,all-year.morning,0.9900000000000002 +2045,11,electricity,all-year.afternoon,-0.39600000000000013 +2045,11,heat,all-year.afternoon,0.9900000000000002 +2045,11,electricity,all-year.early-peak,-0.39600000000000013 +2045,11,heat,all-year.early-peak,0.9900000000000002 +2045,11,electricity,all-year.late-peak,-0.39600000000000013 +2045,11,heat,all-year.late-peak,0.9900000000000002 +2045,11,electricity,all-year.evening,-0.39600000000000013 +2045,11,heat,all-year.evening,0.9900000000000002 +2045,12,wind,all-year.night,-0.3664800000000019 +2045,12,electricity,all-year.night,0.3664800000000019 +2045,12,wind,all-year.morning,-0.0 +2045,12,electricity,all-year.morning,0.0 +2045,12,wind,all-year.afternoon,-1.064 +2045,12,electricity,all-year.afternoon,1.064 +2045,12,wind,all-year.early-peak,-0.0 +2045,12,electricity,all-year.early-peak,0.0 +2045,12,wind,all-year.late-peak,-1.032 +2045,12,electricity,all-year.late-peak,1.032 +2045,12,wind,all-year.evening,-1.0108000000000004 +2045,12,electricity,all-year.evening,1.0108000000000004 2050,2,electricity,all-year.night,-0.0 2050,2,heat,all-year.night,0.0 2050,2,electricity,all-year.morning,-0.0 @@ -523,163 +469,139 @@ milestone_year,asset_id,commodity_id,time_slice,flow 2050,2,heat,all-year.afternoon,0.0 2050,2,electricity,all-year.early-peak,-0.0 2050,2,heat,all-year.early-peak,0.0 -2050,2,electricity,all-year.late-peak,-1.0788000000000006 -2050,2,heat,all-year.late-peak,2.6970000000000014 +2050,2,electricity,all-year.late-peak,-1.1172000000000002 +2050,2,heat,all-year.late-peak,2.7930000000000006 2050,2,electricity,all-year.evening,-0.0 2050,2,heat,all-year.evening,0.0 -2050,3,wind,all-year.night,-1.1171999999999997 -2050,3,electricity,all-year.night,1.1171999999999997 -2050,3,wind,all-year.morning,-1.1171999999999997 -2050,3,electricity,all-year.morning,1.1171999999999997 -2050,3,wind,all-year.afternoon,-1.1171999999999997 -2050,3,electricity,all-year.afternoon,1.1171999999999997 -2050,3,wind,all-year.early-peak,-1.1171999999999997 -2050,3,electricity,all-year.early-peak,1.1171999999999997 -2050,3,wind,all-year.late-peak,-1.1171999999999997 -2050,3,electricity,all-year.late-peak,1.1171999999999997 -2050,3,wind,all-year.evening,-1.1171999999999997 -2050,3,electricity,all-year.evening,1.1171999999999997 -2050,4,electricity,all-year.night,-0.0 -2050,4,heat,all-year.night,0.0 -2050,4,electricity,all-year.morning,-0.15360000000000015 -2050,4,heat,all-year.morning,0.38400000000000034 -2050,4,electricity,all-year.afternoon,-0.0 -2050,4,heat,all-year.afternoon,0.0 -2050,4,electricity,all-year.early-peak,-0.15360000000000015 -2050,4,heat,all-year.early-peak,0.38400000000000034 -2050,4,electricity,all-year.late-peak,-0.8748 -2050,4,heat,all-year.late-peak,2.187 -2050,4,electricity,all-year.evening,-0.7536 -2050,4,heat,all-year.evening,1.884 -2050,5,gas,all-year.night,-0.0 -2050,5,electricity,all-year.night,0.0 -2050,5,CO2f,all-year.night,0.0 -2050,5,gas,all-year.morning,-0.0 -2050,5,electricity,all-year.morning,0.0 -2050,5,CO2f,all-year.morning,0.0 -2050,5,gas,all-year.afternoon,-0.0 -2050,5,electricity,all-year.afternoon,0.0 -2050,5,CO2f,all-year.afternoon,0.0 -2050,5,gas,all-year.early-peak,-0.0 -2050,5,electricity,all-year.early-peak,0.0 -2050,5,CO2f,all-year.early-peak,0.0 -2050,5,gas,all-year.late-peak,-1.3967880000000008 -2050,5,electricity,all-year.late-peak,0.8364000000000005 -2050,5,CO2f,all-year.late-peak,76.67278800000004 -2050,5,gas,all-year.evening,-0.0 -2050,5,electricity,all-year.evening,0.0 -2050,5,CO2f,all-year.evening,0.0 -2050,6,electricity,all-year.night,-0.0 -2050,6,heat,all-year.night,0.0 -2050,6,electricity,all-year.morning,-0.40799999999999986 -2050,6,heat,all-year.morning,1.0199999999999996 -2050,6,electricity,all-year.afternoon,-0.0 -2050,6,heat,all-year.afternoon,0.0 -2050,6,electricity,all-year.early-peak,-0.40799999999999986 -2050,6,heat,all-year.early-peak,1.0199999999999996 -2050,6,electricity,all-year.late-peak,-0.40799999999999986 -2050,6,heat,all-year.late-peak,1.0199999999999996 -2050,6,electricity,all-year.evening,-0.40799999999999986 -2050,6,heat,all-year.evening,1.0199999999999996 -2050,7,wind,all-year.night,-0.24000000000000005 -2050,7,electricity,all-year.night,0.24000000000000005 -2050,7,wind,all-year.morning,-0.24000000000000005 -2050,7,electricity,all-year.morning,0.24000000000000005 -2050,7,wind,all-year.afternoon,-0.24000000000000005 -2050,7,electricity,all-year.afternoon,0.24000000000000005 -2050,7,wind,all-year.early-peak,-0.24000000000000005 -2050,7,electricity,all-year.early-peak,0.24000000000000005 -2050,7,wind,all-year.late-peak,-0.24000000000000005 -2050,7,electricity,all-year.late-peak,0.24000000000000005 -2050,7,wind,all-year.evening,-0.24000000000000005 -2050,7,electricity,all-year.evening,0.24000000000000005 -2050,8,gas,all-year.night,-0.0 +2050,3,wind,all-year.night,-0.0 +2050,3,electricity,all-year.night,0.0 +2050,3,wind,all-year.morning,-0.0 +2050,3,electricity,all-year.morning,0.0 +2050,3,wind,all-year.afternoon,-0.0 +2050,3,electricity,all-year.afternoon,0.0 +2050,3,wind,all-year.early-peak,-0.0 +2050,3,electricity,all-year.early-peak,0.0 +2050,3,wind,all-year.late-peak,-0.0 +2050,3,electricity,all-year.late-peak,0.0 +2050,3,wind,all-year.evening,-0.0 +2050,3,electricity,all-year.evening,0.0 +2050,5,electricity,all-year.night,-0.0 +2050,5,heat,all-year.night,0.0 +2050,5,electricity,all-year.morning,-0.19200000000000017 +2050,5,heat,all-year.morning,0.4800000000000004 +2050,5,electricity,all-year.afternoon,-0.0 +2050,5,heat,all-year.afternoon,0.0 +2050,5,electricity,all-year.early-peak,-0.19200000000000017 +2050,5,heat,all-year.early-peak,0.4800000000000004 +2050,5,electricity,all-year.late-peak,-0.8748 +2050,5,heat,all-year.late-peak,2.187 +2050,5,electricity,all-year.evening,-0.7920000000000003 +2050,5,heat,all-year.evening,1.9800000000000004 +2050,6,wind,all-year.night,-0.0 +2050,6,electricity,all-year.night,0.0 +2050,6,wind,all-year.morning,-0.0 +2050,6,electricity,all-year.morning,0.0 +2050,6,wind,all-year.afternoon,-0.0 +2050,6,electricity,all-year.afternoon,0.0 +2050,6,wind,all-year.early-peak,-0.0 +2050,6,electricity,all-year.early-peak,0.0 +2050,6,wind,all-year.late-peak,-0.6264000000000085 +2050,6,electricity,all-year.late-peak,0.6264000000000085 +2050,6,wind,all-year.evening,-0.0 +2050,6,electricity,all-year.evening,0.0 +2050,7,electricity,all-year.night,-0.0 +2050,7,heat,all-year.night,0.0 +2050,7,electricity,all-year.morning,-0.40799999999999986 +2050,7,heat,all-year.morning,1.0199999999999996 +2050,7,electricity,all-year.afternoon,-0.0 +2050,7,heat,all-year.afternoon,0.0 +2050,7,electricity,all-year.early-peak,-0.40799999999999986 +2050,7,heat,all-year.early-peak,1.0199999999999996 +2050,7,electricity,all-year.late-peak,-0.40799999999999986 +2050,7,heat,all-year.late-peak,1.0199999999999996 +2050,7,electricity,all-year.evening,-0.40799999999999986 +2050,7,heat,all-year.evening,1.0199999999999996 +2050,8,wind,all-year.night,-0.0 2050,8,electricity,all-year.night,0.0 -2050,8,CO2f,all-year.night,0.0 -2050,8,gas,all-year.morning,-0.0 +2050,8,wind,all-year.morning,-0.0 2050,8,electricity,all-year.morning,0.0 -2050,8,CO2f,all-year.morning,0.0 -2050,8,gas,all-year.afternoon,-0.0 -2050,8,electricity,all-year.afternoon,0.0 -2050,8,CO2f,all-year.afternoon,0.0 -2050,8,gas,all-year.early-peak,-0.0 -2050,8,electricity,all-year.early-peak,0.0 -2050,8,CO2f,all-year.early-peak,0.0 -2050,8,gas,all-year.late-peak,-0.28056000000000025 -2050,8,electricity,all-year.late-peak,0.16800000000000015 -2050,8,CO2f,all-year.late-peak,15.400560000000015 -2050,8,gas,all-year.evening,-0.0 -2050,8,electricity,all-year.evening,0.0 -2050,8,CO2f,all-year.evening,0.0 -2050,9,electricity,all-year.night,-0.5208 -2050,9,heat,all-year.night,1.302 -2050,9,electricity,all-year.morning,-0.5592 -2050,9,heat,all-year.morning,1.3980000000000001 -2050,9,electricity,all-year.afternoon,-0.5208 -2050,9,heat,all-year.afternoon,1.302 -2050,9,electricity,all-year.early-peak,-0.5592 -2050,9,heat,all-year.early-peak,1.3980000000000001 -2050,9,electricity,all-year.late-peak,-0.5592 -2050,9,heat,all-year.late-peak,1.3980000000000001 -2050,9,electricity,all-year.evening,-0.5592 -2050,9,heat,all-year.evening,1.3980000000000001 -2050,10,wind,all-year.night,-0.5592000000000001 -2050,10,electricity,all-year.night,0.5592000000000001 -2050,10,wind,all-year.morning,-0.5592000000000001 -2050,10,electricity,all-year.morning,0.5592000000000001 -2050,10,wind,all-year.afternoon,-0.5592000000000001 -2050,10,electricity,all-year.afternoon,0.5592000000000001 -2050,10,wind,all-year.early-peak,-0.5592000000000001 -2050,10,electricity,all-year.early-peak,0.5592000000000001 -2050,10,wind,all-year.late-peak,-0.5592000000000001 -2050,10,electricity,all-year.late-peak,0.5592000000000001 -2050,10,wind,all-year.evening,-0.5592000000000001 -2050,10,electricity,all-year.evening,0.5592000000000001 -2050,11,electricity,all-year.night,-0.31920000000000004 -2050,11,heat,all-year.night,0.798 -2050,11,electricity,all-year.morning,-0.31920000000000004 -2050,11,heat,all-year.morning,0.798 -2050,11,electricity,all-year.afternoon,-0.31920000000000004 -2050,11,heat,all-year.afternoon,0.798 -2050,11,electricity,all-year.early-peak,-0.31920000000000004 -2050,11,heat,all-year.early-peak,0.798 -2050,11,electricity,all-year.late-peak,-0.31920000000000004 -2050,11,heat,all-year.late-peak,0.798 -2050,11,electricity,all-year.evening,-0.31920000000000004 -2050,11,heat,all-year.evening,0.798 -2050,12,wind,all-year.night,-0.31920000000000004 -2050,12,electricity,all-year.night,0.31920000000000004 -2050,12,wind,all-year.morning,-0.31920000000000004 -2050,12,electricity,all-year.morning,0.31920000000000004 -2050,12,wind,all-year.afternoon,-0.31920000000000004 -2050,12,electricity,all-year.afternoon,0.31920000000000004 -2050,12,wind,all-year.early-peak,-0.31920000000000004 -2050,12,electricity,all-year.early-peak,0.31920000000000004 -2050,12,wind,all-year.late-peak,-0.31920000000000004 -2050,12,electricity,all-year.late-peak,0.31920000000000004 -2050,12,wind,all-year.evening,-0.31920000000000004 -2050,12,electricity,all-year.evening,0.31920000000000004 -2050,13,electricity,all-year.night,-0.36000000000000004 -2050,13,heat,all-year.night,0.9 -2050,13,electricity,all-year.morning,-0.36000000000000004 -2050,13,heat,all-year.morning,0.9 -2050,13,electricity,all-year.afternoon,-0.36000000000000004 -2050,13,heat,all-year.afternoon,0.9 -2050,13,electricity,all-year.early-peak,-0.36000000000000004 -2050,13,heat,all-year.early-peak,0.9 -2050,13,electricity,all-year.late-peak,-0.36000000000000004 -2050,13,heat,all-year.late-peak,0.9 -2050,13,electricity,all-year.evening,-0.36000000000000004 -2050,13,heat,all-year.evening,0.9 -2050,14,wind,all-year.night,-0.36 -2050,14,electricity,all-year.night,0.36 -2050,14,wind,all-year.morning,-0.36 -2050,14,electricity,all-year.morning,0.36 -2050,14,wind,all-year.afternoon,-0.36 -2050,14,electricity,all-year.afternoon,0.36 -2050,14,wind,all-year.early-peak,-0.36 -2050,14,electricity,all-year.early-peak,0.36 -2050,14,wind,all-year.late-peak,-0.36 -2050,14,electricity,all-year.late-peak,0.36 -2050,14,wind,all-year.evening,-0.36 -2050,14,electricity,all-year.evening,0.36 +2050,8,wind,all-year.afternoon,-1.2000000000000002 +2050,8,electricity,all-year.afternoon,1.2000000000000002 +2050,8,wind,all-year.early-peak,-1.0740000000000038 +2050,8,electricity,all-year.early-peak,1.0740000000000038 +2050,8,wind,all-year.late-peak,-1.235999999999992 +2050,8,electricity,all-year.late-peak,1.235999999999992 +2050,8,wind,all-year.evening,-1.6740000000000037 +2050,8,electricity,all-year.evening,1.6740000000000037 +2050,9,electricity,all-year.night,-0.39600000000000013 +2050,9,heat,all-year.night,0.9900000000000002 +2050,9,electricity,all-year.morning,-0.39600000000000013 +2050,9,heat,all-year.morning,0.9900000000000002 +2050,9,electricity,all-year.afternoon,-0.39600000000000013 +2050,9,heat,all-year.afternoon,0.9900000000000002 +2050,9,electricity,all-year.early-peak,-0.39600000000000013 +2050,9,heat,all-year.early-peak,0.9900000000000002 +2050,9,electricity,all-year.late-peak,-0.39600000000000013 +2050,9,heat,all-year.late-peak,0.9900000000000002 +2050,9,electricity,all-year.evening,-0.39600000000000013 +2050,9,heat,all-year.evening,0.9900000000000002 +2050,10,wind,all-year.night,-0.0 +2050,10,electricity,all-year.night,0.0 +2050,10,wind,all-year.morning,-1.2828000000000002 +2050,10,electricity,all-year.morning,1.2828000000000002 +2050,10,wind,all-year.afternoon,-0.0 +2050,10,electricity,all-year.afternoon,0.0 +2050,10,wind,all-year.early-peak,-0.0 +2050,10,electricity,all-year.early-peak,0.0 +2050,10,wind,all-year.late-peak,-0.0 +2050,10,electricity,all-year.late-peak,0.0 +2050,10,wind,all-year.evening,-0.0 +2050,10,electricity,all-year.evening,0.0 +2050,11,electricity,all-year.night,-0.39600000000000013 +2050,11,heat,all-year.night,0.9900000000000002 +2050,11,electricity,all-year.morning,-0.39600000000000013 +2050,11,heat,all-year.morning,0.9900000000000002 +2050,11,electricity,all-year.afternoon,-0.39600000000000013 +2050,11,heat,all-year.afternoon,0.9900000000000002 +2050,11,electricity,all-year.early-peak,-0.39600000000000013 +2050,11,heat,all-year.early-peak,0.9900000000000002 +2050,11,electricity,all-year.late-peak,-0.39600000000000013 +2050,11,heat,all-year.late-peak,0.9900000000000002 +2050,11,electricity,all-year.evening,-0.39600000000000013 +2050,11,heat,all-year.evening,0.9900000000000002 +2050,12,wind,all-year.night,-1.2000000000000002 +2050,12,electricity,all-year.night,1.2000000000000002 +2050,12,wind,all-year.morning,-0.5172000000000001 +2050,12,electricity,all-year.morning,0.5172000000000001 +2050,12,wind,all-year.afternoon,-0.0 +2050,12,electricity,all-year.afternoon,0.0 +2050,12,wind,all-year.early-peak,-0.0 +2050,12,electricity,all-year.early-peak,0.0 +2050,12,wind,all-year.late-peak,-1.447200000000001 +2050,12,electricity,all-year.late-peak,1.447200000000001 +2050,12,wind,all-year.evening,-0.0 +2050,12,electricity,all-year.evening,0.0 +2050,13,electricity,all-year.night,-0.40799999999999986 +2050,13,heat,all-year.night,1.0199999999999996 +2050,13,electricity,all-year.morning,-0.40799999999999986 +2050,13,heat,all-year.morning,1.0199999999999996 +2050,13,electricity,all-year.afternoon,-0.40799999999999986 +2050,13,heat,all-year.afternoon,1.0199999999999996 +2050,13,electricity,all-year.early-peak,-0.40799999999999986 +2050,13,heat,all-year.early-peak,1.0199999999999996 +2050,13,electricity,all-year.late-peak,-0.40799999999999986 +2050,13,heat,all-year.late-peak,1.0199999999999996 +2050,13,electricity,all-year.evening,-0.40799999999999986 +2050,13,heat,all-year.evening,1.0199999999999996 +2050,14,wind,all-year.night,-0.0 +2050,14,electricity,all-year.night,0.0 +2050,14,wind,all-year.morning,-0.0 +2050,14,electricity,all-year.morning,0.0 +2050,14,wind,all-year.afternoon,-0.0 +2050,14,electricity,all-year.afternoon,0.0 +2050,14,wind,all-year.early-peak,-0.7259999999999965 +2050,14,electricity,all-year.early-peak,0.7259999999999965 +2050,14,wind,all-year.late-peak,-0.290399999999999 +2050,14,electricity,all-year.late-peak,0.290399999999999 +2050,14,wind,all-year.evening,-0.7259999999999965 +2050,14,electricity,all-year.evening,0.7259999999999965 diff --git a/tests/data/muse1_default/commodity_prices.csv b/tests/data/muse1_default/commodity_prices.csv index cc50e969e..662e7622b 100644 --- a/tests/data/muse1_default/commodity_prices.csv +++ b/tests/data/muse1_default/commodity_prices.csv @@ -17,111 +17,105 @@ milestone_year,commodity_id,region_id,time_slice,price 2020,heat,R1,all-year.late-peak,8.3380664049 2020,heat,R1,all-year.morning,8.3380664049 2020,heat,R1,all-year.night,8.3380664049 -2025,electricity,R1,all-year.afternoon,-0.0 -2025,electricity,R1,all-year.early-peak,-0.0 -2025,electricity,R1,all-year.evening,-0.0 -2025,electricity,R1,all-year.late-peak,-0.0 -2025,electricity,R1,all-year.morning,-0.0 -2025,electricity,R1,all-year.night,-0.0 -2025,gas,R1,all-year.afternoon,-0.0 -2025,gas,R1,all-year.early-peak,-0.0 -2025,gas,R1,all-year.evening,-0.0 +2025,electricity,R1,all-year.afternoon,15.26529810765 +2025,electricity,R1,all-year.early-peak,15.26529810765 +2025,electricity,R1,all-year.evening,15.26529810765 +2025,electricity,R1,all-year.late-peak,15.26529810765 +2025,electricity,R1,all-year.morning,15.26529810765 +2025,electricity,R1,all-year.night,15.26529810765 +2025,gas,R1,all-year.afternoon,2.55 +2025,gas,R1,all-year.early-peak,2.55 +2025,gas,R1,all-year.evening,2.55 2025,gas,R1,all-year.late-peak,2.55 -2025,gas,R1,all-year.morning,-0.0 -2025,gas,R1,all-year.night,-0.0 -2025,heat,R1,all-year.afternoon,-0.0 -2025,heat,R1,all-year.early-peak,-0.0 -2025,heat,R1,all-year.evening,-0.0 +2025,gas,R1,all-year.morning,2.55 +2025,gas,R1,all-year.night,2.55 +2025,heat,R1,all-year.afternoon,6.10611924306 +2025,heat,R1,all-year.early-peak,6.10611924306 +2025,heat,R1,all-year.evening,6.10611924306 2025,heat,R1,all-year.late-peak,10.727716434449999 -2025,heat,R1,all-year.morning,-0.0 -2025,heat,R1,all-year.night,-0.0 +2025,heat,R1,all-year.morning,6.10611924306 +2025,heat,R1,all-year.night,6.10611924306 2030,electricity,R1,all-year.afternoon,-0.0 2030,electricity,R1,all-year.early-peak,-0.0 -2030,electricity,R1,all-year.evening,18.65054323633 -2030,electricity,R1,all-year.late-peak,18.65054323633 +2030,electricity,R1,all-year.evening,-0.0 +2030,electricity,R1,all-year.late-peak,-0.0 2030,electricity,R1,all-year.morning,-0.0 2030,electricity,R1,all-year.night,-0.0 -2030,gas,R1,all-year.afternoon,2.55 -2030,gas,R1,all-year.early-peak,2.55 -2030,gas,R1,all-year.evening,2.55 -2030,gas,R1,all-year.late-peak,2.55 -2030,gas,R1,all-year.morning,2.55 -2030,gas,R1,all-year.night,2.55 +2030,gas,R1,all-year.afternoon,-0.0 +2030,gas,R1,all-year.early-peak,-0.0 +2030,gas,R1,all-year.evening,-0.0 +2030,gas,R1,all-year.late-peak,-0.0 +2030,gas,R1,all-year.morning,-0.0 +2030,gas,R1,all-year.night,-0.0 2030,heat,R1,all-year.afternoon,-0.0 2030,heat,R1,all-year.early-peak,-0.0 -2030,heat,R1,all-year.evening,7.460217294532001 -2030,heat,R1,all-year.late-peak,7.460217294532001 +2030,heat,R1,all-year.evening,-0.0 +2030,heat,R1,all-year.late-peak,-0.0 2030,heat,R1,all-year.morning,-0.0 2030,heat,R1,all-year.night,-0.0 2035,electricity,R1,all-year.afternoon,-0.0 2035,electricity,R1,all-year.early-peak,-0.0 -2035,electricity,R1,all-year.evening,23.95632656689 -2035,electricity,R1,all-year.late-peak,23.95632656689 +2035,electricity,R1,all-year.evening,-0.0 +2035,electricity,R1,all-year.late-peak,-0.0 2035,electricity,R1,all-year.morning,-0.0 2035,electricity,R1,all-year.night,-0.0 -2035,gas,R1,all-year.afternoon,2.55 -2035,gas,R1,all-year.early-peak,2.55 -2035,gas,R1,all-year.evening,2.55 -2035,gas,R1,all-year.late-peak,2.55 -2035,gas,R1,all-year.morning,2.55 -2035,gas,R1,all-year.night,2.55 +2035,gas,R1,all-year.afternoon,-0.0 +2035,gas,R1,all-year.early-peak,-0.0 +2035,gas,R1,all-year.evening,-0.0 +2035,gas,R1,all-year.late-peak,-0.0 +2035,gas,R1,all-year.morning,-0.0 +2035,gas,R1,all-year.night,-0.0 2035,heat,R1,all-year.afternoon,-0.0 2035,heat,R1,all-year.early-peak,-0.0 -2035,heat,R1,all-year.evening,9.582530626756 -2035,heat,R1,all-year.late-peak,9.582530626756 +2035,heat,R1,all-year.evening,-0.0 +2035,heat,R1,all-year.late-peak,-0.0 2035,heat,R1,all-year.morning,-0.0 2035,heat,R1,all-year.night,-0.0 2040,electricity,R1,all-year.afternoon,-0.0 2040,electricity,R1,all-year.early-peak,-0.0 2040,electricity,R1,all-year.evening,-0.0 -2040,electricity,R1,all-year.late-peak,29.26210980578 +2040,electricity,R1,all-year.late-peak,-0.0 2040,electricity,R1,all-year.morning,-0.0 2040,electricity,R1,all-year.night,-0.0 -2040,gas,R1,all-year.afternoon,2.55 -2040,gas,R1,all-year.early-peak,2.55 -2040,gas,R1,all-year.evening,2.55 -2040,gas,R1,all-year.late-peak,2.55 -2040,gas,R1,all-year.morning,2.55 -2040,gas,R1,all-year.night,2.55 +2040,gas,R1,all-year.afternoon,-0.0 +2040,gas,R1,all-year.early-peak,-0.0 +2040,gas,R1,all-year.evening,-0.0 +2040,gas,R1,all-year.late-peak,-0.0 +2040,gas,R1,all-year.morning,-0.0 +2040,gas,R1,all-year.night,-0.0 2040,heat,R1,all-year.afternoon,-0.0 2040,heat,R1,all-year.early-peak,-0.0 2040,heat,R1,all-year.evening,-0.0 -2040,heat,R1,all-year.late-peak,11.704843922312001 +2040,heat,R1,all-year.late-peak,-0.0 2040,heat,R1,all-year.morning,-0.0 2040,heat,R1,all-year.night,-0.0 2045,electricity,R1,all-year.afternoon,-0.0 2045,electricity,R1,all-year.early-peak,-0.0 2045,electricity,R1,all-year.evening,-0.0 -2045,electricity,R1,all-year.late-peak,36.7049140767 +2045,electricity,R1,all-year.late-peak,-0.0 2045,electricity,R1,all-year.morning,-0.0 2045,electricity,R1,all-year.night,-0.0 -2045,gas,R1,all-year.afternoon,2.55 -2045,gas,R1,all-year.early-peak,2.55 -2045,gas,R1,all-year.evening,2.55 -2045,gas,R1,all-year.late-peak,2.55 -2045,gas,R1,all-year.morning,2.55 -2045,gas,R1,all-year.night,2.55 +2045,gas,R1,all-year.afternoon,-0.0 +2045,gas,R1,all-year.early-peak,-0.0 +2045,gas,R1,all-year.evening,-0.0 +2045,gas,R1,all-year.late-peak,-0.0 +2045,gas,R1,all-year.morning,-0.0 +2045,gas,R1,all-year.night,-0.0 2045,heat,R1,all-year.afternoon,-0.0 2045,heat,R1,all-year.early-peak,-0.0 2045,heat,R1,all-year.evening,-0.0 -2045,heat,R1,all-year.late-peak,14.68196563068 +2045,heat,R1,all-year.late-peak,-0.0 2045,heat,R1,all-year.morning,-0.0 2045,heat,R1,all-year.night,-0.0 2050,electricity,R1,all-year.afternoon,-0.0 2050,electricity,R1,all-year.early-peak,-0.0 2050,electricity,R1,all-year.evening,-0.0 -2050,electricity,R1,all-year.late-peak,44.14771825595 +2050,electricity,R1,all-year.late-peak,-0.0 2050,electricity,R1,all-year.morning,-0.0 2050,electricity,R1,all-year.night,-0.0 -2050,gas,R1,all-year.afternoon,2.55 -2050,gas,R1,all-year.early-peak,2.55 -2050,gas,R1,all-year.evening,2.55 -2050,gas,R1,all-year.late-peak,2.55 -2050,gas,R1,all-year.morning,2.55 -2050,gas,R1,all-year.night,2.55 2050,heat,R1,all-year.afternoon,-0.0 2050,heat,R1,all-year.early-peak,-0.0 2050,heat,R1,all-year.evening,-0.0 -2050,heat,R1,all-year.late-peak,17.659087302379998 +2050,heat,R1,all-year.late-peak,-0.0 2050,heat,R1,all-year.morning,-0.0 2050,heat,R1,all-year.night,-0.0 diff --git a/tests/data/simple/commodity_flows.csv b/tests/data/simple/commodity_flows.csv index 17186c62e..151e5864c 100644 --- a/tests/data/simple/commodity_flows.csv +++ b/tests/data/simple/commodity_flows.csv @@ -1,20 +1,20 @@ milestone_year,asset_id,commodity_id,time_slice,flow 2020,0,GASPRD,winter.night,0.0 2020,0,CO2EMT,winter.night,0.0 -2020,0,GASPRD,winter.day,180.73595015109328 -2020,0,CO2EMT,winter.day,924.10291312254 -2020,0,GASPRD,winter.peak,112.5635625 -2020,0,CO2EMT,winter.peak,575.5374950625 -2020,0,GASPRD,winter.evening,150.084751200678 -2020,0,CO2EMT,winter.evening,767.3833328890667 +2020,0,GASPRD,winter.day,151.10360181069296 +2020,0,CO2EMT,winter.day,772.5927160580732 +2020,0,GASPRD,winter.peak,125.070625 +2020,0,CO2EMT,winter.peak,639.486105625 +2020,0,GASPRD,winter.evening,166.76083466742 +2020,0,CO2EMT,winter.evening,852.6481476545185 2020,0,GASPRD,peak.night,0.0 2020,0,CO2EMT,peak.night,0.0 2020,0,GASPRD,peak.day,0.0 2020,0,CO2EMT,peak.day,0.0 -2020,0,GASPRD,peak.peak,77.9831213632338 -2020,0,CO2EMT,peak.peak,398.72769953021447 -2020,0,GASPRD,peak.evening,150.084751200678 -2020,0,CO2EMT,peak.evening,767.3833328890667 +2020,0,GASPRD,peak.peak,58.67582562255717 +2020,0,CO2EMT,peak.peak,300.00949640813485 +2020,0,GASPRD,peak.evening,166.76083466742 +2020,0,CO2EMT,peak.evening,852.6481476545185 2020,0,GASPRD,summer.night,0.0 2020,0,CO2EMT,summer.night,0.0 2020,0,GASPRD,summer.day,0.0 @@ -27,34 +27,34 @@ milestone_year,asset_id,commodity_id,time_slice,flow 2020,0,CO2EMT,autumn.night,0.0 2020,0,GASPRD,autumn.day,0.0 2020,0,CO2EMT,autumn.day,0.0 -2020,0,GASPRD,autumn.peak,16.804933265797757 -2020,0,CO2EMT,autumn.peak,85.92362378802395 -2020,0,GASPRD,autumn.evening,150.084751200678 -2020,0,CO2EMT,autumn.evening,767.3833328890667 +2020,0,GASPRD,autumn.peak,0.0 +2020,0,CO2EMT,autumn.peak,0.0 +2020,0,GASPRD,autumn.evening,163.3883025525992 +2020,0,CO2EMT,autumn.evening,835.4043909514398 2020,1,GASPRD,winter.night,-0.0 2020,1,GASNAT,winter.night,0.0 2020,1,CO2EMT,winter.night,0.0 -2020,1,GASPRD,winter.day,-182.77186734790033 -2020,1,GASNAT,winter.day,174.0684450932384 -2020,1,CO2EMT,winter.day,445.005979880864 -2020,1,GASPRD,winter.peak,-111.69102656250001 -2020,1,GASNAT,winter.peak,106.37240625000001 -2020,1,CO2EMT,winter.peak,271.941056578125 -2020,1,GASPRD,winter.evening,-148.92136994137095 -2020,1,GASNAT,winter.evening,141.829876134639 -2020,1,CO2EMT,winter.evening,362.58807833820464 +2020,1,GASPRD,winter.day,-153.36573202936748 +2020,1,GASNAT,winter.day,146.06260193273093 +2020,1,CO2EMT,winter.day,373.40904184102664 +2020,1,GASPRD,winter.peak,-124.10114062500001 +2020,1,GASNAT,winter.peak,118.1915625 +2020,1,CO2EMT,winter.peak,302.15672953125005 +2020,1,GASPRD,winter.evening,-165.4681888237455 +2020,1,GASNAT,winter.evening,157.58875126070998 +2020,1,CO2EMT,winter.evening,402.87564259800513 2020,1,GASPRD,peak.night,-0.0 2020,1,GASNAT,peak.night,0.0 2020,1,CO2EMT,peak.night,0.0 2020,1,GASPRD,peak.day,-0.0 2020,1,GASNAT,peak.day,0.0 2020,1,CO2EMT,peak.day,0.0 -2020,1,GASPRD,peak.peak,-79.14650262254086 -2020,1,GASNAT,peak.peak,75.37762154527701 -2020,1,CO2EMT,peak.peak,192.7028894805007 -2020,1,GASPRD,peak.evening,-148.92136994137095 -2020,1,GASNAT,peak.evening,141.829876134639 -2020,1,CO2EMT,peak.evening,362.58807833820464 +2020,1,GASPRD,peak.peak,-59.96847146623166 +2020,1,GASNAT,peak.peak,57.11282996783967 +2020,1,CO2EMT,peak.peak,146.00894981278213 +2020,1,GASPRD,peak.evening,-165.4681888237455 +2020,1,GASNAT,peak.evening,157.58875126070998 +2020,1,CO2EMT,peak.evening,402.87564259800513 2020,1,GASPRD,summer.night,-0.0 2020,1,GASNAT,summer.night,0.0 2020,1,CO2EMT,summer.night,0.0 @@ -73,12 +73,12 @@ milestone_year,asset_id,commodity_id,time_slice,flow 2020,1,GASPRD,autumn.day,-0.0 2020,1,GASNAT,autumn.day,0.0 2020,1,CO2EMT,autumn.day,0.0 -2020,1,GASPRD,autumn.peak,-17.96831452510479 -2020,1,GASNAT,autumn.peak,17.1126805000998 -2020,1,CO2EMT,autumn.peak,43.74856769850514 -2020,1,GASPRD,autumn.evening,-148.92136994137095 -2020,1,GASNAT,autumn.evening,141.829876134639 -2020,1,CO2EMT,autumn.evening,362.58807833820464 +2020,1,GASPRD,autumn.peak,-0.0 +2020,1,GASNAT,autumn.peak,0.0 +2020,1,CO2EMT,autumn.peak,0.0 +2020,1,GASPRD,autumn.evening,-163.3883025525992 +2020,1,GASNAT,autumn.evening,155.60790719295161 +2020,1,CO2EMT,autumn.evening,397.81161473878086 2020,2,ELCTRI,winter.night,4.435312795545212 2020,2,ELCTRI,winter.day,7.075379933645912 2020,2,ELCTRI,winter.peak,1.9712501261051125 @@ -95,30 +95,30 @@ milestone_year,asset_id,commodity_id,time_slice,flow 2020,2,ELCTRI,autumn.day,6.001752635595889 2020,2,ELCTRI,autumn.peak,1.5488393825638174 2020,2,ELCTRI,autumn.evening,1.9008483513729915 -2020,3,GASNAT,winter.night,-7.544466596988991 -2020,3,ELCTRI,winter.night,5.02964439799266 -2020,3,CO2EMT,winter.night,385.74857710404706 +2020,3,GASNAT,winter.night,-7.783808997678887 +2020,3,ELCTRI,winter.night,5.189205998452591 +2020,3,CO2EMT,winter.night,397.9861540513214 2020,3,GASNAT,winter.day,-10.010898915527838 2020,3,ELCTRI,winter.day,6.6739326103518914 2020,3,CO2EMT,winter.day,511.8572615509383 2020,3,GASNAT,winter.peak,-3.2303154358423316 2020,3,ELCTRI,winter.peak,2.1535436238948877 2020,3,CO2EMT,winter.peak,165.1660282346184 -2020,3,GASNAT,winter.evening,-4.31112378448899 -2020,3,ELCTRI,winter.evening,2.87408252299266 -2020,3,CO2EMT,winter.evening,220.42775910092203 -2020,3,GASNAT,peak.night,-7.544466596988991 -2020,3,ELCTRI,peak.night,5.02964439799266 -2020,3,CO2EMT,peak.night,385.74857710404706 -2020,3,GASNAT,peak.day,-10.777809409488992 -2020,3,ELCTRI,peak.day,7.185206272992661 -2020,3,CO2EMT,peak.day,551.0693951071721 -2020,3,GASNAT,peak.peak,-3.2333428125 -2020,3,ELCTRI,peak.peak,2.155561875 -2020,3,CO2EMT,peak.peak,165.320818003125 -2020,3,GASNAT,peak.evening,-4.31112378448899 -2020,3,ELCTRI,peak.evening,2.87408252299266 -2020,3,CO2EMT,peak.evening,220.42775910092203 +2020,3,GASNAT,winter.evening,-4.395089526235901 +2020,3,ELCTRI,winter.evening,2.9300596841572673 +2020,3,CO2EMT,winter.evening,224.7209274764416 +2020,3,GASNAT,peak.night,-8.382740663321101 +2020,3,ELCTRI,peak.night,5.5884937755474 +2020,3,CO2EMT,peak.night,428.6095301156078 +2020,3,GASNAT,peak.day,-11.066925767990737 +2020,3,ELCTRI,peak.day,7.3779505119938245 +2020,3,CO2EMT,peak.day,565.8519145173664 +2020,3,GASNAT,peak.peak,-3.520722822271213 +2020,3,ELCTRI,peak.peak,2.3471485481808085 +2020,3,CO2EMT,peak.peak,180.0145579027271 +2020,3,GASNAT,peak.evening,-4.790137538321099 +2020,3,ELCTRI,peak.evening,3.1934250255473997 +2020,3,CO2EMT,peak.evening,244.9197323343578 2020,3,GASNAT,summer.night,-0.1605901409141769 2020,3,ELCTRI,summer.night,0.1070600939427846 2020,3,CO2EMT,summer.night,8.210973904941865 @@ -131,42 +131,42 @@ milestone_year,asset_id,commodity_id,time_slice,flow 2020,3,GASNAT,summer.evening,-0.0 2020,3,ELCTRI,summer.evening,0.0 2020,3,CO2EMT,summer.evening,0.0 -2020,3,GASNAT,autumn.night,-7.544466596988991 -2020,3,ELCTRI,autumn.night,5.02964439799266 -2020,3,CO2EMT,autumn.night,385.74857710404706 -2020,3,GASNAT,autumn.day,-10.777809409488992 -2020,3,ELCTRI,autumn.day,7.185206272992661 -2020,3,CO2EMT,autumn.day,551.0693951071721 -2020,3,GASNAT,autumn.peak,-3.2333428125 -2020,3,ELCTRI,autumn.peak,2.155561875 -2020,3,CO2EMT,autumn.peak,165.320818003125 -2020,3,GASNAT,autumn.evening,-4.31112378448899 -2020,3,ELCTRI,autumn.evening,2.87408252299266 -2020,3,CO2EMT,autumn.evening,220.42775910092203 -2020,4,GASNAT,winter.night,-36.86891657531278 -2020,4,RSHEAT,winter.night,32.05992745679372 -2020,4,CO2EMT,winter.night,1885.1077044957426 +2020,3,GASNAT,autumn.night,-8.382740663321101 +2020,3,ELCTRI,autumn.night,5.5884937755474 +2020,3,CO2EMT,autumn.night,428.6095301156078 +2020,3,GASNAT,autumn.day,-11.621339862602872 +2020,3,ELCTRI,autumn.day,7.747559908401914 +2020,3,CO2EMT,autumn.day,594.1991071748848 +2020,3,GASNAT,autumn.peak,-3.592603125 +2020,3,ELCTRI,autumn.peak,2.39506875 +2020,3,CO2EMT,autumn.peak,183.68979778124998 +2020,3,GASNAT,autumn.evening,-4.790137538321099 +2020,3,ELCTRI,autumn.evening,3.1934250255473997 +2020,3,CO2EMT,autumn.evening,244.9197323343578 +2020,4,GASNAT,winter.night,-36.31286857370999 +2020,4,RSHEAT,winter.night,31.576407455399995 +2020,4,CO2EMT,winter.night,1856.6769701737921 2020,4,GASNAT,winter.day,-193.26973453857997 2020,4,RSHEAT,winter.day,168.06063872919998 2020,4,CO2EMT,winter.day,9881.881526957595 2020,4,GASNAT,winter.peak,-104.21872974118598 2020,4,RSHEAT,winter.peak,90.62498238363999 2020,4,CO2EMT,winter.peak,5328.7036516668395 -2020,4,GASNAT,winter.evening,-62.8165418899506 -2020,4,RSHEAT,winter.evening,54.62307990430487 -2020,4,CO2EMT,winter.evening,3211.8097868331747 -2020,4,GASNAT,peak.night,-21.469777923615393 -2020,4,RSHEAT,peak.night,18.669372107491647 -2020,4,CO2EMT,peak.night,1097.749745234455 -2020,4,GASNAT,peak.day,-82.85587286499846 -2020,4,RSHEAT,peak.day,72.04858509999866 -2020,4,CO2EMT,peak.day,4236.420779587372 -2020,4,GASNAT,peak.peak,-58.95892814405731 -2020,4,RSHEAT,peak.peak,51.26863316874549 -2020,4,CO2EMT,peak.peak,3014.5699960056504 -2020,4,GASNAT,peak.evening,-28.056176143777883 -2020,4,RSHEAT,peak.evening,24.396674907632942 -2020,4,CO2EMT,peak.evening,1434.5122862313633 +2020,4,GASNAT,winter.evening,-62.62146996467999 +2020,4,RSHEAT,winter.evening,54.453452143199996 +2020,4,CO2EMT,winter.evening,3201.8357592940883 +2020,4,GASNAT,peak.night,-19.52227251698524 +2020,4,RSHEAT,peak.night,16.975889145204558 +2020,4,CO2EMT,peak.night,998.1737937934555 +2020,4,GASNAT,peak.day,-82.18418839575197 +2020,4,RSHEAT,peak.day,71.46451164847998 +2020,4,CO2EMT,peak.day,4202.077552674799 +2020,4,GASNAT,peak.peak,-58.291277616306004 +2020,4,RSHEAT,peak.peak,50.688067492440005 +2020,4,CO2EMT,peak.peak,2980.433024521726 +2020,4,GASNAT,peak.evening,-26.943315907602276 +2020,4,RSHEAT,peak.evening,23.428970354436764 +2020,4,CO2EMT,peak.evening,1377.6117423557046 2020,4,GASNAT,summer.night,-0.0 2020,4,RSHEAT,summer.night,0.0 2020,4,CO2EMT,summer.night,0.0 @@ -179,34 +179,34 @@ milestone_year,asset_id,commodity_id,time_slice,flow 2020,4,GASNAT,summer.evening,-0.0 2020,4,RSHEAT,summer.evening,0.0 2020,4,CO2EMT,summer.evening,0.0 -2020,4,GASNAT,autumn.night,-11.056466636303362 -2020,4,RSHEAT,autumn.night,9.614318814176837 -2020,4,CO2EMT,autumn.night,565.3171391141909 -2020,4,GASNAT,autumn.day,-58.653940599340956 -2020,4,RSHEAT,autumn.day,51.003426608122574 -2020,4,CO2EMT,autumn.day,2998.9759828443034 -2020,4,GASNAT,autumn.peak,-45.214871221410895 -2020,4,RSHEAT,autumn.peak,39.317279322966 -2020,4,CO2EMT,autumn.peak,2311.8363655507396 -2020,4,GASNAT,autumn.evening,-18.150535574216605 -2020,4,RSHEAT,autumn.evening,15.783074412362266 -2020,4,CO2EMT,autumn.evening,928.0368839096951 -2020,5,ELCTRI,winter.night,-9.464957193537872 -2020,5,RSHEAT,winter.night,28.681688465266276 +2020,4,GASNAT,autumn.night,-9.10896122967321 +2020,4,RSHEAT,autumn.night,7.920835851889748 +2020,4,CO2EMT,autumn.night,465.7411876731913 +2020,4,GASNAT,autumn.day,-56.69422338503598 +2020,4,RSHEAT,autumn.day,49.29932468263999 +2020,4,CO2EMT,autumn.day,2898.7756416768902 +2020,4,GASNAT,autumn.peak,-44.38022605095635 +2020,4,RSHEAT,autumn.peak,38.591500913875095 +2020,4,CO2EMT,autumn.peak,2269.160957985399 +2020,4,GASNAT,autumn.evening,-17.037675338040994 +2020,4,RSHEAT,autumn.evening,14.815369859166085 +2020,4,CO2EMT,autumn.evening,871.1363400340363 +2020,5,ELCTRI,winter.night,-9.624518793997803 +2020,5,RSHEAT,winter.night,29.165208466660005 2020,5,ELCTRI,winter.day,-13.749312543997803 2020,5,RSHEAT,winter.day,41.664583466660005 2020,5,ELCTRI,winter.peak,-4.12479375 2020,5,RSHEAT,winter.peak,12.499375 -2020,5,ELCTRI,winter.evening,-5.443747882833193 -2020,5,RSHEAT,winter.evening,16.49620570555513 -2020,5,ELCTRI,peak.night,-7.880916915276357 -2020,5,RSHEAT,peak.night,23.881566409928354 -2020,5,ELCTRI,peak.day,-13.55656830499664 -2020,5,RSHEAT,peak.day,41.08051001514133 -2020,5,ELCTRI,peak.peak,-3.933207076819192 -2020,5,RSHEAT,peak.peak,11.91880932369452 -2020,5,ELCTRI,peak.evening,-4.59892639680773 -2020,5,RSHEAT,peak.evening,13.93614059638706 +2020,5,ELCTRI,winter.evening,-5.499725043997801 +2020,5,RSHEAT,winter.evening,16.66583346666 +2020,5,ELCTRI,peak.night,-8.439766292831097 +2020,5,RSHEAT,peak.night,25.575049372215442 +2020,5,ELCTRI,peak.day,-13.749312543997803 +2020,5,RSHEAT,peak.day,41.664583466660005 +2020,5,ELCTRI,peak.peak,-4.12479375 +2020,5,RSHEAT,peak.peak,12.499375 +2020,5,ELCTRI,peak.evening,-4.91826889936247 +2020,5,RSHEAT,peak.evening,14.903845149583242 2020,5,ELCTRI,summer.night,-1.7439017181564 2020,5,RSHEAT,summer.night,5.28455066108 2020,5,ELCTRI,summer.day,-2.9055524196533997 @@ -215,30 +215,30 @@ milestone_year,asset_id,commodity_id,time_slice,flow 2020,5,RSHEAT,summer.peak,2.89937103318 2020,5,ELCTRI,summer.evening,-0.7124084843502 2020,5,RSHEAT,summer.evening,2.1588135889399998 -2020,5,ELCTRI,autumn.night,-8.232925863974845 -2020,5,RSHEAT,autumn.night,24.948260193863167 -2020,5,ELCTRI,autumn.day,-13.18695890858855 -2020,5,RSHEAT,autumn.day,39.96048154117742 -2020,5,ELCTRI,autumn.peak,-3.704401257563817 -2020,5,RSHEAT,autumn.peak,11.225458356253991 -2020,5,ELCTRI,autumn.evening,-4.774930874365651 -2020,5,RSHEAT,autumn.evening,14.469487498077731 +2020,5,ELCTRI,autumn.night,-8.791775241529585 +2020,5,RSHEAT,autumn.night,26.641743156150255 +2020,5,ELCTRI,autumn.day,-13.749312543997803 +2020,5,RSHEAT,autumn.day,41.664583466660005 +2020,5,ELCTRI,autumn.peak,-3.9439081325638172 +2020,5,RSHEAT,autumn.peak,11.9512367653449 +2020,5,ELCTRI,autumn.evening,-5.094273376920391 +2020,5,RSHEAT,autumn.evening,15.437192051273913 2030,0,GASPRD,winter.night,0.0 2030,0,CO2EMT,winter.night,0.0 -2030,0,GASPRD,winter.day,238.63971192534342 -2030,0,CO2EMT,winter.day,1220.164847074281 -2030,0,GASPRD,winter.peak,112.5635625 -2030,0,CO2EMT,winter.peak,575.5374950625 -2030,0,GASPRD,winter.evening,150.084751200678 -2030,0,CO2EMT,winter.evening,767.3833328890667 +2030,0,GASPRD,winter.day,209.007363584943 +2030,0,CO2EMT,winter.day,1068.6546500098136 +2030,0,GASPRD,winter.peak,125.070625 +2030,0,CO2EMT,winter.peak,639.486105625 +2030,0,GASPRD,winter.evening,166.76083466742 +2030,0,CO2EMT,winter.evening,852.6481476545185 2030,0,GASPRD,peak.night,0.0 2030,0,CO2EMT,peak.night,0.0 2030,0,GASPRD,peak.day,0.0 2030,0,CO2EMT,peak.day,0.0 -2030,0,GASPRD,peak.peak,111.47202042748387 -2030,0,CO2EMT,peak.peak,569.9564404457251 -2030,0,GASPRD,peak.evening,150.084751200678 -2030,0,CO2EMT,peak.evening,767.3833328890667 +2030,0,GASPRD,peak.peak,92.16472468680718 +2030,0,CO2EMT,peak.peak,471.23823732364514 +2030,0,GASPRD,peak.evening,166.76083466742 +2030,0,CO2EMT,peak.evening,852.6481476545185 2030,0,GASPRD,summer.night,0.0 2030,0,CO2EMT,summer.night,0.0 2030,0,GASPRD,summer.day,0.0 @@ -251,34 +251,34 @@ milestone_year,asset_id,commodity_id,time_slice,flow 2030,0,CO2EMT,autumn.night,0.0 2030,0,GASPRD,autumn.day,0.0 2030,0,CO2EMT,autumn.day,0.0 -2030,0,GASPRD,autumn.peak,43.669169878297794 -2030,0,CO2EMT,autumn.peak,223.28046558773664 -2030,0,GASPRD,autumn.evening,150.084751200678 -2030,0,CO2EMT,autumn.evening,767.3833328890667 +2030,0,GASPRD,autumn.peak,23.49170449767925 +2030,0,CO2EMT,autumn.peak,120.11308509663402 +2030,0,GASPRD,autumn.evening,166.76083466742 +2030,0,CO2EMT,autumn.evening,852.6481476545185 2030,1,GASPRD,winter.night,-0.0 2030,1,GASNAT,winter.night,0.0 2030,1,CO2EMT,winter.night,0.0 -2030,1,GASPRD,winter.day,-240.67562912215044 -2030,1,GASNAT,winter.day,229.2148848782385 -2030,1,CO2EMT,winter.day,585.9878531912168 -2030,1,GASPRD,winter.peak,-111.69102656250001 -2030,1,GASNAT,winter.peak,106.37240625000001 -2030,1,CO2EMT,winter.peak,271.941056578125 -2030,1,GASPRD,winter.evening,-148.92136994137095 -2030,1,GASNAT,winter.evening,141.829876134639 -2030,1,CO2EMT,winter.evening,362.58807833820464 +2030,1,GASPRD,winter.day,-211.26949380361748 +2030,1,GASNAT,winter.day,201.2090417177309 +2030,1,CO2EMT,winter.day,514.3909151513791 +2030,1,GASPRD,winter.peak,-124.10114062500001 +2030,1,GASNAT,winter.peak,118.1915625 +2030,1,CO2EMT,winter.peak,302.15672953125005 +2030,1,GASPRD,winter.evening,-165.4681888237455 +2030,1,GASNAT,winter.evening,157.58875126070998 +2030,1,CO2EMT,winter.evening,402.87564259800513 2030,1,GASPRD,peak.night,-0.0 2030,1,GASNAT,peak.night,0.0 2030,1,CO2EMT,peak.night,0.0 -2030,1,GASPRD,peak.day,-0.9443751242908989 -2030,1,GASNAT,peak.day,0.8994048802770465 -2030,1,CO2EMT,peak.day,2.2993285764282696 -2030,1,GASPRD,peak.peak,-111.69102656250001 -2030,1,GASNAT,peak.peak,106.37240625000001 -2030,1,CO2EMT,peak.peak,271.941056578125 -2030,1,GASPRD,peak.evening,-148.92136994137095 -2030,1,GASNAT,peak.evening,141.829876134639 -2030,1,CO2EMT,peak.evening,362.58807833820464 +2030,1,GASPRD,peak.day,-0.0 +2030,1,GASNAT,peak.day,0.0 +2030,1,CO2EMT,peak.day,0.0 +2030,1,GASPRD,peak.peak,-93.45737053048165 +2030,1,GASNAT,peak.peak,89.00701955283967 +2030,1,CO2EMT,peak.peak,227.5464454868346 +2030,1,GASPRD,peak.evening,-165.4681888237455 +2030,1,GASNAT,peak.evening,157.58875126070998 +2030,1,CO2EMT,peak.evening,402.87564259800513 2030,1,GASPRD,summer.night,-0.0 2030,1,GASNAT,summer.night,0.0 2030,1,CO2EMT,summer.night,0.0 @@ -297,12 +297,12 @@ milestone_year,asset_id,commodity_id,time_slice,flow 2030,1,GASPRD,autumn.day,-0.0 2030,1,GASNAT,autumn.day,0.0 2030,1,CO2EMT,autumn.day,0.0 -2030,1,GASPRD,autumn.peak,-44.83255113760483 -2030,1,GASNAT,autumn.peak,42.69766775009984 -2030,1,CO2EMT,autumn.peak,109.15658760313025 -2030,1,GASPRD,autumn.evening,-148.92136994137095 -2030,1,GASNAT,autumn.evening,141.829876134639 -2030,1,CO2EMT,autumn.evening,362.58807833820464 +2030,1,GASPRD,autumn.peak,-24.784350341353754 +2030,1,GASNAT,autumn.peak,23.60414318224167 +2030,1,CO2EMT,autumn.peak,60.34399204540084 +2030,1,GASPRD,autumn.evening,-165.4681888237455 +2030,1,GASNAT,autumn.evening,157.58875126070998 +2030,1,CO2EMT,autumn.evening,402.87564259800513 2030,2,ELCTRI,winter.night,4.435312795545212 2030,2,ELCTRI,winter.day,7.075379933645912 2030,2,ELCTRI,winter.peak,1.9712501261051125 @@ -319,30 +319,30 @@ milestone_year,asset_id,commodity_id,time_slice,flow 2030,2,ELCTRI,autumn.day,6.001752635595889 2030,2,ELCTRI,autumn.peak,1.5488393825638174 2030,2,ELCTRI,autumn.evening,1.9008483513729915 -2030,3,GASNAT,winter.night,-7.544466596988991 -2030,3,ELCTRI,winter.night,5.02964439799266 -2030,3,CO2EMT,winter.night,385.74857710404706 +2030,3,GASNAT,winter.night,-7.783808997678887 +2030,3,ELCTRI,winter.night,5.189205998452591 +2030,3,CO2EMT,winter.night,397.9861540513214 2030,3,GASNAT,winter.day,-10.010898915527838 2030,3,ELCTRI,winter.day,6.6739326103518914 2030,3,CO2EMT,winter.day,511.8572615509383 2030,3,GASNAT,winter.peak,-3.2303154358423316 2030,3,ELCTRI,winter.peak,2.1535436238948877 2030,3,CO2EMT,winter.peak,165.1660282346184 -2030,3,GASNAT,winter.evening,-4.31112378448899 -2030,3,ELCTRI,winter.evening,2.87408252299266 -2030,3,CO2EMT,winter.evening,220.42775910092203 -2030,3,GASNAT,peak.night,-7.544466596988991 -2030,3,ELCTRI,peak.night,5.02964439799266 -2030,3,CO2EMT,peak.night,385.74857710404706 -2030,3,GASNAT,peak.day,-10.777809409488992 -2030,3,ELCTRI,peak.day,7.185206272992661 -2030,3,CO2EMT,peak.day,551.0693951071721 -2030,3,GASNAT,peak.peak,-3.2333428125 -2030,3,ELCTRI,peak.peak,2.155561875 -2030,3,CO2EMT,peak.peak,165.320818003125 -2030,3,GASNAT,peak.evening,-4.31112378448899 -2030,3,ELCTRI,peak.evening,2.87408252299266 -2030,3,CO2EMT,peak.evening,220.42775910092203 +2030,3,GASNAT,winter.evening,-4.395089526235901 +2030,3,ELCTRI,winter.evening,2.9300596841572673 +2030,3,CO2EMT,winter.evening,224.7209274764416 +2030,3,GASNAT,peak.night,-8.382740663321101 +2030,3,ELCTRI,peak.night,5.5884937755474 +2030,3,CO2EMT,peak.night,428.6095301156078 +2030,3,GASNAT,peak.day,-11.066925767990737 +2030,3,ELCTRI,peak.day,7.3779505119938245 +2030,3,CO2EMT,peak.day,565.8519145173664 +2030,3,GASNAT,peak.peak,-3.520722822271213 +2030,3,ELCTRI,peak.peak,2.3471485481808085 +2030,3,CO2EMT,peak.peak,180.0145579027271 +2030,3,GASNAT,peak.evening,-4.790137538321099 +2030,3,ELCTRI,peak.evening,3.1934250255473997 +2030,3,CO2EMT,peak.evening,244.9197323343578 2030,3,GASNAT,summer.night,-0.44265925791417715 2030,3,ELCTRI,summer.night,0.29510617194278477 2030,3,CO2EMT,summer.night,22.633167857151875 @@ -355,42 +355,42 @@ milestone_year,asset_id,commodity_id,time_slice,flow 2030,3,GASNAT,summer.evening,-0.0 2030,3,ELCTRI,summer.evening,0.0 2030,3,CO2EMT,summer.evening,0.0 -2030,3,GASNAT,autumn.night,-7.544466596988991 -2030,3,ELCTRI,autumn.night,5.02964439799266 -2030,3,CO2EMT,autumn.night,385.74857710404706 -2030,3,GASNAT,autumn.day,-10.777809409488992 -2030,3,ELCTRI,autumn.day,7.185206272992661 -2030,3,CO2EMT,autumn.day,551.0693951071721 -2030,3,GASNAT,autumn.peak,-3.2333428125 -2030,3,ELCTRI,autumn.peak,2.155561875 -2030,3,CO2EMT,autumn.peak,165.320818003125 -2030,3,GASNAT,autumn.evening,-4.31112378448899 -2030,3,ELCTRI,autumn.evening,2.87408252299266 -2030,3,CO2EMT,autumn.evening,220.42775910092203 -2030,4,GASNAT,winter.night,-44.401196580312785 -2030,4,RSHEAT,winter.night,38.60973615679373 -2030,4,CO2EMT,winter.night,2270.233181151393 +2030,3,GASNAT,autumn.night,-8.382740663321101 +2030,3,ELCTRI,autumn.night,5.5884937755474 +2030,3,CO2EMT,autumn.night,428.6095301156078 +2030,3,GASNAT,autumn.day,-11.621339862602872 +2030,3,ELCTRI,autumn.day,7.747559908401914 +2030,3,CO2EMT,autumn.day,594.1991071748848 +2030,3,GASNAT,autumn.peak,-3.592603125 +2030,3,ELCTRI,autumn.peak,2.39506875 +2030,3,CO2EMT,autumn.peak,183.68979778124998 +2030,3,GASNAT,autumn.evening,-4.790137538321099 +2030,3,ELCTRI,autumn.evening,3.1934250255473997 +2030,3,CO2EMT,autumn.evening,244.9197323343578 +2030,4,GASNAT,winter.night,-43.845148578709995 +2030,4,RSHEAT,winter.night,38.1262161554 +2030,4,CO2EMT,winter.night,2241.8024468294425 2030,4,GASNAT,winter.day,-219.27676569358 2030,4,RSHEAT,winter.day,190.6754484292 2030,4,CO2EMT,winter.day,11211.621029912745 2030,4,GASNAT,winter.peak,-104.21874999999999 2030,4,RSHEAT,winter.peak,90.625 2030,4,CO2EMT,winter.peak,5328.704687500001 -2030,4,GASNAT,winter.evening,-71.6357075449506 -2030,4,RSHEAT,winter.evening,62.29191960430488 -2030,4,CO2EMT,winter.evening,3662.733726773325 +2030,4,GASNAT,winter.evening,-71.44063561968 +2030,4,RSHEAT,winter.evening,62.1222918432 +2030,4,CO2EMT,winter.evening,3652.7596992342387 2030,4,GASNAT,peak.night,-0.0 2030,4,RSHEAT,peak.night,0.0 2030,4,CO2EMT,peak.night,0.0 -2030,4,GASNAT,peak.day,-96.88447595999847 -2030,4,RSHEAT,peak.day,84.24737039999867 -2030,4,CO2EMT,peak.day,4953.703255834722 -2030,4,GASNAT,peak.peak,-66.79450351405733 -2030,4,RSHEAT,peak.peak,58.0821769687455 -2030,4,CO2EMT,peak.peak,3415.202964673751 -2030,4,GASNAT,peak.evening,-32.809646978777884 -2030,4,RSHEAT,peak.evening,28.530127807632944 -2030,4,CO2EMT,peak.evening,1677.5572500249134 +2030,4,GASNAT,peak.day,-96.21279149075198 +2030,4,RSHEAT,peak.day,83.66329694848 +2030,4,CO2EMT,peak.day,4919.3600289221495 +2030,4,GASNAT,peak.peak,-66.12685298630602 +2030,4,RSHEAT,peak.peak,57.50161129244002 +2030,4,CO2EMT,peak.peak,3381.0659931898267 +2030,4,GASNAT,peak.evening,-31.696786742602278 +2030,4,RSHEAT,peak.evening,27.562423254436766 +2030,4,CO2EMT,peak.evening,1620.6567061492547 2030,4,GASNAT,summer.night,-0.0 2030,4,RSHEAT,summer.night,0.0 2030,4,CO2EMT,summer.night,0.0 @@ -406,31 +406,31 @@ milestone_year,asset_id,commodity_id,time_slice,flow 2030,4,GASNAT,autumn.night,-0.0 2030,4,RSHEAT,autumn.night,0.0 2030,4,CO2EMT,autumn.night,0.0 -2030,4,GASNAT,autumn.day,-69.93394387434098 -2030,4,RSHEAT,autumn.day,60.81212510812259 -2030,4,CO2EMT,autumn.day,3575.7225502950546 -2030,4,GASNAT,autumn.peak,-51.482436656410904 -2030,4,RSHEAT,autumn.peak,44.76733622296601 -2030,4,CO2EMT,autumn.peak,2632.29698624229 -2030,4,GASNAT,autumn.evening,-21.902012444216606 -2030,4,RSHEAT,autumn.evening,19.045228212362268 -2030,4,CO2EMT,autumn.evening,1119.8498962727951 -2030,5,ELCTRI,winter.night,-9.464957193537872 -2030,5,RSHEAT,winter.night,28.681688465266276 +2030,4,GASNAT,autumn.day,-67.97422666003601 +2030,4,RSHEAT,autumn.day,59.10802318264001 +2030,4,CO2EMT,autumn.day,3475.5222091276414 +2030,4,GASNAT,autumn.peak,-50.64779148595636 +2030,4,RSHEAT,autumn.peak,44.0415578138751 +2030,4,CO2EMT,autumn.peak,2589.621578676949 +2030,4,GASNAT,autumn.evening,-20.789152208041003 +2030,4,RSHEAT,autumn.evening,18.07752365916609 +2030,4,CO2EMT,autumn.evening,1062.9493523971366 +2030,5,ELCTRI,winter.night,-9.624518793997803 +2030,5,RSHEAT,winter.night,29.165208466660005 2030,5,ELCTRI,winter.day,-13.749312543997803 2030,5,RSHEAT,winter.day,41.664583466660005 2030,5,ELCTRI,winter.peak,-4.12479375 2030,5,RSHEAT,winter.peak,12.499375 -2030,5,ELCTRI,winter.evening,-5.443747882833193 -2030,5,RSHEAT,winter.evening,16.49620570555513 -2030,5,ELCTRI,peak.night,-7.880916915276357 -2030,5,RSHEAT,peak.night,23.881566409928354 -2030,5,ELCTRI,peak.day,-13.55656830499664 -2030,5,RSHEAT,peak.day,41.08051001514133 -2030,5,ELCTRI,peak.peak,-3.933207076819192 -2030,5,RSHEAT,peak.peak,11.91880932369452 -2030,5,ELCTRI,peak.evening,-4.59892639680773 -2030,5,RSHEAT,peak.evening,13.93614059638706 +2030,5,ELCTRI,winter.evening,-5.499725043997801 +2030,5,RSHEAT,winter.evening,16.66583346666 +2030,5,ELCTRI,peak.night,-8.439766292831097 +2030,5,RSHEAT,peak.night,25.575049372215442 +2030,5,ELCTRI,peak.day,-13.749312543997803 +2030,5,RSHEAT,peak.day,41.664583466660005 +2030,5,ELCTRI,peak.peak,-4.12479375 +2030,5,RSHEAT,peak.peak,12.499375 +2030,5,ELCTRI,peak.evening,-4.91826889936247 +2030,5,RSHEAT,peak.evening,14.903845149583242 2030,5,ELCTRI,summer.night,-1.9319477961564002 2030,5,RSHEAT,summer.night,5.85438726108 2030,5,ELCTRI,summer.day,-3.2188600626534005 @@ -439,14 +439,14 @@ milestone_year,asset_id,commodity_id,time_slice,flow 2030,5,RSHEAT,summer.peak,3.2120121331800005 2030,5,ELCTRI,summer.evening,-0.7892279633502001 2030,5,RSHEAT,summer.evening,2.39159988894 -2030,5,ELCTRI,autumn.night,-8.232925863974845 -2030,5,RSHEAT,autumn.night,24.948260193863167 -2030,5,ELCTRI,autumn.day,-13.18695890858855 -2030,5,RSHEAT,autumn.day,39.96048154117742 -2030,5,ELCTRI,autumn.peak,-3.704401257563817 -2030,5,RSHEAT,autumn.peak,11.225458356253991 -2030,5,ELCTRI,autumn.evening,-4.774930874365651 -2030,5,RSHEAT,autumn.evening,14.469487498077731 +2030,5,ELCTRI,autumn.night,-8.791775241529585 +2030,5,RSHEAT,autumn.night,26.641743156150255 +2030,5,ELCTRI,autumn.day,-13.749312543997803 +2030,5,RSHEAT,autumn.day,41.664583466660005 +2030,5,ELCTRI,autumn.peak,-3.9439081325638172 +2030,5,RSHEAT,autumn.peak,11.9512367653449 +2030,5,ELCTRI,autumn.evening,-5.094273376920391 +2030,5,RSHEAT,autumn.evening,15.437192051273913 2030,6,GASNAT,winter.night,-0.0 2030,6,RSHEAT,winter.night,0.0 2030,6,CO2EMT,winter.night,0.0 @@ -459,9 +459,9 @@ milestone_year,asset_id,commodity_id,time_slice,flow 2030,6,GASNAT,winter.evening,-0.0 2030,6,RSHEAT,winter.evening,0.0 2030,6,CO2EMT,winter.evening,0.0 -2030,6,GASNAT,peak.night,-26.7463182086154 -2030,6,RSHEAT,peak.night,23.257668007491652 -2030,6,CO2EMT,peak.night,1367.5392500065054 +2030,6,GASNAT,peak.night,-24.798812801985243 +2030,6,RSHEAT,peak.night,21.56418504520456 +2030,6,CO2EMT,peak.night,1267.9632985655055 2030,6,GASNAT,peak.day,-0.0 2030,6,RSHEAT,peak.day,0.0 2030,6,CO2EMT,peak.day,0.0 @@ -483,9 +483,9 @@ milestone_year,asset_id,commodity_id,time_slice,flow 2030,6,GASNAT,summer.evening,-0.0 2030,6,RSHEAT,summer.evening,0.0 2030,6,CO2EMT,summer.evening,0.0 -2030,6,GASNAT,autumn.night,-15.342408306303366 -2030,6,RSHEAT,autumn.night,13.341224614176841 -2030,6,CO2EMT,autumn.night,784.4573367012912 +2030,6,GASNAT,autumn.night,-13.39490289967321 +2030,6,RSHEAT,autumn.night,11.64774165188975 +2030,6,CO2EMT,autumn.night,684.8813852602914 2030,6,GASNAT,autumn.day,-0.0 2030,6,RSHEAT,autumn.day,0.0 2030,6,CO2EMT,autumn.day,0.0 @@ -495,22 +495,22 @@ milestone_year,asset_id,commodity_id,time_slice,flow 2030,6,GASNAT,autumn.evening,-0.0 2030,6,RSHEAT,autumn.evening,0.0 2030,6,CO2EMT,autumn.evening,0.0 -2040,0,GASPRD,winter.night,14.935239589183766 -2040,0,CO2EMT,winter.night,76.3638800194966 -2040,0,GASPRD,winter.day,375.2118762006781 -2040,0,CO2EMT,winter.day,1918.4583230140672 -2040,0,GASPRD,winter.peak,112.5635625 -2040,0,CO2EMT,winter.peak,575.5374950625 -2040,0,GASPRD,winter.evening,150.084751200678 -2040,0,CO2EMT,winter.evening,767.3833328890667 +2040,0,GASPRD,winter.night,0.0 +2040,0,CO2EMT,winter.night,0.0 +2040,0,GASPRD,winter.day,360.96396982311984 +2040,0,CO2EMT,winter.day,1845.6087777056118 +2040,0,GASPRD,winter.peak,125.070625 +2040,0,CO2EMT,winter.peak,639.486105625 +2040,0,GASPRD,winter.evening,166.76083466742 +2040,0,CO2EMT,winter.evening,852.6481476545185 2040,0,GASPRD,peak.night,0.0 2040,0,CO2EMT,peak.night,0.0 -2040,0,GASPRD,peak.day,114.89883656986375 -2040,0,CO2EMT,peak.day,587.4777513817133 -2040,0,GASPRD,peak.peak,112.5635625 -2040,0,CO2EMT,peak.peak,575.5374950625 -2040,0,GASPRD,peak.evening,150.084751200678 -2040,0,CO2EMT,peak.evening,767.3833328890667 +2040,0,GASPRD,peak.day,85.71569060312174 +2040,0,CO2EMT,peak.day,438.2643260537615 +2040,0,GASPRD,peak.peak,125.070625 +2040,0,CO2EMT,peak.peak,639.486105625 +2040,0,GASPRD,peak.evening,166.76083466742 +2040,0,CO2EMT,peak.evening,852.6481476545185 2040,0,GASPRD,summer.night,0.0 2040,0,CO2EMT,summer.night,0.0 2040,0,GASPRD,summer.day,0.0 @@ -521,36 +521,36 @@ milestone_year,asset_id,commodity_id,time_slice,flow 2040,0,CO2EMT,summer.evening,143.70975218960763 2040,0,GASPRD,autumn.night,0.0 2040,0,CO2EMT,autumn.night,0.0 -2040,0,GASPRD,autumn.day,40.21371702132454 -2040,0,CO2EMT,autumn.day,205.6127351300324 -2040,0,GASPRD,autumn.peak,112.5635625 -2040,0,CO2EMT,autumn.peak,575.5374950625 -2040,0,GASPRD,autumn.evening,150.084751200678 -2040,0,CO2EMT,autumn.evening,767.3833328890667 -2040,1,GASPRD,winter.night,-19.879609920297764 -2040,1,GASNAT,winter.night,18.932961828855014 -2040,1,CO2EMT,winter.night,48.40211691546784 -2040,1,GASPRD,winter.day,-372.30342306637107 -2040,1,GASNAT,winter.day,354.5746886346391 -2040,1,CO2EMT,winter.day,906.4701914944549 -2040,1,GASPRD,winter.peak,-111.69102656250001 -2040,1,GASNAT,winter.peak,106.37240625000001 -2040,1,CO2EMT,winter.peak,271.941056578125 -2040,1,GASPRD,winter.evening,-148.92136994137095 -2040,1,GASNAT,winter.evening,141.829876134639 -2040,1,CO2EMT,winter.evening,362.58807833820464 +2040,0,GASPRD,autumn.day,11.030571054582595 +2040,0,CO2EMT,autumn.day,56.39930980208081 +2040,0,GASPRD,autumn.peak,125.070625 +2040,0,CO2EMT,autumn.peak,639.486105625 +2040,0,GASPRD,autumn.evening,166.76083466742 +2040,0,CO2EMT,autumn.evening,852.6481476545185 +2040,1,GASPRD,winter.night,-289.5693294487456 +2040,1,GASNAT,winter.night,275.78031376071004 +2040,1,CO2EMT,winter.night,705.0323721292552 +2040,1,GASPRD,winter.day,-363.2261000417942 +2040,1,GASNAT,winter.day,345.929619087423 +2040,1,CO2EMT,winter.day,884.3690711969971 +2040,1,GASPRD,winter.peak,-0.0 +2040,1,GASNAT,winter.peak,0.0 +2040,1,CO2EMT,winter.peak,0.0 +2040,1,GASPRD,winter.evening,-0.0 +2040,1,GASNAT,winter.evening,0.0 +2040,1,CO2EMT,winter.evening,0.0 2040,1,GASPRD,peak.night,-0.0 2040,1,GASNAT,peak.night,0.0 2040,1,CO2EMT,peak.night,0.0 -2040,1,GASPRD,peak.day,-116.93475376667077 -2040,1,GASNAT,peak.day,111.36643215873406 -2040,1,CO2EMT,peak.day,284.70828381380363 -2040,1,GASPRD,peak.peak,-111.69102656250001 -2040,1,GASNAT,peak.peak,106.37240625000001 -2040,1,CO2EMT,peak.peak,271.941056578125 -2040,1,GASPRD,peak.evening,-148.92136994137095 -2040,1,GASNAT,peak.evening,141.829876134639 -2040,1,CO2EMT,peak.evening,362.58807833820464 +2040,1,GASPRD,peak.day,-87.97782082179623 +2040,1,GASNAT,peak.day,83.78840078266308 +2040,1,CO2EMT,peak.day,214.20504660087818 +2040,1,GASPRD,peak.peak,-124.10114062500001 +2040,1,GASNAT,peak.peak,118.1915625 +2040,1,CO2EMT,peak.peak,302.15672953125005 +2040,1,GASPRD,peak.evening,-165.4681888237455 +2040,1,GASNAT,peak.evening,157.58875126070998 +2040,1,CO2EMT,peak.evening,402.87564259800513 2040,1,GASPRD,summer.night,-0.0 2040,1,GASNAT,summer.night,0.0 2040,1,CO2EMT,summer.night,0.0 @@ -566,15 +566,15 @@ milestone_year,asset_id,commodity_id,time_slice,flow 2040,1,GASPRD,autumn.night,-0.0 2040,1,GASNAT,autumn.night,0.0 2040,1,CO2EMT,autumn.night,0.0 -2040,1,GASPRD,autumn.day,-42.2496342181316 -2040,1,GASNAT,autumn.day,40.237746874411044 -2040,1,CO2EMT,autumn.day,102.86779988443185 -2040,1,GASPRD,autumn.peak,-111.69102656250001 -2040,1,GASNAT,autumn.peak,106.37240625000001 -2040,1,CO2EMT,autumn.peak,271.941056578125 -2040,1,GASPRD,autumn.evening,-148.92136994137095 -2040,1,GASNAT,autumn.evening,141.829876134639 -2040,1,CO2EMT,autumn.evening,362.58807833820464 +2040,1,GASPRD,autumn.day,-13.292701273257066 +2040,1,GASNAT,autumn.day,12.659715498340063 +2040,1,CO2EMT,autumn.day,32.36456267150637 +2040,1,GASPRD,autumn.peak,-124.10114062500001 +2040,1,GASNAT,autumn.peak,118.1915625 +2040,1,CO2EMT,autumn.peak,302.15672953125005 +2040,1,GASPRD,autumn.evening,-165.4681888237455 +2040,1,GASNAT,autumn.evening,157.58875126070998 +2040,1,CO2EMT,autumn.evening,402.87564259800513 2040,6,GASNAT,winter.night,-29.838533129172095 2040,6,RSHEAT,winter.night,25.94655054710617 2040,6,CO2EMT,winter.night,1525.6441988945694 diff --git a/tests/data/simple/commodity_prices.csv b/tests/data/simple/commodity_prices.csv index 4a9127cf3..af41f73e9 100644 --- a/tests/data/simple/commodity_prices.csv +++ b/tests/data/simple/commodity_prices.csv @@ -1,19 +1,19 @@ milestone_year,commodity_id,region_id,time_slice,price -2020,ELCTRI,GBR,autumn.day,17.26223303030303 +2020,ELCTRI,GBR,autumn.day,7.993308999999999 2020,ELCTRI,GBR,autumn.evening,17.26223303030303 2020,ELCTRI,GBR,autumn.night,17.26223303030303 2020,ELCTRI,GBR,autumn.peak,17.26223303030303 -2020,ELCTRI,GBR,peak.day,17.26223303030303 +2020,ELCTRI,GBR,peak.day,7.993308999999999 2020,ELCTRI,GBR,peak.evening,17.26223303030303 2020,ELCTRI,GBR,peak.night,17.26223303030303 -2020,ELCTRI,GBR,peak.peak,17.26223303030303 +2020,ELCTRI,GBR,peak.peak,7.993308999999999 2020,ELCTRI,GBR,summer.day,0.4 2020,ELCTRI,GBR,summer.evening,0.4 2020,ELCTRI,GBR,summer.night,7.993308999999999 2020,ELCTRI,GBR,summer.peak,0.4 2020,ELCTRI,GBR,winter.day,7.993308999999999 -2020,ELCTRI,GBR,winter.evening,17.26223303030303 -2020,ELCTRI,GBR,winter.night,17.26223303030303 +2020,ELCTRI,GBR,winter.evening,7.993308999999999 +2020,ELCTRI,GBR,winter.night,7.993308999999999 2020,ELCTRI,GBR,winter.peak,7.993308999999999 2020,GASNAT,GBR,autumn.day,2.9170059999999998 2020,GASNAT,GBR,autumn.evening,2.9170059999999998 @@ -63,21 +63,21 @@ milestone_year,commodity_id,region_id,time_slice,price 2020,RSHEAT,GBR,winter.evening,5.8665369 2020,RSHEAT,GBR,winter.night,5.8665369 2020,RSHEAT,GBR,winter.peak,5.8665369 -2030,ELCTRI,GBR,autumn.day,17.26223303030303 +2030,ELCTRI,GBR,autumn.day,7.993308999999999 2030,ELCTRI,GBR,autumn.evening,17.26223303030303 2030,ELCTRI,GBR,autumn.night,17.26223303030303 2030,ELCTRI,GBR,autumn.peak,17.26223303030303 -2030,ELCTRI,GBR,peak.day,17.26223303030303 +2030,ELCTRI,GBR,peak.day,7.993308999999999 2030,ELCTRI,GBR,peak.evening,17.26223303030303 2030,ELCTRI,GBR,peak.night,17.26223303030303 -2030,ELCTRI,GBR,peak.peak,17.26223303030303 +2030,ELCTRI,GBR,peak.peak,7.993308999999999 2030,ELCTRI,GBR,summer.day,0.4 2030,ELCTRI,GBR,summer.evening,0.4 2030,ELCTRI,GBR,summer.night,7.993308999999999 2030,ELCTRI,GBR,summer.peak,0.4 2030,ELCTRI,GBR,winter.day,7.993308999999999 -2030,ELCTRI,GBR,winter.evening,17.26223303030303 -2030,ELCTRI,GBR,winter.night,17.26223303030303 +2030,ELCTRI,GBR,winter.evening,7.993308999999999 +2030,ELCTRI,GBR,winter.night,7.993308999999999 2030,ELCTRI,GBR,winter.peak,7.993308999999999 2030,GASNAT,GBR,autumn.day,2.9170059999999998 2030,GASNAT,GBR,autumn.evening,2.9170059999999998 diff --git a/tests/data/simple/debug_appraisal_results.csv b/tests/data/simple/debug_appraisal_results.csv index 8c1cc9d55..e3dd78eab 100644 --- a/tests/data/simple/debug_appraisal_results.csv +++ b/tests/data/simple/debug_appraisal_results.csv @@ -1,75 +1,75 @@ milestone_year,run_description,asset_id,process_id,region_id,capacity,capacity_coefficient,metric 2030,ironing out iteration 0; RSHEAT A0_RES round 0,4,RGASBR,GBR,2900.0,1.6668,10.682146961463904 -2030,ironing out iteration 0; RSHEAT A0_RES round 0,5,RELCHP,GBR,399.98,4.167,10.21799922555414 -2030,ironing out iteration 0; RSHEAT A0_RES round 0,,RGASBR,GBR,365.58184058764806,8.9714830438624,16.969542701647153 -2030,ironing out iteration 0; RSHEAT A0_RES round 0,,RELCHP,GBR,365.58184058764806,22.428707609655994,32.7615162456679 +2030,ironing out iteration 0; RSHEAT A0_RES round 0,5,RELCHP,GBR,399.98,4.167,8.868981739360816 +2030,ironing out iteration 0; RSHEAT A0_RES round 0,,RGASBR,GBR,365.58184058764806,8.971483043862397,16.969542701647153 +2030,ironing out iteration 0; RSHEAT A0_RES round 0,,RELCHP,GBR,365.58184058764806,22.428707609655994,31.420829628529706 2030,ironing out iteration 0; RSHEAT A0_RES round 1,4,RGASBR,GBR,2900.0,1.6668,12.82090004166788 -2030,ironing out iteration 0; RSHEAT A0_RES round 1,,RGASBR,GBR,365.58184058764806,8.9714830438624,19.093146917636513 -2030,ironing out iteration 0; RSHEAT A0_RES round 1,,RELCHP,GBR,365.58184058764806,22.428707609655994,38.32240163825729 -2030,ironing out iteration 0; RSHEAT A0_RES round 2,,RGASBR,GBR,355.83840587648046,8.9714830438624,292.9539943035968 +2030,ironing out iteration 0; RSHEAT A0_RES round 1,,RGASBR,GBR,365.58184058764806,8.971483043862397,19.09314691763651 +2030,ironing out iteration 0; RSHEAT A0_RES round 1,,RELCHP,GBR,365.58184058764806,22.428707609655994,36.72529006707172 +2030,ironing out iteration 0; RSHEAT A0_RES round 2,,RGASBR,GBR,355.83840587648046,8.971483043862397,292.9539943035967 2030,ironing out iteration 0; RSHEAT A0_RES round 2,,RELCHP,GBR,355.83840587648046,22.428707609655994,720.5264354789919 -2030,ironing out iteration 0; ELCTRI A0_ELC round 0,2,WNDFRM,GBR,3.964844,30.0,7.95135326336099 -2030,ironing out iteration 0; ELCTRI A0_ELC round 0,3,GASCGT,GBR,2.43,21.0,11.116173242419679 -2030,ironing out iteration 0; ELCTRI A0_ELC round 0,,WNDFRM,GBR,0.8296341257939862,140.16807219002084,31.91256618026307 -2030,ironing out iteration 0; ELCTRI A0_ELC round 0,,GASCGT,GBR,0.464994715704925,95.25547377684373,16.700042478191456 -2030,ironing out iteration 0; ELCTRI A0_ELC round 1,3,GASCGT,GBR,2.43,21.0,13.587119801355628 -2030,ironing out iteration 0; ELCTRI A0_ELC round 1,,WNDFRM,GBR,0.8296341257939862,140.16807219002084,53.545947468916346 -2030,ironing out iteration 0; ELCTRI A0_ELC round 1,,GASCGT,GBR,0.464994715704925,95.25547377684373,29.262425253778225 -2030,ironing out iteration 0; GASNAT A0_GPR round 0,1,GASPRC,GBR,3782.13,0.21,3.5946466245698283 -2030,ironing out iteration 0; GASNAT A0_GPR round 0,,GASPRC,GBR,1882.2106508775898,0.9811765053301458,4.6491158129807735 -2030,ironing out iteration 0; GASPRD A0_GEX round 0,0,GASDRV,GBR,4002.26,0.3,3.4590637024393733 -2030,ironing out iteration 0; GASPRD A0_GEX round 0,,GASDRV,GBR,1782.3574244480762,1.4016807219002085,5.120344950409317 +2030,ironing out iteration 0; ELCTRI A0_ELC round 0,2,WNDFRM,GBR,3.964844,30.0,3.622816172114028 +2030,ironing out iteration 0; ELCTRI A0_ELC round 0,3,GASCGT,GBR,2.43,21.0,9.13946477915499 +2030,ironing out iteration 0; ELCTRI A0_ELC round 0,,WNDFRM,GBR,0.9199903183260988,140.1680721900208,14.726493327952321 +2030,ironing out iteration 0; ELCTRI A0_ELC round 0,,GASCGT,GBR,0.41849524413443256,95.25547377684373,12.076889630723867 +2030,ironing out iteration 0; ELCTRI A0_ELC round 1,3,GASCGT,GBR,2.43,21.0,9.46329962713631 +2030,ironing out iteration 0; ELCTRI A0_ELC round 1,,WNDFRM,GBR,0.9199903183260988,140.1680721900208,18.05715994774379 +2030,ironing out iteration 0; ELCTRI A0_ELC round 1,,GASCGT,GBR,0.41849524413443256,95.25547377684373,13.892715957895085 +2030,ironing out iteration 0; GASNAT A0_GPR round 0,1,GASPRC,GBR,3782.13,0.21,3.7003598973069334 +2030,ironing out iteration 0; GASNAT A0_GPR round 0,,GASPRC,GBR,1526.365937531011,0.9811765053301457,4.547513312061563 +2030,ironing out iteration 0; GASPRD A0_GEX round 0,0,GASDRV,GBR,4002.26,0.3,3.467751035720352 +2030,ironing out iteration 0; GASPRD A0_GEX round 0,,GASDRV,GBR,1602.6842344075617,1.401680721900208,4.846428429429664 2040,ironing out iteration 0; RSHEAT A0_RES round 0,6,RGASBR,GBR,355.83840587648046,1.6668,7.910651988850701 -2040,ironing out iteration 0; RSHEAT A0_RES round 0,,RGASBR,GBR,401.16573754764806,8.9714830438624,16.96954270164715 -2040,ironing out iteration 0; RSHEAT A0_RES round 0,,RELCHP,GBR,401.16573754764806,22.428707609655994,32.7615162456679 -2040,ironing out iteration 0; RSHEAT A0_RES round 1,,RGASBR,GBR,401.16573754764806,8.9714830438624,18.52936492459862 -2040,ironing out iteration 0; RSHEAT A0_RES round 1,,RELCHP,GBR,401.16573754764806,22.428707609655994,36.93897594690447 -2040,ironing out iteration 0; RSHEAT A0_RES round 2,,RGASBR,GBR,401.16573754764806,8.9714830438624,23.122931761022492 -2040,ironing out iteration 0; RSHEAT A0_RES round 2,,RELCHP,GBR,401.16573754764806,22.428707609655994,48.2108123214798 -2040,ironing out iteration 0; RSHEAT A0_RES round 3,,RGASBR,GBR,401.16573754764806,8.9714830438624,37.7175111265432 -2040,ironing out iteration 0; RSHEAT A0_RES round 3,,RELCHP,GBR,401.16573754764806,22.428707609655994,84.02344255458496 -2040,ironing out iteration 0; RSHEAT A0_RES round 4,,RGASBR,GBR,401.16573754764806,8.9714830438624,43.312726891923226 -2040,ironing out iteration 0; RSHEAT A0_RES round 4,,RELCHP,GBR,401.16573754764806,22.428707609655994,97.75315605036315 -2040,ironing out iteration 0; RSHEAT A0_RES round 5,,RGASBR,GBR,401.16573754764806,8.9714830438624,55.98733471331224 -2040,ironing out iteration 0; RSHEAT A0_RES round 5,,RELCHP,GBR,401.16573754764806,22.428707609655994,128.8545007269613 -2040,ironing out iteration 0; RSHEAT A0_RES round 6,,RGASBR,GBR,401.16573754764806,8.9714830438624,152.78630430986536 -2040,ironing out iteration 0; RSHEAT A0_RES round 6,,RELCHP,GBR,401.16573754764806,22.428707609655994,370.4833534015565 -2040,ironing out iteration 0; RSHEAT A0_RES round 7,,RGASBR,GBR,401.16573754764806,8.9714830438624,292.95399430359674 +2040,ironing out iteration 0; RSHEAT A0_RES round 0,,RGASBR,GBR,401.16573754764806,8.971483043862397,16.96954270164715 +2040,ironing out iteration 0; RSHEAT A0_RES round 0,,RELCHP,GBR,401.16573754764806,22.428707609655994,31.420829628529702 +2040,ironing out iteration 0; RSHEAT A0_RES round 1,,RGASBR,GBR,401.16573754764806,8.971483043862397,18.52936492459862 +2040,ironing out iteration 0; RSHEAT A0_RES round 1,,RELCHP,GBR,401.16573754764806,22.428707609655994,35.40994098367106 +2040,ironing out iteration 0; RSHEAT A0_RES round 2,,RGASBR,GBR,401.16573754764806,8.971483043862397,23.122931761022492 +2040,ironing out iteration 0; RSHEAT A0_RES round 2,,RELCHP,GBR,401.16573754764806,22.428707609655994,46.43024711665223 +2040,ironing out iteration 0; RSHEAT A0_RES round 3,,RGASBR,GBR,401.16573754764806,8.971483043862397,37.717511126543194 +2040,ironing out iteration 0; RSHEAT A0_RES round 3,,RELCHP,GBR,401.16573754764806,22.428707609655994,82.77458059208567 +2040,ironing out iteration 0; RSHEAT A0_RES round 4,,RGASBR,GBR,401.16573754764806,8.971483043862397,43.31272689192322 +2040,ironing out iteration 0; RSHEAT A0_RES round 4,,RELCHP,GBR,401.16573754764806,22.428707609655994,96.82223367869788 +2040,ironing out iteration 0; RSHEAT A0_RES round 5,,RGASBR,GBR,401.16573754764806,8.971483043862397,55.98733471331223 +2040,ironing out iteration 0; RSHEAT A0_RES round 5,,RELCHP,GBR,401.16573754764806,22.428707609655994,128.11733391280117 +2040,ironing out iteration 0; RSHEAT A0_RES round 6,,RGASBR,GBR,401.16573754764806,8.971483043862397,152.78630430986536 +2040,ironing out iteration 0; RSHEAT A0_RES round 6,,RELCHP,GBR,401.16573754764806,22.428707609655994,370.1072104946634 +2040,ironing out iteration 0; RSHEAT A0_RES round 7,,RGASBR,GBR,401.16573754764806,8.971483043862397,292.95399430359674 2040,ironing out iteration 0; RSHEAT A0_RES round 7,,RELCHP,GBR,401.16573754764806,22.428707609655994,720.5264354789919 -2040,ironing out iteration 0; RSHEAT A0_RES round 8,,RGASBR,GBR,401.16573754764806,8.9714830438624,292.95399430359674 +2040,ironing out iteration 0; RSHEAT A0_RES round 8,,RGASBR,GBR,401.16573754764806,8.971483043862397,292.95399430359674 2040,ironing out iteration 0; RSHEAT A0_RES round 8,,RELCHP,GBR,401.16573754764806,22.428707609655994,720.5264354789919 -2040,ironing out iteration 0; RSHEAT A0_RES round 9,,RGASBR,GBR,401.16573754764806,8.9714830438624,292.95399430359674 +2040,ironing out iteration 0; RSHEAT A0_RES round 9,,RGASBR,GBR,401.16573754764806,8.971483043862397,292.95399430359674 2040,ironing out iteration 0; RSHEAT A0_RES round 9,,RELCHP,GBR,401.16573754764806,22.428707609655994,720.5264354789919 -2040,ironing out iteration 0; RSHEAT A0_RES round 10,,RGASBR,GBR,45.327331671168054,8.9714830438624,292.9539943035968 +2040,ironing out iteration 0; RSHEAT A0_RES round 10,,RGASBR,GBR,45.327331671168054,8.971483043862397,292.95399430359674 2040,ironing out iteration 0; RSHEAT A0_RES round 10,,RELCHP,GBR,45.327331671168054,22.428707609655994,720.5264354789919 2040,ironing out iteration 0; GASNAT A0_GPR round 0,1,GASPRC,GBR,3782.13,0.21,3.5296209362039472 -2040,ironing out iteration 0; GASNAT A0_GPR round 0,,GASPRC,GBR,2210.5242056822512,0.9811765053301458,4.767386617539143 +2040,ironing out iteration 0; GASNAT A0_GPR round 0,,GASPRC,GBR,1989.471785114026,0.9811765053301457,4.582348555785227 2040,ironing out iteration 0; GASPRD A0_GEX round 0,0,GASDRV,GBR,4002.26,0.3,3.086521021442066 -2040,ironing out iteration 0; GASPRD A0_GEX round 0,,GASDRV,GBR,2321.050415966363,1.4016807219002085,4.8479208821987765 +2040,ironing out iteration 0; GASPRD A0_GEX round 0,,GASDRV,GBR,2088.9453743697272,1.401680721900208,4.583580793978898 2040,ironing out iteration 1; RSHEAT A0_RES round 0,6,RGASBR,GBR,355.83840587648046,1.6668,7.910651988850701 -2040,ironing out iteration 1; RSHEAT A0_RES round 0,,RGASBR,GBR,401.16573754764806,8.9714830438624,16.96954270164715 +2040,ironing out iteration 1; RSHEAT A0_RES round 0,,RGASBR,GBR,401.16573754764806,8.971483043862397,16.96954270164715 2040,ironing out iteration 1; RSHEAT A0_RES round 0,,RELCHP,GBR,401.16573754764806,22.428707609655994,28.05951450411788 -2040,ironing out iteration 1; RSHEAT A0_RES round 1,,RGASBR,GBR,401.16573754764806,8.9714830438624,18.52936492459862 +2040,ironing out iteration 1; RSHEAT A0_RES round 1,,RGASBR,GBR,401.16573754764806,8.971483043862397,18.52936492459862 2040,ironing out iteration 1; RSHEAT A0_RES round 1,,RELCHP,GBR,401.16573754764806,22.428707609655994,31.95907006149655 -2040,ironing out iteration 1; RSHEAT A0_RES round 2,,RGASBR,GBR,401.16573754764806,8.9714830438624,23.122931761022492 +2040,ironing out iteration 1; RSHEAT A0_RES round 2,,RGASBR,GBR,401.16573754764806,8.971483043862397,23.122931761022492 2040,ironing out iteration 1; RSHEAT A0_RES round 2,,RELCHP,GBR,401.16573754764806,22.428707609655994,43.44298715255623 -2040,ironing out iteration 1; RSHEAT A0_RES round 3,,RGASBR,GBR,401.16573754764806,8.9714830438624,37.7175111265432 +2040,ironing out iteration 1; RSHEAT A0_RES round 3,,RGASBR,GBR,401.16573754764806,8.971483043862397,37.717511126543194 2040,ironing out iteration 1; RSHEAT A0_RES round 3,,RELCHP,GBR,401.16573754764806,22.428707609655994,79.929435566358 -2040,ironing out iteration 1; RSHEAT A0_RES round 4,,RGASBR,GBR,401.16573754764806,8.9714830438624,43.312726891923226 +2040,ironing out iteration 1; RSHEAT A0_RES round 4,,RGASBR,GBR,401.16573754764806,8.971483043862397,43.31272689192322 2040,ironing out iteration 1; RSHEAT A0_RES round 4,,RELCHP,GBR,401.16573754764806,22.428707609655994,93.91747497980806 -2040,ironing out iteration 1; RSHEAT A0_RES round 5,,RGASBR,GBR,401.16573754764806,8.9714830438624,55.98733471331224 +2040,ironing out iteration 1; RSHEAT A0_RES round 5,,RGASBR,GBR,401.16573754764806,8.971483043862397,55.98733471331223 2040,ironing out iteration 1; RSHEAT A0_RES round 5,,RELCHP,GBR,401.16573754764806,22.428707609655994,125.60399453328056 -2040,ironing out iteration 1; RSHEAT A0_RES round 6,,RGASBR,GBR,401.16573754764806,8.9714830438624,152.78630430986536 +2040,ironing out iteration 1; RSHEAT A0_RES round 6,,RGASBR,GBR,401.16573754764806,8.971483043862397,152.78630430986536 2040,ironing out iteration 1; RSHEAT A0_RES round 6,,RELCHP,GBR,401.16573754764806,22.428707609655994,367.6014185246633 -2040,ironing out iteration 1; RSHEAT A0_RES round 7,,RGASBR,GBR,401.16573754764806,8.9714830438624,292.95399430359674 +2040,ironing out iteration 1; RSHEAT A0_RES round 7,,RGASBR,GBR,401.16573754764806,8.971483043862397,292.95399430359674 2040,ironing out iteration 1; RSHEAT A0_RES round 7,,RELCHP,GBR,401.16573754764806,22.428707609655994,718.0206435089918 -2040,ironing out iteration 1; RSHEAT A0_RES round 8,,RGASBR,GBR,401.16573754764806,8.9714830438624,292.95399430359674 +2040,ironing out iteration 1; RSHEAT A0_RES round 8,,RGASBR,GBR,401.16573754764806,8.971483043862397,292.95399430359674 2040,ironing out iteration 1; RSHEAT A0_RES round 8,,RELCHP,GBR,401.16573754764806,22.428707609655994,718.0206435089918 -2040,ironing out iteration 1; RSHEAT A0_RES round 9,,RGASBR,GBR,401.16573754764806,8.9714830438624,292.95399430359674 +2040,ironing out iteration 1; RSHEAT A0_RES round 9,,RGASBR,GBR,401.16573754764806,8.971483043862397,292.95399430359674 2040,ironing out iteration 1; RSHEAT A0_RES round 9,,RELCHP,GBR,401.16573754764806,22.428707609655994,718.0206435089918 -2040,ironing out iteration 1; RSHEAT A0_RES round 10,,RGASBR,GBR,45.327331671168054,8.9714830438624,292.9539943035968 +2040,ironing out iteration 1; RSHEAT A0_RES round 10,,RGASBR,GBR,45.327331671168054,8.971483043862397,292.95399430359674 2040,ironing out iteration 1; RSHEAT A0_RES round 10,,RELCHP,GBR,45.327331671168054,22.428707609655994,718.0206435089917 2040,ironing out iteration 1; GASNAT A0_GPR round 0,1,GASPRC,GBR,3782.13,0.21,3.5296209362039472 -2040,ironing out iteration 1; GASNAT A0_GPR round 0,,GASPRC,GBR,2210.5242056822512,0.9811765053301458,4.767386617539143 +2040,ironing out iteration 1; GASNAT A0_GPR round 0,,GASPRC,GBR,1989.471785114026,0.9811765053301457,4.582348555785227 2040,ironing out iteration 1; GASPRD A0_GEX round 0,0,GASDRV,GBR,4002.26,0.3,3.086521021442066 -2040,ironing out iteration 1; GASPRD A0_GEX round 0,,GASDRV,GBR,2321.050415966363,1.4016807219002085,4.8479208821987765 +2040,ironing out iteration 1; GASPRD A0_GEX round 0,,GASDRV,GBR,2088.9453743697272,1.401680721900208,4.583580793978898 diff --git a/tests/data/simple/debug_appraisal_results_time_slices.csv b/tests/data/simple/debug_appraisal_results_time_slices.csv index 332976d02..5657abf1c 100644 --- a/tests/data/simple/debug_appraisal_results_time_slices.csv +++ b/tests/data/simple/debug_appraisal_results_time_slices.csv @@ -15,20 +15,20 @@ milestone_year,run_description,asset_id,process_id,region_id,time_slice,activity 2030,ironing out iteration 0; RSHEAT A0_RES round 0,4,RGASBR,GBR,autumn.day,100.77260664930002,5.8665369,100.77260664930002,0.0 2030,ironing out iteration 0; RSHEAT A0_RES round 0,4,RGASBR,GBR,autumn.peak,55.99279457922,5.8665369,55.99279457922,0.0 2030,ironing out iteration 0; RSHEAT A0_RES round 0,4,RGASBR,GBR,autumn.evening,33.51471571044,5.8665369,33.51471571044,0.0 -2030,ironing out iteration 0; RSHEAT A0_RES round 0,5,RELCHP,GBR,winter.night,29.165208466660005,5.8665369,67.29142462206,38.1262161554 +2030,ironing out iteration 0; RSHEAT A0_RES round 0,5,RELCHP,GBR,winter.night,29.165208466660005,2.80779197,67.29142462206,38.1262161554 2030,ironing out iteration 0; RSHEAT A0_RES round 0,5,RELCHP,GBR,winter.day,41.664583466660005,2.80779197,232.34003189586002,190.6754484292 2030,ironing out iteration 0; RSHEAT A0_RES round 0,5,RELCHP,GBR,winter.peak,12.499375,2.80779197,114.24432518364002,101.74495018364001 -2030,ironing out iteration 0; RSHEAT A0_RES round 0,5,RELCHP,GBR,winter.evening,16.66583346666,5.8665369,78.78812530986,62.1222918432 +2030,ironing out iteration 0; RSHEAT A0_RES round 0,5,RELCHP,GBR,winter.evening,16.66583346666,2.80779197,78.78812530986,62.1222918432 2030,ironing out iteration 0; RSHEAT A0_RES round 0,5,RELCHP,GBR,peak.night,29.165208466660005,5.8665369,47.139234417420006,17.97402595076 -2030,ironing out iteration 0; RSHEAT A0_RES round 0,5,RELCHP,GBR,peak.day,41.664583466660005,5.8665369,125.32788041514,83.66329694848 -2030,ironing out iteration 0; RSHEAT A0_RES round 0,5,RELCHP,GBR,peak.peak,12.499375,5.8665369,70.00098629244002,57.50161129244002 +2030,ironing out iteration 0; RSHEAT A0_RES round 0,5,RELCHP,GBR,peak.day,41.664583466660005,2.80779197,125.32788041514,83.66329694848 +2030,ironing out iteration 0; RSHEAT A0_RES round 0,5,RELCHP,GBR,peak.peak,12.499375,2.80779197,70.00098629244002,57.50161129244002 2030,ironing out iteration 0; RSHEAT A0_RES round 0,5,RELCHP,GBR,peak.evening,16.66583346666,5.8665369,42.466268404020006,25.800434937360006 2030,ironing out iteration 0; RSHEAT A0_RES round 0,5,RELCHP,GBR,summer.night,5.85438726108,2.80779197,5.85438726108,0.0 2030,ironing out iteration 0; RSHEAT A0_RES round 0,5,RELCHP,GBR,summer.day,9.75412140198,0.30200000000000005,9.75412140198,0.0 2030,ironing out iteration 0; RSHEAT A0_RES round 0,5,RELCHP,GBR,summer.peak,3.2120121331800005,0.30200000000000005,3.2120121331800005,0.0 2030,ironing out iteration 0; RSHEAT A0_RES round 0,5,RELCHP,GBR,summer.evening,2.39159988894,0.30200000000000005,2.39159988894,0.0 2030,ironing out iteration 0; RSHEAT A0_RES round 0,5,RELCHP,GBR,autumn.night,29.165208466660005,5.8665369,38.28948480804001,9.124276341380003 -2030,ironing out iteration 0; RSHEAT A0_RES round 0,5,RELCHP,GBR,autumn.day,41.664583466660005,5.8665369,100.77260664930002,59.10802318264001 +2030,ironing out iteration 0; RSHEAT A0_RES round 0,5,RELCHP,GBR,autumn.day,41.664583466660005,2.80779197,100.77260664930002,59.10802318264001 2030,ironing out iteration 0; RSHEAT A0_RES round 0,5,RELCHP,GBR,autumn.peak,12.499375,5.8665369,55.99279457922,43.49341957922 2030,ironing out iteration 0; RSHEAT A0_RES round 0,5,RELCHP,GBR,autumn.evening,16.66583346666,5.8665369,33.51471571044,16.84888224378 2030,ironing out iteration 0; RSHEAT A0_RES round 0,,RGASBR,GBR,winter.night,26.65700933137662,5.8665369,67.29142462206,40.634415290683386 @@ -47,20 +47,20 @@ milestone_year,run_description,asset_id,process_id,region_id,time_slice,activity 2030,ironing out iteration 0; RSHEAT A0_RES round 0,,RGASBR,GBR,autumn.day,38.08144184974062,5.8665369,100.77260664930002,62.691164799559395 2030,ironing out iteration 0; RSHEAT A0_RES round 0,,RGASBR,GBR,autumn.peak,11.424432518364002,5.8665369,55.99279457922,44.568362060856 2030,ironing out iteration 0; RSHEAT A0_RES round 0,,RGASBR,GBR,autumn.evening,15.232576813012615,5.8665369,33.51471571044,18.282138897427387 -2030,ironing out iteration 0; RSHEAT A0_RES round 0,,RELCHP,GBR,winter.night,26.65700933137662,5.8665369,67.29142462206,40.634415290683386 +2030,ironing out iteration 0; RSHEAT A0_RES round 0,,RELCHP,GBR,winter.night,26.65700933137662,2.80779197,67.29142462206,40.634415290683386 2030,ironing out iteration 0; RSHEAT A0_RES round 0,,RELCHP,GBR,winter.day,38.08144184974062,2.80779197,232.34003189586002,194.2585900461194 2030,ironing out iteration 0; RSHEAT A0_RES round 0,,RELCHP,GBR,winter.peak,11.424432518364002,2.80779197,114.24432518364002,102.81989266527602 -2030,ironing out iteration 0; RSHEAT A0_RES round 0,,RELCHP,GBR,winter.evening,15.232576813012615,5.8665369,78.78812530986,63.55554849684739 +2030,ironing out iteration 0; RSHEAT A0_RES round 0,,RELCHP,GBR,winter.evening,15.232576813012615,2.80779197,78.78812530986,63.55554849684739 2030,ironing out iteration 0; RSHEAT A0_RES round 0,,RELCHP,GBR,peak.night,26.65700933137662,5.8665369,47.139234417420006,20.482225086043385 -2030,ironing out iteration 0; RSHEAT A0_RES round 0,,RELCHP,GBR,peak.day,38.08144184974062,5.8665369,125.32788041514,87.24643856539939 -2030,ironing out iteration 0; RSHEAT A0_RES round 0,,RELCHP,GBR,peak.peak,11.424432518364002,5.8665369,70.00098629244002,58.57655377407602 +2030,ironing out iteration 0; RSHEAT A0_RES round 0,,RELCHP,GBR,peak.day,38.08144184974062,2.80779197,125.32788041514,87.24643856539939 +2030,ironing out iteration 0; RSHEAT A0_RES round 0,,RELCHP,GBR,peak.peak,11.424432518364002,2.80779197,70.00098629244002,58.57655377407602 2030,ironing out iteration 0; RSHEAT A0_RES round 0,,RELCHP,GBR,peak.evening,15.232576813012615,5.8665369,42.466268404020006,27.233691591007393 2030,ironing out iteration 0; RSHEAT A0_RES round 0,,RELCHP,GBR,summer.night,5.85438726108,2.80779197,5.85438726108,0.0 2030,ironing out iteration 0; RSHEAT A0_RES round 0,,RELCHP,GBR,summer.day,9.75412140198,0.30200000000000005,9.75412140198,0.0 2030,ironing out iteration 0; RSHEAT A0_RES round 0,,RELCHP,GBR,summer.peak,3.2120121331800005,0.30200000000000005,3.2120121331800005,0.0 2030,ironing out iteration 0; RSHEAT A0_RES round 0,,RELCHP,GBR,summer.evening,2.39159988894,0.30200000000000005,2.39159988894,0.0 2030,ironing out iteration 0; RSHEAT A0_RES round 0,,RELCHP,GBR,autumn.night,26.65700933137662,5.8665369,38.28948480804001,11.632475476663387 -2030,ironing out iteration 0; RSHEAT A0_RES round 0,,RELCHP,GBR,autumn.day,38.08144184974062,5.8665369,100.77260664930002,62.691164799559395 +2030,ironing out iteration 0; RSHEAT A0_RES round 0,,RELCHP,GBR,autumn.day,38.08144184974062,2.80779197,100.77260664930002,62.691164799559395 2030,ironing out iteration 0; RSHEAT A0_RES round 0,,RELCHP,GBR,autumn.peak,11.424432518364002,5.8665369,55.99279457922,44.568362060856 2030,ironing out iteration 0; RSHEAT A0_RES round 0,,RELCHP,GBR,autumn.evening,15.232576813012615,5.8665369,33.51471571044,18.282138897427387 2030,ironing out iteration 0; RSHEAT A0_RES round 1,4,RGASBR,GBR,winter.night,38.1262161554,5.8665369,38.1262161554,0.0 @@ -95,20 +95,20 @@ milestone_year,run_description,asset_id,process_id,region_id,time_slice,activity 2030,ironing out iteration 0; RSHEAT A0_RES round 1,,RGASBR,GBR,autumn.day,38.08144184974062,5.8665369,59.10802318264001,21.02658133289939 2030,ironing out iteration 0; RSHEAT A0_RES round 1,,RGASBR,GBR,autumn.peak,11.424432518364002,5.8665369,43.49341957922,32.068987060856 2030,ironing out iteration 0; RSHEAT A0_RES round 1,,RGASBR,GBR,autumn.evening,15.232576813012615,5.8665369,16.84888224378,1.616305430767385 -2030,ironing out iteration 0; RSHEAT A0_RES round 1,,RELCHP,GBR,winter.night,26.65700933137662,5.8665369,38.1262161554,11.46920682402338 +2030,ironing out iteration 0; RSHEAT A0_RES round 1,,RELCHP,GBR,winter.night,26.65700933137662,2.80779197,38.1262161554,11.46920682402338 2030,ironing out iteration 0; RSHEAT A0_RES round 1,,RELCHP,GBR,winter.day,38.08144184974062,2.80779197,190.6754484292,152.59400657945937 2030,ironing out iteration 0; RSHEAT A0_RES round 1,,RELCHP,GBR,winter.peak,11.424432518364002,2.80779197,101.74495018364001,90.32051766527601 -2030,ironing out iteration 0; RSHEAT A0_RES round 1,,RELCHP,GBR,winter.evening,15.232576813012615,5.8665369,62.1222918432,46.88971503018739 +2030,ironing out iteration 0; RSHEAT A0_RES round 1,,RELCHP,GBR,winter.evening,15.232576813012615,2.80779197,62.1222918432,46.88971503018739 2030,ironing out iteration 0; RSHEAT A0_RES round 1,,RELCHP,GBR,peak.night,17.97402595076,5.8665369,17.97402595076,0.0 -2030,ironing out iteration 0; RSHEAT A0_RES round 1,,RELCHP,GBR,peak.day,38.08144184974062,5.8665369,83.66329694848,45.581855098739375 -2030,ironing out iteration 0; RSHEAT A0_RES round 1,,RELCHP,GBR,peak.peak,11.424432518364002,5.8665369,57.50161129244002,46.07717877407602 +2030,ironing out iteration 0; RSHEAT A0_RES round 1,,RELCHP,GBR,peak.day,38.08144184974062,2.80779197,83.66329694848,45.581855098739375 +2030,ironing out iteration 0; RSHEAT A0_RES round 1,,RELCHP,GBR,peak.peak,11.424432518364002,2.80779197,57.50161129244002,46.07717877407602 2030,ironing out iteration 0; RSHEAT A0_RES round 1,,RELCHP,GBR,peak.evening,15.232576813012615,5.8665369,25.800434937360006,10.56785812434739 2030,ironing out iteration 0; RSHEAT A0_RES round 1,,RELCHP,GBR,summer.night,-0.0,2.80779197,0.0,0.0 2030,ironing out iteration 0; RSHEAT A0_RES round 1,,RELCHP,GBR,summer.day,-0.0,0.30200000000000005,0.0,0.0 2030,ironing out iteration 0; RSHEAT A0_RES round 1,,RELCHP,GBR,summer.peak,-0.0,0.30200000000000005,0.0,0.0 2030,ironing out iteration 0; RSHEAT A0_RES round 1,,RELCHP,GBR,summer.evening,-0.0,0.30200000000000005,0.0,0.0 2030,ironing out iteration 0; RSHEAT A0_RES round 1,,RELCHP,GBR,autumn.night,9.124276341380003,5.8665369,9.124276341380003,0.0 -2030,ironing out iteration 0; RSHEAT A0_RES round 1,,RELCHP,GBR,autumn.day,38.08144184974062,5.8665369,59.10802318264001,21.02658133289939 +2030,ironing out iteration 0; RSHEAT A0_RES round 1,,RELCHP,GBR,autumn.day,38.08144184974062,2.80779197,59.10802318264001,21.02658133289939 2030,ironing out iteration 0; RSHEAT A0_RES round 1,,RELCHP,GBR,autumn.peak,11.424432518364002,5.8665369,43.49341957922,32.068987060856 2030,ironing out iteration 0; RSHEAT A0_RES round 1,,RELCHP,GBR,autumn.evening,15.232576813012615,5.8665369,16.84888224378,1.616305430767385 2030,ironing out iteration 0; RSHEAT A0_RES round 2,,RGASBR,GBR,winter.night,-0.0,5.8665369,0.0,0.0 @@ -127,198 +127,198 @@ milestone_year,run_description,asset_id,process_id,region_id,time_slice,activity 2030,ironing out iteration 0; RSHEAT A0_RES round 2,,RGASBR,GBR,autumn.day,-0.0,5.8665369,0.0,0.0 2030,ironing out iteration 0; RSHEAT A0_RES round 2,,RGASBR,GBR,autumn.peak,-0.0,5.8665369,0.0,0.0 2030,ironing out iteration 0; RSHEAT A0_RES round 2,,RGASBR,GBR,autumn.evening,-0.0,5.8665369,0.0,0.0 -2030,ironing out iteration 0; RSHEAT A0_RES round 2,,RELCHP,GBR,winter.night,-0.0,5.8665369,0.0,0.0 +2030,ironing out iteration 0; RSHEAT A0_RES round 2,,RELCHP,GBR,winter.night,-0.0,2.80779197,0.0,0.0 2030,ironing out iteration 0; RSHEAT A0_RES round 2,,RELCHP,GBR,winter.day,-0.0,2.80779197,0.0,0.0 2030,ironing out iteration 0; RSHEAT A0_RES round 2,,RELCHP,GBR,winter.peak,11.119950183640015,2.80779197,11.119950183640015,0.0 -2030,ironing out iteration 0; RSHEAT A0_RES round 2,,RELCHP,GBR,winter.evening,-0.0,5.8665369,0.0,0.0 +2030,ironing out iteration 0; RSHEAT A0_RES round 2,,RELCHP,GBR,winter.evening,-0.0,2.80779197,0.0,0.0 2030,ironing out iteration 0; RSHEAT A0_RES round 2,,RELCHP,GBR,peak.night,-0.0,5.8665369,0.0,0.0 -2030,ironing out iteration 0; RSHEAT A0_RES round 2,,RELCHP,GBR,peak.day,-0.0,5.8665369,0.0,0.0 -2030,ironing out iteration 0; RSHEAT A0_RES round 2,,RELCHP,GBR,peak.peak,-0.0,5.8665369,0.0,0.0 +2030,ironing out iteration 0; RSHEAT A0_RES round 2,,RELCHP,GBR,peak.day,-0.0,2.80779197,0.0,0.0 +2030,ironing out iteration 0; RSHEAT A0_RES round 2,,RELCHP,GBR,peak.peak,-0.0,2.80779197,0.0,0.0 2030,ironing out iteration 0; RSHEAT A0_RES round 2,,RELCHP,GBR,peak.evening,-0.0,5.8665369,0.0,0.0 2030,ironing out iteration 0; RSHEAT A0_RES round 2,,RELCHP,GBR,summer.night,-0.0,2.80779197,0.0,0.0 2030,ironing out iteration 0; RSHEAT A0_RES round 2,,RELCHP,GBR,summer.day,-0.0,0.30200000000000005,0.0,0.0 2030,ironing out iteration 0; RSHEAT A0_RES round 2,,RELCHP,GBR,summer.peak,-0.0,0.30200000000000005,0.0,0.0 2030,ironing out iteration 0; RSHEAT A0_RES round 2,,RELCHP,GBR,summer.evening,-0.0,0.30200000000000005,0.0,0.0 2030,ironing out iteration 0; RSHEAT A0_RES round 2,,RELCHP,GBR,autumn.night,-0.0,5.8665369,0.0,0.0 -2030,ironing out iteration 0; RSHEAT A0_RES round 2,,RELCHP,GBR,autumn.day,-0.0,5.8665369,0.0,0.0 +2030,ironing out iteration 0; RSHEAT A0_RES round 2,,RELCHP,GBR,autumn.day,-0.0,2.80779197,0.0,0.0 2030,ironing out iteration 0; RSHEAT A0_RES round 2,,RELCHP,GBR,autumn.peak,-0.0,5.8665369,0.0,0.0 2030,ironing out iteration 0; RSHEAT A0_RES round 2,,RELCHP,GBR,autumn.evening,-0.0,5.8665369,0.0,0.0 -2030,ironing out iteration 0; ELCTRI A0_ELC round 0,2,WNDFRM,GBR,winter.night,-0.0,0.4,0.0,0.0 +2030,ironing out iteration 0; ELCTRI A0_ELC round 0,2,WNDFRM,GBR,winter.night,4.435312795545212,0.4,9.624518793997803,5.189205998452591 2030,ironing out iteration 0; ELCTRI A0_ELC round 0,2,WNDFRM,GBR,winter.day,7.075379933645912,0.4,13.749312543997803,6.6739326103518914 2030,ironing out iteration 0; ELCTRI A0_ELC round 0,2,WNDFRM,GBR,winter.peak,1.9712501261051125,0.4,4.12479375,2.1535436238948877 -2030,ironing out iteration 0; ELCTRI A0_ELC round 0,2,WNDFRM,GBR,winter.evening,-0.0,0.4,0.0,0.0 +2030,ironing out iteration 0; ELCTRI A0_ELC round 0,2,WNDFRM,GBR,winter.evening,2.5696653598405335,0.4,5.499725043997801,2.9300596841572673 2030,ironing out iteration 0; ELCTRI A0_ELC round 0,2,WNDFRM,GBR,peak.night,-0.0,0.4,0.0,0.0 -2030,ironing out iteration 0; ELCTRI A0_ELC round 0,2,WNDFRM,GBR,peak.day,-0.0,0.4,0.0,0.0 -2030,ironing out iteration 0; ELCTRI A0_ELC round 0,2,WNDFRM,GBR,peak.peak,-0.0,0.4,0.0,0.0 +2030,ironing out iteration 0; ELCTRI A0_ELC round 0,2,WNDFRM,GBR,peak.day,6.3713620320039785,0.4,13.749312543997803,7.3779505119938245 +2030,ironing out iteration 0; ELCTRI A0_ELC round 0,2,WNDFRM,GBR,peak.peak,1.7776452018191917,0.4,4.12479375,2.3471485481808085 2030,ironing out iteration 0; ELCTRI A0_ELC round 0,2,WNDFRM,GBR,peak.evening,-0.0,0.4,0.0,0.0 2030,ironing out iteration 0; ELCTRI A0_ELC round 0,2,WNDFRM,GBR,summer.night,1.6368416242136155,0.4,1.9319477961564002,0.29510617194278477 2030,ironing out iteration 0; ELCTRI A0_ELC round 0,2,WNDFRM,GBR,summer.day,3.2188600626534005,0.4,3.2188600626534005,0.0 2030,ironing out iteration 0; ELCTRI A0_ELC round 0,2,WNDFRM,GBR,summer.peak,1.0599640039494003,0.4,1.0599640039494003,0.0 2030,ironing out iteration 0; ELCTRI A0_ELC round 0,2,WNDFRM,GBR,summer.evening,0.7892279633502001,0.4,0.7892279633502001,0.0 2030,ironing out iteration 0; ELCTRI A0_ELC round 0,2,WNDFRM,GBR,autumn.night,-0.0,0.4,0.0,0.0 -2030,ironing out iteration 0; ELCTRI A0_ELC round 0,2,WNDFRM,GBR,autumn.day,-0.0,0.4,0.0,0.0 +2030,ironing out iteration 0; ELCTRI A0_ELC round 0,2,WNDFRM,GBR,autumn.day,6.001752635595889,0.4,13.749312543997803,7.747559908401914 2030,ironing out iteration 0; ELCTRI A0_ELC round 0,2,WNDFRM,GBR,autumn.peak,-0.0,0.4,0.0,0.0 2030,ironing out iteration 0; ELCTRI A0_ELC round 0,2,WNDFRM,GBR,autumn.evening,-0.0,0.4,0.0,0.0 -2030,ironing out iteration 0; ELCTRI A0_ELC round 0,3,GASCGT,GBR,winter.night,-0.0,7.993308999999999,0.0,0.0 -2030,ironing out iteration 0; ELCTRI A0_ELC round 0,3,GASCGT,GBR,winter.day,7.185206272992661,7.993308999999999,13.749312543997803,6.564106271005142 -2030,ironing out iteration 0; ELCTRI A0_ELC round 0,3,GASCGT,GBR,winter.peak,2.155561875,7.993308999999999,4.12479375,1.9692318750000002 -2030,ironing out iteration 0; ELCTRI A0_ELC round 0,3,GASCGT,GBR,winter.evening,-0.0,7.993308999999999,0.0,0.0 +2030,ironing out iteration 0; ELCTRI A0_ELC round 0,3,GASCGT,GBR,winter.night,5.5884937755474,7.993308999999999,9.624518793997803,4.0360250184504025 +2030,ironing out iteration 0; ELCTRI A0_ELC round 0,3,GASCGT,GBR,winter.day,7.9835625255474,7.993308999999999,13.749312543997803,5.765750018450403 +2030,ironing out iteration 0; ELCTRI A0_ELC round 0,3,GASCGT,GBR,winter.peak,2.39506875,7.993308999999999,4.12479375,1.7297250000000002 +2030,ironing out iteration 0; ELCTRI A0_ELC round 0,3,GASCGT,GBR,winter.evening,3.1934250255473997,7.993308999999999,5.499725043997801,2.306300018450401 2030,ironing out iteration 0; ELCTRI A0_ELC round 0,3,GASCGT,GBR,peak.night,-0.0,7.993308999999999,0.0,0.0 -2030,ironing out iteration 0; ELCTRI A0_ELC round 0,3,GASCGT,GBR,peak.day,-0.0,7.993308999999999,0.0,0.0 -2030,ironing out iteration 0; ELCTRI A0_ELC round 0,3,GASCGT,GBR,peak.peak,-0.0,7.993308999999999,0.0,0.0 +2030,ironing out iteration 0; ELCTRI A0_ELC round 0,3,GASCGT,GBR,peak.day,7.9835625255474,7.993308999999999,13.749312543997803,5.765750018450403 +2030,ironing out iteration 0; ELCTRI A0_ELC round 0,3,GASCGT,GBR,peak.peak,2.39506875,7.993308999999999,4.12479375,1.7297250000000002 2030,ironing out iteration 0; ELCTRI A0_ELC round 0,3,GASCGT,GBR,peak.evening,-0.0,7.993308999999999,0.0,0.0 2030,ironing out iteration 0; ELCTRI A0_ELC round 0,3,GASCGT,GBR,summer.night,1.9319477961564002,7.993308999999999,1.9319477961564002,0.0 2030,ironing out iteration 0; ELCTRI A0_ELC round 0,3,GASCGT,GBR,summer.day,3.2188600626534005,7.993308999999999,3.2188600626534005,0.0 2030,ironing out iteration 0; ELCTRI A0_ELC round 0,3,GASCGT,GBR,summer.peak,1.0599640039494003,7.993308999999999,1.0599640039494003,0.0 2030,ironing out iteration 0; ELCTRI A0_ELC round 0,3,GASCGT,GBR,summer.evening,0.7892279633502001,7.993308999999999,0.7892279633502001,0.0 2030,ironing out iteration 0; ELCTRI A0_ELC round 0,3,GASCGT,GBR,autumn.night,-0.0,7.993308999999999,0.0,0.0 -2030,ironing out iteration 0; ELCTRI A0_ELC round 0,3,GASCGT,GBR,autumn.day,-0.0,7.993308999999999,0.0,0.0 +2030,ironing out iteration 0; ELCTRI A0_ELC round 0,3,GASCGT,GBR,autumn.day,7.9835625255474,7.993308999999999,13.749312543997803,5.765750018450403 2030,ironing out iteration 0; ELCTRI A0_ELC round 0,3,GASCGT,GBR,autumn.peak,-0.0,7.993308999999999,0.0,0.0 2030,ironing out iteration 0; ELCTRI A0_ELC round 0,3,GASCGT,GBR,autumn.evening,-0.0,7.993308999999999,0.0,0.0 -2030,ironing out iteration 0; ELCTRI A0_ELC round 0,,WNDFRM,GBR,winter.night,-0.0,0.4,0.0,0.0 -2030,ironing out iteration 0; ELCTRI A0_ELC round 0,,WNDFRM,GBR,winter.day,1.4805063316263234,0.4,13.749312543997803,12.26880621237148 -2030,ironing out iteration 0; ELCTRI A0_ELC round 0,,WNDFRM,GBR,winter.peak,0.41247937500000004,0.4,4.12479375,3.712314375 -2030,ironing out iteration 0; ELCTRI A0_ELC round 0,,WNDFRM,GBR,winter.evening,-0.0,0.4,0.0,0.0 +2030,ironing out iteration 0; ELCTRI A0_ELC round 0,,WNDFRM,GBR,winter.night,1.0291564638229043,0.4,9.624518793997803,8.595362330174899 +2030,ironing out iteration 0; ELCTRI A0_ELC round 0,,WNDFRM,GBR,winter.day,1.6417495965624358,0.4,13.749312543997803,12.107562947435367 +2030,ironing out iteration 0; ELCTRI A0_ELC round 0,,WNDFRM,GBR,winter.peak,0.45740287159237664,0.4,4.12479375,3.6673908784076237 +2030,ironing out iteration 0; ELCTRI A0_ELC round 0,,WNDFRM,GBR,winter.evening,0.5962573186716152,0.4,5.499725043997801,4.903467725326186 2030,ironing out iteration 0; ELCTRI A0_ELC round 0,,WNDFRM,GBR,peak.night,-0.0,0.4,0.0,0.0 -2030,ironing out iteration 0; ELCTRI A0_ELC round 0,,WNDFRM,GBR,peak.day,-0.0,0.4,0.0,0.0 -2030,ironing out iteration 0; ELCTRI A0_ELC round 0,,WNDFRM,GBR,peak.peak,-0.0,0.4,0.0,0.0 +2030,ironing out iteration 0; ELCTRI A0_ELC round 0,,WNDFRM,GBR,peak.day,1.4783914282615307,0.4,13.749312543997803,12.270921115736272 +2030,ironing out iteration 0; ELCTRI A0_ELC round 0,,WNDFRM,GBR,peak.peak,0.4124793750000001,0.4,4.12479375,3.712314375 2030,ironing out iteration 0; ELCTRI A0_ELC round 0,,WNDFRM,GBR,peak.evening,-0.0,0.4,0.0,0.0 -2030,ironing out iteration 0; ELCTRI A0_ELC round 0,,WNDFRM,GBR,summer.night,0.3425051956565432,0.4,1.9319477961564002,1.589442600499857 -2030,ironing out iteration 0; ELCTRI A0_ELC round 0,,WNDFRM,GBR,summer.day,0.9538585570924951,0.4,3.2188600626534005,2.2650015055609054 -2030,ironing out iteration 0; ELCTRI A0_ELC round 0,,WNDFRM,GBR,summer.peak,0.2798967184579614,0.4,1.0599640039494003,0.7800672854914389 -2030,ironing out iteration 0; ELCTRI A0_ELC round 0,,WNDFRM,GBR,summer.evening,0.22097109518679164,0.4,0.7892279633502001,0.5682568681634084 +2030,ironing out iteration 0; ELCTRI A0_ELC round 0,,WNDFRM,GBR,summer.night,0.37980774197161166,0.4,1.9319477961564002,1.5521400541847885 +2030,ironing out iteration 0; ELCTRI A0_ELC round 0,,WNDFRM,GBR,summer.day,1.0577441432242962,0.4,3.2188600626534005,2.161115919429104 +2030,ironing out iteration 0; ELCTRI A0_ELC round 0,,WNDFRM,GBR,summer.peak,0.31038051968526786,0.4,1.0599640039494003,0.7495834842641325 +2030,ironing out iteration 0; ELCTRI A0_ELC round 0,,WNDFRM,GBR,summer.evening,0.24503725423204709,0.4,0.7892279633502001,0.544190709118153 2030,ironing out iteration 0; ELCTRI A0_ELC round 0,,WNDFRM,GBR,autumn.night,-0.0,0.4,0.0,0.0 -2030,ironing out iteration 0; ELCTRI A0_ELC round 0,,WNDFRM,GBR,autumn.day,-0.0,0.4,0.0,0.0 +2030,ironing out iteration 0; ELCTRI A0_ELC round 0,,WNDFRM,GBR,autumn.day,1.392628390356938,0.4,13.749312543997803,12.356684153640865 2030,ironing out iteration 0; ELCTRI A0_ELC round 0,,WNDFRM,GBR,autumn.peak,-0.0,0.4,0.0,0.0 2030,ironing out iteration 0; ELCTRI A0_ELC round 0,,WNDFRM,GBR,autumn.evening,-0.0,0.4,0.0,0.0 -2030,ironing out iteration 0; ELCTRI A0_ELC round 0,,GASCGT,GBR,winter.night,-0.0,7.993308999999999,0.0,0.0 -2030,ironing out iteration 0; ELCTRI A0_ELC round 0,,GASCGT,GBR,winter.day,1.3749312543997803,7.993308999999999,13.749312543997803,12.374381289598023 -2030,ironing out iteration 0; ELCTRI A0_ELC round 0,,GASCGT,GBR,winter.peak,0.41247937500000004,7.993308999999999,4.12479375,3.712314375 -2030,ironing out iteration 0; ELCTRI A0_ELC round 0,,GASCGT,GBR,winter.evening,-0.0,7.993308999999999,0.0,0.0 +2030,ironing out iteration 0; ELCTRI A0_ELC round 0,,GASCGT,GBR,winter.night,0.9624518793997803,7.993308999999999,9.624518793997803,8.662066914598022 +2030,ironing out iteration 0; ELCTRI A0_ELC round 0,,GASCGT,GBR,winter.day,1.3749312543997805,7.993308999999999,13.749312543997803,12.374381289598023 +2030,ironing out iteration 0; ELCTRI A0_ELC round 0,,GASCGT,GBR,winter.peak,0.4124793750000001,7.993308999999999,4.12479375,3.712314375 +2030,ironing out iteration 0; ELCTRI A0_ELC round 0,,GASCGT,GBR,winter.evening,0.5499725043997801,7.993308999999999,5.499725043997801,4.949752539598021 2030,ironing out iteration 0; ELCTRI A0_ELC round 0,,GASCGT,GBR,peak.night,-0.0,7.993308999999999,0.0,0.0 -2030,ironing out iteration 0; ELCTRI A0_ELC round 0,,GASCGT,GBR,peak.day,-0.0,7.993308999999999,0.0,0.0 -2030,ironing out iteration 0; ELCTRI A0_ELC round 0,,GASCGT,GBR,peak.peak,-0.0,7.993308999999999,0.0,0.0 +2030,ironing out iteration 0; ELCTRI A0_ELC round 0,,GASCGT,GBR,peak.day,1.3749312543997805,7.993308999999999,13.749312543997803,12.374381289598023 +2030,ironing out iteration 0; ELCTRI A0_ELC round 0,,GASCGT,GBR,peak.peak,0.4124793750000001,7.993308999999999,4.12479375,3.712314375 2030,ironing out iteration 0; ELCTRI A0_ELC round 0,,GASCGT,GBR,peak.evening,-0.0,7.993308999999999,0.0,0.0 -2030,ironing out iteration 0; ELCTRI A0_ELC round 0,,GASCGT,GBR,summer.night,0.96245187939978,7.993308999999999,1.9319477961564002,0.9694959167566202 -2030,ironing out iteration 0; ELCTRI A0_ELC round 0,,GASCGT,GBR,summer.day,1.3749312543997803,7.993308999999999,3.2188600626534005,1.8439288082536203 -2030,ironing out iteration 0; ELCTRI A0_ELC round 0,,GASCGT,GBR,summer.peak,0.41247937500000004,7.993308999999999,1.0599640039494003,0.6474846289494003 -2030,ironing out iteration 0; ELCTRI A0_ELC round 0,,GASCGT,GBR,summer.evening,0.54997250439978,7.993308999999999,0.7892279633502001,0.2392554589504201 +2030,ironing out iteration 0; ELCTRI A0_ELC round 0,,GASCGT,GBR,summer.night,0.9624518793997803,7.993308999999999,1.9319477961564002,0.96949591675662 +2030,ironing out iteration 0; ELCTRI A0_ELC round 0,,GASCGT,GBR,summer.day,1.3749312543997805,7.993308999999999,3.2188600626534005,1.84392880825362 +2030,ironing out iteration 0; ELCTRI A0_ELC round 0,,GASCGT,GBR,summer.peak,0.4124793750000001,7.993308999999999,1.0599640039494003,0.6474846289494002 +2030,ironing out iteration 0; ELCTRI A0_ELC round 0,,GASCGT,GBR,summer.evening,0.5499725043997801,7.993308999999999,0.7892279633502001,0.23925545895042 2030,ironing out iteration 0; ELCTRI A0_ELC round 0,,GASCGT,GBR,autumn.night,-0.0,7.993308999999999,0.0,0.0 -2030,ironing out iteration 0; ELCTRI A0_ELC round 0,,GASCGT,GBR,autumn.day,-0.0,7.993308999999999,0.0,0.0 +2030,ironing out iteration 0; ELCTRI A0_ELC round 0,,GASCGT,GBR,autumn.day,1.3749312543997805,7.993308999999999,13.749312543997803,12.374381289598023 2030,ironing out iteration 0; ELCTRI A0_ELC round 0,,GASCGT,GBR,autumn.peak,-0.0,7.993308999999999,0.0,0.0 2030,ironing out iteration 0; ELCTRI A0_ELC round 0,,GASCGT,GBR,autumn.evening,-0.0,7.993308999999999,0.0,0.0 -2030,ironing out iteration 0; ELCTRI A0_ELC round 1,3,GASCGT,GBR,winter.night,-0.0,7.993308999999999,0.0,0.0 +2030,ironing out iteration 0; ELCTRI A0_ELC round 1,3,GASCGT,GBR,winter.night,5.189205998452591,7.993308999999999,5.189205998452591,0.0 2030,ironing out iteration 0; ELCTRI A0_ELC round 1,3,GASCGT,GBR,winter.day,6.6739326103518914,7.993308999999999,6.6739326103518914,0.0 2030,ironing out iteration 0; ELCTRI A0_ELC round 1,3,GASCGT,GBR,winter.peak,2.1535436238948877,7.993308999999999,2.1535436238948877,0.0 -2030,ironing out iteration 0; ELCTRI A0_ELC round 1,3,GASCGT,GBR,winter.evening,-0.0,7.993308999999999,0.0,0.0 +2030,ironing out iteration 0; ELCTRI A0_ELC round 1,3,GASCGT,GBR,winter.evening,2.9300596841572673,7.993308999999999,2.9300596841572673,0.0 2030,ironing out iteration 0; ELCTRI A0_ELC round 1,3,GASCGT,GBR,peak.night,-0.0,7.993308999999999,0.0,0.0 -2030,ironing out iteration 0; ELCTRI A0_ELC round 1,3,GASCGT,GBR,peak.day,-0.0,7.993308999999999,0.0,0.0 -2030,ironing out iteration 0; ELCTRI A0_ELC round 1,3,GASCGT,GBR,peak.peak,-0.0,7.993308999999999,0.0,0.0 +2030,ironing out iteration 0; ELCTRI A0_ELC round 1,3,GASCGT,GBR,peak.day,7.3779505119938245,7.993308999999999,7.3779505119938245,0.0 +2030,ironing out iteration 0; ELCTRI A0_ELC round 1,3,GASCGT,GBR,peak.peak,2.3471485481808085,7.993308999999999,2.3471485481808085,0.0 2030,ironing out iteration 0; ELCTRI A0_ELC round 1,3,GASCGT,GBR,peak.evening,-0.0,7.993308999999999,0.0,0.0 2030,ironing out iteration 0; ELCTRI A0_ELC round 1,3,GASCGT,GBR,summer.night,0.29510617194278477,7.993308999999999,0.29510617194278477,0.0 2030,ironing out iteration 0; ELCTRI A0_ELC round 1,3,GASCGT,GBR,summer.day,-0.0,7.993308999999999,0.0,0.0 2030,ironing out iteration 0; ELCTRI A0_ELC round 1,3,GASCGT,GBR,summer.peak,-0.0,7.993308999999999,0.0,0.0 2030,ironing out iteration 0; ELCTRI A0_ELC round 1,3,GASCGT,GBR,summer.evening,-0.0,7.993308999999999,0.0,0.0 2030,ironing out iteration 0; ELCTRI A0_ELC round 1,3,GASCGT,GBR,autumn.night,-0.0,7.993308999999999,0.0,0.0 -2030,ironing out iteration 0; ELCTRI A0_ELC round 1,3,GASCGT,GBR,autumn.day,-0.0,7.993308999999999,0.0,0.0 +2030,ironing out iteration 0; ELCTRI A0_ELC round 1,3,GASCGT,GBR,autumn.day,7.747559908401914,7.993308999999999,7.747559908401914,0.0 2030,ironing out iteration 0; ELCTRI A0_ELC round 1,3,GASCGT,GBR,autumn.peak,-0.0,7.993308999999999,0.0,0.0 2030,ironing out iteration 0; ELCTRI A0_ELC round 1,3,GASCGT,GBR,autumn.evening,-0.0,7.993308999999999,0.0,0.0 -2030,ironing out iteration 0; ELCTRI A0_ELC round 1,,WNDFRM,GBR,winter.night,-0.0,0.4,0.0,0.0 -2030,ironing out iteration 0; ELCTRI A0_ELC round 1,,WNDFRM,GBR,winter.day,1.4805063316263234,0.4,6.6739326103518914,5.193426278725568 -2030,ironing out iteration 0; ELCTRI A0_ELC round 1,,WNDFRM,GBR,winter.peak,0.41247937500000004,0.4,2.1535436238948877,1.7410642488948878 -2030,ironing out iteration 0; ELCTRI A0_ELC round 1,,WNDFRM,GBR,winter.evening,-0.0,0.4,0.0,0.0 +2030,ironing out iteration 0; ELCTRI A0_ELC round 1,,WNDFRM,GBR,winter.night,1.0291564638229043,0.4,5.189205998452591,4.160049534629687 +2030,ironing out iteration 0; ELCTRI A0_ELC round 1,,WNDFRM,GBR,winter.day,1.6417495965624358,0.4,6.6739326103518914,5.032183013789456 +2030,ironing out iteration 0; ELCTRI A0_ELC round 1,,WNDFRM,GBR,winter.peak,0.45740287159237664,0.4,2.1535436238948877,1.6961407523025112 +2030,ironing out iteration 0; ELCTRI A0_ELC round 1,,WNDFRM,GBR,winter.evening,0.5962573186716152,0.4,2.9300596841572673,2.333802365485652 2030,ironing out iteration 0; ELCTRI A0_ELC round 1,,WNDFRM,GBR,peak.night,-0.0,0.4,0.0,0.0 -2030,ironing out iteration 0; ELCTRI A0_ELC round 1,,WNDFRM,GBR,peak.day,-0.0,0.4,0.0,0.0 -2030,ironing out iteration 0; ELCTRI A0_ELC round 1,,WNDFRM,GBR,peak.peak,-0.0,0.4,0.0,0.0 +2030,ironing out iteration 0; ELCTRI A0_ELC round 1,,WNDFRM,GBR,peak.day,1.4783914282615307,0.4,7.3779505119938245,5.899559083732294 +2030,ironing out iteration 0; ELCTRI A0_ELC round 1,,WNDFRM,GBR,peak.peak,0.4124793750000001,0.4,2.3471485481808085,1.9346691731808083 2030,ironing out iteration 0; ELCTRI A0_ELC round 1,,WNDFRM,GBR,peak.evening,-0.0,0.4,0.0,0.0 2030,ironing out iteration 0; ELCTRI A0_ELC round 1,,WNDFRM,GBR,summer.night,0.29510617194278477,0.4,0.29510617194278477,0.0 2030,ironing out iteration 0; ELCTRI A0_ELC round 1,,WNDFRM,GBR,summer.day,-0.0,0.4,0.0,0.0 2030,ironing out iteration 0; ELCTRI A0_ELC round 1,,WNDFRM,GBR,summer.peak,-0.0,0.4,0.0,0.0 2030,ironing out iteration 0; ELCTRI A0_ELC round 1,,WNDFRM,GBR,summer.evening,-0.0,0.4,0.0,0.0 2030,ironing out iteration 0; ELCTRI A0_ELC round 1,,WNDFRM,GBR,autumn.night,-0.0,0.4,0.0,0.0 -2030,ironing out iteration 0; ELCTRI A0_ELC round 1,,WNDFRM,GBR,autumn.day,-0.0,0.4,0.0,0.0 +2030,ironing out iteration 0; ELCTRI A0_ELC round 1,,WNDFRM,GBR,autumn.day,1.392628390356938,0.4,7.747559908401914,6.354931518044976 2030,ironing out iteration 0; ELCTRI A0_ELC round 1,,WNDFRM,GBR,autumn.peak,-0.0,0.4,0.0,0.0 2030,ironing out iteration 0; ELCTRI A0_ELC round 1,,WNDFRM,GBR,autumn.evening,-0.0,0.4,0.0,0.0 -2030,ironing out iteration 0; ELCTRI A0_ELC round 1,,GASCGT,GBR,winter.night,-0.0,7.993308999999999,0.0,0.0 -2030,ironing out iteration 0; ELCTRI A0_ELC round 1,,GASCGT,GBR,winter.day,1.3749312543997803,7.993308999999999,6.6739326103518914,5.299001355952111 -2030,ironing out iteration 0; ELCTRI A0_ELC round 1,,GASCGT,GBR,winter.peak,0.41247937500000004,7.993308999999999,2.1535436238948877,1.7410642488948878 -2030,ironing out iteration 0; ELCTRI A0_ELC round 1,,GASCGT,GBR,winter.evening,-0.0,7.993308999999999,0.0,0.0 +2030,ironing out iteration 0; ELCTRI A0_ELC round 1,,GASCGT,GBR,winter.night,0.9624518793997803,7.993308999999999,5.189205998452591,4.226754119052811 +2030,ironing out iteration 0; ELCTRI A0_ELC round 1,,GASCGT,GBR,winter.day,1.3749312543997805,7.993308999999999,6.6739326103518914,5.299001355952111 +2030,ironing out iteration 0; ELCTRI A0_ELC round 1,,GASCGT,GBR,winter.peak,0.4124793750000001,7.993308999999999,2.1535436238948877,1.7410642488948875 +2030,ironing out iteration 0; ELCTRI A0_ELC round 1,,GASCGT,GBR,winter.evening,0.5499725043997801,7.993308999999999,2.9300596841572673,2.380087179757487 2030,ironing out iteration 0; ELCTRI A0_ELC round 1,,GASCGT,GBR,peak.night,-0.0,7.993308999999999,0.0,0.0 -2030,ironing out iteration 0; ELCTRI A0_ELC round 1,,GASCGT,GBR,peak.day,-0.0,7.993308999999999,0.0,0.0 -2030,ironing out iteration 0; ELCTRI A0_ELC round 1,,GASCGT,GBR,peak.peak,-0.0,7.993308999999999,0.0,0.0 +2030,ironing out iteration 0; ELCTRI A0_ELC round 1,,GASCGT,GBR,peak.day,1.3749312543997805,7.993308999999999,7.3779505119938245,6.003019257594044 +2030,ironing out iteration 0; ELCTRI A0_ELC round 1,,GASCGT,GBR,peak.peak,0.4124793750000001,7.993308999999999,2.3471485481808085,1.9346691731808083 2030,ironing out iteration 0; ELCTRI A0_ELC round 1,,GASCGT,GBR,peak.evening,-0.0,7.993308999999999,0.0,0.0 2030,ironing out iteration 0; ELCTRI A0_ELC round 1,,GASCGT,GBR,summer.night,0.29510617194278477,7.993308999999999,0.29510617194278477,0.0 2030,ironing out iteration 0; ELCTRI A0_ELC round 1,,GASCGT,GBR,summer.day,-0.0,7.993308999999999,0.0,0.0 2030,ironing out iteration 0; ELCTRI A0_ELC round 1,,GASCGT,GBR,summer.peak,-0.0,7.993308999999999,0.0,0.0 2030,ironing out iteration 0; ELCTRI A0_ELC round 1,,GASCGT,GBR,summer.evening,-0.0,7.993308999999999,0.0,0.0 2030,ironing out iteration 0; ELCTRI A0_ELC round 1,,GASCGT,GBR,autumn.night,-0.0,7.993308999999999,0.0,0.0 -2030,ironing out iteration 0; ELCTRI A0_ELC round 1,,GASCGT,GBR,autumn.day,-0.0,7.993308999999999,0.0,0.0 +2030,ironing out iteration 0; ELCTRI A0_ELC round 1,,GASCGT,GBR,autumn.day,1.3749312543997805,7.993308999999999,7.747559908401914,6.372628654002134 2030,ironing out iteration 0; ELCTRI A0_ELC round 1,,GASCGT,GBR,autumn.peak,-0.0,7.993308999999999,0.0,0.0 2030,ironing out iteration 0; ELCTRI A0_ELC round 1,,GASCGT,GBR,autumn.evening,-0.0,7.993308999999999,0.0,0.0 -2030,ironing out iteration 0; GASNAT A0_GPR round 0,1,GASPRC,GBR,winter.night,0.0,2.9170059999999998,84.929604912358,0.0 -2030,ironing out iteration 0; GASNAT A0_GPR round 0,1,GASPRC,GBR,winter.day,281.1694631746831,2.9170059999999998,229.28766460910782,0.0 -2030,ironing out iteration 0; GASNAT A0_GPR round 0,1,GASPRC,GBR,winter.peak,106.37240625000001,2.9170059999999998,120.23700814702833,0.0 -2030,ironing out iteration 0; GASNAT A0_GPR round 0,1,GASPRC,GBR,winter.evening,141.829876134639,2.9170059999999998,94.91746789082798,0.0 -2030,ironing out iteration 0; GASNAT A0_GPR round 0,1,GASPRC,GBR,peak.night,0.0,2.9170059999999998,61.754586177022,0.0 -2030,ironing out iteration 0; GASNAT A0_GPR round 0,1,GASPRC,GBR,peak.day,353.54126756183996,2.9170059999999998,154.90487188689997,0.0 -2030,ironing out iteration 0; GASNAT A0_GPR round 0,1,GASPRC,GBR,peak.peak,0.0,2.9170059999999998,83.73447704880601,0.0 -2030,ironing out iteration 0; GASNAT A0_GPR round 0,1,GASPRC,GBR,peak.evening,0.0,2.9170059999999998,53.14733244911199,0.0 +2030,ironing out iteration 0; GASNAT A0_GPR round 0,1,GASPRC,GBR,winter.night,0.0,2.9170059999999998,51.62895757638889,0.0 +2030,ironing out iteration 0; GASNAT A0_GPR round 0,1,GASPRC,GBR,winter.day,201.2090417177309,2.9170059999999998,229.28766460910782,0.0 +2030,ironing out iteration 0; GASNAT A0_GPR round 0,1,GASPRC,GBR,winter.peak,118.1915625,2.9170059999999998,120.23700814702833,0.0 +2030,ironing out iteration 0; GASNAT A0_GPR round 0,1,GASPRC,GBR,winter.evening,157.58875126070998,2.9170059999999998,75.8357251459159,0.0 +2030,ironing out iteration 0; GASNAT A0_GPR round 0,1,GASPRC,GBR,peak.night,0.0,2.9170059999999998,62.59286024335411,0.0 +2030,ironing out iteration 0; GASNAT A0_GPR round 0,1,GASPRC,GBR,peak.day,293.14649951361815,2.9170059999999998,107.27971725874272,0.0 +2030,ironing out iteration 0; GASNAT A0_GPR round 0,1,GASPRC,GBR,peak.peak,0.0,2.9170059999999998,69.64757580857723,0.0 +2030,ironing out iteration 0; GASNAT A0_GPR round 0,1,GASPRC,GBR,peak.evening,0.0,2.9170059999999998,53.6263462029441,0.0 2030,ironing out iteration 0; GASNAT A0_GPR round 0,1,GASPRC,GBR,summer.night,0.44265925791417715,2.9170059999999998,0.44265925791417715,0.0 2030,ironing out iteration 0; GASNAT A0_GPR round 0,1,GASPRC,GBR,summer.day,0.0,2.9170059999999998,0.0,0.0 2030,ironing out iteration 0; GASNAT A0_GPR round 0,1,GASPRC,GBR,summer.peak,0.0,2.9170059999999998,0.0,0.0 2030,ironing out iteration 0; GASNAT A0_GPR round 0,1,GASPRC,GBR,summer.evening,0.0,2.9170059999999998,0.0,0.0 -2030,ironing out iteration 0; GASNAT A0_GPR round 0,1,GASPRC,GBR,autumn.night,0.0,2.9170059999999998,51.57737412623499,0.0 -2030,ironing out iteration 0; GASNAT A0_GPR round 0,1,GASPRC,GBR,autumn.day,288.721784612517,2.9170059999999998,126.66630705618401,0.0 -2030,ironing out iteration 0; GASNAT A0_GPR round 0,1,GASPRC,GBR,autumn.peak,0.0,2.9170059999999998,67.625056578603,0.0 -2030,ironing out iteration 0; GASNAT A0_GPR round 0,1,GASPRC,GBR,autumn.evening,0.0,2.9170059999999998,42.85304685149499,0.0 -2030,ironing out iteration 0; GASNAT A0_GPR round 0,,GASPRC,GBR,winter.night,123.52007452850503,2.9170059999999998,84.929604912358,105.87434741787482 -2030,ironing out iteration 0; GASNAT A0_GPR round 0,,GASPRC,GBR,winter.day,176.45724908443725,2.9170059999999998,229.28766460910782,0.0 -2030,ironing out iteration 0; GASNAT A0_GPR round 0,,GASPRC,GBR,winter.peak,52.937174555932216,2.9170059999999998,120.23700814702833,0.0 -2030,ironing out iteration 0; GASNAT A0_GPR round 0,,GASPRC,GBR,winter.evening,70.5828999725728,2.9170059999999998,94.91746789082798,0.0 -2030,ironing out iteration 0; GASNAT A0_GPR round 0,,GASPRC,GBR,peak.night,53.56394394889767,2.9170059999999998,61.754586177022,0.0 -2030,ironing out iteration 0; GASNAT A0_GPR round 0,,GASPRC,GBR,peak.day,176.45724908443725,2.9170059999999998,154.90487188689997,0.0 -2030,ironing out iteration 0; GASNAT A0_GPR round 0,,GASPRC,GBR,peak.peak,52.937174555932216,2.9170059999999998,83.73447704880601,0.0 -2030,ironing out iteration 0; GASNAT A0_GPR round 0,,GASPRC,GBR,peak.evening,70.5828999725728,2.9170059999999998,53.14733244911199,0.0 +2030,ironing out iteration 0; GASNAT A0_GPR round 0,1,GASPRC,GBR,autumn.night,243.32759221163607,2.9170059999999998,52.415648192567105,0.0 +2030,ironing out iteration 0; GASNAT A0_GPR round 0,1,GASPRC,GBR,autumn.day,0.0,2.9170059999999998,79.59556652263888,0.0 +2030,ironing out iteration 0; GASNAT A0_GPR round 0,1,GASPRC,GBR,autumn.peak,0.0,2.9170059999999998,67.98431689110299,0.0 +2030,ironing out iteration 0; GASNAT A0_GPR round 0,1,GASPRC,GBR,autumn.evening,0.0,2.9170059999999998,43.332060605327094,0.0 +2030,ironing out iteration 0; GASNAT A0_GPR round 0,,GASPRC,GBR,winter.night,111.29751678709154,2.9170059999999998,51.62895757638889,95.39786956932222 +2030,ironing out iteration 0; GASNAT A0_GPR round 0,,GASPRC,GBR,winter.day,158.99645233493564,2.9170059999999998,229.28766460910782,0.0 +2030,ironing out iteration 0; GASNAT A0_GPR round 0,,GASPRC,GBR,winter.peak,47.698935547844094,2.9170059999999998,120.23700814702833,0.0 +2030,ironing out iteration 0; GASNAT A0_GPR round 0,,GASPRC,GBR,winter.evening,63.59858123924744,2.9170059999999998,75.8357251459159,0.0 +2030,ironing out iteration 0; GASNAT A0_GPR round 0,,GASPRC,GBR,peak.night,22.85253039159099,2.9170059999999998,62.59286024335411,0.0 +2030,ironing out iteration 0; GASNAT A0_GPR round 0,,GASPRC,GBR,peak.day,158.99645233493564,2.9170059999999998,107.27971725874272,0.0 +2030,ironing out iteration 0; GASNAT A0_GPR round 0,,GASPRC,GBR,peak.peak,47.698935547844094,2.9170059999999998,69.64757580857723,0.0 +2030,ironing out iteration 0; GASNAT A0_GPR round 0,,GASPRC,GBR,peak.evening,63.59858123924744,2.9170059999999998,53.6263462029441,0.0 2030,ironing out iteration 0; GASNAT A0_GPR round 0,,GASPRC,GBR,summer.night,0.0,2.9170059999999998,0.44265925791417715,0.0 2030,ironing out iteration 0; GASNAT A0_GPR round 0,,GASPRC,GBR,summer.day,0.0,2.9170059999999998,0.0,0.0 2030,ironing out iteration 0; GASNAT A0_GPR round 0,,GASPRC,GBR,summer.peak,0.0,2.9170059999999998,0.0,0.0 2030,ironing out iteration 0; GASNAT A0_GPR round 0,,GASPRC,GBR,summer.evening,0.44265925791417715,2.9170059999999998,0.0,0.0 -2030,ironing out iteration 0; GASNAT A0_GPR round 0,,GASPRC,GBR,autumn.night,123.52007452850503,2.9170059999999998,51.57737412623499,0.0 -2030,ironing out iteration 0; GASNAT A0_GPR round 0,,GASPRC,GBR,autumn.day,41.68163555550696,2.9170059999999998,126.66630705618401,0.0 -2030,ironing out iteration 0; GASNAT A0_GPR round 0,,GASPRC,GBR,autumn.peak,52.937174555932216,2.9170059999999998,67.625056578603,0.0 -2030,ironing out iteration 0; GASNAT A0_GPR round 0,,GASPRC,GBR,autumn.evening,70.5828999725728,2.9170059999999998,42.85304685149499,0.0 +2030,ironing out iteration 0; GASNAT A0_GPR round 0,,GASPRC,GBR,autumn.night,111.29751678709154,2.9170059999999998,52.415648192567105,0.0 +2030,ironing out iteration 0; GASNAT A0_GPR round 0,,GASPRC,GBR,autumn.day,20.73255863745299,2.9170059999999998,79.59556652263888,0.0 +2030,ironing out iteration 0; GASNAT A0_GPR round 0,,GASPRC,GBR,autumn.peak,47.698935547844094,2.9170059999999998,67.98431689110299,0.0 +2030,ironing out iteration 0; GASNAT A0_GPR round 0,,GASPRC,GBR,autumn.evening,63.59858123924744,2.9170059999999998,43.332060605327094,0.0 2030,ironing out iteration 0; GASPRD A0_GEX round 0,0,GASDRV,GBR,winter.night,0.0,2.20452,0.0,0.0 -2030,ironing out iteration 0; GASPRD A0_GEX round 0,0,GASDRV,GBR,winter.day,238.63971192534342,2.20452,240.6756291221505,0.0 -2030,ironing out iteration 0; GASPRD A0_GEX round 0,0,GASDRV,GBR,winter.peak,112.5635625,2.20452,111.69102656250001,0.0 -2030,ironing out iteration 0; GASPRD A0_GEX round 0,0,GASDRV,GBR,winter.evening,150.084751200678,2.20452,148.92136994137095,0.0 -2030,ironing out iteration 0; GASPRD A0_GEX round 0,0,GASDRV,GBR,peak.night,261.55677162816187,2.20452,0.0,0.0 -2030,ironing out iteration 0; GASPRD A0_GEX round 0,0,GASDRV,GBR,peak.day,0.0,2.20452,0.9443751242908989,0.0 -2030,ironing out iteration 0; GASPRD A0_GEX round 0,0,GASDRV,GBR,peak.peak,0.0,2.20452,111.69102656250001,0.0 -2030,ironing out iteration 0; GASPRD A0_GEX round 0,0,GASDRV,GBR,peak.evening,0.0,2.20452,148.92136994137095,0.0 +2030,ironing out iteration 0; GASPRD A0_GEX round 0,0,GASDRV,GBR,winter.day,209.007363584943,2.20452,211.26949380361748,0.0 +2030,ironing out iteration 0; GASPRD A0_GEX round 0,0,GASDRV,GBR,winter.peak,125.070625,2.20452,124.10114062500001,0.0 +2030,ironing out iteration 0; GASPRD A0_GEX round 0,0,GASDRV,GBR,winter.evening,166.76083466742,2.20452,165.4681888237455,0.0 +2030,ironing out iteration 0; GASPRD A0_GEX round 0,0,GASDRV,GBR,peak.night,258.9255593542272,2.20452,0.0,0.0 +2030,ironing out iteration 0; GASPRD A0_GEX round 0,0,GASDRV,GBR,peak.day,0.0,2.20452,0.0,0.0 +2030,ironing out iteration 0; GASPRD A0_GEX round 0,0,GASDRV,GBR,peak.peak,0.0,2.20452,93.45737053048168,0.0 +2030,ironing out iteration 0; GASPRD A0_GEX round 0,0,GASDRV,GBR,peak.evening,0.0,2.20452,165.4681888237455,0.0 2030,ironing out iteration 0; GASPRD A0_GEX round 0,0,GASDRV,GBR,summer.night,0.464792220809886,2.20452,0.0,0.0 2030,ironing out iteration 0; GASPRD A0_GEX round 0,0,GASDRV,GBR,summer.day,0.0,2.20452,0.0,0.0 2030,ironing out iteration 0; GASPRD A0_GEX round 0,0,GASDRV,GBR,summer.peak,0.0,2.20452,0.0,0.0 2030,ironing out iteration 0; GASPRD A0_GEX round 0,0,GASDRV,GBR,summer.evening,0.0,2.20452,0.464792220809886,0.0 -2030,ironing out iteration 0; GASPRD A0_GEX round 0,0,GASDRV,GBR,autumn.night,193.7539210789758,2.20452,0.0,0.0 +2030,ironing out iteration 0; GASPRD A0_GEX round 0,0,GASDRV,GBR,autumn.night,190.25253916509925,2.20452,0.0,0.0 2030,ironing out iteration 0; GASPRD A0_GEX round 0,0,GASDRV,GBR,autumn.day,0.0,2.20452,0.0,0.0 -2030,ironing out iteration 0; GASPRD A0_GEX round 0,0,GASDRV,GBR,autumn.peak,0.0,2.20452,44.83255113760483,0.0 -2030,ironing out iteration 0; GASPRD A0_GEX round 0,0,GASDRV,GBR,autumn.evening,0.0,2.20452,148.92136994137095,0.0 -2030,ironing out iteration 0; GASPRD A0_GEX round 0,,GASDRV,GBR,winter.night,116.96720651411223,2.20452,0.0,100.25760352108253 -2030,ironing out iteration 0; GASPRD A0_GEX round 0,,GASDRV,GBR,winter.day,167.09600907671438,2.20452,240.6756291221505,0.0 -2030,ironing out iteration 0; GASPRD A0_GEX round 0,,GASDRV,GBR,winter.peak,50.12880256260215,2.20452,111.69102656250001,0.0 -2030,ironing out iteration 0; GASPRD A0_GEX round 0,,GASDRV,GBR,winter.evening,66.83840395151007,2.20452,148.92136994137095,0.0 +2030,ironing out iteration 0; GASPRD A0_GEX round 0,0,GASDRV,GBR,autumn.peak,0.0,2.20452,24.784350341353754,0.0 +2030,ironing out iteration 0; GASPRD A0_GEX round 0,0,GASDRV,GBR,autumn.evening,0.0,2.20452,165.4681888237455,0.0 +2030,ironing out iteration 0; GASPRD A0_GEX round 0,,GASDRV,GBR,winter.night,116.86239262644612,2.20452,0.0,100.16776304778837 +2030,ironing out iteration 0; GASPRD A0_GEX round 0,,GASDRV,GBR,winter.day,166.94627495168243,2.20452,211.26949380361748,0.0 +2030,ironing out iteration 0; GASPRD A0_GEX round 0,,GASDRV,GBR,winter.peak,50.0838823252363,2.20452,124.10114062500001,0.0 +2030,ironing out iteration 0; GASPRD A0_GEX round 0,,GASDRV,GBR,winter.evening,66.7785103012098,2.20452,165.4681888237455,0.0 2030,ironing out iteration 0; GASPRD A0_GEX round 0,,GASDRV,GBR,peak.night,0.0,2.20452,0.0,0.0 -2030,ironing out iteration 0; GASPRD A0_GEX round 0,,GASDRV,GBR,peak.day,167.09600907671438,2.20452,0.9443751242908989,0.0 -2030,ironing out iteration 0; GASPRD A0_GEX round 0,,GASDRV,GBR,peak.peak,27.622358599937414,2.20452,111.69102656250001,0.0 -2030,ironing out iteration 0; GASPRD A0_GEX round 0,,GASDRV,GBR,peak.evening,66.83840395151007,2.20452,148.92136994137095,0.0 +2030,ironing out iteration 0; GASPRD A0_GEX round 0,,GASDRV,GBR,peak.day,166.94627495168243,2.20452,0.0,0.0 +2030,ironing out iteration 0; GASPRD A0_GEX round 0,,GASDRV,GBR,peak.peak,25.200774101334943,2.20452,93.45737053048168,0.0 +2030,ironing out iteration 0; GASPRD A0_GEX round 0,,GASDRV,GBR,peak.evening,66.7785103012098,2.20452,165.4681888237455,0.0 2030,ironing out iteration 0; GASPRD A0_GEX round 0,,GASDRV,GBR,summer.night,0.0,2.20452,0.0,0.0 2030,ironing out iteration 0; GASPRD A0_GEX round 0,,GASDRV,GBR,summer.day,0.0,2.20452,0.0,0.0 2030,ironing out iteration 0; GASPRD A0_GEX round 0,,GASDRV,GBR,summer.peak,0.0,2.20452,0.0,0.0 2030,ironing out iteration 0; GASPRD A0_GEX round 0,,GASDRV,GBR,summer.evening,0.464792220809886,2.20452,0.464792220809886,0.0 -2030,ironing out iteration 0; GASPRD A0_GEX round 0,,GASDRV,GBR,autumn.night,116.96720651411223,2.20452,0.0,0.0 +2030,ironing out iteration 0; GASPRD A0_GEX round 0,,GASDRV,GBR,autumn.night,116.86239262644612,2.20452,0.0,0.0 2030,ironing out iteration 0; GASPRD A0_GEX round 0,,GASDRV,GBR,autumn.day,0.0,2.20452,0.0,0.0 -2030,ironing out iteration 0; GASPRD A0_GEX round 0,,GASDRV,GBR,autumn.peak,9.948310613353485,2.20452,44.83255113760483,0.0 -2030,ironing out iteration 0; GASPRD A0_GEX round 0,,GASDRV,GBR,autumn.evening,66.83840395151007,2.20452,148.92136994137095,0.0 +2030,ironing out iteration 0; GASPRD A0_GEX round 0,,GASDRV,GBR,autumn.peak,6.611636237443321,2.20452,24.784350341353754,0.0 +2030,ironing out iteration 0; GASPRD A0_GEX round 0,,GASDRV,GBR,autumn.evening,66.7785103012098,2.20452,165.4681888237455,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 0,6,RGASBR,GBR,winter.night,25.94655054710617,5.8665369,73.84123332206,47.894682774953836 2040,ironing out iteration 0; RSHEAT A0_RES round 0,6,RGASBR,GBR,winter.day,37.066500730746185,5.8665369,254.95484159586002,217.88834086511383 2040,ironing out iteration 0; RSHEAT A0_RES round 0,6,RGASBR,GBR,winter.peak,11.119950183640015,5.8665369,125.36429298364001,114.2443428 @@ -351,20 +351,20 @@ milestone_year,run_description,asset_id,process_id,region_id,time_slice,activity 2040,ironing out iteration 0; RSHEAT A0_RES round 0,,RGASBR,GBR,autumn.day,41.788097794935254,5.8665369,110.58130514930001,68.79320735436475 2040,ironing out iteration 0; RSHEAT A0_RES round 0,,RGASBR,GBR,autumn.peak,12.536429298364002,5.8665369,61.44285147922,48.906422180856 2040,ironing out iteration 0; RSHEAT A0_RES round 0,,RGASBR,GBR,autumn.evening,16.715239198207247,5.8665369,36.77686951044,20.061630312232754 -2040,ironing out iteration 0; RSHEAT A0_RES round 0,,RELCHP,GBR,winter.night,29.251668496571252,5.8665369,73.84123332206,44.58956482548875 +2040,ironing out iteration 0; RSHEAT A0_RES round 0,,RELCHP,GBR,winter.night,29.251668496571252,2.80779197,73.84123332206,44.58956482548875 2040,ironing out iteration 0; RSHEAT A0_RES round 0,,RELCHP,GBR,winter.day,41.788097794935254,2.80779197,254.95484159586002,213.16674380092476 2040,ironing out iteration 0; RSHEAT A0_RES round 0,,RELCHP,GBR,winter.peak,12.536429298364002,2.80779197,125.36429298364001,112.82786368527601 -2040,ironing out iteration 0; RSHEAT A0_RES round 0,,RELCHP,GBR,winter.evening,16.715239198207247,5.8665369,86.45696500986001,69.74172581165277 +2040,ironing out iteration 0; RSHEAT A0_RES round 0,,RELCHP,GBR,winter.evening,16.715239198207247,2.80779197,86.45696500986001,69.74172581165277 2040,ironing out iteration 0; RSHEAT A0_RES round 0,,RELCHP,GBR,peak.night,29.251668496571252,5.8665369,51.727530317420005,22.475861820848753 -2040,ironing out iteration 0; RSHEAT A0_RES round 0,,RELCHP,GBR,peak.day,41.788097794935254,5.8665369,137.52666571514,95.73856792020476 -2040,ironing out iteration 0; RSHEAT A0_RES round 0,,RELCHP,GBR,peak.peak,12.536429298364002,5.8665369,76.81453009244001,64.27810079407601 +2040,ironing out iteration 0; RSHEAT A0_RES round 0,,RELCHP,GBR,peak.day,41.788097794935254,2.80779197,137.52666571514,95.73856792020476 +2040,ironing out iteration 0; RSHEAT A0_RES round 0,,RELCHP,GBR,peak.peak,12.536429298364002,2.80779197,76.81453009244001,64.27810079407601 2040,ironing out iteration 0; RSHEAT A0_RES round 0,,RELCHP,GBR,peak.evening,16.715239198207247,5.8665369,46.59972130402001,29.88448210581276 2040,ironing out iteration 0; RSHEAT A0_RES round 0,,RELCHP,GBR,summer.night,6.424223861080001,2.80779197,6.424223861080001,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 0,,RELCHP,GBR,summer.day,10.70353850198,0.30200000000000005,10.70353850198,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 0,,RELCHP,GBR,summer.peak,3.5246532331800005,0.30200000000000005,3.5246532331800005,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 0,,RELCHP,GBR,summer.evening,2.62438618894,0.30200000000000005,2.62438618894,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 0,,RELCHP,GBR,autumn.night,29.251668496571252,5.8665369,42.016390608040005,12.764722111468753 -2040,ironing out iteration 0; RSHEAT A0_RES round 0,,RELCHP,GBR,autumn.day,41.788097794935254,5.8665369,110.58130514930001,68.79320735436475 +2040,ironing out iteration 0; RSHEAT A0_RES round 0,,RELCHP,GBR,autumn.day,41.788097794935254,2.80779197,110.58130514930001,68.79320735436475 2040,ironing out iteration 0; RSHEAT A0_RES round 0,,RELCHP,GBR,autumn.peak,12.536429298364002,5.8665369,61.44285147922,48.906422180856 2040,ironing out iteration 0; RSHEAT A0_RES round 0,,RELCHP,GBR,autumn.evening,16.715239198207247,5.8665369,36.77686951044,20.061630312232754 2040,ironing out iteration 0; RSHEAT A0_RES round 1,,RGASBR,GBR,winter.night,29.251668496571252,5.8665369,47.894682774953836,18.643014278382584 @@ -383,20 +383,20 @@ milestone_year,run_description,asset_id,process_id,region_id,time_slice,activity 2040,ironing out iteration 0; RSHEAT A0_RES round 1,,RGASBR,GBR,autumn.day,41.788097794935254,5.8665369,73.51480441855382,31.72670662361857 2040,ironing out iteration 0; RSHEAT A0_RES round 1,,RGASBR,GBR,autumn.peak,12.536429298364002,5.8665369,50.32290129557999,37.78647199721598 2040,ironing out iteration 0; RSHEAT A0_RES round 1,,RGASBR,GBR,autumn.evening,16.715239198207247,5.8665369,21.950269146973845,5.2350299487665986 -2040,ironing out iteration 0; RSHEAT A0_RES round 1,,RELCHP,GBR,winter.night,29.251668496571252,5.8665369,47.894682774953836,18.643014278382584 +2040,ironing out iteration 0; RSHEAT A0_RES round 1,,RELCHP,GBR,winter.night,29.251668496571252,2.80779197,47.894682774953836,18.643014278382584 2040,ironing out iteration 0; RSHEAT A0_RES round 1,,RELCHP,GBR,winter.day,41.788097794935254,2.80779197,217.88834086511383,176.10024307017858 2040,ironing out iteration 0; RSHEAT A0_RES round 1,,RELCHP,GBR,winter.peak,12.536429298364002,2.80779197,114.2443428,101.707913501636 -2040,ironing out iteration 0; RSHEAT A0_RES round 1,,RELCHP,GBR,winter.evening,16.715239198207247,5.8665369,71.63036464639386,54.915125448186615 +2040,ironing out iteration 0; RSHEAT A0_RES round 1,,RELCHP,GBR,winter.evening,16.715239198207247,2.80779197,71.63036464639386,54.915125448186615 2040,ironing out iteration 0; RSHEAT A0_RES round 1,,RELCHP,GBR,peak.night,25.780979770313834,5.8665369,25.780979770313834,0.0 -2040,ironing out iteration 0; RSHEAT A0_RES round 1,,RELCHP,GBR,peak.day,41.788097794935254,5.8665369,100.46016498439383,58.67206718945857 -2040,ironing out iteration 0; RSHEAT A0_RES round 1,,RELCHP,GBR,peak.peak,12.536429298364002,5.8665369,65.6945799088,53.158150610435996 +2040,ironing out iteration 0; RSHEAT A0_RES round 1,,RELCHP,GBR,peak.day,41.788097794935254,2.80779197,100.46016498439383,58.67206718945857 +2040,ironing out iteration 0; RSHEAT A0_RES round 1,,RELCHP,GBR,peak.peak,12.536429298364002,2.80779197,65.6945799088,53.158150610435996 2040,ironing out iteration 0; RSHEAT A0_RES round 1,,RELCHP,GBR,peak.evening,16.715239198207247,5.8665369,31.773120940553852,15.057881742346606 2040,ironing out iteration 0; RSHEAT A0_RES round 1,,RELCHP,GBR,summer.night,-0.0,2.80779197,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 1,,RELCHP,GBR,summer.day,-0.0,0.30200000000000005,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 1,,RELCHP,GBR,summer.peak,-0.0,0.30200000000000005,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 1,,RELCHP,GBR,summer.evening,-0.0,0.30200000000000005,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 1,,RELCHP,GBR,autumn.night,16.069840060933835,5.8665369,16.069840060933835,0.0 -2040,ironing out iteration 0; RSHEAT A0_RES round 1,,RELCHP,GBR,autumn.day,41.788097794935254,5.8665369,73.51480441855382,31.72670662361857 +2040,ironing out iteration 0; RSHEAT A0_RES round 1,,RELCHP,GBR,autumn.day,41.788097794935254,2.80779197,73.51480441855382,31.72670662361857 2040,ironing out iteration 0; RSHEAT A0_RES round 1,,RELCHP,GBR,autumn.peak,12.536429298364002,5.8665369,50.32290129557999,37.78647199721598 2040,ironing out iteration 0; RSHEAT A0_RES round 1,,RELCHP,GBR,autumn.evening,16.715239198207247,5.8665369,21.950269146973845,5.2350299487665986 2040,ironing out iteration 0; RSHEAT A0_RES round 2,,RGASBR,GBR,winter.night,18.643014278382584,5.8665369,18.643014278382584,0.0 @@ -415,20 +415,20 @@ milestone_year,run_description,asset_id,process_id,region_id,time_slice,activity 2040,ironing out iteration 0; RSHEAT A0_RES round 2,,RGASBR,GBR,autumn.day,31.72670662361857,5.8665369,31.72670662361857,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 2,,RGASBR,GBR,autumn.peak,12.536429298364002,5.8665369,37.78647199721598,25.25004269885198 2040,ironing out iteration 0; RSHEAT A0_RES round 2,,RGASBR,GBR,autumn.evening,5.2350299487665986,5.8665369,5.2350299487665986,0.0 -2040,ironing out iteration 0; RSHEAT A0_RES round 2,,RELCHP,GBR,winter.night,18.643014278382584,5.8665369,18.643014278382584,0.0 +2040,ironing out iteration 0; RSHEAT A0_RES round 2,,RELCHP,GBR,winter.night,18.643014278382584,2.80779197,18.643014278382584,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 2,,RELCHP,GBR,winter.day,41.788097794935254,2.80779197,176.10024307017858,134.31214527524332 2040,ironing out iteration 0; RSHEAT A0_RES round 2,,RELCHP,GBR,winter.peak,12.536429298364002,2.80779197,101.707913501636,89.171484203272 -2040,ironing out iteration 0; RSHEAT A0_RES round 2,,RELCHP,GBR,winter.evening,16.715239198207247,5.8665369,54.915125448186615,38.19988624997937 +2040,ironing out iteration 0; RSHEAT A0_RES round 2,,RELCHP,GBR,winter.evening,16.715239198207247,2.80779197,54.915125448186615,38.19988624997937 2040,ironing out iteration 0; RSHEAT A0_RES round 2,,RELCHP,GBR,peak.night,-0.0,5.8665369,0.0,0.0 -2040,ironing out iteration 0; RSHEAT A0_RES round 2,,RELCHP,GBR,peak.day,41.788097794935254,5.8665369,58.67206718945857,16.88396939452332 -2040,ironing out iteration 0; RSHEAT A0_RES round 2,,RELCHP,GBR,peak.peak,12.536429298364002,5.8665369,53.158150610435996,40.621721312072 +2040,ironing out iteration 0; RSHEAT A0_RES round 2,,RELCHP,GBR,peak.day,41.788097794935254,2.80779197,58.67206718945857,16.88396939452332 +2040,ironing out iteration 0; RSHEAT A0_RES round 2,,RELCHP,GBR,peak.peak,12.536429298364002,2.80779197,53.158150610435996,40.621721312072 2040,ironing out iteration 0; RSHEAT A0_RES round 2,,RELCHP,GBR,peak.evening,15.057881742346606,5.8665369,15.057881742346606,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 2,,RELCHP,GBR,summer.night,-0.0,2.80779197,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 2,,RELCHP,GBR,summer.day,-0.0,0.30200000000000005,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 2,,RELCHP,GBR,summer.peak,-0.0,0.30200000000000005,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 2,,RELCHP,GBR,summer.evening,-0.0,0.30200000000000005,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 2,,RELCHP,GBR,autumn.night,-0.0,5.8665369,0.0,0.0 -2040,ironing out iteration 0; RSHEAT A0_RES round 2,,RELCHP,GBR,autumn.day,31.72670662361857,5.8665369,31.72670662361857,0.0 +2040,ironing out iteration 0; RSHEAT A0_RES round 2,,RELCHP,GBR,autumn.day,31.72670662361857,2.80779197,31.72670662361857,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 2,,RELCHP,GBR,autumn.peak,12.536429298364002,5.8665369,37.78647199721598,25.25004269885198 2040,ironing out iteration 0; RSHEAT A0_RES round 2,,RELCHP,GBR,autumn.evening,5.2350299487665986,5.8665369,5.2350299487665986,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 3,,RGASBR,GBR,winter.night,-0.0,5.8665369,0.0,0.0 @@ -447,20 +447,20 @@ milestone_year,run_description,asset_id,process_id,region_id,time_slice,activity 2040,ironing out iteration 0; RSHEAT A0_RES round 3,,RGASBR,GBR,autumn.day,-0.0,5.8665369,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 3,,RGASBR,GBR,autumn.peak,12.536429298364002,5.8665369,25.25004269885198,12.71361340048798 2040,ironing out iteration 0; RSHEAT A0_RES round 3,,RGASBR,GBR,autumn.evening,-0.0,5.8665369,0.0,0.0 -2040,ironing out iteration 0; RSHEAT A0_RES round 3,,RELCHP,GBR,winter.night,-0.0,5.8665369,0.0,0.0 +2040,ironing out iteration 0; RSHEAT A0_RES round 3,,RELCHP,GBR,winter.night,-0.0,2.80779197,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 3,,RELCHP,GBR,winter.day,41.788097794935254,2.80779197,134.31214527524332,92.52404748030807 2040,ironing out iteration 0; RSHEAT A0_RES round 3,,RELCHP,GBR,winter.peak,12.536429298364002,2.80779197,89.171484203272,76.635054904908 -2040,ironing out iteration 0; RSHEAT A0_RES round 3,,RELCHP,GBR,winter.evening,16.715239198207247,5.8665369,38.19988624997937,21.484647051772125 +2040,ironing out iteration 0; RSHEAT A0_RES round 3,,RELCHP,GBR,winter.evening,16.715239198207247,2.80779197,38.19988624997937,21.484647051772125 2040,ironing out iteration 0; RSHEAT A0_RES round 3,,RELCHP,GBR,peak.night,-0.0,5.8665369,0.0,0.0 -2040,ironing out iteration 0; RSHEAT A0_RES round 3,,RELCHP,GBR,peak.day,16.88396939452332,5.8665369,16.88396939452332,0.0 -2040,ironing out iteration 0; RSHEAT A0_RES round 3,,RELCHP,GBR,peak.peak,12.536429298364002,5.8665369,40.621721312072,28.085292013707996 +2040,ironing out iteration 0; RSHEAT A0_RES round 3,,RELCHP,GBR,peak.day,16.88396939452332,2.80779197,16.88396939452332,0.0 +2040,ironing out iteration 0; RSHEAT A0_RES round 3,,RELCHP,GBR,peak.peak,12.536429298364002,2.80779197,40.621721312072,28.085292013707996 2040,ironing out iteration 0; RSHEAT A0_RES round 3,,RELCHP,GBR,peak.evening,-0.0,5.8665369,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 3,,RELCHP,GBR,summer.night,-0.0,2.80779197,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 3,,RELCHP,GBR,summer.day,-0.0,0.30200000000000005,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 3,,RELCHP,GBR,summer.peak,-0.0,0.30200000000000005,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 3,,RELCHP,GBR,summer.evening,-0.0,0.30200000000000005,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 3,,RELCHP,GBR,autumn.night,-0.0,5.8665369,0.0,0.0 -2040,ironing out iteration 0; RSHEAT A0_RES round 3,,RELCHP,GBR,autumn.day,-0.0,5.8665369,0.0,0.0 +2040,ironing out iteration 0; RSHEAT A0_RES round 3,,RELCHP,GBR,autumn.day,-0.0,2.80779197,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 3,,RELCHP,GBR,autumn.peak,12.536429298364002,5.8665369,25.25004269885198,12.71361340048798 2040,ironing out iteration 0; RSHEAT A0_RES round 3,,RELCHP,GBR,autumn.evening,-0.0,5.8665369,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 4,,RGASBR,GBR,winter.night,-0.0,5.8665369,0.0,0.0 @@ -479,20 +479,20 @@ milestone_year,run_description,asset_id,process_id,region_id,time_slice,activity 2040,ironing out iteration 0; RSHEAT A0_RES round 4,,RGASBR,GBR,autumn.day,-0.0,5.8665369,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 4,,RGASBR,GBR,autumn.peak,12.536429298364002,5.8665369,12.71361340048798,0.17718410212397728 2040,ironing out iteration 0; RSHEAT A0_RES round 4,,RGASBR,GBR,autumn.evening,-0.0,5.8665369,0.0,0.0 -2040,ironing out iteration 0; RSHEAT A0_RES round 4,,RELCHP,GBR,winter.night,-0.0,5.8665369,0.0,0.0 +2040,ironing out iteration 0; RSHEAT A0_RES round 4,,RELCHP,GBR,winter.night,-0.0,2.80779197,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 4,,RELCHP,GBR,winter.day,41.788097794935254,2.80779197,92.52404748030807,50.735949685372816 2040,ironing out iteration 0; RSHEAT A0_RES round 4,,RELCHP,GBR,winter.peak,12.536429298364002,2.80779197,76.635054904908,64.098625606544 -2040,ironing out iteration 0; RSHEAT A0_RES round 4,,RELCHP,GBR,winter.evening,16.715239198207247,5.8665369,21.484647051772125,4.7694078535648785 +2040,ironing out iteration 0; RSHEAT A0_RES round 4,,RELCHP,GBR,winter.evening,16.715239198207247,2.80779197,21.484647051772125,4.7694078535648785 2040,ironing out iteration 0; RSHEAT A0_RES round 4,,RELCHP,GBR,peak.night,-0.0,5.8665369,0.0,0.0 -2040,ironing out iteration 0; RSHEAT A0_RES round 4,,RELCHP,GBR,peak.day,-0.0,5.8665369,0.0,0.0 -2040,ironing out iteration 0; RSHEAT A0_RES round 4,,RELCHP,GBR,peak.peak,12.536429298364002,5.8665369,28.085292013707996,15.548862715343994 +2040,ironing out iteration 0; RSHEAT A0_RES round 4,,RELCHP,GBR,peak.day,-0.0,2.80779197,0.0,0.0 +2040,ironing out iteration 0; RSHEAT A0_RES round 4,,RELCHP,GBR,peak.peak,12.536429298364002,2.80779197,28.085292013707996,15.548862715343994 2040,ironing out iteration 0; RSHEAT A0_RES round 4,,RELCHP,GBR,peak.evening,-0.0,5.8665369,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 4,,RELCHP,GBR,summer.night,-0.0,2.80779197,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 4,,RELCHP,GBR,summer.day,-0.0,0.30200000000000005,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 4,,RELCHP,GBR,summer.peak,-0.0,0.30200000000000005,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 4,,RELCHP,GBR,summer.evening,-0.0,0.30200000000000005,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 4,,RELCHP,GBR,autumn.night,-0.0,5.8665369,0.0,0.0 -2040,ironing out iteration 0; RSHEAT A0_RES round 4,,RELCHP,GBR,autumn.day,-0.0,5.8665369,0.0,0.0 +2040,ironing out iteration 0; RSHEAT A0_RES round 4,,RELCHP,GBR,autumn.day,-0.0,2.80779197,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 4,,RELCHP,GBR,autumn.peak,12.536429298364002,5.8665369,12.71361340048798,0.17718410212397728 2040,ironing out iteration 0; RSHEAT A0_RES round 4,,RELCHP,GBR,autumn.evening,-0.0,5.8665369,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 5,,RGASBR,GBR,winter.night,-0.0,5.8665369,0.0,0.0 @@ -511,20 +511,20 @@ milestone_year,run_description,asset_id,process_id,region_id,time_slice,activity 2040,ironing out iteration 0; RSHEAT A0_RES round 5,,RGASBR,GBR,autumn.day,-0.0,5.8665369,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 5,,RGASBR,GBR,autumn.peak,0.17718410212397728,5.8665369,0.17718410212397728,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 5,,RGASBR,GBR,autumn.evening,-0.0,5.8665369,0.0,0.0 -2040,ironing out iteration 0; RSHEAT A0_RES round 5,,RELCHP,GBR,winter.night,-0.0,5.8665369,0.0,0.0 +2040,ironing out iteration 0; RSHEAT A0_RES round 5,,RELCHP,GBR,winter.night,-0.0,2.80779197,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 5,,RELCHP,GBR,winter.day,41.788097794935254,2.80779197,50.735949685372816,8.947851890437562 2040,ironing out iteration 0; RSHEAT A0_RES round 5,,RELCHP,GBR,winter.peak,12.536429298364002,2.80779197,64.098625606544,51.562196308180006 -2040,ironing out iteration 0; RSHEAT A0_RES round 5,,RELCHP,GBR,winter.evening,4.7694078535648785,5.8665369,4.7694078535648785,0.0 +2040,ironing out iteration 0; RSHEAT A0_RES round 5,,RELCHP,GBR,winter.evening,4.7694078535648785,2.80779197,4.7694078535648785,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 5,,RELCHP,GBR,peak.night,-0.0,5.8665369,0.0,0.0 -2040,ironing out iteration 0; RSHEAT A0_RES round 5,,RELCHP,GBR,peak.day,-0.0,5.8665369,0.0,0.0 -2040,ironing out iteration 0; RSHEAT A0_RES round 5,,RELCHP,GBR,peak.peak,12.536429298364002,5.8665369,15.548862715343994,3.0124334169799916 +2040,ironing out iteration 0; RSHEAT A0_RES round 5,,RELCHP,GBR,peak.day,-0.0,2.80779197,0.0,0.0 +2040,ironing out iteration 0; RSHEAT A0_RES round 5,,RELCHP,GBR,peak.peak,12.536429298364002,2.80779197,15.548862715343994,3.0124334169799916 2040,ironing out iteration 0; RSHEAT A0_RES round 5,,RELCHP,GBR,peak.evening,-0.0,5.8665369,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 5,,RELCHP,GBR,summer.night,-0.0,2.80779197,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 5,,RELCHP,GBR,summer.day,-0.0,0.30200000000000005,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 5,,RELCHP,GBR,summer.peak,-0.0,0.30200000000000005,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 5,,RELCHP,GBR,summer.evening,-0.0,0.30200000000000005,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 5,,RELCHP,GBR,autumn.night,-0.0,5.8665369,0.0,0.0 -2040,ironing out iteration 0; RSHEAT A0_RES round 5,,RELCHP,GBR,autumn.day,-0.0,5.8665369,0.0,0.0 +2040,ironing out iteration 0; RSHEAT A0_RES round 5,,RELCHP,GBR,autumn.day,-0.0,2.80779197,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 5,,RELCHP,GBR,autumn.peak,0.17718410212397728,5.8665369,0.17718410212397728,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 5,,RELCHP,GBR,autumn.evening,-0.0,5.8665369,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 6,,RGASBR,GBR,winter.night,-0.0,5.8665369,0.0,0.0 @@ -543,20 +543,20 @@ milestone_year,run_description,asset_id,process_id,region_id,time_slice,activity 2040,ironing out iteration 0; RSHEAT A0_RES round 6,,RGASBR,GBR,autumn.day,-0.0,5.8665369,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 6,,RGASBR,GBR,autumn.peak,-0.0,5.8665369,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 6,,RGASBR,GBR,autumn.evening,-0.0,5.8665369,0.0,0.0 -2040,ironing out iteration 0; RSHEAT A0_RES round 6,,RELCHP,GBR,winter.night,-0.0,5.8665369,0.0,0.0 +2040,ironing out iteration 0; RSHEAT A0_RES round 6,,RELCHP,GBR,winter.night,-0.0,2.80779197,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 6,,RELCHP,GBR,winter.day,8.947851890437562,2.80779197,8.947851890437562,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 6,,RELCHP,GBR,winter.peak,12.536429298364002,2.80779197,51.562196308180006,39.02576700981601 -2040,ironing out iteration 0; RSHEAT A0_RES round 6,,RELCHP,GBR,winter.evening,-0.0,5.8665369,0.0,0.0 +2040,ironing out iteration 0; RSHEAT A0_RES round 6,,RELCHP,GBR,winter.evening,-0.0,2.80779197,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 6,,RELCHP,GBR,peak.night,-0.0,5.8665369,0.0,0.0 -2040,ironing out iteration 0; RSHEAT A0_RES round 6,,RELCHP,GBR,peak.day,-0.0,5.8665369,0.0,0.0 -2040,ironing out iteration 0; RSHEAT A0_RES round 6,,RELCHP,GBR,peak.peak,3.0124334169799916,5.8665369,3.0124334169799916,0.0 +2040,ironing out iteration 0; RSHEAT A0_RES round 6,,RELCHP,GBR,peak.day,-0.0,2.80779197,0.0,0.0 +2040,ironing out iteration 0; RSHEAT A0_RES round 6,,RELCHP,GBR,peak.peak,3.0124334169799916,2.80779197,3.0124334169799916,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 6,,RELCHP,GBR,peak.evening,-0.0,5.8665369,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 6,,RELCHP,GBR,summer.night,-0.0,2.80779197,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 6,,RELCHP,GBR,summer.day,-0.0,0.30200000000000005,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 6,,RELCHP,GBR,summer.peak,-0.0,0.30200000000000005,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 6,,RELCHP,GBR,summer.evening,-0.0,0.30200000000000005,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 6,,RELCHP,GBR,autumn.night,-0.0,5.8665369,0.0,0.0 -2040,ironing out iteration 0; RSHEAT A0_RES round 6,,RELCHP,GBR,autumn.day,-0.0,5.8665369,0.0,0.0 +2040,ironing out iteration 0; RSHEAT A0_RES round 6,,RELCHP,GBR,autumn.day,-0.0,2.80779197,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 6,,RELCHP,GBR,autumn.peak,-0.0,5.8665369,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 6,,RELCHP,GBR,autumn.evening,-0.0,5.8665369,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 7,,RGASBR,GBR,winter.night,-0.0,5.8665369,0.0,0.0 @@ -575,20 +575,20 @@ milestone_year,run_description,asset_id,process_id,region_id,time_slice,activity 2040,ironing out iteration 0; RSHEAT A0_RES round 7,,RGASBR,GBR,autumn.day,-0.0,5.8665369,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 7,,RGASBR,GBR,autumn.peak,-0.0,5.8665369,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 7,,RGASBR,GBR,autumn.evening,-0.0,5.8665369,0.0,0.0 -2040,ironing out iteration 0; RSHEAT A0_RES round 7,,RELCHP,GBR,winter.night,-0.0,5.8665369,0.0,0.0 +2040,ironing out iteration 0; RSHEAT A0_RES round 7,,RELCHP,GBR,winter.night,-0.0,2.80779197,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 7,,RELCHP,GBR,winter.day,-0.0,2.80779197,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 7,,RELCHP,GBR,winter.peak,12.536429298364002,2.80779197,39.02576700981601,26.489337711452006 -2040,ironing out iteration 0; RSHEAT A0_RES round 7,,RELCHP,GBR,winter.evening,-0.0,5.8665369,0.0,0.0 +2040,ironing out iteration 0; RSHEAT A0_RES round 7,,RELCHP,GBR,winter.evening,-0.0,2.80779197,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 7,,RELCHP,GBR,peak.night,-0.0,5.8665369,0.0,0.0 -2040,ironing out iteration 0; RSHEAT A0_RES round 7,,RELCHP,GBR,peak.day,-0.0,5.8665369,0.0,0.0 -2040,ironing out iteration 0; RSHEAT A0_RES round 7,,RELCHP,GBR,peak.peak,-0.0,5.8665369,0.0,0.0 +2040,ironing out iteration 0; RSHEAT A0_RES round 7,,RELCHP,GBR,peak.day,-0.0,2.80779197,0.0,0.0 +2040,ironing out iteration 0; RSHEAT A0_RES round 7,,RELCHP,GBR,peak.peak,-0.0,2.80779197,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 7,,RELCHP,GBR,peak.evening,-0.0,5.8665369,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 7,,RELCHP,GBR,summer.night,-0.0,2.80779197,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 7,,RELCHP,GBR,summer.day,-0.0,0.30200000000000005,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 7,,RELCHP,GBR,summer.peak,-0.0,0.30200000000000005,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 7,,RELCHP,GBR,summer.evening,-0.0,0.30200000000000005,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 7,,RELCHP,GBR,autumn.night,-0.0,5.8665369,0.0,0.0 -2040,ironing out iteration 0; RSHEAT A0_RES round 7,,RELCHP,GBR,autumn.day,-0.0,5.8665369,0.0,0.0 +2040,ironing out iteration 0; RSHEAT A0_RES round 7,,RELCHP,GBR,autumn.day,-0.0,2.80779197,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 7,,RELCHP,GBR,autumn.peak,-0.0,5.8665369,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 7,,RELCHP,GBR,autumn.evening,-0.0,5.8665369,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 8,,RGASBR,GBR,winter.night,-0.0,5.8665369,0.0,0.0 @@ -607,20 +607,20 @@ milestone_year,run_description,asset_id,process_id,region_id,time_slice,activity 2040,ironing out iteration 0; RSHEAT A0_RES round 8,,RGASBR,GBR,autumn.day,-0.0,5.8665369,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 8,,RGASBR,GBR,autumn.peak,-0.0,5.8665369,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 8,,RGASBR,GBR,autumn.evening,-0.0,5.8665369,0.0,0.0 -2040,ironing out iteration 0; RSHEAT A0_RES round 8,,RELCHP,GBR,winter.night,-0.0,5.8665369,0.0,0.0 +2040,ironing out iteration 0; RSHEAT A0_RES round 8,,RELCHP,GBR,winter.night,-0.0,2.80779197,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 8,,RELCHP,GBR,winter.day,-0.0,2.80779197,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 8,,RELCHP,GBR,winter.peak,12.536429298364002,2.80779197,26.489337711452006,13.952908413088004 -2040,ironing out iteration 0; RSHEAT A0_RES round 8,,RELCHP,GBR,winter.evening,-0.0,5.8665369,0.0,0.0 +2040,ironing out iteration 0; RSHEAT A0_RES round 8,,RELCHP,GBR,winter.evening,-0.0,2.80779197,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 8,,RELCHP,GBR,peak.night,-0.0,5.8665369,0.0,0.0 -2040,ironing out iteration 0; RSHEAT A0_RES round 8,,RELCHP,GBR,peak.day,-0.0,5.8665369,0.0,0.0 -2040,ironing out iteration 0; RSHEAT A0_RES round 8,,RELCHP,GBR,peak.peak,-0.0,5.8665369,0.0,0.0 +2040,ironing out iteration 0; RSHEAT A0_RES round 8,,RELCHP,GBR,peak.day,-0.0,2.80779197,0.0,0.0 +2040,ironing out iteration 0; RSHEAT A0_RES round 8,,RELCHP,GBR,peak.peak,-0.0,2.80779197,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 8,,RELCHP,GBR,peak.evening,-0.0,5.8665369,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 8,,RELCHP,GBR,summer.night,-0.0,2.80779197,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 8,,RELCHP,GBR,summer.day,-0.0,0.30200000000000005,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 8,,RELCHP,GBR,summer.peak,-0.0,0.30200000000000005,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 8,,RELCHP,GBR,summer.evening,-0.0,0.30200000000000005,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 8,,RELCHP,GBR,autumn.night,-0.0,5.8665369,0.0,0.0 -2040,ironing out iteration 0; RSHEAT A0_RES round 8,,RELCHP,GBR,autumn.day,-0.0,5.8665369,0.0,0.0 +2040,ironing out iteration 0; RSHEAT A0_RES round 8,,RELCHP,GBR,autumn.day,-0.0,2.80779197,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 8,,RELCHP,GBR,autumn.peak,-0.0,5.8665369,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 8,,RELCHP,GBR,autumn.evening,-0.0,5.8665369,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 9,,RGASBR,GBR,winter.night,-0.0,5.8665369,0.0,0.0 @@ -639,20 +639,20 @@ milestone_year,run_description,asset_id,process_id,region_id,time_slice,activity 2040,ironing out iteration 0; RSHEAT A0_RES round 9,,RGASBR,GBR,autumn.day,-0.0,5.8665369,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 9,,RGASBR,GBR,autumn.peak,-0.0,5.8665369,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 9,,RGASBR,GBR,autumn.evening,-0.0,5.8665369,0.0,0.0 -2040,ironing out iteration 0; RSHEAT A0_RES round 9,,RELCHP,GBR,winter.night,-0.0,5.8665369,0.0,0.0 +2040,ironing out iteration 0; RSHEAT A0_RES round 9,,RELCHP,GBR,winter.night,-0.0,2.80779197,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 9,,RELCHP,GBR,winter.day,-0.0,2.80779197,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 9,,RELCHP,GBR,winter.peak,12.536429298364002,2.80779197,13.952908413088004,1.4164791147240017 -2040,ironing out iteration 0; RSHEAT A0_RES round 9,,RELCHP,GBR,winter.evening,-0.0,5.8665369,0.0,0.0 +2040,ironing out iteration 0; RSHEAT A0_RES round 9,,RELCHP,GBR,winter.evening,-0.0,2.80779197,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 9,,RELCHP,GBR,peak.night,-0.0,5.8665369,0.0,0.0 -2040,ironing out iteration 0; RSHEAT A0_RES round 9,,RELCHP,GBR,peak.day,-0.0,5.8665369,0.0,0.0 -2040,ironing out iteration 0; RSHEAT A0_RES round 9,,RELCHP,GBR,peak.peak,-0.0,5.8665369,0.0,0.0 +2040,ironing out iteration 0; RSHEAT A0_RES round 9,,RELCHP,GBR,peak.day,-0.0,2.80779197,0.0,0.0 +2040,ironing out iteration 0; RSHEAT A0_RES round 9,,RELCHP,GBR,peak.peak,-0.0,2.80779197,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 9,,RELCHP,GBR,peak.evening,-0.0,5.8665369,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 9,,RELCHP,GBR,summer.night,-0.0,2.80779197,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 9,,RELCHP,GBR,summer.day,-0.0,0.30200000000000005,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 9,,RELCHP,GBR,summer.peak,-0.0,0.30200000000000005,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 9,,RELCHP,GBR,summer.evening,-0.0,0.30200000000000005,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 9,,RELCHP,GBR,autumn.night,-0.0,5.8665369,0.0,0.0 -2040,ironing out iteration 0; RSHEAT A0_RES round 9,,RELCHP,GBR,autumn.day,-0.0,5.8665369,0.0,0.0 +2040,ironing out iteration 0; RSHEAT A0_RES round 9,,RELCHP,GBR,autumn.day,-0.0,2.80779197,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 9,,RELCHP,GBR,autumn.peak,-0.0,5.8665369,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 9,,RELCHP,GBR,autumn.evening,-0.0,5.8665369,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 10,,RGASBR,GBR,winter.night,-0.0,5.8665369,0.0,0.0 @@ -671,30 +671,30 @@ milestone_year,run_description,asset_id,process_id,region_id,time_slice,activity 2040,ironing out iteration 0; RSHEAT A0_RES round 10,,RGASBR,GBR,autumn.day,-0.0,5.8665369,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 10,,RGASBR,GBR,autumn.peak,-0.0,5.8665369,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 10,,RGASBR,GBR,autumn.evening,-0.0,5.8665369,0.0,0.0 -2040,ironing out iteration 0; RSHEAT A0_RES round 10,,RELCHP,GBR,winter.night,-0.0,5.8665369,0.0,0.0 +2040,ironing out iteration 0; RSHEAT A0_RES round 10,,RELCHP,GBR,winter.night,-0.0,2.80779197,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 10,,RELCHP,GBR,winter.day,-0.0,2.80779197,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 10,,RELCHP,GBR,winter.peak,1.4164791147240017,2.80779197,1.4164791147240017,0.0 -2040,ironing out iteration 0; RSHEAT A0_RES round 10,,RELCHP,GBR,winter.evening,-0.0,5.8665369,0.0,0.0 +2040,ironing out iteration 0; RSHEAT A0_RES round 10,,RELCHP,GBR,winter.evening,-0.0,2.80779197,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 10,,RELCHP,GBR,peak.night,-0.0,5.8665369,0.0,0.0 -2040,ironing out iteration 0; RSHEAT A0_RES round 10,,RELCHP,GBR,peak.day,-0.0,5.8665369,0.0,0.0 -2040,ironing out iteration 0; RSHEAT A0_RES round 10,,RELCHP,GBR,peak.peak,-0.0,5.8665369,0.0,0.0 +2040,ironing out iteration 0; RSHEAT A0_RES round 10,,RELCHP,GBR,peak.day,-0.0,2.80779197,0.0,0.0 +2040,ironing out iteration 0; RSHEAT A0_RES round 10,,RELCHP,GBR,peak.peak,-0.0,2.80779197,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 10,,RELCHP,GBR,peak.evening,-0.0,5.8665369,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 10,,RELCHP,GBR,summer.night,-0.0,2.80779197,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 10,,RELCHP,GBR,summer.day,-0.0,0.30200000000000005,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 10,,RELCHP,GBR,summer.peak,-0.0,0.30200000000000005,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 10,,RELCHP,GBR,summer.evening,-0.0,0.30200000000000005,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 10,,RELCHP,GBR,autumn.night,-0.0,5.8665369,0.0,0.0 -2040,ironing out iteration 0; RSHEAT A0_RES round 10,,RELCHP,GBR,autumn.day,-0.0,5.8665369,0.0,0.0 +2040,ironing out iteration 0; RSHEAT A0_RES round 10,,RELCHP,GBR,autumn.day,-0.0,2.80779197,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 10,,RELCHP,GBR,autumn.peak,-0.0,5.8665369,0.0,0.0 2040,ironing out iteration 0; RSHEAT A0_RES round 10,,RELCHP,GBR,autumn.evening,-0.0,5.8665369,0.0,0.0 -2040,ironing out iteration 0; GASNAT A0_GPR round 0,1,GASPRC,GBR,winter.night,18.932961828855014,2.9170059999999998,84.917418320369,0.0 -2040,ironing out iteration 0; GASNAT A0_GPR round 0,1,GASPRC,GBR,winter.day,354.5746886346391,2.9170059999999998,293.198067835239,0.0 -2040,ironing out iteration 0; GASNAT A0_GPR round 0,1,GASPRC,GBR,winter.peak,106.37240625000001,2.9170059999999998,144.168936931186,0.0 -2040,ironing out iteration 0; GASNAT A0_GPR round 0,1,GASPRC,GBR,winter.evening,141.829876134639,2.9170059999999998,99.42550976133901,0.0 +2040,ironing out iteration 0; GASNAT A0_GPR round 0,1,GASPRC,GBR,winter.night,0.0,2.9170059999999998,84.917418320369,0.0 +2040,ironing out iteration 0; GASNAT A0_GPR round 0,1,GASPRC,GBR,winter.day,345.92961908742313,2.9170059999999998,293.198067835239,0.0 +2040,ironing out iteration 0; GASNAT A0_GPR round 0,1,GASPRC,GBR,winter.peak,118.1915625,2.9170059999999998,144.168936931186,0.0 +2040,ironing out iteration 0; GASNAT A0_GPR round 0,1,GASPRC,GBR,winter.evening,157.58875126070998,2.9170059999999998,99.42550976133901,0.0 2040,ironing out iteration 0; GASNAT A0_GPR round 0,1,GASPRC,GBR,peak.night,0.0,2.9170059999999998,59.486659865033,0.0 -2040,ironing out iteration 0; GASNAT A0_GPR round 0,1,GASPRC,GBR,peak.day,111.366432158734,2.9170059999999998,158.155665572411,0.0 -2040,ironing out iteration 0; GASNAT A0_GPR round 0,1,GASPRC,GBR,peak.peak,106.37240625000001,2.9170059999999998,88.336709606306,0.0 -2040,ironing out iteration 0; GASNAT A0_GPR round 0,1,GASPRC,GBR,peak.evening,141.829876134639,2.9170059999999998,53.589679499623,0.0 +2040,ironing out iteration 0; GASNAT A0_GPR round 0,1,GASPRC,GBR,peak.day,359.568714543373,2.9170059999999998,158.155665572411,0.0 +2040,ironing out iteration 0; GASNAT A0_GPR round 0,1,GASPRC,GBR,peak.peak,0.0,2.9170059999999998,88.336709606306,0.0 +2040,ironing out iteration 0; GASNAT A0_GPR round 0,1,GASPRC,GBR,peak.evening,0.0,2.9170059999999998,53.589679499623,0.0 2040,ironing out iteration 0; GASNAT A0_GPR round 0,1,GASPRC,GBR,summer.night,26.768322052957004,2.9170059999999998,7.3878574402420005,0.0 2040,ironing out iteration 0; GASNAT A0_GPR round 0,1,GASPRC,GBR,summer.day,0.0,2.9170059999999998,12.309069277277,0.0 2040,ironing out iteration 0; GASNAT A0_GPR round 0,1,GASPRC,GBR,summer.peak,0.0,2.9170059999999998,4.053351218157,0.0 @@ -704,12 +704,12 @@ milestone_year,run_description,asset_id,process_id,region_id,time_slice,activity 2040,ironing out iteration 0; GASNAT A0_GPR round 0,1,GASPRC,GBR,autumn.peak,0.0,2.9170059999999998,70.659279201103,0.0 2040,ironing out iteration 0; GASNAT A0_GPR round 0,1,GASPRC,GBR,autumn.evening,0.0,2.9170059999999998,42.293399937006,0.0 2040,ironing out iteration 0; GASNAT A0_GPR round 0,,GASPRC,GBR,winter.night,145.065651661055,2.9170059999999998,84.917418320369,124.34198458015484 -2040,ironing out iteration 0; GASNAT A0_GPR round 0,,GASPRC,GBR,winter.day,207.23664494586833,2.9170059999999998,293.198067835239,0.0 -2040,ironing out iteration 0; GASNAT A0_GPR round 0,,GASPRC,GBR,winter.peak,62.17099328481332,2.9170059999999998,144.168936931186,0.0 +2040,ironing out iteration 0; GASNAT A0_GPR round 0,,GASPRC,GBR,winter.day,207.2366449458683,2.9170059999999998,293.198067835239,0.0 +2040,ironing out iteration 0; GASNAT A0_GPR round 0,,GASPRC,GBR,winter.peak,62.17099328481331,2.9170059999999998,144.168936931186,0.0 2040,ironing out iteration 0; GASNAT A0_GPR round 0,,GASPRC,GBR,winter.evening,82.89465837624168,2.9170059999999998,99.42550976133901,0.0 -2040,ironing out iteration 0; GASNAT A0_GPR round 0,,GASPRC,GBR,peak.night,7.266417936449642,2.9170059999999998,59.486659865033,0.0 -2040,ironing out iteration 0; GASNAT A0_GPR round 0,,GASPRC,GBR,peak.day,207.23664494586833,2.9170059999999998,158.155665572411,0.0 -2040,ironing out iteration 0; GASNAT A0_GPR round 0,,GASPRC,GBR,peak.peak,62.17099328481332,2.9170059999999998,88.336709606306,0.0 +2040,ironing out iteration 0; GASNAT A0_GPR round 0,,GASPRC,GBR,peak.night,7.266417936449699,2.9170059999999998,59.486659865033,0.0 +2040,ironing out iteration 0; GASNAT A0_GPR round 0,,GASPRC,GBR,peak.day,207.2366449458683,2.9170059999999998,158.155665572411,0.0 +2040,ironing out iteration 0; GASNAT A0_GPR round 0,,GASPRC,GBR,peak.peak,62.17099328481331,2.9170059999999998,88.336709606306,0.0 2040,ironing out iteration 0; GASNAT A0_GPR round 0,,GASPRC,GBR,peak.evening,82.89465837624168,2.9170059999999998,53.589679499623,0.0 2040,ironing out iteration 0; GASNAT A0_GPR round 0,,GASPRC,GBR,summer.night,0.0,2.9170059999999998,7.3878574402420005,0.0 2040,ironing out iteration 0; GASNAT A0_GPR round 0,,GASPRC,GBR,summer.day,0.0,2.9170059999999998,12.309069277277,0.0 @@ -719,38 +719,38 @@ milestone_year,run_description,asset_id,process_id,region_id,time_slice,activity 2040,ironing out iteration 0; GASNAT A0_GPR round 0,,GASPRC,GBR,autumn.day,0.0,2.9170059999999998,127.168500921695,0.0 2040,ironing out iteration 0; GASNAT A0_GPR round 0,,GASPRC,GBR,autumn.peak,60.479719221753314,2.9170059999999998,70.659279201103,0.0 2040,ironing out iteration 0; GASNAT A0_GPR round 0,,GASPRC,GBR,autumn.evening,82.89465837624168,2.9170059999999998,42.293399937006,0.0 -2040,ironing out iteration 0; GASPRD A0_GEX round 0,0,GASDRV,GBR,winter.night,14.935239589183539,2.20452,19.879609920297646,0.0 -2040,ironing out iteration 0; GASPRD A0_GEX round 0,0,GASDRV,GBR,winter.day,375.2118762006781,2.20452,372.30342306637107,0.0 -2040,ironing out iteration 0; GASPRD A0_GEX round 0,0,GASDRV,GBR,winter.peak,112.5635625,2.20452,111.69102656250001,0.0 -2040,ironing out iteration 0; GASPRD A0_GEX round 0,0,GASDRV,GBR,winter.evening,150.084751200678,2.20452,148.92136994137095,0.0 +2040,ironing out iteration 0; GASPRD A0_GEX round 0,0,GASDRV,GBR,winter.night,0.0,2.20452,0.0,0.0 +2040,ironing out iteration 0; GASPRD A0_GEX round 0,0,GASDRV,GBR,winter.day,360.9639698231197,2.20452,363.2261000417942,0.0 +2040,ironing out iteration 0; GASPRD A0_GEX round 0,0,GASDRV,GBR,winter.peak,125.070625,2.20452,124.10114062500001,0.0 +2040,ironing out iteration 0; GASPRD A0_GEX round 0,0,GASDRV,GBR,winter.evening,166.76083466742,2.20452,165.4681888237455,0.0 2040,ironing out iteration 0; GASPRD A0_GEX round 0,0,GASDRV,GBR,peak.night,0.0,2.20452,0.0,0.0 -2040,ironing out iteration 0; GASPRD A0_GEX round 0,0,GASDRV,GBR,peak.day,114.89883656986369,2.20452,116.93475376667071,0.0 -2040,ironing out iteration 0; GASPRD A0_GEX round 0,0,GASDRV,GBR,peak.peak,112.5635625,2.20452,111.69102656250001,0.0 -2040,ironing out iteration 0; GASPRD A0_GEX round 0,0,GASDRV,GBR,peak.evening,150.084751200678,2.20452,148.92136994137095,0.0 +2040,ironing out iteration 0; GASPRD A0_GEX round 0,0,GASDRV,GBR,peak.day,377.5471502705417,2.20452,87.97782082179617,0.0 +2040,ironing out iteration 0; GASPRD A0_GEX round 0,0,GASDRV,GBR,peak.peak,0.0,2.20452,124.10114062500001,0.0 +2040,ironing out iteration 0; GASPRD A0_GEX round 0,0,GASDRV,GBR,peak.evening,0.0,2.20452,165.4681888237455,0.0 2040,ironing out iteration 0; GASPRD A0_GEX round 0,0,GASDRV,GBR,summer.night,28.106738155604855,2.20452,0.0,0.0 2040,ironing out iteration 0; GASPRD A0_GEX round 0,0,GASDRV,GBR,summer.day,0.0,2.20452,0.0,0.0 2040,ironing out iteration 0; GASPRD A0_GEX round 0,0,GASDRV,GBR,summer.peak,0.0,2.20452,0.0,0.0 2040,ironing out iteration 0; GASPRD A0_GEX round 0,0,GASDRV,GBR,summer.evening,0.0,2.20452,28.106738155604855,0.0 2040,ironing out iteration 0; GASPRD A0_GEX round 0,0,GASDRV,GBR,autumn.night,0.0,2.20452,0.0,0.0 -2040,ironing out iteration 0; GASPRD A0_GEX round 0,0,GASDRV,GBR,autumn.day,302.8620307220025,2.20452,42.24963421813154,0.0 -2040,ironing out iteration 0; GASPRD A0_GEX round 0,0,GASDRV,GBR,autumn.peak,0.0,2.20452,111.69102656250001,0.0 -2040,ironing out iteration 0; GASPRD A0_GEX round 0,0,GASDRV,GBR,autumn.evening,0.0,2.20452,148.92136994137095,0.0 -2040,ironing out iteration 0; GASPRD A0_GEX round 0,,GASDRV,GBR,winter.night,152.31893424410768,2.20452,19.879609920297646,130.55908380916256 -2040,ironing out iteration 0; GASPRD A0_GEX round 0,,GASDRV,GBR,winter.day,217.59847719316167,2.20452,372.30342306637107,0.0 -2040,ironing out iteration 0; GASPRD A0_GEX round 0,,GASDRV,GBR,winter.peak,65.27954294905396,2.20452,111.69102656250001,0.0 -2040,ironing out iteration 0; GASPRD A0_GEX round 0,,GASDRV,GBR,winter.evening,87.03939129505372,2.20452,148.92136994137095,0.0 -2040,ironing out iteration 0; GASPRD A0_GEX round 0,,GASDRV,GBR,peak.night,7.629738833272313,2.20452,0.0,0.0 -2040,ironing out iteration 0; GASPRD A0_GEX round 0,,GASDRV,GBR,peak.day,217.59847719316167,2.20452,116.93475376667071,0.0 -2040,ironing out iteration 0; GASPRD A0_GEX round 0,,GASDRV,GBR,peak.peak,65.27954294905396,2.20452,111.69102656250001,0.0 -2040,ironing out iteration 0; GASPRD A0_GEX round 0,,GASDRV,GBR,peak.evening,87.03939129505372,2.20452,148.92136994137095,0.0 +2040,ironing out iteration 0; GASPRD A0_GEX round 0,0,GASDRV,GBR,autumn.day,302.8620307220025,2.20452,13.292701273257007,0.0 +2040,ironing out iteration 0; GASPRD A0_GEX round 0,0,GASDRV,GBR,autumn.peak,0.0,2.20452,124.10114062500001,0.0 +2040,ironing out iteration 0; GASPRD A0_GEX round 0,0,GASDRV,GBR,autumn.evening,0.0,2.20452,165.4681888237455,0.0 +2040,ironing out iteration 0; GASPRD A0_GEX round 0,,GASDRV,GBR,winter.night,152.31893424410774,2.20452,0.0,130.55908380916256 +2040,ironing out iteration 0; GASPRD A0_GEX round 0,,GASDRV,GBR,winter.day,217.59847719316173,2.20452,363.2261000417942,0.0 +2040,ironing out iteration 0; GASPRD A0_GEX round 0,,GASDRV,GBR,winter.peak,65.27954294905398,2.20452,124.10114062500001,0.0 +2040,ironing out iteration 0; GASPRD A0_GEX round 0,,GASDRV,GBR,winter.evening,87.03939129505376,2.20452,165.4681888237455,0.0 +2040,ironing out iteration 0; GASPRD A0_GEX round 0,,GASDRV,GBR,peak.night,7.629738833272256,2.20452,0.0,0.0 +2040,ironing out iteration 0; GASPRD A0_GEX round 0,,GASDRV,GBR,peak.day,217.59847719316173,2.20452,87.97782082179617,0.0 +2040,ironing out iteration 0; GASPRD A0_GEX round 0,,GASDRV,GBR,peak.peak,65.27954294905398,2.20452,124.10114062500001,0.0 +2040,ironing out iteration 0; GASPRD A0_GEX round 0,,GASDRV,GBR,peak.evening,87.03939129505376,2.20452,165.4681888237455,0.0 2040,ironing out iteration 0; GASPRD A0_GEX round 0,,GASDRV,GBR,summer.night,0.0,2.20452,0.0,0.0 2040,ironing out iteration 0; GASPRD A0_GEX round 0,,GASDRV,GBR,summer.day,0.0,2.20452,0.0,0.0 2040,ironing out iteration 0; GASPRD A0_GEX round 0,,GASDRV,GBR,summer.peak,0.0,2.20452,0.0,0.0 2040,ironing out iteration 0; GASPRD A0_GEX round 0,,GASDRV,GBR,summer.evening,28.106738155604855,2.20452,28.106738155604855,0.0 -2040,ironing out iteration 0; GASPRD A0_GEX round 0,,GASDRV,GBR,autumn.night,152.31893424410768,2.20452,0.0,0.0 -2040,ironing out iteration 0; GASPRD A0_GEX round 0,,GASDRV,GBR,autumn.day,0.0,2.20452,42.24963421813154,0.0 -2040,ironing out iteration 0; GASPRD A0_GEX round 0,,GASDRV,GBR,autumn.peak,63.50370518284109,2.20452,111.69102656250001,0.0 -2040,ironing out iteration 0; GASPRD A0_GEX round 0,,GASDRV,GBR,autumn.evening,87.03939129505372,2.20452,148.92136994137095,0.0 +2040,ironing out iteration 0; GASPRD A0_GEX round 0,,GASDRV,GBR,autumn.night,152.31893424410774,2.20452,0.0,0.0 +2040,ironing out iteration 0; GASPRD A0_GEX round 0,,GASDRV,GBR,autumn.day,0.0,2.20452,13.292701273257007,0.0 +2040,ironing out iteration 0; GASPRD A0_GEX round 0,,GASDRV,GBR,autumn.peak,63.50370518284099,2.20452,124.10114062500001,0.0 +2040,ironing out iteration 0; GASPRD A0_GEX round 0,,GASDRV,GBR,autumn.evening,87.03939129505376,2.20452,165.4681888237455,0.0 2040,ironing out iteration 1; RSHEAT A0_RES round 0,6,RGASBR,GBR,winter.night,25.94655054710617,5.8665369,73.84123332206,47.894682774953836 2040,ironing out iteration 1; RSHEAT A0_RES round 0,6,RGASBR,GBR,winter.day,37.066500730746185,5.8665369,254.95484159586002,217.88834086511383 2040,ironing out iteration 1; RSHEAT A0_RES round 0,6,RGASBR,GBR,winter.peak,11.119950183640015,5.8665369,125.36429298364001,114.2443428 @@ -1119,14 +1119,14 @@ milestone_year,run_description,asset_id,process_id,region_id,time_slice,activity 2040,ironing out iteration 1; RSHEAT A0_RES round 10,,RELCHP,GBR,autumn.day,-0.0,0.30200000000000005,0.0,0.0 2040,ironing out iteration 1; RSHEAT A0_RES round 10,,RELCHP,GBR,autumn.peak,-0.0,0.30200000000000005,0.0,0.0 2040,ironing out iteration 1; RSHEAT A0_RES round 10,,RELCHP,GBR,autumn.evening,-0.0,0.30200000000000005,0.0,0.0 -2040,ironing out iteration 1; GASNAT A0_GPR round 0,1,GASPRC,GBR,winter.night,18.932961828855014,2.9170059999999998,84.917418320369,0.0 -2040,ironing out iteration 1; GASNAT A0_GPR round 0,1,GASPRC,GBR,winter.day,354.5746886346391,2.9170059999999998,293.198067835239,0.0 -2040,ironing out iteration 1; GASNAT A0_GPR round 0,1,GASPRC,GBR,winter.peak,106.37240625000001,2.9170059999999998,144.168936931186,0.0 -2040,ironing out iteration 1; GASNAT A0_GPR round 0,1,GASPRC,GBR,winter.evening,141.829876134639,2.9170059999999998,99.42550976133901,0.0 +2040,ironing out iteration 1; GASNAT A0_GPR round 0,1,GASPRC,GBR,winter.night,0.0,2.9170059999999998,84.917418320369,0.0 +2040,ironing out iteration 1; GASNAT A0_GPR round 0,1,GASPRC,GBR,winter.day,345.92961908742313,2.9170059999999998,293.198067835239,0.0 +2040,ironing out iteration 1; GASNAT A0_GPR round 0,1,GASPRC,GBR,winter.peak,118.1915625,2.9170059999999998,144.168936931186,0.0 +2040,ironing out iteration 1; GASNAT A0_GPR round 0,1,GASPRC,GBR,winter.evening,157.58875126070998,2.9170059999999998,99.42550976133901,0.0 2040,ironing out iteration 1; GASNAT A0_GPR round 0,1,GASPRC,GBR,peak.night,0.0,2.9170059999999998,59.486659865033,0.0 -2040,ironing out iteration 1; GASNAT A0_GPR round 0,1,GASPRC,GBR,peak.day,111.366432158734,2.9170059999999998,158.155665572411,0.0 -2040,ironing out iteration 1; GASNAT A0_GPR round 0,1,GASPRC,GBR,peak.peak,106.37240625000001,2.9170059999999998,88.336709606306,0.0 -2040,ironing out iteration 1; GASNAT A0_GPR round 0,1,GASPRC,GBR,peak.evening,141.829876134639,2.9170059999999998,53.589679499623,0.0 +2040,ironing out iteration 1; GASNAT A0_GPR round 0,1,GASPRC,GBR,peak.day,359.568714543373,2.9170059999999998,158.155665572411,0.0 +2040,ironing out iteration 1; GASNAT A0_GPR round 0,1,GASPRC,GBR,peak.peak,0.0,2.9170059999999998,88.336709606306,0.0 +2040,ironing out iteration 1; GASNAT A0_GPR round 0,1,GASPRC,GBR,peak.evening,0.0,2.9170059999999998,53.589679499623,0.0 2040,ironing out iteration 1; GASNAT A0_GPR round 0,1,GASPRC,GBR,summer.night,26.768322052957004,2.9170059999999998,7.3878574402420005,0.0 2040,ironing out iteration 1; GASNAT A0_GPR round 0,1,GASPRC,GBR,summer.day,0.0,2.9170059999999998,12.309069277277,0.0 2040,ironing out iteration 1; GASNAT A0_GPR round 0,1,GASPRC,GBR,summer.peak,0.0,2.9170059999999998,4.053351218157,0.0 @@ -1136,12 +1136,12 @@ milestone_year,run_description,asset_id,process_id,region_id,time_slice,activity 2040,ironing out iteration 1; GASNAT A0_GPR round 0,1,GASPRC,GBR,autumn.peak,0.0,2.9170059999999998,70.659279201103,0.0 2040,ironing out iteration 1; GASNAT A0_GPR round 0,1,GASPRC,GBR,autumn.evening,0.0,2.9170059999999998,42.293399937006,0.0 2040,ironing out iteration 1; GASNAT A0_GPR round 0,,GASPRC,GBR,winter.night,145.065651661055,2.9170059999999998,84.917418320369,124.34198458015484 -2040,ironing out iteration 1; GASNAT A0_GPR round 0,,GASPRC,GBR,winter.day,207.23664494586833,2.9170059999999998,293.198067835239,0.0 -2040,ironing out iteration 1; GASNAT A0_GPR round 0,,GASPRC,GBR,winter.peak,62.17099328481332,2.9170059999999998,144.168936931186,0.0 +2040,ironing out iteration 1; GASNAT A0_GPR round 0,,GASPRC,GBR,winter.day,207.2366449458683,2.9170059999999998,293.198067835239,0.0 +2040,ironing out iteration 1; GASNAT A0_GPR round 0,,GASPRC,GBR,winter.peak,62.17099328481331,2.9170059999999998,144.168936931186,0.0 2040,ironing out iteration 1; GASNAT A0_GPR round 0,,GASPRC,GBR,winter.evening,82.89465837624168,2.9170059999999998,99.42550976133901,0.0 -2040,ironing out iteration 1; GASNAT A0_GPR round 0,,GASPRC,GBR,peak.night,7.266417936449642,2.9170059999999998,59.486659865033,0.0 -2040,ironing out iteration 1; GASNAT A0_GPR round 0,,GASPRC,GBR,peak.day,207.23664494586833,2.9170059999999998,158.155665572411,0.0 -2040,ironing out iteration 1; GASNAT A0_GPR round 0,,GASPRC,GBR,peak.peak,62.17099328481332,2.9170059999999998,88.336709606306,0.0 +2040,ironing out iteration 1; GASNAT A0_GPR round 0,,GASPRC,GBR,peak.night,7.266417936449699,2.9170059999999998,59.486659865033,0.0 +2040,ironing out iteration 1; GASNAT A0_GPR round 0,,GASPRC,GBR,peak.day,207.2366449458683,2.9170059999999998,158.155665572411,0.0 +2040,ironing out iteration 1; GASNAT A0_GPR round 0,,GASPRC,GBR,peak.peak,62.17099328481331,2.9170059999999998,88.336709606306,0.0 2040,ironing out iteration 1; GASNAT A0_GPR round 0,,GASPRC,GBR,peak.evening,82.89465837624168,2.9170059999999998,53.589679499623,0.0 2040,ironing out iteration 1; GASNAT A0_GPR round 0,,GASPRC,GBR,summer.night,0.0,2.9170059999999998,7.3878574402420005,0.0 2040,ironing out iteration 1; GASNAT A0_GPR round 0,,GASPRC,GBR,summer.day,0.0,2.9170059999999998,12.309069277277,0.0 @@ -1151,35 +1151,35 @@ milestone_year,run_description,asset_id,process_id,region_id,time_slice,activity 2040,ironing out iteration 1; GASNAT A0_GPR round 0,,GASPRC,GBR,autumn.day,0.0,2.9170059999999998,127.168500921695,0.0 2040,ironing out iteration 1; GASNAT A0_GPR round 0,,GASPRC,GBR,autumn.peak,60.479719221753314,2.9170059999999998,70.659279201103,0.0 2040,ironing out iteration 1; GASNAT A0_GPR round 0,,GASPRC,GBR,autumn.evening,82.89465837624168,2.9170059999999998,42.293399937006,0.0 -2040,ironing out iteration 1; GASPRD A0_GEX round 0,0,GASDRV,GBR,winter.night,14.935239589183539,2.20452,19.879609920297646,0.0 -2040,ironing out iteration 1; GASPRD A0_GEX round 0,0,GASDRV,GBR,winter.day,375.2118762006781,2.20452,372.30342306637107,0.0 -2040,ironing out iteration 1; GASPRD A0_GEX round 0,0,GASDRV,GBR,winter.peak,112.5635625,2.20452,111.69102656250001,0.0 -2040,ironing out iteration 1; GASPRD A0_GEX round 0,0,GASDRV,GBR,winter.evening,150.084751200678,2.20452,148.92136994137095,0.0 +2040,ironing out iteration 1; GASPRD A0_GEX round 0,0,GASDRV,GBR,winter.night,0.0,2.20452,0.0,0.0 +2040,ironing out iteration 1; GASPRD A0_GEX round 0,0,GASDRV,GBR,winter.day,360.9639698231197,2.20452,363.2261000417942,0.0 +2040,ironing out iteration 1; GASPRD A0_GEX round 0,0,GASDRV,GBR,winter.peak,125.070625,2.20452,124.10114062500001,0.0 +2040,ironing out iteration 1; GASPRD A0_GEX round 0,0,GASDRV,GBR,winter.evening,166.76083466742,2.20452,165.4681888237455,0.0 2040,ironing out iteration 1; GASPRD A0_GEX round 0,0,GASDRV,GBR,peak.night,0.0,2.20452,0.0,0.0 -2040,ironing out iteration 1; GASPRD A0_GEX round 0,0,GASDRV,GBR,peak.day,114.89883656986369,2.20452,116.93475376667071,0.0 -2040,ironing out iteration 1; GASPRD A0_GEX round 0,0,GASDRV,GBR,peak.peak,112.5635625,2.20452,111.69102656250001,0.0 -2040,ironing out iteration 1; GASPRD A0_GEX round 0,0,GASDRV,GBR,peak.evening,150.084751200678,2.20452,148.92136994137095,0.0 +2040,ironing out iteration 1; GASPRD A0_GEX round 0,0,GASDRV,GBR,peak.day,377.5471502705417,2.20452,87.97782082179617,0.0 +2040,ironing out iteration 1; GASPRD A0_GEX round 0,0,GASDRV,GBR,peak.peak,0.0,2.20452,124.10114062500001,0.0 +2040,ironing out iteration 1; GASPRD A0_GEX round 0,0,GASDRV,GBR,peak.evening,0.0,2.20452,165.4681888237455,0.0 2040,ironing out iteration 1; GASPRD A0_GEX round 0,0,GASDRV,GBR,summer.night,28.106738155604855,2.20452,0.0,0.0 2040,ironing out iteration 1; GASPRD A0_GEX round 0,0,GASDRV,GBR,summer.day,0.0,2.20452,0.0,0.0 2040,ironing out iteration 1; GASPRD A0_GEX round 0,0,GASDRV,GBR,summer.peak,0.0,2.20452,0.0,0.0 2040,ironing out iteration 1; GASPRD A0_GEX round 0,0,GASDRV,GBR,summer.evening,0.0,2.20452,28.106738155604855,0.0 2040,ironing out iteration 1; GASPRD A0_GEX round 0,0,GASDRV,GBR,autumn.night,0.0,2.20452,0.0,0.0 -2040,ironing out iteration 1; GASPRD A0_GEX round 0,0,GASDRV,GBR,autumn.day,302.8620307220025,2.20452,42.24963421813154,0.0 -2040,ironing out iteration 1; GASPRD A0_GEX round 0,0,GASDRV,GBR,autumn.peak,0.0,2.20452,111.69102656250001,0.0 -2040,ironing out iteration 1; GASPRD A0_GEX round 0,0,GASDRV,GBR,autumn.evening,0.0,2.20452,148.92136994137095,0.0 -2040,ironing out iteration 1; GASPRD A0_GEX round 0,,GASDRV,GBR,winter.night,152.31893424410768,2.20452,19.879609920297646,130.55908380916256 -2040,ironing out iteration 1; GASPRD A0_GEX round 0,,GASDRV,GBR,winter.day,217.59847719316167,2.20452,372.30342306637107,0.0 -2040,ironing out iteration 1; GASPRD A0_GEX round 0,,GASDRV,GBR,winter.peak,65.27954294905396,2.20452,111.69102656250001,0.0 -2040,ironing out iteration 1; GASPRD A0_GEX round 0,,GASDRV,GBR,winter.evening,87.03939129505372,2.20452,148.92136994137095,0.0 -2040,ironing out iteration 1; GASPRD A0_GEX round 0,,GASDRV,GBR,peak.night,7.629738833272313,2.20452,0.0,0.0 -2040,ironing out iteration 1; GASPRD A0_GEX round 0,,GASDRV,GBR,peak.day,217.59847719316167,2.20452,116.93475376667071,0.0 -2040,ironing out iteration 1; GASPRD A0_GEX round 0,,GASDRV,GBR,peak.peak,65.27954294905396,2.20452,111.69102656250001,0.0 -2040,ironing out iteration 1; GASPRD A0_GEX round 0,,GASDRV,GBR,peak.evening,87.03939129505372,2.20452,148.92136994137095,0.0 +2040,ironing out iteration 1; GASPRD A0_GEX round 0,0,GASDRV,GBR,autumn.day,302.8620307220025,2.20452,13.292701273257007,0.0 +2040,ironing out iteration 1; GASPRD A0_GEX round 0,0,GASDRV,GBR,autumn.peak,0.0,2.20452,124.10114062500001,0.0 +2040,ironing out iteration 1; GASPRD A0_GEX round 0,0,GASDRV,GBR,autumn.evening,0.0,2.20452,165.4681888237455,0.0 +2040,ironing out iteration 1; GASPRD A0_GEX round 0,,GASDRV,GBR,winter.night,152.31893424410774,2.20452,0.0,130.55908380916256 +2040,ironing out iteration 1; GASPRD A0_GEX round 0,,GASDRV,GBR,winter.day,217.59847719316173,2.20452,363.2261000417942,0.0 +2040,ironing out iteration 1; GASPRD A0_GEX round 0,,GASDRV,GBR,winter.peak,65.27954294905398,2.20452,124.10114062500001,0.0 +2040,ironing out iteration 1; GASPRD A0_GEX round 0,,GASDRV,GBR,winter.evening,87.03939129505376,2.20452,165.4681888237455,0.0 +2040,ironing out iteration 1; GASPRD A0_GEX round 0,,GASDRV,GBR,peak.night,7.629738833272256,2.20452,0.0,0.0 +2040,ironing out iteration 1; GASPRD A0_GEX round 0,,GASDRV,GBR,peak.day,217.59847719316173,2.20452,87.97782082179617,0.0 +2040,ironing out iteration 1; GASPRD A0_GEX round 0,,GASDRV,GBR,peak.peak,65.27954294905398,2.20452,124.10114062500001,0.0 +2040,ironing out iteration 1; GASPRD A0_GEX round 0,,GASDRV,GBR,peak.evening,87.03939129505376,2.20452,165.4681888237455,0.0 2040,ironing out iteration 1; GASPRD A0_GEX round 0,,GASDRV,GBR,summer.night,0.0,2.20452,0.0,0.0 2040,ironing out iteration 1; GASPRD A0_GEX round 0,,GASDRV,GBR,summer.day,0.0,2.20452,0.0,0.0 2040,ironing out iteration 1; GASPRD A0_GEX round 0,,GASDRV,GBR,summer.peak,0.0,2.20452,0.0,0.0 2040,ironing out iteration 1; GASPRD A0_GEX round 0,,GASDRV,GBR,summer.evening,28.106738155604855,2.20452,28.106738155604855,0.0 -2040,ironing out iteration 1; GASPRD A0_GEX round 0,,GASDRV,GBR,autumn.night,152.31893424410768,2.20452,0.0,0.0 -2040,ironing out iteration 1; GASPRD A0_GEX round 0,,GASDRV,GBR,autumn.day,0.0,2.20452,42.24963421813154,0.0 -2040,ironing out iteration 1; GASPRD A0_GEX round 0,,GASDRV,GBR,autumn.peak,63.50370518284109,2.20452,111.69102656250001,0.0 -2040,ironing out iteration 1; GASPRD A0_GEX round 0,,GASDRV,GBR,autumn.evening,87.03939129505372,2.20452,148.92136994137095,0.0 +2040,ironing out iteration 1; GASPRD A0_GEX round 0,,GASDRV,GBR,autumn.night,152.31893424410774,2.20452,0.0,0.0 +2040,ironing out iteration 1; GASPRD A0_GEX round 0,,GASDRV,GBR,autumn.day,0.0,2.20452,13.292701273257007,0.0 +2040,ironing out iteration 1; GASPRD A0_GEX round 0,,GASDRV,GBR,autumn.peak,63.50370518284099,2.20452,124.10114062500001,0.0 +2040,ironing out iteration 1; GASPRD A0_GEX round 0,,GASDRV,GBR,autumn.evening,87.03939129505376,2.20452,165.4681888237455,0.0 diff --git a/tests/data/simple/debug_commodity_balance_duals.csv b/tests/data/simple/debug_commodity_balance_duals.csv index 17cea6ecc..5a66ead62 100644 --- a/tests/data/simple/debug_commodity_balance_duals.csv +++ b/tests/data/simple/debug_commodity_balance_duals.csv @@ -31,20 +31,20 @@ milestone_year,run_description,commodity_id,region_id,time_slice,value 2020,final without candidates,GASNAT,GBR,autumn.day,2.9170059999999998 2020,final without candidates,GASNAT,GBR,autumn.peak,2.9170059999999998 2020,final without candidates,GASNAT,GBR,autumn.evening,2.9170059999999998 -2020,final without candidates,ELCTRI,GBR,winter.night,17.26223303030303 +2020,final without candidates,ELCTRI,GBR,winter.night,7.993308999999999 2020,final without candidates,ELCTRI,GBR,winter.day,7.993308999999999 2020,final without candidates,ELCTRI,GBR,winter.peak,7.993308999999999 -2020,final without candidates,ELCTRI,GBR,winter.evening,17.26223303030303 +2020,final without candidates,ELCTRI,GBR,winter.evening,7.993308999999999 2020,final without candidates,ELCTRI,GBR,peak.night,17.26223303030303 -2020,final without candidates,ELCTRI,GBR,peak.day,17.26223303030303 -2020,final without candidates,ELCTRI,GBR,peak.peak,17.26223303030303 +2020,final without candidates,ELCTRI,GBR,peak.day,7.993308999999999 +2020,final without candidates,ELCTRI,GBR,peak.peak,7.993308999999999 2020,final without candidates,ELCTRI,GBR,peak.evening,17.26223303030303 2020,final without candidates,ELCTRI,GBR,summer.night,7.993308999999999 2020,final without candidates,ELCTRI,GBR,summer.day,0.4 2020,final without candidates,ELCTRI,GBR,summer.peak,0.4 2020,final without candidates,ELCTRI,GBR,summer.evening,0.4 2020,final without candidates,ELCTRI,GBR,autumn.night,17.26223303030303 -2020,final without candidates,ELCTRI,GBR,autumn.day,17.26223303030303 +2020,final without candidates,ELCTRI,GBR,autumn.day,7.993308999999999 2020,final without candidates,ELCTRI,GBR,autumn.peak,17.26223303030303 2020,final without candidates,ELCTRI,GBR,autumn.evening,17.26223303030303 2020,final without candidates,RSHEAT,GBR,winter.night,5.8665369 @@ -95,20 +95,20 @@ milestone_year,run_description,commodity_id,region_id,time_slice,value 2020,final with candidates,GASNAT,GBR,autumn.day,2.9170059999999998 2020,final with candidates,GASNAT,GBR,autumn.peak,2.9170059999999998 2020,final with candidates,GASNAT,GBR,autumn.evening,2.9170059999999998 -2020,final with candidates,ELCTRI,GBR,winter.night,17.26223303030303 +2020,final with candidates,ELCTRI,GBR,winter.night,7.993308999999999 2020,final with candidates,ELCTRI,GBR,winter.day,7.993308999999999 2020,final with candidates,ELCTRI,GBR,winter.peak,7.993308999999999 -2020,final with candidates,ELCTRI,GBR,winter.evening,17.26223303030303 +2020,final with candidates,ELCTRI,GBR,winter.evening,7.993308999999999 2020,final with candidates,ELCTRI,GBR,peak.night,17.26223303030303 -2020,final with candidates,ELCTRI,GBR,peak.day,17.26223303030303 -2020,final with candidates,ELCTRI,GBR,peak.peak,17.26223303030303 +2020,final with candidates,ELCTRI,GBR,peak.day,7.993308999999999 +2020,final with candidates,ELCTRI,GBR,peak.peak,7.993308999999999 2020,final with candidates,ELCTRI,GBR,peak.evening,17.26223303030303 2020,final with candidates,ELCTRI,GBR,summer.night,7.993308999999999 2020,final with candidates,ELCTRI,GBR,summer.day,0.4 2020,final with candidates,ELCTRI,GBR,summer.peak,0.4 2020,final with candidates,ELCTRI,GBR,summer.evening,0.4 2020,final with candidates,ELCTRI,GBR,autumn.night,17.26223303030303 -2020,final with candidates,ELCTRI,GBR,autumn.day,17.26223303030303 +2020,final with candidates,ELCTRI,GBR,autumn.day,7.993308999999999 2020,final with candidates,ELCTRI,GBR,autumn.peak,17.26223303030303 2020,final with candidates,ELCTRI,GBR,autumn.evening,17.26223303030303 2020,final with candidates,RSHEAT,GBR,winter.night,5.8665369 @@ -159,20 +159,20 @@ milestone_year,run_description,commodity_id,region_id,time_slice,value 2030,ironing out iteration 0; post ELCTRI|GBR investment,RSHEAT,GBR,autumn.day,5.8665369 2030,ironing out iteration 0; post ELCTRI|GBR investment,RSHEAT,GBR,autumn.peak,5.8665369 2030,ironing out iteration 0; post ELCTRI|GBR investment,RSHEAT,GBR,autumn.evening,5.8665369 -2030,ironing out iteration 0; post ELCTRI|GBR investment,ELCTRI,GBR,winter.night,17.26223303030303 +2030,ironing out iteration 0; post ELCTRI|GBR investment,ELCTRI,GBR,winter.night,7.993308999999999 2030,ironing out iteration 0; post ELCTRI|GBR investment,ELCTRI,GBR,winter.day,7.993308999999999 2030,ironing out iteration 0; post ELCTRI|GBR investment,ELCTRI,GBR,winter.peak,7.993308999999999 -2030,ironing out iteration 0; post ELCTRI|GBR investment,ELCTRI,GBR,winter.evening,17.26223303030303 +2030,ironing out iteration 0; post ELCTRI|GBR investment,ELCTRI,GBR,winter.evening,7.993308999999999 2030,ironing out iteration 0; post ELCTRI|GBR investment,ELCTRI,GBR,peak.night,17.26223303030303 -2030,ironing out iteration 0; post ELCTRI|GBR investment,ELCTRI,GBR,peak.day,17.26223303030303 -2030,ironing out iteration 0; post ELCTRI|GBR investment,ELCTRI,GBR,peak.peak,17.26223303030303 +2030,ironing out iteration 0; post ELCTRI|GBR investment,ELCTRI,GBR,peak.day,7.993308999999999 +2030,ironing out iteration 0; post ELCTRI|GBR investment,ELCTRI,GBR,peak.peak,7.993308999999999 2030,ironing out iteration 0; post ELCTRI|GBR investment,ELCTRI,GBR,peak.evening,17.26223303030303 2030,ironing out iteration 0; post ELCTRI|GBR investment,ELCTRI,GBR,summer.night,7.993308999999999 2030,ironing out iteration 0; post ELCTRI|GBR investment,ELCTRI,GBR,summer.day,0.4 2030,ironing out iteration 0; post ELCTRI|GBR investment,ELCTRI,GBR,summer.peak,0.4 2030,ironing out iteration 0; post ELCTRI|GBR investment,ELCTRI,GBR,summer.evening,0.4 2030,ironing out iteration 0; post ELCTRI|GBR investment,ELCTRI,GBR,autumn.night,17.26223303030303 -2030,ironing out iteration 0; post ELCTRI|GBR investment,ELCTRI,GBR,autumn.day,17.26223303030303 +2030,ironing out iteration 0; post ELCTRI|GBR investment,ELCTRI,GBR,autumn.day,7.993308999999999 2030,ironing out iteration 0; post ELCTRI|GBR investment,ELCTRI,GBR,autumn.peak,17.26223303030303 2030,ironing out iteration 0; post ELCTRI|GBR investment,ELCTRI,GBR,autumn.evening,17.26223303030303 2030,ironing out iteration 0; post GASNAT|GBR investment,RSHEAT,GBR,winter.night,5.8665369 @@ -191,20 +191,20 @@ milestone_year,run_description,commodity_id,region_id,time_slice,value 2030,ironing out iteration 0; post GASNAT|GBR investment,RSHEAT,GBR,autumn.day,5.8665369 2030,ironing out iteration 0; post GASNAT|GBR investment,RSHEAT,GBR,autumn.peak,5.8665369 2030,ironing out iteration 0; post GASNAT|GBR investment,RSHEAT,GBR,autumn.evening,5.8665369 -2030,ironing out iteration 0; post GASNAT|GBR investment,ELCTRI,GBR,winter.night,17.26223303030303 +2030,ironing out iteration 0; post GASNAT|GBR investment,ELCTRI,GBR,winter.night,7.993308999999999 2030,ironing out iteration 0; post GASNAT|GBR investment,ELCTRI,GBR,winter.day,7.993308999999999 2030,ironing out iteration 0; post GASNAT|GBR investment,ELCTRI,GBR,winter.peak,7.993308999999999 -2030,ironing out iteration 0; post GASNAT|GBR investment,ELCTRI,GBR,winter.evening,17.26223303030303 +2030,ironing out iteration 0; post GASNAT|GBR investment,ELCTRI,GBR,winter.evening,7.993308999999999 2030,ironing out iteration 0; post GASNAT|GBR investment,ELCTRI,GBR,peak.night,17.26223303030303 -2030,ironing out iteration 0; post GASNAT|GBR investment,ELCTRI,GBR,peak.day,17.26223303030303 -2030,ironing out iteration 0; post GASNAT|GBR investment,ELCTRI,GBR,peak.peak,17.26223303030303 +2030,ironing out iteration 0; post GASNAT|GBR investment,ELCTRI,GBR,peak.day,7.993308999999999 +2030,ironing out iteration 0; post GASNAT|GBR investment,ELCTRI,GBR,peak.peak,7.993308999999999 2030,ironing out iteration 0; post GASNAT|GBR investment,ELCTRI,GBR,peak.evening,17.26223303030303 2030,ironing out iteration 0; post GASNAT|GBR investment,ELCTRI,GBR,summer.night,7.993308999999999 2030,ironing out iteration 0; post GASNAT|GBR investment,ELCTRI,GBR,summer.day,0.4 2030,ironing out iteration 0; post GASNAT|GBR investment,ELCTRI,GBR,summer.peak,0.4 2030,ironing out iteration 0; post GASNAT|GBR investment,ELCTRI,GBR,summer.evening,0.4 2030,ironing out iteration 0; post GASNAT|GBR investment,ELCTRI,GBR,autumn.night,17.26223303030303 -2030,ironing out iteration 0; post GASNAT|GBR investment,ELCTRI,GBR,autumn.day,17.26223303030303 +2030,ironing out iteration 0; post GASNAT|GBR investment,ELCTRI,GBR,autumn.day,7.993308999999999 2030,ironing out iteration 0; post GASNAT|GBR investment,ELCTRI,GBR,autumn.peak,17.26223303030303 2030,ironing out iteration 0; post GASNAT|GBR investment,ELCTRI,GBR,autumn.evening,17.26223303030303 2030,ironing out iteration 0; post GASNAT|GBR investment,GASNAT,GBR,winter.night,2.9170059999999998 @@ -239,20 +239,20 @@ milestone_year,run_description,commodity_id,region_id,time_slice,value 2030,ironing out iteration 0; post GASPRD|GBR investment,RSHEAT,GBR,autumn.day,5.8665369 2030,ironing out iteration 0; post GASPRD|GBR investment,RSHEAT,GBR,autumn.peak,5.8665369 2030,ironing out iteration 0; post GASPRD|GBR investment,RSHEAT,GBR,autumn.evening,5.8665369 -2030,ironing out iteration 0; post GASPRD|GBR investment,ELCTRI,GBR,winter.night,17.26223303030303 +2030,ironing out iteration 0; post GASPRD|GBR investment,ELCTRI,GBR,winter.night,7.993308999999999 2030,ironing out iteration 0; post GASPRD|GBR investment,ELCTRI,GBR,winter.day,7.993308999999999 2030,ironing out iteration 0; post GASPRD|GBR investment,ELCTRI,GBR,winter.peak,7.993308999999999 -2030,ironing out iteration 0; post GASPRD|GBR investment,ELCTRI,GBR,winter.evening,17.26223303030303 +2030,ironing out iteration 0; post GASPRD|GBR investment,ELCTRI,GBR,winter.evening,7.993308999999999 2030,ironing out iteration 0; post GASPRD|GBR investment,ELCTRI,GBR,peak.night,17.26223303030303 -2030,ironing out iteration 0; post GASPRD|GBR investment,ELCTRI,GBR,peak.day,17.26223303030303 -2030,ironing out iteration 0; post GASPRD|GBR investment,ELCTRI,GBR,peak.peak,17.26223303030303 +2030,ironing out iteration 0; post GASPRD|GBR investment,ELCTRI,GBR,peak.day,7.993308999999999 +2030,ironing out iteration 0; post GASPRD|GBR investment,ELCTRI,GBR,peak.peak,7.993308999999999 2030,ironing out iteration 0; post GASPRD|GBR investment,ELCTRI,GBR,peak.evening,17.26223303030303 2030,ironing out iteration 0; post GASPRD|GBR investment,ELCTRI,GBR,summer.night,7.993308999999999 2030,ironing out iteration 0; post GASPRD|GBR investment,ELCTRI,GBR,summer.day,0.4 2030,ironing out iteration 0; post GASPRD|GBR investment,ELCTRI,GBR,summer.peak,0.4 2030,ironing out iteration 0; post GASPRD|GBR investment,ELCTRI,GBR,summer.evening,0.4 2030,ironing out iteration 0; post GASPRD|GBR investment,ELCTRI,GBR,autumn.night,17.26223303030303 -2030,ironing out iteration 0; post GASPRD|GBR investment,ELCTRI,GBR,autumn.day,17.26223303030303 +2030,ironing out iteration 0; post GASPRD|GBR investment,ELCTRI,GBR,autumn.day,7.993308999999999 2030,ironing out iteration 0; post GASPRD|GBR investment,ELCTRI,GBR,autumn.peak,17.26223303030303 2030,ironing out iteration 0; post GASPRD|GBR investment,ELCTRI,GBR,autumn.evening,17.26223303030303 2030,ironing out iteration 0; post GASPRD|GBR investment,GASNAT,GBR,winter.night,2.9170059999999998 @@ -319,20 +319,20 @@ milestone_year,run_description,commodity_id,region_id,time_slice,value 2030,ironing out iteration 0; final without candidates,GASNAT,GBR,autumn.day,2.9170059999999998 2030,ironing out iteration 0; final without candidates,GASNAT,GBR,autumn.peak,2.9170059999999998 2030,ironing out iteration 0; final without candidates,GASNAT,GBR,autumn.evening,2.9170059999999998 -2030,ironing out iteration 0; final without candidates,ELCTRI,GBR,winter.night,17.26223303030303 +2030,ironing out iteration 0; final without candidates,ELCTRI,GBR,winter.night,7.993308999999999 2030,ironing out iteration 0; final without candidates,ELCTRI,GBR,winter.day,7.993308999999999 2030,ironing out iteration 0; final without candidates,ELCTRI,GBR,winter.peak,7.993308999999999 -2030,ironing out iteration 0; final without candidates,ELCTRI,GBR,winter.evening,17.26223303030303 +2030,ironing out iteration 0; final without candidates,ELCTRI,GBR,winter.evening,7.993308999999999 2030,ironing out iteration 0; final without candidates,ELCTRI,GBR,peak.night,17.26223303030303 -2030,ironing out iteration 0; final without candidates,ELCTRI,GBR,peak.day,17.26223303030303 -2030,ironing out iteration 0; final without candidates,ELCTRI,GBR,peak.peak,17.26223303030303 +2030,ironing out iteration 0; final without candidates,ELCTRI,GBR,peak.day,7.993308999999999 +2030,ironing out iteration 0; final without candidates,ELCTRI,GBR,peak.peak,7.993308999999999 2030,ironing out iteration 0; final without candidates,ELCTRI,GBR,peak.evening,17.26223303030303 2030,ironing out iteration 0; final without candidates,ELCTRI,GBR,summer.night,7.993308999999999 2030,ironing out iteration 0; final without candidates,ELCTRI,GBR,summer.day,0.4 2030,ironing out iteration 0; final without candidates,ELCTRI,GBR,summer.peak,0.4 2030,ironing out iteration 0; final without candidates,ELCTRI,GBR,summer.evening,0.4 2030,ironing out iteration 0; final without candidates,ELCTRI,GBR,autumn.night,17.26223303030303 -2030,ironing out iteration 0; final without candidates,ELCTRI,GBR,autumn.day,17.26223303030303 +2030,ironing out iteration 0; final without candidates,ELCTRI,GBR,autumn.day,7.993308999999999 2030,ironing out iteration 0; final without candidates,ELCTRI,GBR,autumn.peak,17.26223303030303 2030,ironing out iteration 0; final without candidates,ELCTRI,GBR,autumn.evening,17.26223303030303 2030,ironing out iteration 0; final without candidates,RSHEAT,GBR,winter.night,5.8665369 @@ -383,20 +383,20 @@ milestone_year,run_description,commodity_id,region_id,time_slice,value 2030,ironing out iteration 0; final with candidates,GASNAT,GBR,autumn.day,2.9170059999999998 2030,ironing out iteration 0; final with candidates,GASNAT,GBR,autumn.peak,2.9170059999999998 2030,ironing out iteration 0; final with candidates,GASNAT,GBR,autumn.evening,2.9170059999999998 -2030,ironing out iteration 0; final with candidates,ELCTRI,GBR,winter.night,17.26223303030303 +2030,ironing out iteration 0; final with candidates,ELCTRI,GBR,winter.night,7.993308999999999 2030,ironing out iteration 0; final with candidates,ELCTRI,GBR,winter.day,7.993308999999999 2030,ironing out iteration 0; final with candidates,ELCTRI,GBR,winter.peak,7.993308999999999 -2030,ironing out iteration 0; final with candidates,ELCTRI,GBR,winter.evening,17.26223303030303 +2030,ironing out iteration 0; final with candidates,ELCTRI,GBR,winter.evening,7.993308999999999 2030,ironing out iteration 0; final with candidates,ELCTRI,GBR,peak.night,17.26223303030303 -2030,ironing out iteration 0; final with candidates,ELCTRI,GBR,peak.day,17.26223303030303 -2030,ironing out iteration 0; final with candidates,ELCTRI,GBR,peak.peak,17.26223303030303 +2030,ironing out iteration 0; final with candidates,ELCTRI,GBR,peak.day,7.993308999999999 +2030,ironing out iteration 0; final with candidates,ELCTRI,GBR,peak.peak,7.993308999999999 2030,ironing out iteration 0; final with candidates,ELCTRI,GBR,peak.evening,17.26223303030303 2030,ironing out iteration 0; final with candidates,ELCTRI,GBR,summer.night,7.993308999999999 2030,ironing out iteration 0; final with candidates,ELCTRI,GBR,summer.day,0.4 2030,ironing out iteration 0; final with candidates,ELCTRI,GBR,summer.peak,0.4 2030,ironing out iteration 0; final with candidates,ELCTRI,GBR,summer.evening,0.4 2030,ironing out iteration 0; final with candidates,ELCTRI,GBR,autumn.night,17.26223303030303 -2030,ironing out iteration 0; final with candidates,ELCTRI,GBR,autumn.day,17.26223303030303 +2030,ironing out iteration 0; final with candidates,ELCTRI,GBR,autumn.day,7.993308999999999 2030,ironing out iteration 0; final with candidates,ELCTRI,GBR,autumn.peak,17.26223303030303 2030,ironing out iteration 0; final with candidates,ELCTRI,GBR,autumn.evening,17.26223303030303 2030,ironing out iteration 0; final with candidates,RSHEAT,GBR,winter.night,5.8665369 @@ -447,20 +447,20 @@ milestone_year,run_description,commodity_id,region_id,time_slice,value 2030,final without candidates,GASNAT,GBR,autumn.day,2.9170059999999998 2030,final without candidates,GASNAT,GBR,autumn.peak,2.9170059999999998 2030,final without candidates,GASNAT,GBR,autumn.evening,2.9170059999999998 -2030,final without candidates,ELCTRI,GBR,winter.night,17.26223303030303 +2030,final without candidates,ELCTRI,GBR,winter.night,7.993308999999999 2030,final without candidates,ELCTRI,GBR,winter.day,7.993308999999999 2030,final without candidates,ELCTRI,GBR,winter.peak,7.993308999999999 -2030,final without candidates,ELCTRI,GBR,winter.evening,17.26223303030303 +2030,final without candidates,ELCTRI,GBR,winter.evening,7.993308999999999 2030,final without candidates,ELCTRI,GBR,peak.night,17.26223303030303 -2030,final without candidates,ELCTRI,GBR,peak.day,17.26223303030303 -2030,final without candidates,ELCTRI,GBR,peak.peak,17.26223303030303 +2030,final without candidates,ELCTRI,GBR,peak.day,7.993308999999999 +2030,final without candidates,ELCTRI,GBR,peak.peak,7.993308999999999 2030,final without candidates,ELCTRI,GBR,peak.evening,17.26223303030303 2030,final without candidates,ELCTRI,GBR,summer.night,7.993308999999999 2030,final without candidates,ELCTRI,GBR,summer.day,0.4 2030,final without candidates,ELCTRI,GBR,summer.peak,0.4 2030,final without candidates,ELCTRI,GBR,summer.evening,0.4 2030,final without candidates,ELCTRI,GBR,autumn.night,17.26223303030303 -2030,final without candidates,ELCTRI,GBR,autumn.day,17.26223303030303 +2030,final without candidates,ELCTRI,GBR,autumn.day,7.993308999999999 2030,final without candidates,ELCTRI,GBR,autumn.peak,17.26223303030303 2030,final without candidates,ELCTRI,GBR,autumn.evening,17.26223303030303 2030,final without candidates,RSHEAT,GBR,winter.night,5.8665369 @@ -511,20 +511,20 @@ milestone_year,run_description,commodity_id,region_id,time_slice,value 2030,final with candidates,GASNAT,GBR,autumn.day,2.9170059999999998 2030,final with candidates,GASNAT,GBR,autumn.peak,2.9170059999999998 2030,final with candidates,GASNAT,GBR,autumn.evening,2.9170059999999998 -2030,final with candidates,ELCTRI,GBR,winter.night,17.26223303030303 +2030,final with candidates,ELCTRI,GBR,winter.night,7.993308999999999 2030,final with candidates,ELCTRI,GBR,winter.day,7.993308999999999 2030,final with candidates,ELCTRI,GBR,winter.peak,7.993308999999999 -2030,final with candidates,ELCTRI,GBR,winter.evening,17.26223303030303 +2030,final with candidates,ELCTRI,GBR,winter.evening,7.993308999999999 2030,final with candidates,ELCTRI,GBR,peak.night,17.26223303030303 -2030,final with candidates,ELCTRI,GBR,peak.day,17.26223303030303 -2030,final with candidates,ELCTRI,GBR,peak.peak,17.26223303030303 +2030,final with candidates,ELCTRI,GBR,peak.day,7.993308999999999 +2030,final with candidates,ELCTRI,GBR,peak.peak,7.993308999999999 2030,final with candidates,ELCTRI,GBR,peak.evening,17.26223303030303 2030,final with candidates,ELCTRI,GBR,summer.night,7.993308999999999 2030,final with candidates,ELCTRI,GBR,summer.day,0.4 2030,final with candidates,ELCTRI,GBR,summer.peak,0.4 2030,final with candidates,ELCTRI,GBR,summer.evening,0.4 2030,final with candidates,ELCTRI,GBR,autumn.night,17.26223303030303 -2030,final with candidates,ELCTRI,GBR,autumn.day,17.26223303030303 +2030,final with candidates,ELCTRI,GBR,autumn.day,7.993308999999999 2030,final with candidates,ELCTRI,GBR,autumn.peak,17.26223303030303 2030,final with candidates,ELCTRI,GBR,autumn.evening,17.26223303030303 2030,final with candidates,RSHEAT,GBR,winter.night,5.8665369 diff --git a/tests/data/simple/debug_dispatch_assets.csv b/tests/data/simple/debug_dispatch_assets.csv index 8809852a6..816f1e4b0 100644 --- a/tests/data/simple/debug_dispatch_assets.csv +++ b/tests/data/simple/debug_dispatch_assets.csv @@ -1,260 +1,260 @@ milestone_year,run_description,asset_id,process_id,region_id,time_slice,activity,activity_dual,column_dual 2020,final without candidates,0,GASDRV,GBR,winter.night,0.0,-0.0,0.0 -2020,final without candidates,0,GASDRV,GBR,winter.day,180.73595015109328,-0.0,0.0 -2020,final without candidates,0,GASDRV,GBR,winter.peak,112.5635625,-0.0,0.0 -2020,final without candidates,0,GASDRV,GBR,winter.evening,150.084751200678,-0.0,0.0 +2020,final without candidates,0,GASDRV,GBR,winter.day,151.10360181069296,-0.0,0.0 +2020,final without candidates,0,GASDRV,GBR,winter.peak,125.070625,-0.0,0.0 +2020,final without candidates,0,GASDRV,GBR,winter.evening,166.76083466742,-0.0,0.0 2020,final without candidates,0,GASDRV,GBR,peak.night,0.0,-0.0,0.0 2020,final without candidates,0,GASDRV,GBR,peak.day,0.0,-0.0,0.0 -2020,final without candidates,0,GASDRV,GBR,peak.peak,77.9831213632338,-0.0,0.0 -2020,final without candidates,0,GASDRV,GBR,peak.evening,150.084751200678,-0.0,0.0 +2020,final without candidates,0,GASDRV,GBR,peak.peak,58.67582562255717,-0.0,0.0 +2020,final without candidates,0,GASDRV,GBR,peak.evening,166.76083466742,-0.0,0.0 2020,final without candidates,0,GASDRV,GBR,summer.night,0.0,-0.0,0.0 2020,final without candidates,0,GASDRV,GBR,summer.day,0.0,-0.0,0.0 2020,final without candidates,0,GASDRV,GBR,summer.peak,0.0,-0.0,0.0 2020,final without candidates,0,GASDRV,GBR,summer.evening,0.16861964795988574,-0.0,0.0 2020,final without candidates,0,GASDRV,GBR,autumn.night,0.0,-0.0,0.0 2020,final without candidates,0,GASDRV,GBR,autumn.day,0.0,-0.0,0.0 -2020,final without candidates,0,GASDRV,GBR,autumn.peak,16.804933265797757,-0.0,0.0 -2020,final without candidates,0,GASDRV,GBR,autumn.evening,150.084751200678,-0.0,0.0 +2020,final without candidates,0,GASDRV,GBR,autumn.peak,0.0,-0.0,0.0 +2020,final without candidates,0,GASDRV,GBR,autumn.evening,163.3883025525992,-0.0,0.0 2020,final without candidates,1,GASPRC,GBR,winter.night,0.0,-0.0,2.220446049250313e-16 -2020,final without candidates,1,GASPRC,GBR,winter.day,174.0684450932384,-0.0,0.0 -2020,final without candidates,1,GASPRC,GBR,winter.peak,106.37240625000001,-0.0,0.0 -2020,final without candidates,1,GASPRC,GBR,winter.evening,141.829876134639,-0.0,0.0 +2020,final without candidates,1,GASPRC,GBR,winter.day,146.06260193273093,-0.0,0.0 +2020,final without candidates,1,GASPRC,GBR,winter.peak,118.1915625,-0.0,0.0 +2020,final without candidates,1,GASPRC,GBR,winter.evening,157.58875126070998,-0.0,0.0 2020,final without candidates,1,GASPRC,GBR,peak.night,0.0,-0.0,2.220446049250313e-16 2020,final without candidates,1,GASPRC,GBR,peak.day,0.0,-0.0,2.220446049250313e-16 -2020,final without candidates,1,GASPRC,GBR,peak.peak,75.37762154527701,-0.0,0.0 -2020,final without candidates,1,GASPRC,GBR,peak.evening,141.829876134639,-0.0,0.0 +2020,final without candidates,1,GASPRC,GBR,peak.peak,57.11282996783967,-0.0,0.0 +2020,final without candidates,1,GASPRC,GBR,peak.evening,157.58875126070998,-0.0,0.0 2020,final without candidates,1,GASPRC,GBR,summer.night,0.0,-0.0,2.220446049250313e-16 2020,final without candidates,1,GASPRC,GBR,summer.day,0.0,-0.0,2.220446049250313e-16 2020,final without candidates,1,GASPRC,GBR,summer.peak,0.0,-0.0,2.220446049250313e-16 2020,final without candidates,1,GASPRC,GBR,summer.evening,0.1605901409141769,-0.0,0.0 2020,final without candidates,1,GASPRC,GBR,autumn.night,0.0,-0.0,2.220446049250313e-16 2020,final without candidates,1,GASPRC,GBR,autumn.day,0.0,-0.0,2.220446049250313e-16 -2020,final without candidates,1,GASPRC,GBR,autumn.peak,17.1126805000998,-0.0,0.0 -2020,final without candidates,1,GASPRC,GBR,autumn.evening,141.829876134639,-0.0,0.0 -2020,final without candidates,2,WNDFRM,GBR,winter.night,4.435312795545212,-16.86223303030303,0.0 +2020,final without candidates,1,GASPRC,GBR,autumn.peak,0.0,-0.0,2.220446049250313e-16 +2020,final without candidates,1,GASPRC,GBR,autumn.evening,155.60790719295161,-0.0,0.0 +2020,final without candidates,2,WNDFRM,GBR,winter.night,4.435312795545212,-7.593308999999999,0.0 2020,final without candidates,2,WNDFRM,GBR,winter.day,7.075379933645912,-7.593308999999999,0.0 2020,final without candidates,2,WNDFRM,GBR,winter.peak,1.9712501261051125,-7.593308999999999,0.0 -2020,final without candidates,2,WNDFRM,GBR,winter.evening,2.5696653598405335,-16.86223303030303,0.0 +2020,final without candidates,2,WNDFRM,GBR,winter.evening,2.5696653598405335,-7.593308999999999,0.0 2020,final without candidates,2,WNDFRM,GBR,peak.night,2.851272517283696,-16.86223303030303,0.0 -2020,final without candidates,2,WNDFRM,GBR,peak.day,6.3713620320039785,-16.86223303030303,0.0 -2020,final without candidates,2,WNDFRM,GBR,peak.peak,1.7776452018191917,-16.86223303030303,0.0 +2020,final without candidates,2,WNDFRM,GBR,peak.day,6.3713620320039785,-7.593308999999999,0.0 +2020,final without candidates,2,WNDFRM,GBR,peak.peak,1.7776452018191917,-7.593308999999999,0.0 2020,final without candidates,2,WNDFRM,GBR,peak.evening,1.72484387381507,-16.86223303030303,0.0 2020,final without candidates,2,WNDFRM,GBR,summer.night,1.6368416242136155,-7.593308999999999,0.0 2020,final without candidates,2,WNDFRM,GBR,summer.day,2.9055524196533997,-0.0,0.0 2020,final without candidates,2,WNDFRM,GBR,summer.peak,0.9567924409494001,-0.0,0.0 2020,final without candidates,2,WNDFRM,GBR,summer.evening,0.7124084843502,-0.0,0.0 2020,final without candidates,2,WNDFRM,GBR,autumn.night,3.203281465982185,-16.86223303030303,0.0 -2020,final without candidates,2,WNDFRM,GBR,autumn.day,6.001752635595889,-16.86223303030303,0.0 +2020,final without candidates,2,WNDFRM,GBR,autumn.day,6.001752635595889,-7.593308999999999,0.0 2020,final without candidates,2,WNDFRM,GBR,autumn.peak,1.5488393825638174,-16.86223303030303,0.0 2020,final without candidates,2,WNDFRM,GBR,autumn.evening,1.9008483513729915,-16.86223303030303,0.0 -2020,final without candidates,3,GASCGT,GBR,winter.night,5.02964439799266,-9.26892403030303,0.0 +2020,final without candidates,3,GASCGT,GBR,winter.night,5.189205998452591,-0.0,0.0 2020,final without candidates,3,GASCGT,GBR,winter.day,6.6739326103518914,-0.0,0.0 2020,final without candidates,3,GASCGT,GBR,winter.peak,2.1535436238948877,-0.0,0.0 -2020,final without candidates,3,GASCGT,GBR,winter.evening,2.87408252299266,-9.26892403030303,0.0 -2020,final without candidates,3,GASCGT,GBR,peak.night,5.02964439799266,-9.26892403030303,0.0 -2020,final without candidates,3,GASCGT,GBR,peak.day,7.185206272992661,-9.26892403030303,0.0 -2020,final without candidates,3,GASCGT,GBR,peak.peak,2.155561875,-9.26892403030303,0.0 -2020,final without candidates,3,GASCGT,GBR,peak.evening,2.87408252299266,-9.26892403030303,0.0 +2020,final without candidates,3,GASCGT,GBR,winter.evening,2.9300596841572673,-0.0,0.0 +2020,final without candidates,3,GASCGT,GBR,peak.night,5.5884937755474,-9.26892403030303,0.0 +2020,final without candidates,3,GASCGT,GBR,peak.day,7.3779505119938245,-0.0,0.0 +2020,final without candidates,3,GASCGT,GBR,peak.peak,2.3471485481808085,-0.0,0.0 +2020,final without candidates,3,GASCGT,GBR,peak.evening,3.1934250255473997,-9.26892403030303,0.0 2020,final without candidates,3,GASCGT,GBR,summer.night,0.1070600939427846,-0.0,0.0 2020,final without candidates,3,GASCGT,GBR,summer.day,0.0,-0.0,7.593309 2020,final without candidates,3,GASCGT,GBR,summer.peak,0.0,-0.0,7.593309 2020,final without candidates,3,GASCGT,GBR,summer.evening,0.0,-0.0,7.593309 -2020,final without candidates,3,GASCGT,GBR,autumn.night,5.02964439799266,-9.26892403030303,0.0 -2020,final without candidates,3,GASCGT,GBR,autumn.day,7.185206272992661,-9.26892403030303,0.0 -2020,final without candidates,3,GASCGT,GBR,autumn.peak,2.155561875,-9.26892403030303,0.0 -2020,final without candidates,3,GASCGT,GBR,autumn.evening,2.87408252299266,-9.26892403030303,0.0 -2020,final without candidates,4,RGASBR,GBR,winter.night,32.05992745679372,-0.0,0.0 +2020,final without candidates,3,GASCGT,GBR,autumn.night,5.5884937755474,-9.26892403030303,0.0 +2020,final without candidates,3,GASCGT,GBR,autumn.day,7.747559908401914,-0.0,0.0 +2020,final without candidates,3,GASCGT,GBR,autumn.peak,2.39506875,-9.26892403030303,0.0 +2020,final without candidates,3,GASCGT,GBR,autumn.evening,3.1934250255473997,-9.26892403030303,0.0 +2020,final without candidates,4,RGASBR,GBR,winter.night,31.576407455399995,-0.0,0.0 2020,final without candidates,4,RGASBR,GBR,winter.day,168.06063872919998,-0.0,0.0 2020,final without candidates,4,RGASBR,GBR,winter.peak,90.62498238363999,-0.0,0.0 -2020,final without candidates,4,RGASBR,GBR,winter.evening,54.62307990430487,-0.0,0.0 -2020,final without candidates,4,RGASBR,GBR,peak.night,18.669372107491647,-0.0,0.0 -2020,final without candidates,4,RGASBR,GBR,peak.day,72.04858509999866,-0.0,0.0 -2020,final without candidates,4,RGASBR,GBR,peak.peak,51.26863316874549,-0.0,0.0 -2020,final without candidates,4,RGASBR,GBR,peak.evening,24.396674907632942,-0.0,0.0 +2020,final without candidates,4,RGASBR,GBR,winter.evening,54.453452143199996,-0.0,0.0 +2020,final without candidates,4,RGASBR,GBR,peak.night,16.975889145204558,-0.0,0.0 +2020,final without candidates,4,RGASBR,GBR,peak.day,71.46451164847998,-0.0,0.0 +2020,final without candidates,4,RGASBR,GBR,peak.peak,50.688067492440005,-0.0,0.0 +2020,final without candidates,4,RGASBR,GBR,peak.evening,23.428970354436764,-0.0,0.0 2020,final without candidates,4,RGASBR,GBR,summer.night,0.0,-0.0,3.05874493 2020,final without candidates,4,RGASBR,GBR,summer.day,0.0,-0.0,5.5645369 2020,final without candidates,4,RGASBR,GBR,summer.peak,0.0,-0.0,5.5645369 2020,final without candidates,4,RGASBR,GBR,summer.evening,0.0,-0.0,5.5645369 -2020,final without candidates,4,RGASBR,GBR,autumn.night,9.614318814176837,-0.0,0.0 -2020,final without candidates,4,RGASBR,GBR,autumn.day,51.003426608122574,-0.0,0.0 -2020,final without candidates,4,RGASBR,GBR,autumn.peak,39.317279322966,-0.0,0.0 -2020,final without candidates,4,RGASBR,GBR,autumn.evening,15.783074412362266,-0.0,0.0 -2020,final without candidates,5,RELCHP,GBR,winter.night,28.681688465266276,-0.0,0.0 +2020,final without candidates,4,RGASBR,GBR,autumn.night,7.920835851889748,-0.0,0.0 +2020,final without candidates,4,RGASBR,GBR,autumn.day,49.29932468263999,-0.0,0.0 +2020,final without candidates,4,RGASBR,GBR,autumn.peak,38.591500913875095,-0.0,0.0 +2020,final without candidates,4,RGASBR,GBR,autumn.evening,14.815369859166085,-0.0,0.0 +2020,final without candidates,5,RELCHP,GBR,winter.night,29.165208466660005,-3.05874493,0.0 2020,final without candidates,5,RELCHP,GBR,winter.day,41.664583466660005,-3.05874493,0.0 2020,final without candidates,5,RELCHP,GBR,winter.peak,12.499375,-3.05874493,0.0 -2020,final without candidates,5,RELCHP,GBR,winter.evening,16.49620570555513,-0.0,0.0 -2020,final without candidates,5,RELCHP,GBR,peak.night,23.881566409928354,-0.0,0.0 -2020,final without candidates,5,RELCHP,GBR,peak.day,41.08051001514133,-0.0,0.0 -2020,final without candidates,5,RELCHP,GBR,peak.peak,11.91880932369452,-0.0,0.0 -2020,final without candidates,5,RELCHP,GBR,peak.evening,13.93614059638706,-0.0,0.0 +2020,final without candidates,5,RELCHP,GBR,winter.evening,16.66583346666,-3.05874493,0.0 +2020,final without candidates,5,RELCHP,GBR,peak.night,25.575049372215442,-0.0,0.0 +2020,final without candidates,5,RELCHP,GBR,peak.day,41.664583466660005,-3.05874493,0.0 +2020,final without candidates,5,RELCHP,GBR,peak.peak,12.499375,-3.05874493,0.0 +2020,final without candidates,5,RELCHP,GBR,peak.evening,14.903845149583242,-0.0,0.0 2020,final without candidates,5,RELCHP,GBR,summer.night,5.28455066108,-0.0,0.0 2020,final without candidates,5,RELCHP,GBR,summer.day,8.80470430198,-0.0,0.0 2020,final without candidates,5,RELCHP,GBR,summer.peak,2.89937103318,-0.0,0.0 2020,final without candidates,5,RELCHP,GBR,summer.evening,2.1588135889399998,-0.0,0.0 -2020,final without candidates,5,RELCHP,GBR,autumn.night,24.948260193863167,-0.0,0.0 -2020,final without candidates,5,RELCHP,GBR,autumn.day,39.96048154117742,-0.0,0.0 -2020,final without candidates,5,RELCHP,GBR,autumn.peak,11.225458356253991,-0.0,0.0 -2020,final without candidates,5,RELCHP,GBR,autumn.evening,14.469487498077731,-0.0,0.0 +2020,final without candidates,5,RELCHP,GBR,autumn.night,26.641743156150255,-0.0,0.0 +2020,final without candidates,5,RELCHP,GBR,autumn.day,41.664583466660005,-3.05874493,0.0 +2020,final without candidates,5,RELCHP,GBR,autumn.peak,11.9512367653449,-0.0,0.0 +2020,final without candidates,5,RELCHP,GBR,autumn.evening,15.437192051273913,-0.0,0.0 2020,final with candidates,0,GASDRV,GBR,winter.night,0.0,-0.0,0.0 -2020,final with candidates,0,GASDRV,GBR,winter.day,180.73423462646264,-0.0,0.0 -2020,final with candidates,0,GASDRV,GBR,winter.peak,112.5635625,-0.0,0.0 -2020,final with candidates,0,GASDRV,GBR,winter.evening,150.084751200678,-0.0,0.0 +2020,final with candidates,0,GASDRV,GBR,winter.day,151.10292198068424,-0.0,0.0 +2020,final with candidates,0,GASDRV,GBR,winter.peak,125.070625,-0.0,0.0 +2020,final with candidates,0,GASDRV,GBR,winter.evening,166.76083466742,-0.0,0.0 2020,final with candidates,0,GASDRV,GBR,peak.night,0.0,-0.0,0.0 2020,final with candidates,0,GASDRV,GBR,peak.day,0.0,-0.0,0.0 -2020,final with candidates,0,GASDRV,GBR,peak.peak,77.9804455068732,-0.0,0.0 -2020,final with candidates,0,GASDRV,GBR,peak.evening,150.084751200678,-0.0,0.0 +2020,final with candidates,0,GASDRV,GBR,peak.peak,58.67429209279456,-0.0,0.0 +2020,final with candidates,0,GASDRV,GBR,peak.evening,166.76083466742,-0.0,0.0 2020,final with candidates,0,GASDRV,GBR,summer.night,0.0,-0.0,0.0 2020,final with candidates,0,GASDRV,GBR,summer.day,0.0,-0.0,0.0 2020,final with candidates,0,GASDRV,GBR,summer.peak,0.0,-0.0,0.0 -2020,final with candidates,0,GASDRV,GBR,summer.evening,0.16853212584144406,-0.0,0.0 +2020,final with candidates,0,GASDRV,GBR,summer.evening,0.168529625841434,-0.0,0.0 2020,final with candidates,0,GASDRV,GBR,autumn.night,0.0,-0.0,0.0 2020,final with candidates,0,GASDRV,GBR,autumn.day,0.0,-0.0,0.0 -2020,final with candidates,0,GASDRV,GBR,autumn.peak,16.802263906705235,-0.0,0.0 -2020,final with candidates,0,GASDRV,GBR,autumn.evening,150.084751200678,-0.0,0.0 +2020,final with candidates,0,GASDRV,GBR,autumn.peak,0.0,-0.0,0.0 +2020,final with candidates,0,GASDRV,GBR,autumn.evening,163.38645938726435,-0.0,0.0 2020,final with candidates,1,GASPRC,GBR,winter.night,0.0,-0.0,2.220446049250313e-16 -2020,final with candidates,1,GASPRC,GBR,winter.day,174.0668101888282,-0.0,0.0 -2020,final with candidates,1,GASPRC,GBR,winter.peak,106.37240625000001,-0.0,0.0 -2020,final with candidates,1,GASPRC,GBR,winter.evening,141.829876134639,-0.0,0.0 +2020,final with candidates,1,GASPRC,GBR,winter.day,146.06195328510356,-0.0,0.0 +2020,final with candidates,1,GASPRC,GBR,winter.peak,118.1915625,-0.0,0.0 +2020,final with candidates,1,GASPRC,GBR,winter.evening,157.58875126070998,-0.0,0.0 2020,final with candidates,1,GASPRC,GBR,peak.night,0.0,-0.0,2.220446049250313e-16 2020,final with candidates,1,GASPRC,GBR,peak.day,0.0,-0.0,2.220446049250313e-16 -2020,final with candidates,1,GASPRC,GBR,peak.peak,75.37507203921925,-0.0,0.0 -2020,final with candidates,1,GASPRC,GBR,peak.evening,141.829876134639,-0.0,0.0 +2020,final with candidates,1,GASPRC,GBR,peak.peak,57.11136827282769,-0.0,0.0 +2020,final with candidates,1,GASPRC,GBR,peak.evening,157.58875126070998,-0.0,0.0 2020,final with candidates,1,GASPRC,GBR,summer.night,0.0,-0.0,2.220446049250313e-16 2020,final with candidates,1,GASPRC,GBR,summer.day,0.0,-0.0,2.220446049250313e-16 2020,final with candidates,1,GASPRC,GBR,summer.peak,0.0,-0.0,2.220446049250313e-16 -2020,final with candidates,1,GASPRC,GBR,summer.evening,0.1605057150870853,-0.0,0.0 +2020,final with candidates,1,GASPRC,GBR,summer.evening,0.1605032150870752,-0.0,0.0 2020,final with candidates,1,GASPRC,GBR,autumn.night,0.0,-0.0,2.220446049250313e-16 2020,final with candidates,1,GASPRC,GBR,autumn.day,0.0,-0.0,2.220446049250313e-16 -2020,final with candidates,1,GASPRC,GBR,autumn.peak,17.110137181916457,-0.0,0.0 -2020,final with candidates,1,GASPRC,GBR,autumn.evening,141.829876134639,-0.0,0.0 -2020,final with candidates,2,WNDFRM,GBR,winter.night,4.435312795545212,-16.86223303030303,0.0 +2020,final with candidates,1,GASPRC,GBR,autumn.peak,0.0,-0.0,2.220446049250313e-16 +2020,final with candidates,1,GASPRC,GBR,autumn.evening,155.60615060691842,-0.0,0.0 +2020,final with candidates,2,WNDFRM,GBR,winter.night,4.435312795545212,-7.593308999999999,0.0 2020,final with candidates,2,WNDFRM,GBR,winter.day,7.075379933645912,-7.593308999999999,0.0 2020,final with candidates,2,WNDFRM,GBR,winter.peak,1.9712501261051125,-7.593308999999999,0.0 -2020,final with candidates,2,WNDFRM,GBR,winter.evening,2.5696653598405335,-16.86223303030303,0.0 +2020,final with candidates,2,WNDFRM,GBR,winter.evening,2.5696653598405335,-7.593308999999999,0.0 2020,final with candidates,2,WNDFRM,GBR,peak.night,2.851272517283696,-16.86223303030303,0.0 -2020,final with candidates,2,WNDFRM,GBR,peak.day,6.3713620320039785,-16.86223303030303,0.0 -2020,final with candidates,2,WNDFRM,GBR,peak.peak,1.7776452018191917,-16.86223303030303,0.0 +2020,final with candidates,2,WNDFRM,GBR,peak.day,6.3713620320039785,-7.593308999999999,0.0 +2020,final with candidates,2,WNDFRM,GBR,peak.peak,1.7776452018191917,-7.593308999999999,0.0 2020,final with candidates,2,WNDFRM,GBR,peak.evening,1.72484387381507,-16.86223303030303,0.0 2020,final with candidates,2,WNDFRM,GBR,summer.night,1.6368416242136155,-7.593308999999999,0.0 2020,final with candidates,2,WNDFRM,GBR,summer.day,2.90543744625399,-0.0,0.0 2020,final with candidates,2,WNDFRM,GBR,summer.peak,0.9567587035813536,-0.0,0.0 2020,final with candidates,2,WNDFRM,GBR,summer.evening,0.7123818495857518,-0.0,0.0 2020,final with candidates,2,WNDFRM,GBR,autumn.night,3.203281465982185,-16.86223303030303,0.0 -2020,final with candidates,2,WNDFRM,GBR,autumn.day,6.001752635595889,-16.86223303030303,0.0 +2020,final with candidates,2,WNDFRM,GBR,autumn.day,6.001752635595889,-7.593308999999999,0.0 2020,final with candidates,2,WNDFRM,GBR,autumn.peak,1.5488393825638174,-16.86223303030303,0.0 2020,final with candidates,2,WNDFRM,GBR,autumn.evening,1.9008483513729915,-16.86223303030303,0.0 -2020,final with candidates,3,GASCGT,GBR,winter.night,5.02964439799266,-9.26892403030303,0.0 -2020,final with candidates,3,GASCGT,GBR,winter.day,6.673461907429892,-0.0,0.0 -2020,final with candidates,3,GASCGT,GBR,winter.peak,2.1534062306682413,-0.0,0.0 -2020,final with candidates,3,GASCGT,GBR,winter.evening,2.87408252299266,-9.26892403030303,0.0 -2020,final with candidates,3,GASCGT,GBR,peak.night,5.02964439799266,-9.26892403030303,0.0 -2020,final with candidates,3,GASCGT,GBR,peak.day,7.185206272992661,-9.26892403030303,0.0 -2020,final with candidates,3,GASCGT,GBR,peak.peak,2.155561875,-9.26892403030303,0.0 -2020,final with candidates,3,GASCGT,GBR,peak.evening,2.87408252299266,-9.26892403030303,0.0 -2020,final with candidates,3,GASCGT,GBR,summer.night,0.10681182880717066,-0.0,0.0 +2020,final with candidates,3,GASCGT,GBR,winter.night,5.188866559524632,-0.0,0.0 +2020,final with candidates,3,GASCGT,GBR,winter.day,6.67342905326312,-0.0,0.0 +2020,final with candidates,3,GASCGT,GBR,winter.peak,2.153396374418241,-0.0,0.0 +2020,final with candidates,3,GASCGT,GBR,winter.evening,2.9298648312293984,-0.0,0.0 +2020,final with candidates,3,GASCGT,GBR,peak.night,5.5884937755474,-9.26892403030303,0.0 +2020,final with candidates,3,GASCGT,GBR,peak.day,7.3774647114145555,-0.0,0.0 +2020,final with candidates,3,GASCGT,GBR,peak.peak,2.347006181744309,-0.0,0.0 +2020,final with candidates,3,GASCGT,GBR,peak.evening,3.1934250255473997,-9.26892403030303,0.0 +2020,final with candidates,3,GASCGT,GBR,summer.night,0.10678883089039881,-0.0,0.0 2020,final with candidates,3,GASCGT,GBR,summer.day,0.0,-0.0,7.593309 2020,final with candidates,3,GASCGT,GBR,summer.peak,0.0,-0.0,7.593309 2020,final with candidates,3,GASCGT,GBR,summer.evening,0.0,-0.0,7.593309 -2020,final with candidates,3,GASCGT,GBR,autumn.night,5.02964439799266,-9.26892403030303,0.0 -2020,final with candidates,3,GASCGT,GBR,autumn.day,7.185206272992661,-9.26892403030303,0.0 -2020,final with candidates,3,GASCGT,GBR,autumn.peak,2.155561875,-9.26892403030303,0.0 -2020,final with candidates,3,GASCGT,GBR,autumn.evening,2.87408252299266,-9.26892403030303,0.0 -2020,final with candidates,4,RGASBR,GBR,winter.night,32.058953961305214,-0.0,0.0 +2020,final with candidates,3,GASCGT,GBR,autumn.night,5.5884937755474,-9.26892403030303,0.0 +2020,final with candidates,3,GASCGT,GBR,autumn.day,7.747083429990085,-0.0,0.0 +2020,final with candidates,3,GASCGT,GBR,autumn.peak,2.39506875,-9.26892403030303,0.0 +2020,final with candidates,3,GASCGT,GBR,autumn.evening,3.1934250255473997,-9.26892403030303,0.0 +2020,final with candidates,4,RGASBR,GBR,winter.night,31.5763928720666,-0.0,0.0 2020,final with candidates,4,RGASBR,GBR,winter.day,168.06061789586659,-0.0,0.0 2020,final with candidates,4,RGASBR,GBR,winter.peak,90.62497613363998,-0.0,0.0 -2020,final with candidates,4,RGASBR,GBR,winter.evening,54.62252093078633,-0.0,0.0 -2020,final with candidates,4,RGASBR,GBR,peak.night,18.668519679113352,-0.0,0.0 -2020,final with candidates,4,RGASBR,GBR,peak.day,72.04719170177891,-0.0,0.0 -2020,final with candidates,4,RGASBR,GBR,peak.peak,51.268225372725794,-0.0,0.0 -2020,final with candidates,4,RGASBR,GBR,peak.evening,24.39618050324018,-0.0,0.0 +2020,final with candidates,4,RGASBR,GBR,winter.evening,54.4534438098666,-0.0,0.0 +2020,final with candidates,4,RGASBR,GBR,peak.night,16.974967026169374,-0.0,0.0 +2020,final with candidates,4,RGASBR,GBR,peak.day,71.46449081514659,-0.0,0.0 +2020,final with candidates,4,RGASBR,GBR,peak.peak,50.68806124244001,-0.0,0.0 +2020,final with candidates,4,RGASBR,GBR,peak.evening,23.428436126811356,-0.0,0.0 2020,final with candidates,4,RGASBR,GBR,summer.night,0.0,-0.0,3.05874493 2020,final with candidates,4,RGASBR,GBR,summer.day,0.0,-0.0,5.5645369 2020,final with candidates,4,RGASBR,GBR,summer.peak,0.0,-0.0,5.5645369 2020,final with candidates,4,RGASBR,GBR,summer.evening,0.0,-0.0,5.5645369 -2020,final with candidates,4,RGASBR,GBR,autumn.night,9.61343948199643,-0.0,0.0 -2020,final with candidates,4,RGASBR,GBR,autumn.day,51.00206145889507,-0.0,0.0 -2020,final with candidates,4,RGASBR,GBR,autumn.peak,39.31688901441788,-0.0,0.0 -2020,final with candidates,4,RGASBR,GBR,autumn.evening,15.782566556068199,-0.0,0.0 -2020,final with candidates,5,RELCHP,GBR,winter.night,28.68264737742139,-0.0,0.0 +2020,final with candidates,4,RGASBR,GBR,autumn.night,7.919886829052455,-0.0,0.0 +2020,final with candidates,4,RGASBR,GBR,autumn.day,49.2993038493066,-0.0,0.0 +2020,final with candidates,4,RGASBR,GBR,autumn.peak,38.591080737902736,-0.0,0.0 +2020,final with candidates,4,RGASBR,GBR,autumn.evening,14.814822179639375,-0.0,0.0 +2020,final with candidates,5,RELCHP,GBR,winter.night,29.165208466660005,-3.05874493,0.0 2020,final with candidates,5,RELCHP,GBR,winter.day,41.664583466660005,-3.05874493,0.0 2020,final with candidates,5,RELCHP,GBR,winter.peak,12.499375,-3.05874493,0.0 -2020,final with candidates,5,RELCHP,GBR,winter.evening,16.496756345740273,-0.0,0.0 -2020,final with candidates,5,RELCHP,GBR,peak.night,23.882404254973252,-0.0,0.0 -2020,final with candidates,5,RELCHP,GBR,peak.day,41.08188258002768,-0.0,0.0 -2020,final with candidates,5,RELCHP,GBR,peak.peak,11.919210869714215,-0.0,0.0 -2020,final with candidates,5,RELCHP,GBR,peak.evening,13.936626667446427,-0.0,0.0 +2020,final with candidates,5,RELCHP,GBR,winter.evening,16.66583346666,-3.05874493,0.0 +2020,final with candidates,5,RELCHP,GBR,peak.night,25.57595690791723,-0.0,0.0 +2020,final with candidates,5,RELCHP,GBR,peak.day,41.664583466660005,-3.05874493,0.0 +2020,final with candidates,5,RELCHP,GBR,peak.peak,12.499375,-3.05874493,0.0 +2020,final with candidates,5,RELCHP,GBR,peak.evening,14.904371043875251,-0.0,0.0 2020,final with candidates,5,RELCHP,GBR,summer.night,5.2845433694133,-0.0,0.0 2020,final with candidates,5,RELCHP,GBR,summer.day,8.804693885313299,-0.0,0.0 2020,final with candidates,5,RELCHP,GBR,summer.peak,2.89936790818,-0.0,0.0 2020,final with candidates,5,RELCHP,GBR,summer.evening,2.1588094222732996,-0.0,0.0 -2020,final with candidates,5,RELCHP,GBR,autumn.night,24.949124942710178,-0.0,0.0 -2020,final with candidates,5,RELCHP,GBR,autumn.day,39.96182585707153,-0.0,0.0 -2020,final with candidates,5,RELCHP,GBR,autumn.peak,11.225842414802113,-0.0,0.0 -2020,final with candidates,5,RELCHP,GBR,autumn.evening,14.469987021038401,-0.0,0.0 -2020,final with candidates,,GASDRV,GBR,winter.night,6.562500030000001e-6,-0.0,0.0 -2020,final with candidates,,GASDRV,GBR,winter.day,9.375000030000002e-6,-0.0,0.0 -2020,final with candidates,,GASDRV,GBR,winter.peak,2.8125e-6,-0.0,0.0 -2020,final with candidates,,GASDRV,GBR,winter.evening,3.7500000299999996e-6,-0.0,0.0 -2020,final with candidates,,GASDRV,GBR,peak.night,6.562500030000001e-6,-0.0,0.0 -2020,final with candidates,,GASDRV,GBR,peak.day,9.375000030000002e-6,-0.0,0.0 -2020,final with candidates,,GASDRV,GBR,peak.peak,2.8125e-6,-0.0,0.0 -2020,final with candidates,,GASDRV,GBR,peak.evening,3.7500000299999996e-6,-0.0,0.0 -2020,final with candidates,,GASDRV,GBR,summer.night,6.562500030000001e-6,-0.0,0.0 -2020,final with candidates,,GASDRV,GBR,summer.day,9.375000030000002e-6,-0.0,0.0 -2020,final with candidates,,GASDRV,GBR,summer.peak,2.8125e-6,-0.0,0.0 -2020,final with candidates,,GASDRV,GBR,summer.evening,3.7500000299999996e-6,-0.0,0.0 -2020,final with candidates,,GASDRV,GBR,autumn.night,6.562500030000001e-6,-0.0,0.0 -2020,final with candidates,,GASDRV,GBR,autumn.day,9.375000030000002e-6,-0.0,0.0 -2020,final with candidates,,GASDRV,GBR,autumn.peak,2.8125e-6,-0.0,0.0 -2020,final with candidates,,GASDRV,GBR,autumn.evening,3.7500000299999996e-6,-0.0,0.0 -2020,final with candidates,,GASPRC,GBR,winter.night,6.562500030000001e-6,-0.0,0.0 -2020,final with candidates,,GASPRC,GBR,winter.day,9.375000030000002e-6,-0.0,0.0 -2020,final with candidates,,GASPRC,GBR,winter.peak,2.8125e-6,-0.0,0.0 -2020,final with candidates,,GASPRC,GBR,winter.evening,3.7500000299999996e-6,-0.0,0.0 -2020,final with candidates,,GASPRC,GBR,peak.night,6.562500030000001e-6,-0.0,0.0 -2020,final with candidates,,GASPRC,GBR,peak.day,9.375000030000002e-6,-0.0,0.0 -2020,final with candidates,,GASPRC,GBR,peak.peak,2.8125e-6,-0.0,0.0 -2020,final with candidates,,GASPRC,GBR,peak.evening,3.7500000299999996e-6,-0.0,0.0 -2020,final with candidates,,GASPRC,GBR,summer.night,6.562500030000001e-6,-0.0,0.0 -2020,final with candidates,,GASPRC,GBR,summer.day,9.375000030000002e-6,-0.0,0.0 -2020,final with candidates,,GASPRC,GBR,summer.peak,2.8125e-6,-0.0,0.0 -2020,final with candidates,,GASPRC,GBR,summer.evening,3.7500000299999996e-6,-0.0,0.0 -2020,final with candidates,,GASPRC,GBR,autumn.night,6.562500030000001e-6,-0.0,0.0 -2020,final with candidates,,GASPRC,GBR,autumn.day,9.375000030000002e-6,-0.0,0.0 -2020,final with candidates,,GASPRC,GBR,autumn.peak,2.8125e-6,-0.0,0.0 -2020,final with candidates,,GASPRC,GBR,autumn.evening,3.7500000299999996e-6,-0.0,0.0 -2020,final with candidates,,WNDFRM,GBR,winter.night,0.00011186601025274165,-16.86223303030303,0.0 +2020,final with candidates,5,RELCHP,GBR,autumn.night,26.642677595654153,-0.0,0.0 +2020,final with candidates,5,RELCHP,GBR,autumn.day,41.664583466660005,-3.05874493,0.0 +2020,final with candidates,5,RELCHP,GBR,autumn.peak,11.951650691317264,-0.0,0.0 +2020,final with candidates,5,RELCHP,GBR,autumn.evening,15.437731397467225,-0.0,0.0 +2020,final with candidates,,GASDRV,GBR,winter.night,7.291666700000001e-6,-0.0,0.0 +2020,final with candidates,,GASDRV,GBR,winter.day,0.000010416666700000001,-0.0,0.0 +2020,final with candidates,,GASDRV,GBR,winter.peak,3.125e-6,-0.0,0.0 +2020,final with candidates,,GASDRV,GBR,winter.evening,4.1666667e-6,-0.0,0.0 +2020,final with candidates,,GASDRV,GBR,peak.night,7.291666700000001e-6,-0.0,0.0 +2020,final with candidates,,GASDRV,GBR,peak.day,0.000010416666700000001,-0.0,0.0 +2020,final with candidates,,GASDRV,GBR,peak.peak,3.125e-6,-0.0,0.0 +2020,final with candidates,,GASDRV,GBR,peak.evening,4.1666667e-6,-0.0,0.0 +2020,final with candidates,,GASDRV,GBR,summer.night,7.291666700000001e-6,-0.0,0.0 +2020,final with candidates,,GASDRV,GBR,summer.day,0.000010416666700000001,-0.0,0.0 +2020,final with candidates,,GASDRV,GBR,summer.peak,3.125e-6,-0.0,0.0 +2020,final with candidates,,GASDRV,GBR,summer.evening,4.1666667e-6,-0.0,0.0 +2020,final with candidates,,GASDRV,GBR,autumn.night,7.291666700000001e-6,-0.0,0.0 +2020,final with candidates,,GASDRV,GBR,autumn.day,0.000010416666700000001,-0.0,0.0 +2020,final with candidates,,GASDRV,GBR,autumn.peak,3.125e-6,-0.0,0.0 +2020,final with candidates,,GASDRV,GBR,autumn.evening,4.1666667e-6,-0.0,0.0 +2020,final with candidates,,GASPRC,GBR,winter.night,7.291666700000001e-6,-0.0,0.0 +2020,final with candidates,,GASPRC,GBR,winter.day,0.000010416666700000001,-0.0,0.0 +2020,final with candidates,,GASPRC,GBR,winter.peak,3.125e-6,-0.0,0.0 +2020,final with candidates,,GASPRC,GBR,winter.evening,4.1666667e-6,-0.0,0.0 +2020,final with candidates,,GASPRC,GBR,peak.night,7.291666700000001e-6,-0.0,0.0 +2020,final with candidates,,GASPRC,GBR,peak.day,0.000010416666700000001,-0.0,0.0 +2020,final with candidates,,GASPRC,GBR,peak.peak,3.125e-6,-0.0,0.0 +2020,final with candidates,,GASPRC,GBR,peak.evening,4.1666667e-6,-0.0,0.0 +2020,final with candidates,,GASPRC,GBR,summer.night,7.291666700000001e-6,-0.0,0.0 +2020,final with candidates,,GASPRC,GBR,summer.day,0.000010416666700000001,-0.0,0.0 +2020,final with candidates,,GASPRC,GBR,summer.peak,3.125e-6,-0.0,0.0 +2020,final with candidates,,GASPRC,GBR,summer.evening,4.1666667e-6,-0.0,0.0 +2020,final with candidates,,GASPRC,GBR,autumn.night,7.291666700000001e-6,-0.0,0.0 +2020,final with candidates,,GASPRC,GBR,autumn.day,0.000010416666700000001,-0.0,0.0 +2020,final with candidates,,GASPRC,GBR,autumn.peak,3.125e-6,-0.0,0.0 +2020,final with candidates,,GASPRC,GBR,autumn.evening,4.1666667e-6,-0.0,0.0 +2020,final with candidates,,WNDFRM,GBR,winter.night,0.00011186601025274165,-7.593308999999999,0.0 2020,final with candidates,,WNDFRM,GBR,winter.day,0.00017845292106438267,-7.593308999999999,0.0 2020,final with candidates,,WNDFRM,GBR,winter.peak,0.000049718226646625005,-7.593308999999999,0.0 -2020,final with candidates,,WNDFRM,GBR,winter.evening,0.00006481126016157341,-16.86223303030303,0.0 +2020,final with candidates,,WNDFRM,GBR,winter.evening,0.00006481126016157341,-7.593308999999999,0.0 2020,final with candidates,,WNDFRM,GBR,peak.night,0.00007191386388174911,-16.86223303030303,0.0 -2020,final with candidates,,WNDFRM,GBR,peak.day,0.00016069641156131185,-16.86223303030303,0.0 -2020,final with candidates,,WNDFRM,GBR,peak.peak,0.000044835186499625,-16.86223303030303,0.0 +2020,final with candidates,,WNDFRM,GBR,peak.day,0.00016069641156131185,-7.593308999999999,0.0 +2020,final with candidates,,WNDFRM,GBR,peak.peak,0.000044835186499625,-7.593308999999999,0.0 2020,final with candidates,,WNDFRM,GBR,peak.evening,0.00004350344865561091,-16.86223303030303,0.0 2020,final with candidates,,WNDFRM,GBR,summer.night,0.00004128388466768467,-7.593308999999999,0.0 2020,final with candidates,,WNDFRM,GBR,summer.day,0.00011497339941020655,-0.0,0.0 2020,final with candidates,,WNDFRM,GBR,summer.peak,0.0000337373680464375,-0.0,0.0 2020,final with candidates,,WNDFRM,GBR,summer.evening,0.000026634764448161445,-0.0,0.0 2020,final with candidates,,WNDFRM,GBR,autumn.night,0.00008079211857975206,-16.86223303030303,0.0 -2020,final with candidates,,WNDFRM,GBR,autumn.day,0.00015137424412148091,-16.86223303030303,0.0 +2020,final with candidates,,WNDFRM,GBR,autumn.day,0.00015137424412148091,-7.593308999999999,0.0 2020,final with candidates,,WNDFRM,GBR,autumn.peak,0.000039064320880312505,-16.86223303030303,0.0 2020,final with candidates,,WNDFRM,GBR,autumn.evening,0.0000479425760855406,-16.86223303030303,0.0 -2020,final with candidates,,GASCGT,GBR,winter.night,0.0002069812509462,-9.26892403030303,0.0 -2020,final with candidates,,GASCGT,GBR,winter.day,0.00029568750094620004,-0.0,0.0 -2020,final with candidates,,GASCGT,GBR,winter.peak,0.00008870625,-0.0,0.0 -2020,final with candidates,,GASCGT,GBR,winter.evening,0.00011827500094619999,-9.26892403030303,0.0 -2020,final with candidates,,GASCGT,GBR,peak.night,0.0002069812509462,-9.26892403030303,0.0 -2020,final with candidates,,GASCGT,GBR,peak.day,0.00029568750094620004,-9.26892403030303,0.0 -2020,final with candidates,,GASCGT,GBR,peak.peak,0.00008870625,-9.26892403030303,0.0 -2020,final with candidates,,GASCGT,GBR,peak.evening,0.00011827500094619999,-9.26892403030303,0.0 -2020,final with candidates,,GASCGT,GBR,summer.night,0.0002069812509462,-0.0,0.0 +2020,final with candidates,,GASCGT,GBR,winter.night,0.00022997916771800003,-0.0,0.0 +2020,final with candidates,,GASCGT,GBR,winter.day,0.00032854166771800004,-0.0,0.0 +2020,final with candidates,,GASCGT,GBR,winter.peak,0.0000985625,-0.0,0.0 +2020,final with candidates,,GASCGT,GBR,winter.evening,0.000131416667718,-0.0,0.0 +2020,final with candidates,,GASCGT,GBR,peak.night,0.00022997916771800003,-9.26892403030303,0.0 +2020,final with candidates,,GASCGT,GBR,peak.day,0.00032854166771800004,-0.0,0.0 +2020,final with candidates,,GASCGT,GBR,peak.peak,0.0000985625,-0.0,0.0 +2020,final with candidates,,GASCGT,GBR,peak.evening,0.000131416667718,-9.26892403030303,0.0 +2020,final with candidates,,GASCGT,GBR,summer.night,0.00022997916771800003,-0.0,0.0 2020,final with candidates,,GASCGT,GBR,summer.day,0.0,-0.0,7.593309 2020,final with candidates,,GASCGT,GBR,summer.peak,0.0,-0.0,7.593309 2020,final with candidates,,GASCGT,GBR,summer.evening,0.0,-0.0,7.593309 -2020,final with candidates,,GASCGT,GBR,autumn.night,0.0002069812509462,-9.26892403030303,0.0 -2020,final with candidates,,GASCGT,GBR,autumn.day,0.00029568750094620004,-9.26892403030303,0.0 -2020,final with candidates,,GASCGT,GBR,autumn.peak,0.00008870625,-9.26892403030303,0.0 -2020,final with candidates,,GASCGT,GBR,autumn.evening,0.00011827500094619999,-9.26892403030303,0.0 +2020,final with candidates,,GASCGT,GBR,autumn.night,0.00022997916771800003,-9.26892403030303,0.0 +2020,final with candidates,,GASCGT,GBR,autumn.day,0.00032854166771800004,-0.0,0.0 +2020,final with candidates,,GASCGT,GBR,autumn.peak,0.0000985625,-9.26892403030303,0.0 +2020,final with candidates,,GASCGT,GBR,autumn.evening,0.000131416667718,-9.26892403030303,0.0 2020,final with candidates,,RGASBR,GBR,winter.night,7.291666700000001e-6,-0.0,0.0 2020,final with candidates,,RGASBR,GBR,winter.day,0.000010416666700000001,-0.0,0.0 2020,final with candidates,,RGASBR,GBR,winter.peak,3.125e-6,-0.0,0.0 @@ -271,52 +271,52 @@ milestone_year,run_description,asset_id,process_id,region_id,time_slice,activity 2020,final with candidates,,RGASBR,GBR,autumn.day,0.000010416666700000001,-0.0,0.0 2020,final with candidates,,RGASBR,GBR,autumn.peak,3.125e-6,-0.0,0.0 2020,final with candidates,,RGASBR,GBR,autumn.evening,4.1666667e-6,-0.0,0.0 -2020,final with candidates,,RELCHP,GBR,winter.night,7.291666700000001e-6,-0.0,0.0 +2020,final with candidates,,RELCHP,GBR,winter.night,7.291666700000001e-6,-3.05874493,0.0 2020,final with candidates,,RELCHP,GBR,winter.day,0.000010416666700000001,-3.05874493,0.0 2020,final with candidates,,RELCHP,GBR,winter.peak,3.125e-6,-3.05874493,0.0 -2020,final with candidates,,RELCHP,GBR,winter.evening,4.1666667e-6,-0.0,0.0 +2020,final with candidates,,RELCHP,GBR,winter.evening,4.1666667e-6,-3.05874493,0.0 2020,final with candidates,,RELCHP,GBR,peak.night,7.291666700000001e-6,-0.0,0.0 -2020,final with candidates,,RELCHP,GBR,peak.day,0.000010416666700000001,-0.0,0.0 -2020,final with candidates,,RELCHP,GBR,peak.peak,3.125e-6,-0.0,0.0 +2020,final with candidates,,RELCHP,GBR,peak.day,0.000010416666700000001,-3.05874493,0.0 +2020,final with candidates,,RELCHP,GBR,peak.peak,3.125e-6,-3.05874493,0.0 2020,final with candidates,,RELCHP,GBR,peak.evening,4.1666667e-6,-0.0,0.0 2020,final with candidates,,RELCHP,GBR,summer.night,7.291666700000001e-6,-0.0,0.0 2020,final with candidates,,RELCHP,GBR,summer.day,0.000010416666700000001,-0.0,0.0 2020,final with candidates,,RELCHP,GBR,summer.peak,3.125e-6,-0.0,0.0 2020,final with candidates,,RELCHP,GBR,summer.evening,4.1666667e-6,-0.0,0.0 2020,final with candidates,,RELCHP,GBR,autumn.night,7.291666700000001e-6,-0.0,0.0 -2020,final with candidates,,RELCHP,GBR,autumn.day,0.000010416666700000001,-0.0,0.0 +2020,final with candidates,,RELCHP,GBR,autumn.day,0.000010416666700000001,-3.05874493,0.0 2020,final with candidates,,RELCHP,GBR,autumn.peak,3.125e-6,-0.0,0.0 2020,final with candidates,,RELCHP,GBR,autumn.evening,4.1666667e-6,-0.0,0.0 -2030,ironing out iteration 0; post RSHEAT|GBR investment,5,RELCHP,GBR,winter.night,0.0,-0.0,0.0 +2030,ironing out iteration 0; post RSHEAT|GBR investment,5,RELCHP,GBR,winter.night,29.165208466660005,-3.05874493,0.0 2030,ironing out iteration 0; post RSHEAT|GBR investment,5,RELCHP,GBR,winter.day,41.664583466660005,-3.05874493,0.0 2030,ironing out iteration 0; post RSHEAT|GBR investment,5,RELCHP,GBR,winter.peak,12.499375,-3.05874493,0.0 -2030,ironing out iteration 0; post RSHEAT|GBR investment,5,RELCHP,GBR,winter.evening,0.0,-0.0,0.0 +2030,ironing out iteration 0; post RSHEAT|GBR investment,5,RELCHP,GBR,winter.evening,16.66583346666,-3.05874493,0.0 2030,ironing out iteration 0; post RSHEAT|GBR investment,5,RELCHP,GBR,peak.night,0.0,-0.0,0.0 -2030,ironing out iteration 0; post RSHEAT|GBR investment,5,RELCHP,GBR,peak.day,0.0,-0.0,0.0 -2030,ironing out iteration 0; post RSHEAT|GBR investment,5,RELCHP,GBR,peak.peak,0.0,-0.0,0.0 +2030,ironing out iteration 0; post RSHEAT|GBR investment,5,RELCHP,GBR,peak.day,41.664583466660005,-3.05874493,0.0 +2030,ironing out iteration 0; post RSHEAT|GBR investment,5,RELCHP,GBR,peak.peak,12.499375,-3.05874493,0.0 2030,ironing out iteration 0; post RSHEAT|GBR investment,5,RELCHP,GBR,peak.evening,0.0,-0.0,0.0 2030,ironing out iteration 0; post RSHEAT|GBR investment,5,RELCHP,GBR,summer.night,5.85438726108,-0.0,0.0 2030,ironing out iteration 0; post RSHEAT|GBR investment,5,RELCHP,GBR,summer.day,9.75412140198,-0.0,0.0 2030,ironing out iteration 0; post RSHEAT|GBR investment,5,RELCHP,GBR,summer.peak,3.2120121331800005,-0.0,0.0 2030,ironing out iteration 0; post RSHEAT|GBR investment,5,RELCHP,GBR,summer.evening,2.39159988894,-0.0,0.0 2030,ironing out iteration 0; post RSHEAT|GBR investment,5,RELCHP,GBR,autumn.night,0.0,-0.0,0.0 -2030,ironing out iteration 0; post RSHEAT|GBR investment,5,RELCHP,GBR,autumn.day,0.0,-0.0,0.0 +2030,ironing out iteration 0; post RSHEAT|GBR investment,5,RELCHP,GBR,autumn.day,41.664583466660005,-3.05874493,0.0 2030,ironing out iteration 0; post RSHEAT|GBR investment,5,RELCHP,GBR,autumn.peak,0.0,-0.0,0.0 2030,ironing out iteration 0; post RSHEAT|GBR investment,5,RELCHP,GBR,autumn.evening,0.0,-0.0,0.0 -2030,ironing out iteration 0; post RSHEAT|GBR investment,4,RGASBR,GBR,winter.night,41.344874074953836,-0.0,0.0 +2030,ironing out iteration 0; post RSHEAT|GBR investment,4,RGASBR,GBR,winter.night,12.179665608293831,-0.0,0.0 2030,ironing out iteration 0; post RSHEAT|GBR investment,4,RGASBR,GBR,winter.day,153.60894769845382,-0.0,0.0 2030,ironing out iteration 0; post RSHEAT|GBR investment,4,RGASBR,GBR,winter.peak,90.625,-0.0,0.0 -2030,ironing out iteration 0; post RSHEAT|GBR investment,4,RGASBR,GBR,winter.evening,63.96152494639385,-0.0,0.0 +2030,ironing out iteration 0; post RSHEAT|GBR investment,4,RGASBR,GBR,winter.evening,47.29569147973385,-0.0,0.0 2030,ironing out iteration 0; post RSHEAT|GBR investment,4,RGASBR,GBR,peak.night,21.192683870313836,-0.0,0.0 -2030,ironing out iteration 0; post RSHEAT|GBR investment,4,RGASBR,GBR,peak.day,88.26137968439382,-0.0,0.0 -2030,ironing out iteration 0; post RSHEAT|GBR investment,4,RGASBR,GBR,peak.peak,58.881036108800004,-0.0,0.0 +2030,ironing out iteration 0; post RSHEAT|GBR investment,4,RGASBR,GBR,peak.day,46.59679621773381,-0.0,0.0 +2030,ironing out iteration 0; post RSHEAT|GBR investment,4,RGASBR,GBR,peak.peak,46.3816611088,-0.0,0.0 2030,ironing out iteration 0; post RSHEAT|GBR investment,4,RGASBR,GBR,peak.evening,27.63966804055385,-0.0,0.0 2030,ironing out iteration 0; post RSHEAT|GBR investment,4,RGASBR,GBR,summer.night,0.0,-0.0,3.05874493 2030,ironing out iteration 0; post RSHEAT|GBR investment,4,RGASBR,GBR,summer.day,0.0,-0.0,5.5645369 2030,ironing out iteration 0; post RSHEAT|GBR investment,4,RGASBR,GBR,summer.peak,0.0,-0.0,5.5645369 2030,ironing out iteration 0; post RSHEAT|GBR investment,4,RGASBR,GBR,summer.evening,0.0,-0.0,5.5645369 2030,ironing out iteration 0; post RSHEAT|GBR investment,4,RGASBR,GBR,autumn.night,12.342934260933838,-0.0,0.0 -2030,ironing out iteration 0; post RSHEAT|GBR investment,4,RGASBR,GBR,autumn.day,63.70610591855383,-0.0,0.0 +2030,ironing out iteration 0; post RSHEAT|GBR investment,4,RGASBR,GBR,autumn.day,22.041522451893826,-0.0,0.0 2030,ironing out iteration 0; post RSHEAT|GBR investment,4,RGASBR,GBR,autumn.peak,44.87284439557999,-0.0,0.0 2030,ironing out iteration 0; post RSHEAT|GBR investment,4,RGASBR,GBR,autumn.evening,18.688115346973845,-0.0,0.0 2030,ironing out iteration 0; post RSHEAT|GBR investment,,RGASBR,GBR,winter.night,25.94655054710617,-0.0,0.0 @@ -335,43 +335,43 @@ milestone_year,run_description,asset_id,process_id,region_id,time_slice,activity 2030,ironing out iteration 0; post RSHEAT|GBR investment,,RGASBR,GBR,autumn.day,37.066500730746185,-0.0,0.0 2030,ironing out iteration 0; post RSHEAT|GBR investment,,RGASBR,GBR,autumn.peak,11.119950183640015,-0.0,0.0 2030,ironing out iteration 0; post RSHEAT|GBR investment,,RGASBR,GBR,autumn.evening,14.826600363466154,-0.0,0.0 -2030,ironing out iteration 0; post ELCTRI|GBR investment,5,RELCHP,GBR,winter.night,28.681688465266276,-0.0,0.0 +2030,ironing out iteration 0; post ELCTRI|GBR investment,5,RELCHP,GBR,winter.night,29.165208466660005,-3.05874493,0.0 2030,ironing out iteration 0; post ELCTRI|GBR investment,5,RELCHP,GBR,winter.day,41.664583466660005,-3.05874493,0.0 2030,ironing out iteration 0; post ELCTRI|GBR investment,5,RELCHP,GBR,winter.peak,12.499375,-3.05874493,0.0 -2030,ironing out iteration 0; post ELCTRI|GBR investment,5,RELCHP,GBR,winter.evening,16.49620570555513,-0.0,0.0 -2030,ironing out iteration 0; post ELCTRI|GBR investment,5,RELCHP,GBR,peak.night,23.881566409928354,-0.0,0.0 -2030,ironing out iteration 0; post ELCTRI|GBR investment,5,RELCHP,GBR,peak.day,41.08051001514133,-0.0,0.0 -2030,ironing out iteration 0; post ELCTRI|GBR investment,5,RELCHP,GBR,peak.peak,11.91880932369452,-0.0,0.0 -2030,ironing out iteration 0; post ELCTRI|GBR investment,5,RELCHP,GBR,peak.evening,13.93614059638706,-0.0,0.0 +2030,ironing out iteration 0; post ELCTRI|GBR investment,5,RELCHP,GBR,winter.evening,16.66583346666,-3.05874493,0.0 +2030,ironing out iteration 0; post ELCTRI|GBR investment,5,RELCHP,GBR,peak.night,25.575049372215442,-0.0,0.0 +2030,ironing out iteration 0; post ELCTRI|GBR investment,5,RELCHP,GBR,peak.day,41.664583466660005,-3.05874493,0.0 +2030,ironing out iteration 0; post ELCTRI|GBR investment,5,RELCHP,GBR,peak.peak,12.499375,-3.05874493,0.0 +2030,ironing out iteration 0; post ELCTRI|GBR investment,5,RELCHP,GBR,peak.evening,14.903845149583242,-0.0,0.0 2030,ironing out iteration 0; post ELCTRI|GBR investment,5,RELCHP,GBR,summer.night,5.85438726108,-0.0,0.0 2030,ironing out iteration 0; post ELCTRI|GBR investment,5,RELCHP,GBR,summer.day,9.75412140198,-0.0,0.0 2030,ironing out iteration 0; post ELCTRI|GBR investment,5,RELCHP,GBR,summer.peak,3.2120121331800005,-0.0,0.0 2030,ironing out iteration 0; post ELCTRI|GBR investment,5,RELCHP,GBR,summer.evening,2.39159988894,-0.0,0.0 -2030,ironing out iteration 0; post ELCTRI|GBR investment,5,RELCHP,GBR,autumn.night,24.948260193863167,-0.0,0.0 -2030,ironing out iteration 0; post ELCTRI|GBR investment,5,RELCHP,GBR,autumn.day,39.96048154117742,-0.0,0.0 -2030,ironing out iteration 0; post ELCTRI|GBR investment,5,RELCHP,GBR,autumn.peak,11.225458356253991,-0.0,0.0 -2030,ironing out iteration 0; post ELCTRI|GBR investment,5,RELCHP,GBR,autumn.evening,14.469487498077731,-0.0,0.0 -2030,ironing out iteration 0; post ELCTRI|GBR investment,4,RGASBR,GBR,winter.night,12.66318560968756,-0.0,0.0 +2030,ironing out iteration 0; post ELCTRI|GBR investment,5,RELCHP,GBR,autumn.night,26.641743156150255,-0.0,0.0 +2030,ironing out iteration 0; post ELCTRI|GBR investment,5,RELCHP,GBR,autumn.day,41.664583466660005,-3.05874493,0.0 +2030,ironing out iteration 0; post ELCTRI|GBR investment,5,RELCHP,GBR,autumn.peak,11.9512367653449,-0.0,0.0 +2030,ironing out iteration 0; post ELCTRI|GBR investment,5,RELCHP,GBR,autumn.evening,15.437192051273913,-0.0,0.0 +2030,ironing out iteration 0; post ELCTRI|GBR investment,4,RGASBR,GBR,winter.night,12.179665608293831,-0.0,0.0 2030,ironing out iteration 0; post ELCTRI|GBR investment,4,RGASBR,GBR,winter.day,153.60894769845382,-0.0,0.0 2030,ironing out iteration 0; post ELCTRI|GBR investment,4,RGASBR,GBR,winter.peak,90.625,-0.0,0.0 -2030,ironing out iteration 0; post ELCTRI|GBR investment,4,RGASBR,GBR,winter.evening,47.465319240838724,-0.0,0.0 +2030,ironing out iteration 0; post ELCTRI|GBR investment,4,RGASBR,GBR,winter.evening,47.29569147973385,-0.0,0.0 2030,ironing out iteration 0; post ELCTRI|GBR investment,4,RGASBR,GBR,peak.night,0.0,-0.0,0.0 -2030,ironing out iteration 0; post ELCTRI|GBR investment,4,RGASBR,GBR,peak.day,47.18086966925249,-0.0,0.0 -2030,ironing out iteration 0; post ELCTRI|GBR investment,4,RGASBR,GBR,peak.peak,46.962226785105486,-0.0,0.0 -2030,ironing out iteration 0; post ELCTRI|GBR investment,4,RGASBR,GBR,peak.evening,13.70352744416679,-0.0,0.0 +2030,ironing out iteration 0; post ELCTRI|GBR investment,4,RGASBR,GBR,peak.day,46.59679621773381,-0.0,0.0 +2030,ironing out iteration 0; post ELCTRI|GBR investment,4,RGASBR,GBR,peak.peak,46.3816611088,-0.0,0.0 +2030,ironing out iteration 0; post ELCTRI|GBR investment,4,RGASBR,GBR,peak.evening,12.735822890970612,-0.0,0.0 2030,ironing out iteration 0; post ELCTRI|GBR investment,4,RGASBR,GBR,summer.night,0.0,-0.0,3.05874493 2030,ironing out iteration 0; post ELCTRI|GBR investment,4,RGASBR,GBR,summer.day,0.0,-0.0,5.5645369 2030,ironing out iteration 0; post ELCTRI|GBR investment,4,RGASBR,GBR,summer.peak,0.0,-0.0,5.5645369 2030,ironing out iteration 0; post ELCTRI|GBR investment,4,RGASBR,GBR,summer.evening,0.0,-0.0,5.5645369 2030,ironing out iteration 0; post ELCTRI|GBR investment,4,RGASBR,GBR,autumn.night,0.0,-0.0,0.0 -2030,ironing out iteration 0; post ELCTRI|GBR investment,4,RGASBR,GBR,autumn.day,23.74562437737641,-0.0,0.0 -2030,ironing out iteration 0; post ELCTRI|GBR investment,4,RGASBR,GBR,autumn.peak,33.647386039325994,-0.0,0.0 -2030,ironing out iteration 0; post ELCTRI|GBR investment,4,RGASBR,GBR,autumn.evening,4.218627848896114,-0.0,0.0 +2030,ironing out iteration 0; post ELCTRI|GBR investment,4,RGASBR,GBR,autumn.day,22.041522451893826,-0.0,0.0 +2030,ironing out iteration 0; post ELCTRI|GBR investment,4,RGASBR,GBR,autumn.peak,32.92160763023509,-0.0,0.0 +2030,ironing out iteration 0; post ELCTRI|GBR investment,4,RGASBR,GBR,autumn.evening,3.250923295699936,-0.0,0.0 2030,ironing out iteration 0; post ELCTRI|GBR investment,,RGASBR,GBR,winter.night,25.94655054710617,-0.0,0.0 2030,ironing out iteration 0; post ELCTRI|GBR investment,,RGASBR,GBR,winter.day,37.066500730746185,-0.0,0.0 2030,ironing out iteration 0; post ELCTRI|GBR investment,,RGASBR,GBR,winter.peak,11.119950183640015,-0.0,0.0 2030,ironing out iteration 0; post ELCTRI|GBR investment,,RGASBR,GBR,winter.evening,14.826600363466154,-0.0,0.0 -2030,ironing out iteration 0; post ELCTRI|GBR investment,,RGASBR,GBR,peak.night,23.257668007491652,-0.0,0.0 +2030,ironing out iteration 0; post ELCTRI|GBR investment,,RGASBR,GBR,peak.night,21.564185045204564,-0.0,0.0 2030,ironing out iteration 0; post ELCTRI|GBR investment,,RGASBR,GBR,peak.day,37.066500730746185,-0.0,0.0 2030,ironing out iteration 0; post ELCTRI|GBR investment,,RGASBR,GBR,peak.peak,11.119950183640015,-0.0,0.0 2030,ironing out iteration 0; post ELCTRI|GBR investment,,RGASBR,GBR,peak.evening,14.826600363466154,-0.0,0.0 @@ -379,79 +379,79 @@ milestone_year,run_description,asset_id,process_id,region_id,time_slice,activity 2030,ironing out iteration 0; post ELCTRI|GBR investment,,RGASBR,GBR,summer.day,0.0,-0.0,5.5645369 2030,ironing out iteration 0; post ELCTRI|GBR investment,,RGASBR,GBR,summer.peak,0.0,-0.0,5.5645369 2030,ironing out iteration 0; post ELCTRI|GBR investment,,RGASBR,GBR,summer.evening,0.0,-0.0,5.5645369 -2030,ironing out iteration 0; post ELCTRI|GBR investment,,RGASBR,GBR,autumn.night,13.341224614176841,-0.0,0.0 +2030,ironing out iteration 0; post ELCTRI|GBR investment,,RGASBR,GBR,autumn.night,11.647741651889753,-0.0,0.0 2030,ironing out iteration 0; post ELCTRI|GBR investment,,RGASBR,GBR,autumn.day,37.066500730746185,-0.0,0.0 2030,ironing out iteration 0; post ELCTRI|GBR investment,,RGASBR,GBR,autumn.peak,11.119950183640015,-0.0,0.0 2030,ironing out iteration 0; post ELCTRI|GBR investment,,RGASBR,GBR,autumn.evening,14.826600363466154,-0.0,0.0 -2030,ironing out iteration 0; post ELCTRI|GBR investment,2,WNDFRM,GBR,winter.night,4.435312795545212,-16.86223303030303,0.0 +2030,ironing out iteration 0; post ELCTRI|GBR investment,2,WNDFRM,GBR,winter.night,4.435312795545212,-7.593308999999999,0.0 2030,ironing out iteration 0; post ELCTRI|GBR investment,2,WNDFRM,GBR,winter.day,7.075379933645912,-7.593308999999999,0.0 2030,ironing out iteration 0; post ELCTRI|GBR investment,2,WNDFRM,GBR,winter.peak,1.9712501261051125,-7.593308999999999,0.0 -2030,ironing out iteration 0; post ELCTRI|GBR investment,2,WNDFRM,GBR,winter.evening,2.5696653598405335,-16.86223303030303,0.0 +2030,ironing out iteration 0; post ELCTRI|GBR investment,2,WNDFRM,GBR,winter.evening,2.5696653598405335,-7.593308999999999,0.0 2030,ironing out iteration 0; post ELCTRI|GBR investment,2,WNDFRM,GBR,peak.night,2.851272517283696,-16.86223303030303,0.0 -2030,ironing out iteration 0; post ELCTRI|GBR investment,2,WNDFRM,GBR,peak.day,6.3713620320039785,-16.86223303030303,0.0 -2030,ironing out iteration 0; post ELCTRI|GBR investment,2,WNDFRM,GBR,peak.peak,1.7776452018191917,-16.86223303030303,0.0 +2030,ironing out iteration 0; post ELCTRI|GBR investment,2,WNDFRM,GBR,peak.day,6.3713620320039785,-7.593308999999999,0.0 +2030,ironing out iteration 0; post ELCTRI|GBR investment,2,WNDFRM,GBR,peak.peak,1.7776452018191917,-7.593308999999999,0.0 2030,ironing out iteration 0; post ELCTRI|GBR investment,2,WNDFRM,GBR,peak.evening,1.72484387381507,-16.86223303030303,0.0 2030,ironing out iteration 0; post ELCTRI|GBR investment,2,WNDFRM,GBR,summer.night,1.6368416242136155,-7.593308999999999,0.0 2030,ironing out iteration 0; post ELCTRI|GBR investment,2,WNDFRM,GBR,summer.day,3.2188600626534005,-0.0,0.0 2030,ironing out iteration 0; post ELCTRI|GBR investment,2,WNDFRM,GBR,summer.peak,1.0599640039494003,-0.0,0.0 2030,ironing out iteration 0; post ELCTRI|GBR investment,2,WNDFRM,GBR,summer.evening,0.7892279633502001,-0.0,0.0 2030,ironing out iteration 0; post ELCTRI|GBR investment,2,WNDFRM,GBR,autumn.night,3.203281465982185,-16.86223303030303,0.0 -2030,ironing out iteration 0; post ELCTRI|GBR investment,2,WNDFRM,GBR,autumn.day,6.001752635595889,-16.86223303030303,0.0 +2030,ironing out iteration 0; post ELCTRI|GBR investment,2,WNDFRM,GBR,autumn.day,6.001752635595889,-7.593308999999999,0.0 2030,ironing out iteration 0; post ELCTRI|GBR investment,2,WNDFRM,GBR,autumn.peak,1.5488393825638174,-16.86223303030303,0.0 2030,ironing out iteration 0; post ELCTRI|GBR investment,2,WNDFRM,GBR,autumn.evening,1.9008483513729915,-16.86223303030303,0.0 -2030,ironing out iteration 0; post ELCTRI|GBR investment,3,GASCGT,GBR,winter.night,5.02964439799266,-9.26892403030303,0.0 +2030,ironing out iteration 0; post ELCTRI|GBR investment,3,GASCGT,GBR,winter.night,5.189205998452591,-0.0,0.0 2030,ironing out iteration 0; post ELCTRI|GBR investment,3,GASCGT,GBR,winter.day,6.6739326103518914,-0.0,0.0 2030,ironing out iteration 0; post ELCTRI|GBR investment,3,GASCGT,GBR,winter.peak,2.1535436238948877,-0.0,0.0 -2030,ironing out iteration 0; post ELCTRI|GBR investment,3,GASCGT,GBR,winter.evening,2.87408252299266,-9.26892403030303,0.0 -2030,ironing out iteration 0; post ELCTRI|GBR investment,3,GASCGT,GBR,peak.night,5.02964439799266,-9.26892403030303,0.0 -2030,ironing out iteration 0; post ELCTRI|GBR investment,3,GASCGT,GBR,peak.day,7.185206272992661,-9.26892403030303,0.0 -2030,ironing out iteration 0; post ELCTRI|GBR investment,3,GASCGT,GBR,peak.peak,2.155561875,-9.26892403030303,0.0 -2030,ironing out iteration 0; post ELCTRI|GBR investment,3,GASCGT,GBR,peak.evening,2.87408252299266,-9.26892403030303,0.0 +2030,ironing out iteration 0; post ELCTRI|GBR investment,3,GASCGT,GBR,winter.evening,2.9300596841572673,-0.0,0.0 +2030,ironing out iteration 0; post ELCTRI|GBR investment,3,GASCGT,GBR,peak.night,5.5884937755474,-9.26892403030303,0.0 +2030,ironing out iteration 0; post ELCTRI|GBR investment,3,GASCGT,GBR,peak.day,7.3779505119938245,-0.0,0.0 +2030,ironing out iteration 0; post ELCTRI|GBR investment,3,GASCGT,GBR,peak.peak,2.3471485481808085,-0.0,0.0 +2030,ironing out iteration 0; post ELCTRI|GBR investment,3,GASCGT,GBR,peak.evening,3.1934250255473997,-9.26892403030303,0.0 2030,ironing out iteration 0; post ELCTRI|GBR investment,3,GASCGT,GBR,summer.night,0.29510617194278477,-0.0,0.0 2030,ironing out iteration 0; post ELCTRI|GBR investment,3,GASCGT,GBR,summer.day,0.0,-0.0,7.593308999999999 2030,ironing out iteration 0; post ELCTRI|GBR investment,3,GASCGT,GBR,summer.peak,0.0,-0.0,7.593308999999999 2030,ironing out iteration 0; post ELCTRI|GBR investment,3,GASCGT,GBR,summer.evening,0.0,-0.0,7.593308999999999 -2030,ironing out iteration 0; post ELCTRI|GBR investment,3,GASCGT,GBR,autumn.night,5.02964439799266,-9.26892403030303,0.0 -2030,ironing out iteration 0; post ELCTRI|GBR investment,3,GASCGT,GBR,autumn.day,7.185206272992661,-9.26892403030303,0.0 -2030,ironing out iteration 0; post ELCTRI|GBR investment,3,GASCGT,GBR,autumn.peak,2.155561875,-9.26892403030303,0.0 -2030,ironing out iteration 0; post ELCTRI|GBR investment,3,GASCGT,GBR,autumn.evening,2.87408252299266,-9.26892403030303,0.0 -2030,ironing out iteration 0; post GASNAT|GBR investment,5,RELCHP,GBR,winter.night,28.681688465266276,-0.0,0.0 +2030,ironing out iteration 0; post ELCTRI|GBR investment,3,GASCGT,GBR,autumn.night,5.5884937755474,-9.26892403030303,0.0 +2030,ironing out iteration 0; post ELCTRI|GBR investment,3,GASCGT,GBR,autumn.day,7.747559908401914,-0.0,0.0 +2030,ironing out iteration 0; post ELCTRI|GBR investment,3,GASCGT,GBR,autumn.peak,2.39506875,-9.26892403030303,0.0 +2030,ironing out iteration 0; post ELCTRI|GBR investment,3,GASCGT,GBR,autumn.evening,3.1934250255473997,-9.26892403030303,0.0 +2030,ironing out iteration 0; post GASNAT|GBR investment,5,RELCHP,GBR,winter.night,29.165208466660005,-3.05874493,0.0 2030,ironing out iteration 0; post GASNAT|GBR investment,5,RELCHP,GBR,winter.day,41.664583466660005,-3.05874493,0.0 2030,ironing out iteration 0; post GASNAT|GBR investment,5,RELCHP,GBR,winter.peak,12.499375,-3.05874493,0.0 -2030,ironing out iteration 0; post GASNAT|GBR investment,5,RELCHP,GBR,winter.evening,16.49620570555513,-0.0,0.0 -2030,ironing out iteration 0; post GASNAT|GBR investment,5,RELCHP,GBR,peak.night,23.881566409928354,-0.0,0.0 -2030,ironing out iteration 0; post GASNAT|GBR investment,5,RELCHP,GBR,peak.day,41.08051001514133,-0.0,0.0 -2030,ironing out iteration 0; post GASNAT|GBR investment,5,RELCHP,GBR,peak.peak,11.91880932369452,-0.0,0.0 -2030,ironing out iteration 0; post GASNAT|GBR investment,5,RELCHP,GBR,peak.evening,13.93614059638706,-0.0,0.0 +2030,ironing out iteration 0; post GASNAT|GBR investment,5,RELCHP,GBR,winter.evening,16.66583346666,-3.05874493,0.0 +2030,ironing out iteration 0; post GASNAT|GBR investment,5,RELCHP,GBR,peak.night,25.575049372215442,-0.0,0.0 +2030,ironing out iteration 0; post GASNAT|GBR investment,5,RELCHP,GBR,peak.day,41.664583466660005,-3.05874493,0.0 +2030,ironing out iteration 0; post GASNAT|GBR investment,5,RELCHP,GBR,peak.peak,12.499375,-3.05874493,0.0 +2030,ironing out iteration 0; post GASNAT|GBR investment,5,RELCHP,GBR,peak.evening,14.903845149583242,-0.0,0.0 2030,ironing out iteration 0; post GASNAT|GBR investment,5,RELCHP,GBR,summer.night,5.85438726108,-0.0,0.0 2030,ironing out iteration 0; post GASNAT|GBR investment,5,RELCHP,GBR,summer.day,9.75412140198,-0.0,0.0 2030,ironing out iteration 0; post GASNAT|GBR investment,5,RELCHP,GBR,summer.peak,3.2120121331800005,-0.0,0.0 2030,ironing out iteration 0; post GASNAT|GBR investment,5,RELCHP,GBR,summer.evening,2.39159988894,-0.0,0.0 -2030,ironing out iteration 0; post GASNAT|GBR investment,5,RELCHP,GBR,autumn.night,24.948260193863167,-0.0,0.0 -2030,ironing out iteration 0; post GASNAT|GBR investment,5,RELCHP,GBR,autumn.day,39.96048154117742,-0.0,0.0 -2030,ironing out iteration 0; post GASNAT|GBR investment,5,RELCHP,GBR,autumn.peak,11.225458356253991,-0.0,0.0 -2030,ironing out iteration 0; post GASNAT|GBR investment,5,RELCHP,GBR,autumn.evening,14.469487498077731,-0.0,0.0 -2030,ironing out iteration 0; post GASNAT|GBR investment,4,RGASBR,GBR,winter.night,38.60973615679373,-0.0,0.0 +2030,ironing out iteration 0; post GASNAT|GBR investment,5,RELCHP,GBR,autumn.night,26.641743156150255,-0.0,0.0 +2030,ironing out iteration 0; post GASNAT|GBR investment,5,RELCHP,GBR,autumn.day,41.664583466660005,-3.05874493,0.0 +2030,ironing out iteration 0; post GASNAT|GBR investment,5,RELCHP,GBR,autumn.peak,11.9512367653449,-0.0,0.0 +2030,ironing out iteration 0; post GASNAT|GBR investment,5,RELCHP,GBR,autumn.evening,15.437192051273913,-0.0,0.0 +2030,ironing out iteration 0; post GASNAT|GBR investment,4,RGASBR,GBR,winter.night,38.1262161554,-0.0,0.0 2030,ironing out iteration 0; post GASNAT|GBR investment,4,RGASBR,GBR,winter.day,190.6754484292,-0.0,0.0 2030,ironing out iteration 0; post GASNAT|GBR investment,4,RGASBR,GBR,winter.peak,90.625,-0.0,0.0 -2030,ironing out iteration 0; post GASNAT|GBR investment,4,RGASBR,GBR,winter.evening,62.29191960430488,-0.0,0.0 +2030,ironing out iteration 0; post GASNAT|GBR investment,4,RGASBR,GBR,winter.evening,62.1222918432,-0.0,0.0 2030,ironing out iteration 0; post GASNAT|GBR investment,4,RGASBR,GBR,peak.night,0.0,-0.0,0.0 -2030,ironing out iteration 0; post GASNAT|GBR investment,4,RGASBR,GBR,peak.day,84.24737039999866,-0.0,0.0 -2030,ironing out iteration 0; post GASNAT|GBR investment,4,RGASBR,GBR,peak.peak,58.0821769687455,-0.0,0.0 -2030,ironing out iteration 0; post GASNAT|GBR investment,4,RGASBR,GBR,peak.evening,28.530127807632944,-0.0,0.0 +2030,ironing out iteration 0; post GASNAT|GBR investment,4,RGASBR,GBR,peak.day,83.66329694848,-0.0,0.0 +2030,ironing out iteration 0; post GASNAT|GBR investment,4,RGASBR,GBR,peak.peak,57.50161129244002,-0.0,0.0 +2030,ironing out iteration 0; post GASNAT|GBR investment,4,RGASBR,GBR,peak.evening,27.562423254436766,-0.0,0.0 2030,ironing out iteration 0; post GASNAT|GBR investment,4,RGASBR,GBR,summer.night,0.0,-0.0,3.05874493 2030,ironing out iteration 0; post GASNAT|GBR investment,4,RGASBR,GBR,summer.day,0.0,-0.0,5.5645369 2030,ironing out iteration 0; post GASNAT|GBR investment,4,RGASBR,GBR,summer.peak,0.0,-0.0,5.5645369 2030,ironing out iteration 0; post GASNAT|GBR investment,4,RGASBR,GBR,summer.evening,0.0,-0.0,5.5645369 2030,ironing out iteration 0; post GASNAT|GBR investment,4,RGASBR,GBR,autumn.night,0.0,-0.0,0.0 -2030,ironing out iteration 0; post GASNAT|GBR investment,4,RGASBR,GBR,autumn.day,60.812125108122586,-0.0,0.0 -2030,ironing out iteration 0; post GASNAT|GBR investment,4,RGASBR,GBR,autumn.peak,44.76733622296601,-0.0,0.0 -2030,ironing out iteration 0; post GASNAT|GBR investment,4,RGASBR,GBR,autumn.evening,19.045228212362268,-0.0,0.0 +2030,ironing out iteration 0; post GASNAT|GBR investment,4,RGASBR,GBR,autumn.day,59.10802318264001,-0.0,0.0 +2030,ironing out iteration 0; post GASNAT|GBR investment,4,RGASBR,GBR,autumn.peak,44.0415578138751,-0.0,0.0 +2030,ironing out iteration 0; post GASNAT|GBR investment,4,RGASBR,GBR,autumn.evening,18.07752365916609,-0.0,0.0 2030,ironing out iteration 0; post GASNAT|GBR investment,,RGASBR,GBR,winter.night,0.0,-0.0,0.0 2030,ironing out iteration 0; post GASNAT|GBR investment,,RGASBR,GBR,winter.day,0.0,-0.0,0.0 2030,ironing out iteration 0; post GASNAT|GBR investment,,RGASBR,GBR,winter.peak,11.119950183640015,-0.0,0.0 2030,ironing out iteration 0; post GASNAT|GBR investment,,RGASBR,GBR,winter.evening,0.0,-0.0,0.0 -2030,ironing out iteration 0; post GASNAT|GBR investment,,RGASBR,GBR,peak.night,23.257668007491652,-0.0,0.0 +2030,ironing out iteration 0; post GASNAT|GBR investment,,RGASBR,GBR,peak.night,21.56418504520456,-0.0,0.0 2030,ironing out iteration 0; post GASNAT|GBR investment,,RGASBR,GBR,peak.day,0.0,-0.0,0.0 2030,ironing out iteration 0; post GASNAT|GBR investment,,RGASBR,GBR,peak.peak,0.0,-0.0,0.0 2030,ironing out iteration 0; post GASNAT|GBR investment,,RGASBR,GBR,peak.evening,0.0,-0.0,0.0 @@ -459,95 +459,95 @@ milestone_year,run_description,asset_id,process_id,region_id,time_slice,activity 2030,ironing out iteration 0; post GASNAT|GBR investment,,RGASBR,GBR,summer.day,0.0,-0.0,5.5645369 2030,ironing out iteration 0; post GASNAT|GBR investment,,RGASBR,GBR,summer.peak,0.0,-0.0,5.5645369 2030,ironing out iteration 0; post GASNAT|GBR investment,,RGASBR,GBR,summer.evening,0.0,-0.0,5.5645369 -2030,ironing out iteration 0; post GASNAT|GBR investment,,RGASBR,GBR,autumn.night,13.341224614176841,-0.0,0.0 +2030,ironing out iteration 0; post GASNAT|GBR investment,,RGASBR,GBR,autumn.night,11.64774165188975,-0.0,0.0 2030,ironing out iteration 0; post GASNAT|GBR investment,,RGASBR,GBR,autumn.day,0.0,-0.0,0.0 2030,ironing out iteration 0; post GASNAT|GBR investment,,RGASBR,GBR,autumn.peak,0.0,-0.0,0.0 2030,ironing out iteration 0; post GASNAT|GBR investment,,RGASBR,GBR,autumn.evening,0.0,-0.0,0.0 -2030,ironing out iteration 0; post GASNAT|GBR investment,2,WNDFRM,GBR,winter.night,4.435312795545212,-16.86223303030303,0.0 +2030,ironing out iteration 0; post GASNAT|GBR investment,2,WNDFRM,GBR,winter.night,4.435312795545212,-7.593308999999999,0.0 2030,ironing out iteration 0; post GASNAT|GBR investment,2,WNDFRM,GBR,winter.day,7.075379933645912,-7.593308999999999,0.0 2030,ironing out iteration 0; post GASNAT|GBR investment,2,WNDFRM,GBR,winter.peak,1.9712501261051125,-7.593308999999999,0.0 -2030,ironing out iteration 0; post GASNAT|GBR investment,2,WNDFRM,GBR,winter.evening,2.5696653598405335,-16.86223303030303,0.0 +2030,ironing out iteration 0; post GASNAT|GBR investment,2,WNDFRM,GBR,winter.evening,2.5696653598405335,-7.593308999999999,0.0 2030,ironing out iteration 0; post GASNAT|GBR investment,2,WNDFRM,GBR,peak.night,2.851272517283696,-16.86223303030303,0.0 -2030,ironing out iteration 0; post GASNAT|GBR investment,2,WNDFRM,GBR,peak.day,6.3713620320039785,-16.86223303030303,0.0 -2030,ironing out iteration 0; post GASNAT|GBR investment,2,WNDFRM,GBR,peak.peak,1.7776452018191917,-16.86223303030303,0.0 +2030,ironing out iteration 0; post GASNAT|GBR investment,2,WNDFRM,GBR,peak.day,6.3713620320039785,-7.593308999999999,0.0 +2030,ironing out iteration 0; post GASNAT|GBR investment,2,WNDFRM,GBR,peak.peak,1.7776452018191917,-7.593308999999999,0.0 2030,ironing out iteration 0; post GASNAT|GBR investment,2,WNDFRM,GBR,peak.evening,1.72484387381507,-16.86223303030303,0.0 2030,ironing out iteration 0; post GASNAT|GBR investment,2,WNDFRM,GBR,summer.night,1.6368416242136155,-7.593308999999999,0.0 2030,ironing out iteration 0; post GASNAT|GBR investment,2,WNDFRM,GBR,summer.day,3.2188600626534005,-0.0,0.0 2030,ironing out iteration 0; post GASNAT|GBR investment,2,WNDFRM,GBR,summer.peak,1.0599640039494003,-0.0,0.0 2030,ironing out iteration 0; post GASNAT|GBR investment,2,WNDFRM,GBR,summer.evening,0.7892279633502001,-0.0,0.0 2030,ironing out iteration 0; post GASNAT|GBR investment,2,WNDFRM,GBR,autumn.night,3.203281465982185,-16.86223303030303,0.0 -2030,ironing out iteration 0; post GASNAT|GBR investment,2,WNDFRM,GBR,autumn.day,6.001752635595889,-16.86223303030303,0.0 +2030,ironing out iteration 0; post GASNAT|GBR investment,2,WNDFRM,GBR,autumn.day,6.001752635595889,-7.593308999999999,0.0 2030,ironing out iteration 0; post GASNAT|GBR investment,2,WNDFRM,GBR,autumn.peak,1.5488393825638174,-16.86223303030303,0.0 2030,ironing out iteration 0; post GASNAT|GBR investment,2,WNDFRM,GBR,autumn.evening,1.9008483513729915,-16.86223303030303,0.0 -2030,ironing out iteration 0; post GASNAT|GBR investment,3,GASCGT,GBR,winter.night,5.02964439799266,-9.268924030303031,0.0 +2030,ironing out iteration 0; post GASNAT|GBR investment,3,GASCGT,GBR,winter.night,5.189205998452591,-0.0,0.0 2030,ironing out iteration 0; post GASNAT|GBR investment,3,GASCGT,GBR,winter.day,6.6739326103518914,-0.0,0.0 2030,ironing out iteration 0; post GASNAT|GBR investment,3,GASCGT,GBR,winter.peak,2.1535436238948877,-0.0,0.0 -2030,ironing out iteration 0; post GASNAT|GBR investment,3,GASCGT,GBR,winter.evening,2.87408252299266,-9.268924030303031,0.0 -2030,ironing out iteration 0; post GASNAT|GBR investment,3,GASCGT,GBR,peak.night,5.02964439799266,-9.268924030303031,0.0 -2030,ironing out iteration 0; post GASNAT|GBR investment,3,GASCGT,GBR,peak.day,7.185206272992661,-9.268924030303031,0.0 -2030,ironing out iteration 0; post GASNAT|GBR investment,3,GASCGT,GBR,peak.peak,2.155561875,-9.268924030303031,0.0 -2030,ironing out iteration 0; post GASNAT|GBR investment,3,GASCGT,GBR,peak.evening,2.87408252299266,-9.268924030303031,0.0 +2030,ironing out iteration 0; post GASNAT|GBR investment,3,GASCGT,GBR,winter.evening,2.9300596841572673,-0.0,0.0 +2030,ironing out iteration 0; post GASNAT|GBR investment,3,GASCGT,GBR,peak.night,5.5884937755474,-9.268924030303031,0.0 +2030,ironing out iteration 0; post GASNAT|GBR investment,3,GASCGT,GBR,peak.day,7.3779505119938245,-0.0,0.0 +2030,ironing out iteration 0; post GASNAT|GBR investment,3,GASCGT,GBR,peak.peak,2.3471485481808085,-0.0,0.0 +2030,ironing out iteration 0; post GASNAT|GBR investment,3,GASCGT,GBR,peak.evening,3.1934250255473997,-9.268924030303031,0.0 2030,ironing out iteration 0; post GASNAT|GBR investment,3,GASCGT,GBR,summer.night,0.29510617194278477,-0.0,0.0 2030,ironing out iteration 0; post GASNAT|GBR investment,3,GASCGT,GBR,summer.day,0.0,-0.0,7.593309 2030,ironing out iteration 0; post GASNAT|GBR investment,3,GASCGT,GBR,summer.peak,0.0,-0.0,7.593309 2030,ironing out iteration 0; post GASNAT|GBR investment,3,GASCGT,GBR,summer.evening,0.0,-0.0,7.593309 -2030,ironing out iteration 0; post GASNAT|GBR investment,3,GASCGT,GBR,autumn.night,5.02964439799266,-9.268924030303031,0.0 -2030,ironing out iteration 0; post GASNAT|GBR investment,3,GASCGT,GBR,autumn.day,7.185206272992661,-9.268924030303031,0.0 -2030,ironing out iteration 0; post GASNAT|GBR investment,3,GASCGT,GBR,autumn.peak,2.155561875,-9.268924030303031,0.0 -2030,ironing out iteration 0; post GASNAT|GBR investment,3,GASCGT,GBR,autumn.evening,2.87408252299266,-9.268924030303031,0.0 +2030,ironing out iteration 0; post GASNAT|GBR investment,3,GASCGT,GBR,autumn.night,5.5884937755474,-9.268924030303031,0.0 +2030,ironing out iteration 0; post GASNAT|GBR investment,3,GASCGT,GBR,autumn.day,7.747559908401914,-0.0,0.0 +2030,ironing out iteration 0; post GASNAT|GBR investment,3,GASCGT,GBR,autumn.peak,2.39506875,-9.268924030303031,0.0 +2030,ironing out iteration 0; post GASNAT|GBR investment,3,GASCGT,GBR,autumn.evening,3.1934250255473997,-9.268924030303031,0.0 2030,ironing out iteration 0; post GASNAT|GBR investment,1,GASPRC,GBR,winter.night,0.0,-0.0,0.0 -2030,ironing out iteration 0; post GASNAT|GBR investment,1,GASPRC,GBR,winter.day,229.21488487823856,-0.0,0.0 -2030,ironing out iteration 0; post GASNAT|GBR investment,1,GASPRC,GBR,winter.peak,106.37240625000001,-0.0,0.0 -2030,ironing out iteration 0; post GASNAT|GBR investment,1,GASPRC,GBR,winter.evening,141.829876134639,-0.0,0.0 +2030,ironing out iteration 0; post GASNAT|GBR investment,1,GASPRC,GBR,winter.day,201.2090417177309,-0.0,0.0 +2030,ironing out iteration 0; post GASNAT|GBR investment,1,GASPRC,GBR,winter.peak,118.1915625,-0.0,0.0 +2030,ironing out iteration 0; post GASNAT|GBR investment,1,GASPRC,GBR,winter.evening,157.58875126070998,-0.0,0.0 2030,ironing out iteration 0; post GASNAT|GBR investment,1,GASPRC,GBR,peak.night,0.0,-0.0,0.0 -2030,ironing out iteration 0; post GASNAT|GBR investment,1,GASPRC,GBR,peak.day,0.8994048802770465,-0.0,0.0 -2030,ironing out iteration 0; post GASNAT|GBR investment,1,GASPRC,GBR,peak.peak,106.37240625000001,-0.0,0.0 -2030,ironing out iteration 0; post GASNAT|GBR investment,1,GASPRC,GBR,peak.evening,141.829876134639,-0.0,0.0 +2030,ironing out iteration 0; post GASNAT|GBR investment,1,GASPRC,GBR,peak.day,0.0,-0.0,0.0 +2030,ironing out iteration 0; post GASNAT|GBR investment,1,GASPRC,GBR,peak.peak,89.0070195528397,-0.0,0.0 +2030,ironing out iteration 0; post GASNAT|GBR investment,1,GASPRC,GBR,peak.evening,157.58875126070998,-0.0,0.0 2030,ironing out iteration 0; post GASNAT|GBR investment,1,GASPRC,GBR,summer.night,0.0,-0.0,0.0 2030,ironing out iteration 0; post GASNAT|GBR investment,1,GASPRC,GBR,summer.day,0.0,-0.0,0.0 2030,ironing out iteration 0; post GASNAT|GBR investment,1,GASPRC,GBR,summer.peak,0.0,-0.0,0.0 2030,ironing out iteration 0; post GASNAT|GBR investment,1,GASPRC,GBR,summer.evening,0.44265925791417715,-0.0,0.0 2030,ironing out iteration 0; post GASNAT|GBR investment,1,GASPRC,GBR,autumn.night,0.0,-0.0,0.0 2030,ironing out iteration 0; post GASNAT|GBR investment,1,GASPRC,GBR,autumn.day,0.0,-0.0,0.0 -2030,ironing out iteration 0; post GASNAT|GBR investment,1,GASPRC,GBR,autumn.peak,42.69766775009984,-0.0,0.0 -2030,ironing out iteration 0; post GASNAT|GBR investment,1,GASPRC,GBR,autumn.evening,141.829876134639,-0.0,0.0 -2030,ironing out iteration 0; post GASPRD|GBR investment,5,RELCHP,GBR,winter.night,28.681688465266276,-0.0,0.0 +2030,ironing out iteration 0; post GASNAT|GBR investment,1,GASPRC,GBR,autumn.peak,23.60414318224167,-0.0,0.0 +2030,ironing out iteration 0; post GASNAT|GBR investment,1,GASPRC,GBR,autumn.evening,157.58875126070998,-0.0,0.0 +2030,ironing out iteration 0; post GASPRD|GBR investment,5,RELCHP,GBR,winter.night,29.165208466660005,-3.05874493,0.0 2030,ironing out iteration 0; post GASPRD|GBR investment,5,RELCHP,GBR,winter.day,41.664583466660005,-3.05874493,0.0 2030,ironing out iteration 0; post GASPRD|GBR investment,5,RELCHP,GBR,winter.peak,12.499375,-3.05874493,0.0 -2030,ironing out iteration 0; post GASPRD|GBR investment,5,RELCHP,GBR,winter.evening,16.49620570555513,-0.0,0.0 -2030,ironing out iteration 0; post GASPRD|GBR investment,5,RELCHP,GBR,peak.night,23.881566409928354,-0.0,0.0 -2030,ironing out iteration 0; post GASPRD|GBR investment,5,RELCHP,GBR,peak.day,41.08051001514133,-0.0,0.0 -2030,ironing out iteration 0; post GASPRD|GBR investment,5,RELCHP,GBR,peak.peak,11.91880932369452,-0.0,0.0 -2030,ironing out iteration 0; post GASPRD|GBR investment,5,RELCHP,GBR,peak.evening,13.93614059638706,-0.0,0.0 +2030,ironing out iteration 0; post GASPRD|GBR investment,5,RELCHP,GBR,winter.evening,16.66583346666,-3.05874493,0.0 +2030,ironing out iteration 0; post GASPRD|GBR investment,5,RELCHP,GBR,peak.night,25.575049372215442,-0.0,0.0 +2030,ironing out iteration 0; post GASPRD|GBR investment,5,RELCHP,GBR,peak.day,41.664583466660005,-3.05874493,0.0 +2030,ironing out iteration 0; post GASPRD|GBR investment,5,RELCHP,GBR,peak.peak,12.499375,-3.05874493,0.0 +2030,ironing out iteration 0; post GASPRD|GBR investment,5,RELCHP,GBR,peak.evening,14.903845149583242,-0.0,0.0 2030,ironing out iteration 0; post GASPRD|GBR investment,5,RELCHP,GBR,summer.night,5.85438726108,-0.0,0.0 2030,ironing out iteration 0; post GASPRD|GBR investment,5,RELCHP,GBR,summer.day,9.75412140198,-0.0,0.0 2030,ironing out iteration 0; post GASPRD|GBR investment,5,RELCHP,GBR,summer.peak,3.2120121331800005,-0.0,0.0 2030,ironing out iteration 0; post GASPRD|GBR investment,5,RELCHP,GBR,summer.evening,2.39159988894,-0.0,0.0 -2030,ironing out iteration 0; post GASPRD|GBR investment,5,RELCHP,GBR,autumn.night,24.948260193863167,-0.0,0.0 -2030,ironing out iteration 0; post GASPRD|GBR investment,5,RELCHP,GBR,autumn.day,39.96048154117742,-0.0,0.0 -2030,ironing out iteration 0; post GASPRD|GBR investment,5,RELCHP,GBR,autumn.peak,11.225458356253991,-0.0,0.0 -2030,ironing out iteration 0; post GASPRD|GBR investment,5,RELCHP,GBR,autumn.evening,14.469487498077731,-0.0,0.0 -2030,ironing out iteration 0; post GASPRD|GBR investment,4,RGASBR,GBR,winter.night,38.60973615679373,-0.0,0.0 +2030,ironing out iteration 0; post GASPRD|GBR investment,5,RELCHP,GBR,autumn.night,26.641743156150255,-0.0,0.0 +2030,ironing out iteration 0; post GASPRD|GBR investment,5,RELCHP,GBR,autumn.day,41.664583466660005,-3.05874493,0.0 +2030,ironing out iteration 0; post GASPRD|GBR investment,5,RELCHP,GBR,autumn.peak,11.9512367653449,-0.0,0.0 +2030,ironing out iteration 0; post GASPRD|GBR investment,5,RELCHP,GBR,autumn.evening,15.437192051273913,-0.0,0.0 +2030,ironing out iteration 0; post GASPRD|GBR investment,4,RGASBR,GBR,winter.night,38.1262161554,-0.0,0.0 2030,ironing out iteration 0; post GASPRD|GBR investment,4,RGASBR,GBR,winter.day,190.6754484292,-0.0,0.0 2030,ironing out iteration 0; post GASPRD|GBR investment,4,RGASBR,GBR,winter.peak,90.625,-0.0,0.0 -2030,ironing out iteration 0; post GASPRD|GBR investment,4,RGASBR,GBR,winter.evening,62.29191960430488,-0.0,0.0 +2030,ironing out iteration 0; post GASPRD|GBR investment,4,RGASBR,GBR,winter.evening,62.1222918432,-0.0,0.0 2030,ironing out iteration 0; post GASPRD|GBR investment,4,RGASBR,GBR,peak.night,0.0,-0.0,0.0 -2030,ironing out iteration 0; post GASPRD|GBR investment,4,RGASBR,GBR,peak.day,84.24737039999866,-0.0,0.0 -2030,ironing out iteration 0; post GASPRD|GBR investment,4,RGASBR,GBR,peak.peak,58.0821769687455,-0.0,0.0 -2030,ironing out iteration 0; post GASPRD|GBR investment,4,RGASBR,GBR,peak.evening,28.530127807632944,-0.0,0.0 +2030,ironing out iteration 0; post GASPRD|GBR investment,4,RGASBR,GBR,peak.day,83.66329694848,-0.0,0.0 +2030,ironing out iteration 0; post GASPRD|GBR investment,4,RGASBR,GBR,peak.peak,57.50161129244002,-0.0,0.0 +2030,ironing out iteration 0; post GASPRD|GBR investment,4,RGASBR,GBR,peak.evening,27.562423254436766,-0.0,0.0 2030,ironing out iteration 0; post GASPRD|GBR investment,4,RGASBR,GBR,summer.night,0.0,-0.0,3.05874493 2030,ironing out iteration 0; post GASPRD|GBR investment,4,RGASBR,GBR,summer.day,0.0,-0.0,5.5645369 2030,ironing out iteration 0; post GASPRD|GBR investment,4,RGASBR,GBR,summer.peak,0.0,-0.0,5.5645369 2030,ironing out iteration 0; post GASPRD|GBR investment,4,RGASBR,GBR,summer.evening,0.0,-0.0,5.5645369 2030,ironing out iteration 0; post GASPRD|GBR investment,4,RGASBR,GBR,autumn.night,0.0,-0.0,0.0 -2030,ironing out iteration 0; post GASPRD|GBR investment,4,RGASBR,GBR,autumn.day,60.812125108122586,-0.0,0.0 -2030,ironing out iteration 0; post GASPRD|GBR investment,4,RGASBR,GBR,autumn.peak,44.76733622296601,-0.0,0.0 -2030,ironing out iteration 0; post GASPRD|GBR investment,4,RGASBR,GBR,autumn.evening,19.045228212362268,-0.0,0.0 +2030,ironing out iteration 0; post GASPRD|GBR investment,4,RGASBR,GBR,autumn.day,59.10802318264001,-0.0,0.0 +2030,ironing out iteration 0; post GASPRD|GBR investment,4,RGASBR,GBR,autumn.peak,44.0415578138751,-0.0,0.0 +2030,ironing out iteration 0; post GASPRD|GBR investment,4,RGASBR,GBR,autumn.evening,18.07752365916609,-0.0,0.0 2030,ironing out iteration 0; post GASPRD|GBR investment,,RGASBR,GBR,winter.night,0.0,-0.0,0.0 2030,ironing out iteration 0; post GASPRD|GBR investment,,RGASBR,GBR,winter.day,0.0,-0.0,0.0 2030,ironing out iteration 0; post GASPRD|GBR investment,,RGASBR,GBR,winter.peak,11.119950183640015,-0.0,0.0 2030,ironing out iteration 0; post GASPRD|GBR investment,,RGASBR,GBR,winter.evening,0.0,-0.0,0.0 -2030,ironing out iteration 0; post GASPRD|GBR investment,,RGASBR,GBR,peak.night,23.257668007491652,-0.0,0.0 +2030,ironing out iteration 0; post GASPRD|GBR investment,,RGASBR,GBR,peak.night,21.56418504520456,-0.0,0.0 2030,ironing out iteration 0; post GASPRD|GBR investment,,RGASBR,GBR,peak.day,0.0,-0.0,0.0 2030,ironing out iteration 0; post GASPRD|GBR investment,,RGASBR,GBR,peak.peak,0.0,-0.0,0.0 2030,ironing out iteration 0; post GASPRD|GBR investment,,RGASBR,GBR,peak.evening,0.0,-0.0,0.0 @@ -555,111 +555,111 @@ milestone_year,run_description,asset_id,process_id,region_id,time_slice,activity 2030,ironing out iteration 0; post GASPRD|GBR investment,,RGASBR,GBR,summer.day,0.0,-0.0,5.5645369 2030,ironing out iteration 0; post GASPRD|GBR investment,,RGASBR,GBR,summer.peak,0.0,-0.0,5.5645369 2030,ironing out iteration 0; post GASPRD|GBR investment,,RGASBR,GBR,summer.evening,0.0,-0.0,5.5645369 -2030,ironing out iteration 0; post GASPRD|GBR investment,,RGASBR,GBR,autumn.night,13.341224614176841,-0.0,0.0 +2030,ironing out iteration 0; post GASPRD|GBR investment,,RGASBR,GBR,autumn.night,11.64774165188975,-0.0,0.0 2030,ironing out iteration 0; post GASPRD|GBR investment,,RGASBR,GBR,autumn.day,0.0,-0.0,0.0 2030,ironing out iteration 0; post GASPRD|GBR investment,,RGASBR,GBR,autumn.peak,0.0,-0.0,0.0 2030,ironing out iteration 0; post GASPRD|GBR investment,,RGASBR,GBR,autumn.evening,0.0,-0.0,0.0 -2030,ironing out iteration 0; post GASPRD|GBR investment,2,WNDFRM,GBR,winter.night,4.435312795545212,-16.86223303030303,0.0 +2030,ironing out iteration 0; post GASPRD|GBR investment,2,WNDFRM,GBR,winter.night,4.435312795545212,-7.593308999999999,0.0 2030,ironing out iteration 0; post GASPRD|GBR investment,2,WNDFRM,GBR,winter.day,7.075379933645912,-7.593308999999999,0.0 2030,ironing out iteration 0; post GASPRD|GBR investment,2,WNDFRM,GBR,winter.peak,1.9712501261051125,-7.593308999999999,0.0 -2030,ironing out iteration 0; post GASPRD|GBR investment,2,WNDFRM,GBR,winter.evening,2.5696653598405335,-16.86223303030303,0.0 +2030,ironing out iteration 0; post GASPRD|GBR investment,2,WNDFRM,GBR,winter.evening,2.5696653598405335,-7.593308999999999,0.0 2030,ironing out iteration 0; post GASPRD|GBR investment,2,WNDFRM,GBR,peak.night,2.851272517283696,-16.86223303030303,0.0 -2030,ironing out iteration 0; post GASPRD|GBR investment,2,WNDFRM,GBR,peak.day,6.3713620320039785,-16.86223303030303,0.0 -2030,ironing out iteration 0; post GASPRD|GBR investment,2,WNDFRM,GBR,peak.peak,1.7776452018191917,-16.86223303030303,0.0 +2030,ironing out iteration 0; post GASPRD|GBR investment,2,WNDFRM,GBR,peak.day,6.3713620320039785,-7.593308999999999,0.0 +2030,ironing out iteration 0; post GASPRD|GBR investment,2,WNDFRM,GBR,peak.peak,1.7776452018191917,-7.593308999999999,0.0 2030,ironing out iteration 0; post GASPRD|GBR investment,2,WNDFRM,GBR,peak.evening,1.72484387381507,-16.86223303030303,0.0 2030,ironing out iteration 0; post GASPRD|GBR investment,2,WNDFRM,GBR,summer.night,1.6368416242136155,-7.593308999999999,0.0 2030,ironing out iteration 0; post GASPRD|GBR investment,2,WNDFRM,GBR,summer.day,3.2188600626534005,-0.0,0.0 2030,ironing out iteration 0; post GASPRD|GBR investment,2,WNDFRM,GBR,summer.peak,1.0599640039494003,-0.0,0.0 2030,ironing out iteration 0; post GASPRD|GBR investment,2,WNDFRM,GBR,summer.evening,0.7892279633502001,-0.0,0.0 2030,ironing out iteration 0; post GASPRD|GBR investment,2,WNDFRM,GBR,autumn.night,3.203281465982185,-16.86223303030303,0.0 -2030,ironing out iteration 0; post GASPRD|GBR investment,2,WNDFRM,GBR,autumn.day,6.001752635595889,-16.86223303030303,0.0 +2030,ironing out iteration 0; post GASPRD|GBR investment,2,WNDFRM,GBR,autumn.day,6.001752635595889,-7.593308999999999,0.0 2030,ironing out iteration 0; post GASPRD|GBR investment,2,WNDFRM,GBR,autumn.peak,1.5488393825638174,-16.86223303030303,0.0 2030,ironing out iteration 0; post GASPRD|GBR investment,2,WNDFRM,GBR,autumn.evening,1.9008483513729915,-16.86223303030303,0.0 -2030,ironing out iteration 0; post GASPRD|GBR investment,3,GASCGT,GBR,winter.night,5.02964439799266,-9.26892403030303,0.0 +2030,ironing out iteration 0; post GASPRD|GBR investment,3,GASCGT,GBR,winter.night,5.189205998452591,-0.0,0.0 2030,ironing out iteration 0; post GASPRD|GBR investment,3,GASCGT,GBR,winter.day,6.6739326103518914,-0.0,0.0 2030,ironing out iteration 0; post GASPRD|GBR investment,3,GASCGT,GBR,winter.peak,2.1535436238948877,-0.0,0.0 -2030,ironing out iteration 0; post GASPRD|GBR investment,3,GASCGT,GBR,winter.evening,2.87408252299266,-9.26892403030303,0.0 -2030,ironing out iteration 0; post GASPRD|GBR investment,3,GASCGT,GBR,peak.night,5.02964439799266,-9.26892403030303,0.0 -2030,ironing out iteration 0; post GASPRD|GBR investment,3,GASCGT,GBR,peak.day,7.185206272992661,-9.26892403030303,0.0 -2030,ironing out iteration 0; post GASPRD|GBR investment,3,GASCGT,GBR,peak.peak,2.155561875,-9.26892403030303,0.0 -2030,ironing out iteration 0; post GASPRD|GBR investment,3,GASCGT,GBR,peak.evening,2.87408252299266,-9.26892403030303,0.0 +2030,ironing out iteration 0; post GASPRD|GBR investment,3,GASCGT,GBR,winter.evening,2.9300596841572673,-0.0,0.0 +2030,ironing out iteration 0; post GASPRD|GBR investment,3,GASCGT,GBR,peak.night,5.5884937755474,-9.26892403030303,0.0 +2030,ironing out iteration 0; post GASPRD|GBR investment,3,GASCGT,GBR,peak.day,7.3779505119938245,-0.0,0.0 +2030,ironing out iteration 0; post GASPRD|GBR investment,3,GASCGT,GBR,peak.peak,2.3471485481808085,-0.0,0.0 +2030,ironing out iteration 0; post GASPRD|GBR investment,3,GASCGT,GBR,peak.evening,3.1934250255473997,-9.26892403030303,0.0 2030,ironing out iteration 0; post GASPRD|GBR investment,3,GASCGT,GBR,summer.night,0.29510617194278477,-0.0,0.0 2030,ironing out iteration 0; post GASPRD|GBR investment,3,GASCGT,GBR,summer.day,0.0,-0.0,7.593309 2030,ironing out iteration 0; post GASPRD|GBR investment,3,GASCGT,GBR,summer.peak,0.0,-0.0,7.593309 2030,ironing out iteration 0; post GASPRD|GBR investment,3,GASCGT,GBR,summer.evening,0.0,-0.0,7.593309 -2030,ironing out iteration 0; post GASPRD|GBR investment,3,GASCGT,GBR,autumn.night,5.02964439799266,-9.26892403030303,0.0 -2030,ironing out iteration 0; post GASPRD|GBR investment,3,GASCGT,GBR,autumn.day,7.185206272992661,-9.26892403030303,0.0 -2030,ironing out iteration 0; post GASPRD|GBR investment,3,GASCGT,GBR,autumn.peak,2.155561875,-9.26892403030303,0.0 -2030,ironing out iteration 0; post GASPRD|GBR investment,3,GASCGT,GBR,autumn.evening,2.87408252299266,-9.26892403030303,0.0 +2030,ironing out iteration 0; post GASPRD|GBR investment,3,GASCGT,GBR,autumn.night,5.5884937755474,-9.26892403030303,0.0 +2030,ironing out iteration 0; post GASPRD|GBR investment,3,GASCGT,GBR,autumn.day,7.747559908401914,-0.0,0.0 +2030,ironing out iteration 0; post GASPRD|GBR investment,3,GASCGT,GBR,autumn.peak,2.39506875,-9.26892403030303,0.0 +2030,ironing out iteration 0; post GASPRD|GBR investment,3,GASCGT,GBR,autumn.evening,3.1934250255473997,-9.26892403030303,0.0 2030,ironing out iteration 0; post GASPRD|GBR investment,1,GASPRC,GBR,winter.night,0.0,-0.0,2.220446049250313e-16 -2030,ironing out iteration 0; post GASPRD|GBR investment,1,GASPRC,GBR,winter.day,229.21488487823854,-0.0,0.0 -2030,ironing out iteration 0; post GASPRD|GBR investment,1,GASPRC,GBR,winter.peak,106.37240625000001,-0.0,0.0 -2030,ironing out iteration 0; post GASPRD|GBR investment,1,GASPRC,GBR,winter.evening,141.829876134639,-0.0,0.0 +2030,ironing out iteration 0; post GASPRD|GBR investment,1,GASPRC,GBR,winter.day,201.20904171773094,-0.0,0.0 +2030,ironing out iteration 0; post GASPRD|GBR investment,1,GASPRC,GBR,winter.peak,118.1915625,-0.0,0.0 +2030,ironing out iteration 0; post GASPRD|GBR investment,1,GASPRC,GBR,winter.evening,157.58875126070998,-0.0,0.0 2030,ironing out iteration 0; post GASPRD|GBR investment,1,GASPRC,GBR,peak.night,0.0,-0.0,2.220446049250313e-16 -2030,ironing out iteration 0; post GASPRD|GBR investment,1,GASPRC,GBR,peak.day,0.8994048802770322,-0.0,0.0 -2030,ironing out iteration 0; post GASPRD|GBR investment,1,GASPRC,GBR,peak.peak,106.37240625000001,-0.0,0.0 -2030,ironing out iteration 0; post GASPRD|GBR investment,1,GASPRC,GBR,peak.evening,141.829876134639,-0.0,0.0 +2030,ironing out iteration 0; post GASPRD|GBR investment,1,GASPRC,GBR,peak.day,0.0,-0.0,2.220446049250313e-16 +2030,ironing out iteration 0; post GASPRD|GBR investment,1,GASPRC,GBR,peak.peak,89.0070195528397,-0.0,0.0 +2030,ironing out iteration 0; post GASPRD|GBR investment,1,GASPRC,GBR,peak.evening,157.58875126070998,-0.0,0.0 2030,ironing out iteration 0; post GASPRD|GBR investment,1,GASPRC,GBR,summer.night,0.0,-0.0,2.220446049250313e-16 2030,ironing out iteration 0; post GASPRD|GBR investment,1,GASPRC,GBR,summer.day,0.0,-0.0,2.220446049250313e-16 2030,ironing out iteration 0; post GASPRD|GBR investment,1,GASPRC,GBR,summer.peak,0.0,-0.0,2.220446049250313e-16 2030,ironing out iteration 0; post GASPRD|GBR investment,1,GASPRC,GBR,summer.evening,0.44265925791417715,-0.0,0.0 2030,ironing out iteration 0; post GASPRD|GBR investment,1,GASPRC,GBR,autumn.night,0.0,-0.0,2.220446049250313e-16 2030,ironing out iteration 0; post GASPRD|GBR investment,1,GASPRC,GBR,autumn.day,0.0,-0.0,2.220446049250313e-16 -2030,ironing out iteration 0; post GASPRD|GBR investment,1,GASPRC,GBR,autumn.peak,42.697667750099825,-0.0,0.0 -2030,ironing out iteration 0; post GASPRD|GBR investment,1,GASPRC,GBR,autumn.evening,141.829876134639,-0.0,0.0 +2030,ironing out iteration 0; post GASPRD|GBR investment,1,GASPRC,GBR,autumn.peak,23.60414318224167,-0.0,0.0 +2030,ironing out iteration 0; post GASPRD|GBR investment,1,GASPRC,GBR,autumn.evening,157.58875126070998,-0.0,0.0 2030,ironing out iteration 0; post GASPRD|GBR investment,0,GASDRV,GBR,winter.night,0.0,-0.0,0.0 -2030,ironing out iteration 0; post GASPRD|GBR investment,0,GASDRV,GBR,winter.day,238.63971192534342,-0.0,0.0 -2030,ironing out iteration 0; post GASPRD|GBR investment,0,GASDRV,GBR,winter.peak,112.5635625,-0.0,0.0 -2030,ironing out iteration 0; post GASPRD|GBR investment,0,GASDRV,GBR,winter.evening,150.084751200678,-0.0,0.0 +2030,ironing out iteration 0; post GASPRD|GBR investment,0,GASDRV,GBR,winter.day,209.007363584943,-0.0,0.0 +2030,ironing out iteration 0; post GASPRD|GBR investment,0,GASDRV,GBR,winter.peak,125.070625,-0.0,0.0 +2030,ironing out iteration 0; post GASPRD|GBR investment,0,GASDRV,GBR,winter.evening,166.76083466742,-0.0,0.0 2030,ironing out iteration 0; post GASPRD|GBR investment,0,GASDRV,GBR,peak.night,0.0,-0.0,0.0 2030,ironing out iteration 0; post GASPRD|GBR investment,0,GASDRV,GBR,peak.day,0.0,-0.0,0.0 -2030,ironing out iteration 0; post GASPRD|GBR investment,0,GASDRV,GBR,peak.peak,111.47202042748387,-0.0,0.0 -2030,ironing out iteration 0; post GASPRD|GBR investment,0,GASDRV,GBR,peak.evening,150.084751200678,-0.0,0.0 +2030,ironing out iteration 0; post GASPRD|GBR investment,0,GASDRV,GBR,peak.peak,92.16472468680718,-0.0,0.0 +2030,ironing out iteration 0; post GASPRD|GBR investment,0,GASDRV,GBR,peak.evening,166.76083466742,-0.0,0.0 2030,ironing out iteration 0; post GASPRD|GBR investment,0,GASDRV,GBR,summer.night,0.0,-0.0,0.0 2030,ironing out iteration 0; post GASPRD|GBR investment,0,GASDRV,GBR,summer.day,0.0,-0.0,0.0 2030,ironing out iteration 0; post GASPRD|GBR investment,0,GASDRV,GBR,summer.peak,0.0,-0.0,0.0 2030,ironing out iteration 0; post GASPRD|GBR investment,0,GASDRV,GBR,summer.evening,0.464792220809886,-0.0,0.0 2030,ironing out iteration 0; post GASPRD|GBR investment,0,GASDRV,GBR,autumn.night,0.0,-0.0,0.0 2030,ironing out iteration 0; post GASPRD|GBR investment,0,GASDRV,GBR,autumn.day,0.0,-0.0,0.0 -2030,ironing out iteration 0; post GASPRD|GBR investment,0,GASDRV,GBR,autumn.peak,43.669169878297765,-0.0,0.0 -2030,ironing out iteration 0; post GASPRD|GBR investment,0,GASDRV,GBR,autumn.evening,150.084751200678,-0.0,0.0 -2030,ironing out iteration 0; final without candidates,5,RELCHP,GBR,winter.night,28.681688465266276,-0.0,0.0 +2030,ironing out iteration 0; post GASPRD|GBR investment,0,GASDRV,GBR,autumn.peak,23.49170449767925,-0.0,0.0 +2030,ironing out iteration 0; post GASPRD|GBR investment,0,GASDRV,GBR,autumn.evening,166.76083466742,-0.0,0.0 +2030,ironing out iteration 0; final without candidates,5,RELCHP,GBR,winter.night,29.165208466660005,-3.05874493,0.0 2030,ironing out iteration 0; final without candidates,5,RELCHP,GBR,winter.day,41.664583466660005,-3.05874493,0.0 2030,ironing out iteration 0; final without candidates,5,RELCHP,GBR,winter.peak,12.499375,-3.05874493,0.0 -2030,ironing out iteration 0; final without candidates,5,RELCHP,GBR,winter.evening,16.49620570555513,-0.0,0.0 -2030,ironing out iteration 0; final without candidates,5,RELCHP,GBR,peak.night,23.881566409928354,-0.0,0.0 -2030,ironing out iteration 0; final without candidates,5,RELCHP,GBR,peak.day,41.08051001514133,-0.0,0.0 -2030,ironing out iteration 0; final without candidates,5,RELCHP,GBR,peak.peak,11.91880932369452,-0.0,0.0 -2030,ironing out iteration 0; final without candidates,5,RELCHP,GBR,peak.evening,13.93614059638706,-0.0,0.0 +2030,ironing out iteration 0; final without candidates,5,RELCHP,GBR,winter.evening,16.66583346666,-3.05874493,0.0 +2030,ironing out iteration 0; final without candidates,5,RELCHP,GBR,peak.night,25.575049372215442,-0.0,0.0 +2030,ironing out iteration 0; final without candidates,5,RELCHP,GBR,peak.day,41.664583466660005,-3.05874493,0.0 +2030,ironing out iteration 0; final without candidates,5,RELCHP,GBR,peak.peak,12.499375,-3.05874493,0.0 +2030,ironing out iteration 0; final without candidates,5,RELCHP,GBR,peak.evening,14.903845149583242,-0.0,0.0 2030,ironing out iteration 0; final without candidates,5,RELCHP,GBR,summer.night,5.85438726108,-0.0,0.0 2030,ironing out iteration 0; final without candidates,5,RELCHP,GBR,summer.day,9.75412140198,-0.0,0.0 2030,ironing out iteration 0; final without candidates,5,RELCHP,GBR,summer.peak,3.2120121331800005,-0.0,0.0 2030,ironing out iteration 0; final without candidates,5,RELCHP,GBR,summer.evening,2.39159988894,-0.0,0.0 -2030,ironing out iteration 0; final without candidates,5,RELCHP,GBR,autumn.night,24.948260193863167,-0.0,0.0 -2030,ironing out iteration 0; final without candidates,5,RELCHP,GBR,autumn.day,39.96048154117742,-0.0,0.0 -2030,ironing out iteration 0; final without candidates,5,RELCHP,GBR,autumn.peak,11.225458356253991,-0.0,0.0 -2030,ironing out iteration 0; final without candidates,5,RELCHP,GBR,autumn.evening,14.469487498077731,-0.0,0.0 -2030,ironing out iteration 0; final without candidates,4,RGASBR,GBR,winter.night,38.60973615679373,-0.0,0.0 +2030,ironing out iteration 0; final without candidates,5,RELCHP,GBR,autumn.night,26.641743156150255,-0.0,0.0 +2030,ironing out iteration 0; final without candidates,5,RELCHP,GBR,autumn.day,41.664583466660005,-3.05874493,0.0 +2030,ironing out iteration 0; final without candidates,5,RELCHP,GBR,autumn.peak,11.9512367653449,-0.0,0.0 +2030,ironing out iteration 0; final without candidates,5,RELCHP,GBR,autumn.evening,15.437192051273913,-0.0,0.0 +2030,ironing out iteration 0; final without candidates,4,RGASBR,GBR,winter.night,38.1262161554,-0.0,0.0 2030,ironing out iteration 0; final without candidates,4,RGASBR,GBR,winter.day,190.6754484292,-0.0,0.0 2030,ironing out iteration 0; final without candidates,4,RGASBR,GBR,winter.peak,90.625,-0.0,0.0 -2030,ironing out iteration 0; final without candidates,4,RGASBR,GBR,winter.evening,62.29191960430488,-0.0,0.0 +2030,ironing out iteration 0; final without candidates,4,RGASBR,GBR,winter.evening,62.1222918432,-0.0,0.0 2030,ironing out iteration 0; final without candidates,4,RGASBR,GBR,peak.night,0.0,-0.0,0.0 -2030,ironing out iteration 0; final without candidates,4,RGASBR,GBR,peak.day,84.24737039999866,-0.0,0.0 -2030,ironing out iteration 0; final without candidates,4,RGASBR,GBR,peak.peak,58.0821769687455,-0.0,0.0 -2030,ironing out iteration 0; final without candidates,4,RGASBR,GBR,peak.evening,28.530127807632944,-0.0,0.0 +2030,ironing out iteration 0; final without candidates,4,RGASBR,GBR,peak.day,83.66329694848,-0.0,0.0 +2030,ironing out iteration 0; final without candidates,4,RGASBR,GBR,peak.peak,57.50161129244002,-0.0,0.0 +2030,ironing out iteration 0; final without candidates,4,RGASBR,GBR,peak.evening,27.562423254436766,-0.0,0.0 2030,ironing out iteration 0; final without candidates,4,RGASBR,GBR,summer.night,0.0,-0.0,3.05874493 2030,ironing out iteration 0; final without candidates,4,RGASBR,GBR,summer.day,0.0,-0.0,5.5645369 2030,ironing out iteration 0; final without candidates,4,RGASBR,GBR,summer.peak,0.0,-0.0,5.5645369 2030,ironing out iteration 0; final without candidates,4,RGASBR,GBR,summer.evening,0.0,-0.0,5.5645369 2030,ironing out iteration 0; final without candidates,4,RGASBR,GBR,autumn.night,0.0,-0.0,0.0 -2030,ironing out iteration 0; final without candidates,4,RGASBR,GBR,autumn.day,60.812125108122586,-0.0,0.0 -2030,ironing out iteration 0; final without candidates,4,RGASBR,GBR,autumn.peak,44.76733622296601,-0.0,0.0 -2030,ironing out iteration 0; final without candidates,4,RGASBR,GBR,autumn.evening,19.045228212362268,-0.0,0.0 +2030,ironing out iteration 0; final without candidates,4,RGASBR,GBR,autumn.day,59.10802318264001,-0.0,0.0 +2030,ironing out iteration 0; final without candidates,4,RGASBR,GBR,autumn.peak,44.0415578138751,-0.0,0.0 +2030,ironing out iteration 0; final without candidates,4,RGASBR,GBR,autumn.evening,18.07752365916609,-0.0,0.0 2030,ironing out iteration 0; final without candidates,,RGASBR,GBR,winter.night,0.0,-0.0,0.0 2030,ironing out iteration 0; final without candidates,,RGASBR,GBR,winter.day,0.0,-0.0,0.0 2030,ironing out iteration 0; final without candidates,,RGASBR,GBR,winter.peak,11.119950183640015,-0.0,0.0 2030,ironing out iteration 0; final without candidates,,RGASBR,GBR,winter.evening,0.0,-0.0,0.0 -2030,ironing out iteration 0; final without candidates,,RGASBR,GBR,peak.night,23.257668007491652,-0.0,0.0 +2030,ironing out iteration 0; final without candidates,,RGASBR,GBR,peak.night,21.56418504520456,-0.0,0.0 2030,ironing out iteration 0; final without candidates,,RGASBR,GBR,peak.day,0.0,-0.0,0.0 2030,ironing out iteration 0; final without candidates,,RGASBR,GBR,peak.peak,0.0,-0.0,0.0 2030,ironing out iteration 0; final without candidates,,RGASBR,GBR,peak.evening,0.0,-0.0,0.0 @@ -667,111 +667,111 @@ milestone_year,run_description,asset_id,process_id,region_id,time_slice,activity 2030,ironing out iteration 0; final without candidates,,RGASBR,GBR,summer.day,0.0,-0.0,5.5645369 2030,ironing out iteration 0; final without candidates,,RGASBR,GBR,summer.peak,0.0,-0.0,5.5645369 2030,ironing out iteration 0; final without candidates,,RGASBR,GBR,summer.evening,0.0,-0.0,5.5645369 -2030,ironing out iteration 0; final without candidates,,RGASBR,GBR,autumn.night,13.341224614176841,-0.0,0.0 +2030,ironing out iteration 0; final without candidates,,RGASBR,GBR,autumn.night,11.64774165188975,-0.0,0.0 2030,ironing out iteration 0; final without candidates,,RGASBR,GBR,autumn.day,0.0,-0.0,0.0 2030,ironing out iteration 0; final without candidates,,RGASBR,GBR,autumn.peak,0.0,-0.0,0.0 2030,ironing out iteration 0; final without candidates,,RGASBR,GBR,autumn.evening,0.0,-0.0,0.0 -2030,ironing out iteration 0; final without candidates,2,WNDFRM,GBR,winter.night,4.435312795545212,-16.86223303030303,0.0 +2030,ironing out iteration 0; final without candidates,2,WNDFRM,GBR,winter.night,4.435312795545212,-7.593308999999999,0.0 2030,ironing out iteration 0; final without candidates,2,WNDFRM,GBR,winter.day,7.075379933645912,-7.593308999999999,0.0 2030,ironing out iteration 0; final without candidates,2,WNDFRM,GBR,winter.peak,1.9712501261051125,-7.593308999999999,0.0 -2030,ironing out iteration 0; final without candidates,2,WNDFRM,GBR,winter.evening,2.5696653598405335,-16.86223303030303,0.0 +2030,ironing out iteration 0; final without candidates,2,WNDFRM,GBR,winter.evening,2.5696653598405335,-7.593308999999999,0.0 2030,ironing out iteration 0; final without candidates,2,WNDFRM,GBR,peak.night,2.851272517283696,-16.86223303030303,0.0 -2030,ironing out iteration 0; final without candidates,2,WNDFRM,GBR,peak.day,6.3713620320039785,-16.86223303030303,0.0 -2030,ironing out iteration 0; final without candidates,2,WNDFRM,GBR,peak.peak,1.7776452018191917,-16.86223303030303,0.0 +2030,ironing out iteration 0; final without candidates,2,WNDFRM,GBR,peak.day,6.3713620320039785,-7.593308999999999,0.0 +2030,ironing out iteration 0; final without candidates,2,WNDFRM,GBR,peak.peak,1.7776452018191917,-7.593308999999999,0.0 2030,ironing out iteration 0; final without candidates,2,WNDFRM,GBR,peak.evening,1.72484387381507,-16.86223303030303,0.0 2030,ironing out iteration 0; final without candidates,2,WNDFRM,GBR,summer.night,1.6368416242136155,-7.593308999999999,0.0 2030,ironing out iteration 0; final without candidates,2,WNDFRM,GBR,summer.day,3.2188600626534005,-0.0,0.0 2030,ironing out iteration 0; final without candidates,2,WNDFRM,GBR,summer.peak,1.0599640039494003,-0.0,0.0 2030,ironing out iteration 0; final without candidates,2,WNDFRM,GBR,summer.evening,0.7892279633502001,-0.0,0.0 2030,ironing out iteration 0; final without candidates,2,WNDFRM,GBR,autumn.night,3.203281465982185,-16.86223303030303,0.0 -2030,ironing out iteration 0; final without candidates,2,WNDFRM,GBR,autumn.day,6.001752635595889,-16.86223303030303,0.0 +2030,ironing out iteration 0; final without candidates,2,WNDFRM,GBR,autumn.day,6.001752635595889,-7.593308999999999,0.0 2030,ironing out iteration 0; final without candidates,2,WNDFRM,GBR,autumn.peak,1.5488393825638174,-16.86223303030303,0.0 2030,ironing out iteration 0; final without candidates,2,WNDFRM,GBR,autumn.evening,1.9008483513729915,-16.86223303030303,0.0 -2030,ironing out iteration 0; final without candidates,3,GASCGT,GBR,winter.night,5.02964439799266,-9.26892403030303,0.0 +2030,ironing out iteration 0; final without candidates,3,GASCGT,GBR,winter.night,5.189205998452591,-0.0,0.0 2030,ironing out iteration 0; final without candidates,3,GASCGT,GBR,winter.day,6.6739326103518914,-0.0,0.0 2030,ironing out iteration 0; final without candidates,3,GASCGT,GBR,winter.peak,2.1535436238948877,-0.0,0.0 -2030,ironing out iteration 0; final without candidates,3,GASCGT,GBR,winter.evening,2.87408252299266,-9.26892403030303,0.0 -2030,ironing out iteration 0; final without candidates,3,GASCGT,GBR,peak.night,5.02964439799266,-9.26892403030303,0.0 -2030,ironing out iteration 0; final without candidates,3,GASCGT,GBR,peak.day,7.185206272992661,-9.26892403030303,0.0 -2030,ironing out iteration 0; final without candidates,3,GASCGT,GBR,peak.peak,2.155561875,-9.26892403030303,0.0 -2030,ironing out iteration 0; final without candidates,3,GASCGT,GBR,peak.evening,2.87408252299266,-9.26892403030303,0.0 +2030,ironing out iteration 0; final without candidates,3,GASCGT,GBR,winter.evening,2.9300596841572673,-0.0,0.0 +2030,ironing out iteration 0; final without candidates,3,GASCGT,GBR,peak.night,5.5884937755474,-9.26892403030303,0.0 +2030,ironing out iteration 0; final without candidates,3,GASCGT,GBR,peak.day,7.3779505119938245,-0.0,0.0 +2030,ironing out iteration 0; final without candidates,3,GASCGT,GBR,peak.peak,2.3471485481808085,-0.0,0.0 +2030,ironing out iteration 0; final without candidates,3,GASCGT,GBR,peak.evening,3.1934250255473997,-9.26892403030303,0.0 2030,ironing out iteration 0; final without candidates,3,GASCGT,GBR,summer.night,0.29510617194278477,-0.0,0.0 2030,ironing out iteration 0; final without candidates,3,GASCGT,GBR,summer.day,0.0,-0.0,7.593309 2030,ironing out iteration 0; final without candidates,3,GASCGT,GBR,summer.peak,0.0,-0.0,7.593309 2030,ironing out iteration 0; final without candidates,3,GASCGT,GBR,summer.evening,0.0,-0.0,7.593309 -2030,ironing out iteration 0; final without candidates,3,GASCGT,GBR,autumn.night,5.02964439799266,-9.26892403030303,0.0 -2030,ironing out iteration 0; final without candidates,3,GASCGT,GBR,autumn.day,7.185206272992661,-9.26892403030303,0.0 -2030,ironing out iteration 0; final without candidates,3,GASCGT,GBR,autumn.peak,2.155561875,-9.26892403030303,0.0 -2030,ironing out iteration 0; final without candidates,3,GASCGT,GBR,autumn.evening,2.87408252299266,-9.26892403030303,0.0 +2030,ironing out iteration 0; final without candidates,3,GASCGT,GBR,autumn.night,5.5884937755474,-9.26892403030303,0.0 +2030,ironing out iteration 0; final without candidates,3,GASCGT,GBR,autumn.day,7.747559908401914,-0.0,0.0 +2030,ironing out iteration 0; final without candidates,3,GASCGT,GBR,autumn.peak,2.39506875,-9.26892403030303,0.0 +2030,ironing out iteration 0; final without candidates,3,GASCGT,GBR,autumn.evening,3.1934250255473997,-9.26892403030303,0.0 2030,ironing out iteration 0; final without candidates,1,GASPRC,GBR,winter.night,0.0,-0.0,2.220446049250313e-16 -2030,ironing out iteration 0; final without candidates,1,GASPRC,GBR,winter.day,229.21488487823854,-0.0,0.0 -2030,ironing out iteration 0; final without candidates,1,GASPRC,GBR,winter.peak,106.37240625000001,-0.0,0.0 -2030,ironing out iteration 0; final without candidates,1,GASPRC,GBR,winter.evening,141.829876134639,-0.0,0.0 +2030,ironing out iteration 0; final without candidates,1,GASPRC,GBR,winter.day,201.20904171773094,-0.0,0.0 +2030,ironing out iteration 0; final without candidates,1,GASPRC,GBR,winter.peak,118.1915625,-0.0,0.0 +2030,ironing out iteration 0; final without candidates,1,GASPRC,GBR,winter.evening,157.58875126070998,-0.0,0.0 2030,ironing out iteration 0; final without candidates,1,GASPRC,GBR,peak.night,0.0,-0.0,2.220446049250313e-16 -2030,ironing out iteration 0; final without candidates,1,GASPRC,GBR,peak.day,0.8994048802770322,-0.0,0.0 -2030,ironing out iteration 0; final without candidates,1,GASPRC,GBR,peak.peak,106.37240625000001,-0.0,0.0 -2030,ironing out iteration 0; final without candidates,1,GASPRC,GBR,peak.evening,141.829876134639,-0.0,0.0 +2030,ironing out iteration 0; final without candidates,1,GASPRC,GBR,peak.day,0.0,-0.0,2.220446049250313e-16 +2030,ironing out iteration 0; final without candidates,1,GASPRC,GBR,peak.peak,89.0070195528397,-0.0,0.0 +2030,ironing out iteration 0; final without candidates,1,GASPRC,GBR,peak.evening,157.58875126070998,-0.0,0.0 2030,ironing out iteration 0; final without candidates,1,GASPRC,GBR,summer.night,0.0,-0.0,2.220446049250313e-16 2030,ironing out iteration 0; final without candidates,1,GASPRC,GBR,summer.day,0.0,-0.0,2.220446049250313e-16 2030,ironing out iteration 0; final without candidates,1,GASPRC,GBR,summer.peak,0.0,-0.0,2.220446049250313e-16 2030,ironing out iteration 0; final without candidates,1,GASPRC,GBR,summer.evening,0.44265925791417715,-0.0,0.0 2030,ironing out iteration 0; final without candidates,1,GASPRC,GBR,autumn.night,0.0,-0.0,2.220446049250313e-16 2030,ironing out iteration 0; final without candidates,1,GASPRC,GBR,autumn.day,0.0,-0.0,2.220446049250313e-16 -2030,ironing out iteration 0; final without candidates,1,GASPRC,GBR,autumn.peak,42.697667750099825,-0.0,0.0 -2030,ironing out iteration 0; final without candidates,1,GASPRC,GBR,autumn.evening,141.829876134639,-0.0,0.0 +2030,ironing out iteration 0; final without candidates,1,GASPRC,GBR,autumn.peak,23.60414318224167,-0.0,0.0 +2030,ironing out iteration 0; final without candidates,1,GASPRC,GBR,autumn.evening,157.58875126070998,-0.0,0.0 2030,ironing out iteration 0; final without candidates,0,GASDRV,GBR,winter.night,0.0,-0.0,0.0 -2030,ironing out iteration 0; final without candidates,0,GASDRV,GBR,winter.day,238.63971192534342,-0.0,0.0 -2030,ironing out iteration 0; final without candidates,0,GASDRV,GBR,winter.peak,112.5635625,-0.0,0.0 -2030,ironing out iteration 0; final without candidates,0,GASDRV,GBR,winter.evening,150.084751200678,-0.0,0.0 +2030,ironing out iteration 0; final without candidates,0,GASDRV,GBR,winter.day,209.007363584943,-0.0,0.0 +2030,ironing out iteration 0; final without candidates,0,GASDRV,GBR,winter.peak,125.070625,-0.0,0.0 +2030,ironing out iteration 0; final without candidates,0,GASDRV,GBR,winter.evening,166.76083466742,-0.0,0.0 2030,ironing out iteration 0; final without candidates,0,GASDRV,GBR,peak.night,0.0,-0.0,0.0 2030,ironing out iteration 0; final without candidates,0,GASDRV,GBR,peak.day,0.0,-0.0,0.0 -2030,ironing out iteration 0; final without candidates,0,GASDRV,GBR,peak.peak,111.47202042748387,-0.0,0.0 -2030,ironing out iteration 0; final without candidates,0,GASDRV,GBR,peak.evening,150.084751200678,-0.0,0.0 +2030,ironing out iteration 0; final without candidates,0,GASDRV,GBR,peak.peak,92.16472468680718,-0.0,0.0 +2030,ironing out iteration 0; final without candidates,0,GASDRV,GBR,peak.evening,166.76083466742,-0.0,0.0 2030,ironing out iteration 0; final without candidates,0,GASDRV,GBR,summer.night,0.0,-0.0,0.0 2030,ironing out iteration 0; final without candidates,0,GASDRV,GBR,summer.day,0.0,-0.0,0.0 2030,ironing out iteration 0; final without candidates,0,GASDRV,GBR,summer.peak,0.0,-0.0,0.0 2030,ironing out iteration 0; final without candidates,0,GASDRV,GBR,summer.evening,0.464792220809886,-0.0,0.0 2030,ironing out iteration 0; final without candidates,0,GASDRV,GBR,autumn.night,0.0,-0.0,0.0 2030,ironing out iteration 0; final without candidates,0,GASDRV,GBR,autumn.day,0.0,-0.0,0.0 -2030,ironing out iteration 0; final without candidates,0,GASDRV,GBR,autumn.peak,43.669169878297765,-0.0,0.0 -2030,ironing out iteration 0; final without candidates,0,GASDRV,GBR,autumn.evening,150.084751200678,-0.0,0.0 -2030,ironing out iteration 0; final with candidates,5,RELCHP,GBR,winter.night,28.68264737742139,-0.0,0.0 +2030,ironing out iteration 0; final without candidates,0,GASDRV,GBR,autumn.peak,23.49170449767925,-0.0,0.0 +2030,ironing out iteration 0; final without candidates,0,GASDRV,GBR,autumn.evening,166.76083466742,-0.0,0.0 +2030,ironing out iteration 0; final with candidates,5,RELCHP,GBR,winter.night,29.165208466660005,-3.05874493,0.0 2030,ironing out iteration 0; final with candidates,5,RELCHP,GBR,winter.day,41.664583466660005,-3.05874493,0.0 2030,ironing out iteration 0; final with candidates,5,RELCHP,GBR,winter.peak,12.499375,-3.05874493,0.0 -2030,ironing out iteration 0; final with candidates,5,RELCHP,GBR,winter.evening,16.496756345740273,-0.0,0.0 -2030,ironing out iteration 0; final with candidates,5,RELCHP,GBR,peak.night,23.882404254973252,-0.0,0.0 -2030,ironing out iteration 0; final with candidates,5,RELCHP,GBR,peak.day,41.08188258002768,-0.0,0.0 -2030,ironing out iteration 0; final with candidates,5,RELCHP,GBR,peak.peak,11.919210869714215,-0.0,0.0 -2030,ironing out iteration 0; final with candidates,5,RELCHP,GBR,peak.evening,13.936626667446427,-0.0,0.0 +2030,ironing out iteration 0; final with candidates,5,RELCHP,GBR,winter.evening,16.66583346666,-3.05874493,0.0 +2030,ironing out iteration 0; final with candidates,5,RELCHP,GBR,peak.night,25.57595690791723,-0.0,0.0 +2030,ironing out iteration 0; final with candidates,5,RELCHP,GBR,peak.day,41.664583466660005,-3.05874493,0.0 +2030,ironing out iteration 0; final with candidates,5,RELCHP,GBR,peak.peak,12.499375,-3.05874493,0.0 +2030,ironing out iteration 0; final with candidates,5,RELCHP,GBR,peak.evening,14.904371043875251,-0.0,0.0 2030,ironing out iteration 0; final with candidates,5,RELCHP,GBR,summer.night,5.8543799694133005,-0.0,0.0 2030,ironing out iteration 0; final with candidates,5,RELCHP,GBR,summer.day,9.7541109853133,-0.0,0.0 2030,ironing out iteration 0; final with candidates,5,RELCHP,GBR,summer.peak,3.2120090081800003,-0.0,0.0 2030,ironing out iteration 0; final with candidates,5,RELCHP,GBR,summer.evening,2.3915957222733,-0.0,0.0 -2030,ironing out iteration 0; final with candidates,5,RELCHP,GBR,autumn.night,24.949124942710178,-0.0,0.0 -2030,ironing out iteration 0; final with candidates,5,RELCHP,GBR,autumn.day,39.96182585707153,-0.0,0.0 -2030,ironing out iteration 0; final with candidates,5,RELCHP,GBR,autumn.peak,11.225842414802113,-0.0,0.0 -2030,ironing out iteration 0; final with candidates,5,RELCHP,GBR,autumn.evening,14.469987021038401,-0.0,0.0 -2030,ironing out iteration 0; final with candidates,4,RGASBR,GBR,winter.night,12.66221211419905,-0.0,0.0 +2030,ironing out iteration 0; final with candidates,5,RELCHP,GBR,autumn.night,26.642677595654153,-0.0,0.0 +2030,ironing out iteration 0; final with candidates,5,RELCHP,GBR,autumn.day,41.664583466660005,-3.05874493,0.0 +2030,ironing out iteration 0; final with candidates,5,RELCHP,GBR,autumn.peak,11.951650691317264,-0.0,0.0 +2030,ironing out iteration 0; final with candidates,5,RELCHP,GBR,autumn.evening,15.437731397467225,-0.0,0.0 +2030,ironing out iteration 0; final with candidates,4,RGASBR,GBR,winter.night,12.179651024960432,-0.0,0.0 2030,ironing out iteration 0; final with candidates,4,RGASBR,GBR,winter.day,153.60892686512042,-0.0,0.0 2030,ironing out iteration 0; final with candidates,4,RGASBR,GBR,winter.peak,90.62499374999999,-0.0,0.0 -2030,ironing out iteration 0; final with candidates,4,RGASBR,GBR,winter.evening,47.46476026732018,-0.0,0.0 +2030,ironing out iteration 0; final with candidates,4,RGASBR,GBR,winter.evening,47.29568314640045,-0.0,0.0 2030,ironing out iteration 0; final with candidates,4,RGASBR,GBR,peak.night,0.0,-0.0,0.0 -2030,ironing out iteration 0; final with candidates,4,RGASBR,GBR,peak.day,47.17947627103274,-0.0,0.0 -2030,ironing out iteration 0; final with candidates,4,RGASBR,GBR,peak.peak,46.961818989085785,-0.0,0.0 -2030,ironing out iteration 0; final with candidates,4,RGASBR,GBR,peak.evening,13.703033039774024,-0.0,0.0 +2030,ironing out iteration 0; final with candidates,4,RGASBR,GBR,peak.day,46.596775384400416,-0.0,0.0 +2030,ironing out iteration 0; final with candidates,4,RGASBR,GBR,peak.peak,46.381654858800005,-0.0,0.0 +2030,ironing out iteration 0; final with candidates,4,RGASBR,GBR,peak.evening,12.735288663345202,-0.0,0.0 2030,ironing out iteration 0; final with candidates,4,RGASBR,GBR,summer.night,0.0,-0.0,3.05874493 2030,ironing out iteration 0; final with candidates,4,RGASBR,GBR,summer.day,0.0,-0.0,5.5645369 2030,ironing out iteration 0; final with candidates,4,RGASBR,GBR,summer.peak,0.0,-0.0,5.5645369 2030,ironing out iteration 0; final with candidates,4,RGASBR,GBR,summer.evening,0.0,-0.0,5.5645369 2030,ironing out iteration 0; final with candidates,4,RGASBR,GBR,autumn.night,0.0,-0.0,0.0 -2030,ironing out iteration 0; final with candidates,4,RGASBR,GBR,autumn.day,23.7442592281489,-0.0,0.0 -2030,ironing out iteration 0; final with candidates,4,RGASBR,GBR,autumn.peak,33.646995730777874,-0.0,0.0 -2030,ironing out iteration 0; final with candidates,4,RGASBR,GBR,autumn.evening,4.218119992602045,-0.0,0.0 +2030,ironing out iteration 0; final with candidates,4,RGASBR,GBR,autumn.day,22.041501618560424,-0.0,0.0 +2030,ironing out iteration 0; final with candidates,4,RGASBR,GBR,autumn.peak,32.92118745426273,-0.0,0.0 +2030,ironing out iteration 0; final with candidates,4,RGASBR,GBR,autumn.evening,3.2503756161732227,-0.0,0.0 2030,ironing out iteration 0; final with candidates,,RGASBR,GBR,winter.night,25.94655054710617,-0.0,0.0 2030,ironing out iteration 0; final with candidates,,RGASBR,GBR,winter.day,37.066500730746185,-0.0,0.0 2030,ironing out iteration 0; final with candidates,,RGASBR,GBR,winter.peak,11.119950183640015,-0.0,0.0 2030,ironing out iteration 0; final with candidates,,RGASBR,GBR,winter.evening,14.826600363466154,-0.0,0.0 -2030,ironing out iteration 0; final with candidates,,RGASBR,GBR,peak.night,23.256815579113358,-0.0,0.0 +2030,ironing out iteration 0; final with candidates,,RGASBR,GBR,peak.night,21.56326292616938,-0.0,0.0 2030,ironing out iteration 0; final with candidates,,RGASBR,GBR,peak.day,37.066500730746185,-0.0,0.0 2030,ironing out iteration 0; final with candidates,,RGASBR,GBR,peak.peak,11.119950183640015,-0.0,0.0 2030,ironing out iteration 0; final with candidates,,RGASBR,GBR,peak.evening,14.826600363466154,-0.0,0.0 @@ -779,138 +779,138 @@ milestone_year,run_description,asset_id,process_id,region_id,time_slice,activity 2030,ironing out iteration 0; final with candidates,,RGASBR,GBR,summer.day,0.0,-0.0,5.5645369 2030,ironing out iteration 0; final with candidates,,RGASBR,GBR,summer.peak,0.0,-0.0,5.5645369 2030,ironing out iteration 0; final with candidates,,RGASBR,GBR,summer.evening,0.0,-0.0,5.5645369 -2030,ironing out iteration 0; final with candidates,,RGASBR,GBR,autumn.night,13.340345281996434,-0.0,0.0 +2030,ironing out iteration 0; final with candidates,,RGASBR,GBR,autumn.night,11.646792629052456,-0.0,0.0 2030,ironing out iteration 0; final with candidates,,RGASBR,GBR,autumn.day,37.066500730746185,-0.0,0.0 2030,ironing out iteration 0; final with candidates,,RGASBR,GBR,autumn.peak,11.119950183640015,-0.0,0.0 2030,ironing out iteration 0; final with candidates,,RGASBR,GBR,autumn.evening,14.826600363466154,-0.0,0.0 -2030,ironing out iteration 0; final with candidates,2,WNDFRM,GBR,winter.night,4.435312795545212,-16.86223303030303,0.0 +2030,ironing out iteration 0; final with candidates,2,WNDFRM,GBR,winter.night,4.435312795545212,-7.593308999999999,0.0 2030,ironing out iteration 0; final with candidates,2,WNDFRM,GBR,winter.day,7.075379933645912,-7.593308999999999,0.0 2030,ironing out iteration 0; final with candidates,2,WNDFRM,GBR,winter.peak,1.9712501261051125,-7.593308999999999,0.0 -2030,ironing out iteration 0; final with candidates,2,WNDFRM,GBR,winter.evening,2.5696653598405335,-16.86223303030303,0.0 +2030,ironing out iteration 0; final with candidates,2,WNDFRM,GBR,winter.evening,2.5696653598405335,-7.593308999999999,0.0 2030,ironing out iteration 0; final with candidates,2,WNDFRM,GBR,peak.night,2.851272517283696,-16.86223303030303,0.0 -2030,ironing out iteration 0; final with candidates,2,WNDFRM,GBR,peak.day,6.3713620320039785,-16.86223303030303,0.0 -2030,ironing out iteration 0; final with candidates,2,WNDFRM,GBR,peak.peak,1.7776452018191917,-16.86223303030303,0.0 +2030,ironing out iteration 0; final with candidates,2,WNDFRM,GBR,peak.day,6.3713620320039785,-7.593308999999999,0.0 +2030,ironing out iteration 0; final with candidates,2,WNDFRM,GBR,peak.peak,1.7776452018191917,-7.593308999999999,0.0 2030,ironing out iteration 0; final with candidates,2,WNDFRM,GBR,peak.evening,1.72484387381507,-16.86223303030303,0.0 2030,ironing out iteration 0; final with candidates,2,WNDFRM,GBR,summer.night,1.6368416242136155,-7.593308999999999,0.0 2030,ironing out iteration 0; final with candidates,2,WNDFRM,GBR,summer.day,3.2187450892539897,-0.0,0.0 2030,ironing out iteration 0; final with candidates,2,WNDFRM,GBR,summer.peak,1.059930266581354,-0.0,0.0 2030,ironing out iteration 0; final with candidates,2,WNDFRM,GBR,summer.evening,0.7892013285857518,-0.0,0.0 2030,ironing out iteration 0; final with candidates,2,WNDFRM,GBR,autumn.night,3.203281465982185,-16.86223303030303,0.0 -2030,ironing out iteration 0; final with candidates,2,WNDFRM,GBR,autumn.day,6.001752635595889,-16.86223303030303,0.0 +2030,ironing out iteration 0; final with candidates,2,WNDFRM,GBR,autumn.day,6.001752635595889,-7.593308999999999,0.0 2030,ironing out iteration 0; final with candidates,2,WNDFRM,GBR,autumn.peak,1.5488393825638174,-16.86223303030303,0.0 2030,ironing out iteration 0; final with candidates,2,WNDFRM,GBR,autumn.evening,1.9008483513729915,-16.86223303030303,0.0 -2030,ironing out iteration 0; final with candidates,3,GASCGT,GBR,winter.night,5.02964439799266,-9.26892403030303,0.0 -2030,ironing out iteration 0; final with candidates,3,GASCGT,GBR,winter.day,6.673461907429892,-0.0,0.0 -2030,ironing out iteration 0; final with candidates,3,GASCGT,GBR,winter.peak,2.153406230668241,-0.0,0.0 -2030,ironing out iteration 0; final with candidates,3,GASCGT,GBR,winter.evening,2.87408252299266,-9.26892403030303,0.0 -2030,ironing out iteration 0; final with candidates,3,GASCGT,GBR,peak.night,5.02964439799266,-9.26892403030303,0.0 -2030,ironing out iteration 0; final with candidates,3,GASCGT,GBR,peak.day,7.185206272992661,-9.26892403030303,0.0 -2030,ironing out iteration 0; final with candidates,3,GASCGT,GBR,peak.peak,2.155561875,-9.26892403030303,0.0 -2030,ironing out iteration 0; final with candidates,3,GASCGT,GBR,peak.evening,2.87408252299266,-9.26892403030303,0.0 -2030,ironing out iteration 0; final with candidates,3,GASCGT,GBR,summer.night,0.29485790680717083,-0.0,0.0 +2030,ironing out iteration 0; final with candidates,3,GASCGT,GBR,winter.night,5.188866559524632,-0.0,0.0 +2030,ironing out iteration 0; final with candidates,3,GASCGT,GBR,winter.day,6.67342905326312,-0.0,0.0 +2030,ironing out iteration 0; final with candidates,3,GASCGT,GBR,winter.peak,2.153396374418241,-0.0,0.0 +2030,ironing out iteration 0; final with candidates,3,GASCGT,GBR,winter.evening,2.9298648312293984,-0.0,0.0 +2030,ironing out iteration 0; final with candidates,3,GASCGT,GBR,peak.night,5.5884937755474,-9.26892403030303,0.0 +2030,ironing out iteration 0; final with candidates,3,GASCGT,GBR,peak.day,7.3774647114145555,-0.0,0.0 +2030,ironing out iteration 0; final with candidates,3,GASCGT,GBR,peak.peak,2.3470061817443093,-0.0,0.0 +2030,ironing out iteration 0; final with candidates,3,GASCGT,GBR,peak.evening,3.1934250255473997,-9.26892403030303,0.0 +2030,ironing out iteration 0; final with candidates,3,GASCGT,GBR,summer.night,0.294834908890399,-0.0,0.0 2030,ironing out iteration 0; final with candidates,3,GASCGT,GBR,summer.day,0.0,-0.0,7.593309 2030,ironing out iteration 0; final with candidates,3,GASCGT,GBR,summer.peak,0.0,-0.0,7.593309 2030,ironing out iteration 0; final with candidates,3,GASCGT,GBR,summer.evening,0.0,-0.0,7.593309 -2030,ironing out iteration 0; final with candidates,3,GASCGT,GBR,autumn.night,5.02964439799266,-9.26892403030303,0.0 -2030,ironing out iteration 0; final with candidates,3,GASCGT,GBR,autumn.day,7.185206272992661,-9.26892403030303,0.0 -2030,ironing out iteration 0; final with candidates,3,GASCGT,GBR,autumn.peak,2.155561875,-9.26892403030303,0.0 -2030,ironing out iteration 0; final with candidates,3,GASCGT,GBR,autumn.evening,2.87408252299266,-9.26892403030303,0.0 +2030,ironing out iteration 0; final with candidates,3,GASCGT,GBR,autumn.night,5.5884937755474,-9.26892403030303,0.0 +2030,ironing out iteration 0; final with candidates,3,GASCGT,GBR,autumn.day,7.747083429990085,-0.0,0.0 +2030,ironing out iteration 0; final with candidates,3,GASCGT,GBR,autumn.peak,2.39506875,-9.26892403030303,0.0 +2030,ironing out iteration 0; final with candidates,3,GASCGT,GBR,autumn.evening,3.1934250255473997,-9.26892403030303,0.0 2030,ironing out iteration 0; final with candidates,1,GASPRC,GBR,winter.night,0.0,-0.0,2.220446049250313e-16 -2030,ironing out iteration 0; final with candidates,1,GASPRC,GBR,winter.day,229.2132499738283,-0.0,0.0 -2030,ironing out iteration 0; final with candidates,1,GASPRC,GBR,winter.peak,106.37240625000001,-0.0,0.0 -2030,ironing out iteration 0; final with candidates,1,GASPRC,GBR,winter.evening,141.829876134639,-0.0,0.0 +2030,ironing out iteration 0; final with candidates,1,GASPRC,GBR,winter.day,201.20839307010357,-0.0,0.0 +2030,ironing out iteration 0; final with candidates,1,GASPRC,GBR,winter.peak,118.1915625,-0.0,0.0 +2030,ironing out iteration 0; final with candidates,1,GASPRC,GBR,winter.evening,157.58875126070998,-0.0,0.0 2030,ironing out iteration 0; final with candidates,1,GASPRC,GBR,peak.night,0.0,-0.0,2.220446049250313e-16 -2030,ironing out iteration 0; final with candidates,1,GASPRC,GBR,peak.day,0.8968553742192462,-0.0,0.0 -2030,ironing out iteration 0; final with candidates,1,GASPRC,GBR,peak.peak,106.37240625000001,-0.0,0.0 -2030,ironing out iteration 0; final with candidates,1,GASPRC,GBR,peak.evening,141.829876134639,-0.0,0.0 +2030,ironing out iteration 0; final with candidates,1,GASPRC,GBR,peak.day,0.0,-0.0,2.220446049250313e-16 +2030,ironing out iteration 0; final with candidates,1,GASPRC,GBR,peak.peak,89.00555785782771,-0.0,0.0 +2030,ironing out iteration 0; final with candidates,1,GASPRC,GBR,peak.evening,157.58875126070998,-0.0,0.0 2030,ironing out iteration 0; final with candidates,1,GASPRC,GBR,summer.night,0.0,-0.0,2.220446049250313e-16 2030,ironing out iteration 0; final with candidates,1,GASPRC,GBR,summer.day,0.0,-0.0,2.220446049250313e-16 2030,ironing out iteration 0; final with candidates,1,GASPRC,GBR,summer.peak,0.0,-0.0,2.220446049250313e-16 -2030,ironing out iteration 0; final with candidates,1,GASPRC,GBR,summer.evening,0.44257483208708553,-0.0,0.0 +2030,ironing out iteration 0; final with candidates,1,GASPRC,GBR,summer.evening,0.44257233208707547,-0.0,0.0 2030,ironing out iteration 0; final with candidates,1,GASPRC,GBR,autumn.night,0.0,-0.0,2.220446049250313e-16 2030,ironing out iteration 0; final with candidates,1,GASPRC,GBR,autumn.day,0.0,-0.0,2.220446049250313e-16 -2030,ironing out iteration 0; final with candidates,1,GASPRC,GBR,autumn.peak,42.6951244319165,-0.0,0.0 -2030,ironing out iteration 0; final with candidates,1,GASPRC,GBR,autumn.evening,141.829876134639,-0.0,0.0 +2030,ironing out iteration 0; final with candidates,1,GASPRC,GBR,autumn.peak,23.602386596208433,-0.0,0.0 +2030,ironing out iteration 0; final with candidates,1,GASPRC,GBR,autumn.evening,157.58875126070998,-0.0,0.0 2030,ironing out iteration 0; final with candidates,0,GASDRV,GBR,winter.night,0.0,-0.0,0.0 -2030,ironing out iteration 0; final with candidates,0,GASDRV,GBR,winter.day,238.63799640071278,-0.0,0.0 -2030,ironing out iteration 0; final with candidates,0,GASDRV,GBR,winter.peak,112.5635625,-0.0,0.0 -2030,ironing out iteration 0; final with candidates,0,GASDRV,GBR,winter.evening,150.084751200678,-0.0,0.0 +2030,ironing out iteration 0; final with candidates,0,GASDRV,GBR,winter.day,209.00668375493427,-0.0,0.0 +2030,ironing out iteration 0; final with candidates,0,GASDRV,GBR,winter.peak,125.070625,-0.0,0.0 +2030,ironing out iteration 0; final with candidates,0,GASDRV,GBR,winter.evening,166.76083466742,-0.0,0.0 2030,ironing out iteration 0; final with candidates,0,GASDRV,GBR,peak.night,0.0,-0.0,0.0 2030,ironing out iteration 0; final with candidates,0,GASDRV,GBR,peak.day,0.0,-0.0,0.0 -2030,ironing out iteration 0; final with candidates,0,GASDRV,GBR,peak.peak,111.4693445711232,-0.0,0.0 -2030,ironing out iteration 0; final with candidates,0,GASDRV,GBR,peak.evening,150.084751200678,-0.0,0.0 +2030,ironing out iteration 0; final with candidates,0,GASDRV,GBR,peak.peak,92.1631911570446,-0.0,0.0 +2030,ironing out iteration 0; final with candidates,0,GASDRV,GBR,peak.evening,166.76083466742,-0.0,0.0 2030,ironing out iteration 0; final with candidates,0,GASDRV,GBR,summer.night,0.0,-0.0,0.0 2030,ironing out iteration 0; final with candidates,0,GASDRV,GBR,summer.day,0.0,-0.0,0.0 2030,ironing out iteration 0; final with candidates,0,GASDRV,GBR,summer.peak,0.0,-0.0,0.0 -2030,ironing out iteration 0; final with candidates,0,GASDRV,GBR,summer.evening,0.4647046986914443,-0.0,0.0 +2030,ironing out iteration 0; final with candidates,0,GASDRV,GBR,summer.evening,0.46470219869143425,-0.0,0.0 2030,ironing out iteration 0; final with candidates,0,GASDRV,GBR,autumn.night,0.0,-0.0,0.0 2030,ironing out iteration 0; final with candidates,0,GASDRV,GBR,autumn.day,0.0,-0.0,0.0 -2030,ironing out iteration 0; final with candidates,0,GASDRV,GBR,autumn.peak,43.66650051920533,-0.0,0.0 -2030,ironing out iteration 0; final with candidates,0,GASDRV,GBR,autumn.evening,150.084751200678,-0.0,0.0 -2030,ironing out iteration 0; final with candidates,,GASDRV,GBR,winter.night,6.562500030000001e-6,-0.0,0.0 -2030,ironing out iteration 0; final with candidates,,GASDRV,GBR,winter.day,9.375000030000002e-6,-0.0,0.0 -2030,ironing out iteration 0; final with candidates,,GASDRV,GBR,winter.peak,2.8125e-6,-0.0,0.0 -2030,ironing out iteration 0; final with candidates,,GASDRV,GBR,winter.evening,3.7500000299999996e-6,-0.0,0.0 -2030,ironing out iteration 0; final with candidates,,GASDRV,GBR,peak.night,6.562500030000001e-6,-0.0,0.0 -2030,ironing out iteration 0; final with candidates,,GASDRV,GBR,peak.day,9.375000030000002e-6,-0.0,0.0 -2030,ironing out iteration 0; final with candidates,,GASDRV,GBR,peak.peak,2.8125e-6,-0.0,0.0 -2030,ironing out iteration 0; final with candidates,,GASDRV,GBR,peak.evening,3.7500000299999996e-6,-0.0,0.0 -2030,ironing out iteration 0; final with candidates,,GASDRV,GBR,summer.night,6.562500030000001e-6,-0.0,0.0 -2030,ironing out iteration 0; final with candidates,,GASDRV,GBR,summer.day,9.375000030000002e-6,-0.0,0.0 -2030,ironing out iteration 0; final with candidates,,GASDRV,GBR,summer.peak,2.8125e-6,-0.0,0.0 -2030,ironing out iteration 0; final with candidates,,GASDRV,GBR,summer.evening,3.7500000299999996e-6,-0.0,0.0 -2030,ironing out iteration 0; final with candidates,,GASDRV,GBR,autumn.night,6.562500030000001e-6,-0.0,0.0 -2030,ironing out iteration 0; final with candidates,,GASDRV,GBR,autumn.day,9.375000030000002e-6,-0.0,0.0 -2030,ironing out iteration 0; final with candidates,,GASDRV,GBR,autumn.peak,2.8125e-6,-0.0,0.0 -2030,ironing out iteration 0; final with candidates,,GASDRV,GBR,autumn.evening,3.7500000299999996e-6,-0.0,0.0 -2030,ironing out iteration 0; final with candidates,,GASPRC,GBR,winter.night,6.562500030000001e-6,-0.0,0.0 -2030,ironing out iteration 0; final with candidates,,GASPRC,GBR,winter.day,9.375000030000002e-6,-0.0,0.0 -2030,ironing out iteration 0; final with candidates,,GASPRC,GBR,winter.peak,2.8125e-6,-0.0,0.0 -2030,ironing out iteration 0; final with candidates,,GASPRC,GBR,winter.evening,3.7500000299999996e-6,-0.0,0.0 -2030,ironing out iteration 0; final with candidates,,GASPRC,GBR,peak.night,6.562500030000001e-6,-0.0,0.0 -2030,ironing out iteration 0; final with candidates,,GASPRC,GBR,peak.day,9.375000030000002e-6,-0.0,0.0 -2030,ironing out iteration 0; final with candidates,,GASPRC,GBR,peak.peak,2.8125e-6,-0.0,0.0 -2030,ironing out iteration 0; final with candidates,,GASPRC,GBR,peak.evening,3.7500000299999996e-6,-0.0,0.0 -2030,ironing out iteration 0; final with candidates,,GASPRC,GBR,summer.night,6.562500030000001e-6,-0.0,0.0 -2030,ironing out iteration 0; final with candidates,,GASPRC,GBR,summer.day,9.375000030000002e-6,-0.0,0.0 -2030,ironing out iteration 0; final with candidates,,GASPRC,GBR,summer.peak,2.8125e-6,-0.0,0.0 -2030,ironing out iteration 0; final with candidates,,GASPRC,GBR,summer.evening,3.7500000299999996e-6,-0.0,0.0 -2030,ironing out iteration 0; final with candidates,,GASPRC,GBR,autumn.night,6.562500030000001e-6,-0.0,0.0 -2030,ironing out iteration 0; final with candidates,,GASPRC,GBR,autumn.day,9.375000030000002e-6,-0.0,0.0 -2030,ironing out iteration 0; final with candidates,,GASPRC,GBR,autumn.peak,2.8125e-6,-0.0,0.0 -2030,ironing out iteration 0; final with candidates,,GASPRC,GBR,autumn.evening,3.7500000299999996e-6,-0.0,0.0 -2030,ironing out iteration 0; final with candidates,,WNDFRM,GBR,winter.night,0.00011186601025274165,-16.86223303030303,0.0 +2030,ironing out iteration 0; final with candidates,0,GASDRV,GBR,autumn.peak,23.48986133234436,-0.0,0.0 +2030,ironing out iteration 0; final with candidates,0,GASDRV,GBR,autumn.evening,166.76083466742,-0.0,0.0 +2030,ironing out iteration 0; final with candidates,,GASDRV,GBR,winter.night,7.291666700000001e-6,-0.0,0.0 +2030,ironing out iteration 0; final with candidates,,GASDRV,GBR,winter.day,0.000010416666700000001,-0.0,0.0 +2030,ironing out iteration 0; final with candidates,,GASDRV,GBR,winter.peak,3.125e-6,-0.0,0.0 +2030,ironing out iteration 0; final with candidates,,GASDRV,GBR,winter.evening,4.1666667e-6,-0.0,0.0 +2030,ironing out iteration 0; final with candidates,,GASDRV,GBR,peak.night,7.291666700000001e-6,-0.0,0.0 +2030,ironing out iteration 0; final with candidates,,GASDRV,GBR,peak.day,0.000010416666700000001,-0.0,0.0 +2030,ironing out iteration 0; final with candidates,,GASDRV,GBR,peak.peak,3.125e-6,-0.0,0.0 +2030,ironing out iteration 0; final with candidates,,GASDRV,GBR,peak.evening,4.1666667e-6,-0.0,0.0 +2030,ironing out iteration 0; final with candidates,,GASDRV,GBR,summer.night,7.291666700000001e-6,-0.0,0.0 +2030,ironing out iteration 0; final with candidates,,GASDRV,GBR,summer.day,0.000010416666700000001,-0.0,0.0 +2030,ironing out iteration 0; final with candidates,,GASDRV,GBR,summer.peak,3.125e-6,-0.0,0.0 +2030,ironing out iteration 0; final with candidates,,GASDRV,GBR,summer.evening,4.1666667e-6,-0.0,0.0 +2030,ironing out iteration 0; final with candidates,,GASDRV,GBR,autumn.night,7.291666700000001e-6,-0.0,0.0 +2030,ironing out iteration 0; final with candidates,,GASDRV,GBR,autumn.day,0.000010416666700000001,-0.0,0.0 +2030,ironing out iteration 0; final with candidates,,GASDRV,GBR,autumn.peak,3.125e-6,-0.0,0.0 +2030,ironing out iteration 0; final with candidates,,GASDRV,GBR,autumn.evening,4.1666667e-6,-0.0,0.0 +2030,ironing out iteration 0; final with candidates,,GASPRC,GBR,winter.night,7.291666700000001e-6,-0.0,0.0 +2030,ironing out iteration 0; final with candidates,,GASPRC,GBR,winter.day,0.000010416666700000001,-0.0,0.0 +2030,ironing out iteration 0; final with candidates,,GASPRC,GBR,winter.peak,3.125e-6,-0.0,0.0 +2030,ironing out iteration 0; final with candidates,,GASPRC,GBR,winter.evening,4.1666667e-6,-0.0,0.0 +2030,ironing out iteration 0; final with candidates,,GASPRC,GBR,peak.night,7.291666700000001e-6,-0.0,0.0 +2030,ironing out iteration 0; final with candidates,,GASPRC,GBR,peak.day,0.000010416666700000001,-0.0,0.0 +2030,ironing out iteration 0; final with candidates,,GASPRC,GBR,peak.peak,3.125e-6,-0.0,0.0 +2030,ironing out iteration 0; final with candidates,,GASPRC,GBR,peak.evening,4.1666667e-6,-0.0,0.0 +2030,ironing out iteration 0; final with candidates,,GASPRC,GBR,summer.night,7.291666700000001e-6,-0.0,0.0 +2030,ironing out iteration 0; final with candidates,,GASPRC,GBR,summer.day,0.000010416666700000001,-0.0,0.0 +2030,ironing out iteration 0; final with candidates,,GASPRC,GBR,summer.peak,3.125e-6,-0.0,0.0 +2030,ironing out iteration 0; final with candidates,,GASPRC,GBR,summer.evening,4.1666667e-6,-0.0,0.0 +2030,ironing out iteration 0; final with candidates,,GASPRC,GBR,autumn.night,7.291666700000001e-6,-0.0,0.0 +2030,ironing out iteration 0; final with candidates,,GASPRC,GBR,autumn.day,0.000010416666700000001,-0.0,0.0 +2030,ironing out iteration 0; final with candidates,,GASPRC,GBR,autumn.peak,3.125e-6,-0.0,0.0 +2030,ironing out iteration 0; final with candidates,,GASPRC,GBR,autumn.evening,4.1666667e-6,-0.0,0.0 +2030,ironing out iteration 0; final with candidates,,WNDFRM,GBR,winter.night,0.00011186601025274165,-7.593308999999999,0.0 2030,ironing out iteration 0; final with candidates,,WNDFRM,GBR,winter.day,0.00017845292106438267,-7.593308999999999,0.0 2030,ironing out iteration 0; final with candidates,,WNDFRM,GBR,winter.peak,0.000049718226646625005,-7.593308999999999,0.0 -2030,ironing out iteration 0; final with candidates,,WNDFRM,GBR,winter.evening,0.00006481126016157341,-16.86223303030303,0.0 +2030,ironing out iteration 0; final with candidates,,WNDFRM,GBR,winter.evening,0.00006481126016157341,-7.593308999999999,0.0 2030,ironing out iteration 0; final with candidates,,WNDFRM,GBR,peak.night,0.00007191386388174911,-16.86223303030303,0.0 -2030,ironing out iteration 0; final with candidates,,WNDFRM,GBR,peak.day,0.00016069641156131185,-16.86223303030303,0.0 -2030,ironing out iteration 0; final with candidates,,WNDFRM,GBR,peak.peak,0.000044835186499625,-16.86223303030303,0.0 +2030,ironing out iteration 0; final with candidates,,WNDFRM,GBR,peak.day,0.00016069641156131185,-7.593308999999999,0.0 +2030,ironing out iteration 0; final with candidates,,WNDFRM,GBR,peak.peak,0.000044835186499625,-7.593308999999999,0.0 2030,ironing out iteration 0; final with candidates,,WNDFRM,GBR,peak.evening,0.00004350344865561091,-16.86223303030303,0.0 2030,ironing out iteration 0; final with candidates,,WNDFRM,GBR,summer.night,0.00004128388466768467,-7.593308999999999,0.0 2030,ironing out iteration 0; final with candidates,,WNDFRM,GBR,summer.day,0.00011497339941020655,-0.0,0.0 2030,ironing out iteration 0; final with candidates,,WNDFRM,GBR,summer.peak,0.0000337373680464375,-0.0,0.0 2030,ironing out iteration 0; final with candidates,,WNDFRM,GBR,summer.evening,0.000026634764448161445,-0.0,0.0 2030,ironing out iteration 0; final with candidates,,WNDFRM,GBR,autumn.night,0.00008079211857975206,-16.86223303030303,0.0 -2030,ironing out iteration 0; final with candidates,,WNDFRM,GBR,autumn.day,0.00015137424412148091,-16.86223303030303,0.0 +2030,ironing out iteration 0; final with candidates,,WNDFRM,GBR,autumn.day,0.00015137424412148091,-7.593308999999999,0.0 2030,ironing out iteration 0; final with candidates,,WNDFRM,GBR,autumn.peak,0.000039064320880312505,-16.86223303030303,0.0 2030,ironing out iteration 0; final with candidates,,WNDFRM,GBR,autumn.evening,0.0000479425760855406,-16.86223303030303,0.0 -2030,ironing out iteration 0; final with candidates,,GASCGT,GBR,winter.night,0.0002069812509462,-9.26892403030303,0.0 -2030,ironing out iteration 0; final with candidates,,GASCGT,GBR,winter.day,0.00029568750094620004,-0.0,0.0 -2030,ironing out iteration 0; final with candidates,,GASCGT,GBR,winter.peak,0.00008870625,-0.0,0.0 -2030,ironing out iteration 0; final with candidates,,GASCGT,GBR,winter.evening,0.00011827500094619999,-9.26892403030303,0.0 -2030,ironing out iteration 0; final with candidates,,GASCGT,GBR,peak.night,0.0002069812509462,-9.26892403030303,0.0 -2030,ironing out iteration 0; final with candidates,,GASCGT,GBR,peak.day,0.00029568750094620004,-9.26892403030303,0.0 -2030,ironing out iteration 0; final with candidates,,GASCGT,GBR,peak.peak,0.00008870625,-9.26892403030303,0.0 -2030,ironing out iteration 0; final with candidates,,GASCGT,GBR,peak.evening,0.00011827500094619999,-9.26892403030303,0.0 -2030,ironing out iteration 0; final with candidates,,GASCGT,GBR,summer.night,0.0002069812509462,-0.0,0.0 +2030,ironing out iteration 0; final with candidates,,GASCGT,GBR,winter.night,0.00022997916771800003,-0.0,0.0 +2030,ironing out iteration 0; final with candidates,,GASCGT,GBR,winter.day,0.00032854166771800004,-0.0,0.0 +2030,ironing out iteration 0; final with candidates,,GASCGT,GBR,winter.peak,0.0000985625,-0.0,0.0 +2030,ironing out iteration 0; final with candidates,,GASCGT,GBR,winter.evening,0.000131416667718,-0.0,0.0 +2030,ironing out iteration 0; final with candidates,,GASCGT,GBR,peak.night,0.00022997916771800003,-9.26892403030303,0.0 +2030,ironing out iteration 0; final with candidates,,GASCGT,GBR,peak.day,0.00032854166771800004,-0.0,0.0 +2030,ironing out iteration 0; final with candidates,,GASCGT,GBR,peak.peak,0.0000985625,-0.0,0.0 +2030,ironing out iteration 0; final with candidates,,GASCGT,GBR,peak.evening,0.000131416667718,-9.26892403030303,0.0 +2030,ironing out iteration 0; final with candidates,,GASCGT,GBR,summer.night,0.00022997916771800003,-0.0,0.0 2030,ironing out iteration 0; final with candidates,,GASCGT,GBR,summer.day,0.0,-0.0,7.593309 2030,ironing out iteration 0; final with candidates,,GASCGT,GBR,summer.peak,0.0,-0.0,7.593309 2030,ironing out iteration 0; final with candidates,,GASCGT,GBR,summer.evening,0.0,-0.0,7.593309 -2030,ironing out iteration 0; final with candidates,,GASCGT,GBR,autumn.night,0.0002069812509462,-9.26892403030303,0.0 -2030,ironing out iteration 0; final with candidates,,GASCGT,GBR,autumn.day,0.00029568750094620004,-9.26892403030303,0.0 -2030,ironing out iteration 0; final with candidates,,GASCGT,GBR,autumn.peak,0.00008870625,-9.26892403030303,0.0 -2030,ironing out iteration 0; final with candidates,,GASCGT,GBR,autumn.evening,0.00011827500094619999,-9.26892403030303,0.0 +2030,ironing out iteration 0; final with candidates,,GASCGT,GBR,autumn.night,0.00022997916771800003,-9.26892403030303,0.0 +2030,ironing out iteration 0; final with candidates,,GASCGT,GBR,autumn.day,0.00032854166771800004,-0.0,0.0 +2030,ironing out iteration 0; final with candidates,,GASCGT,GBR,autumn.peak,0.0000985625,-9.26892403030303,0.0 +2030,ironing out iteration 0; final with candidates,,GASCGT,GBR,autumn.evening,0.000131416667718,-9.26892403030303,0.0 2030,ironing out iteration 0; final with candidates,,RGASBR,GBR,winter.night,7.291666700000001e-6,-0.0,0.0 2030,ironing out iteration 0; final with candidates,,RGASBR,GBR,winter.day,0.000010416666700000001,-0.0,0.0 2030,ironing out iteration 0; final with candidates,,RGASBR,GBR,winter.peak,3.125e-6,-0.0,0.0 @@ -927,123 +927,123 @@ milestone_year,run_description,asset_id,process_id,region_id,time_slice,activity 2030,ironing out iteration 0; final with candidates,,RGASBR,GBR,autumn.day,0.000010416666700000001,-0.0,0.0 2030,ironing out iteration 0; final with candidates,,RGASBR,GBR,autumn.peak,3.125e-6,-0.0,0.0 2030,ironing out iteration 0; final with candidates,,RGASBR,GBR,autumn.evening,4.1666667e-6,-0.0,0.0 -2030,ironing out iteration 0; final with candidates,,RELCHP,GBR,winter.night,7.291666700000001e-6,-0.0,0.0 +2030,ironing out iteration 0; final with candidates,,RELCHP,GBR,winter.night,7.291666700000001e-6,-3.05874493,0.0 2030,ironing out iteration 0; final with candidates,,RELCHP,GBR,winter.day,0.000010416666700000001,-3.05874493,0.0 2030,ironing out iteration 0; final with candidates,,RELCHP,GBR,winter.peak,3.125e-6,-3.05874493,0.0 -2030,ironing out iteration 0; final with candidates,,RELCHP,GBR,winter.evening,4.1666667e-6,-0.0,0.0 +2030,ironing out iteration 0; final with candidates,,RELCHP,GBR,winter.evening,4.1666667e-6,-3.05874493,0.0 2030,ironing out iteration 0; final with candidates,,RELCHP,GBR,peak.night,7.291666700000001e-6,-0.0,0.0 -2030,ironing out iteration 0; final with candidates,,RELCHP,GBR,peak.day,0.000010416666700000001,-0.0,0.0 -2030,ironing out iteration 0; final with candidates,,RELCHP,GBR,peak.peak,3.125e-6,-0.0,0.0 +2030,ironing out iteration 0; final with candidates,,RELCHP,GBR,peak.day,0.000010416666700000001,-3.05874493,0.0 +2030,ironing out iteration 0; final with candidates,,RELCHP,GBR,peak.peak,3.125e-6,-3.05874493,0.0 2030,ironing out iteration 0; final with candidates,,RELCHP,GBR,peak.evening,4.1666667e-6,-0.0,0.0 2030,ironing out iteration 0; final with candidates,,RELCHP,GBR,summer.night,7.291666700000001e-6,-0.0,0.0 2030,ironing out iteration 0; final with candidates,,RELCHP,GBR,summer.day,0.000010416666700000001,-0.0,0.0 2030,ironing out iteration 0; final with candidates,,RELCHP,GBR,summer.peak,3.125e-6,-0.0,0.0 2030,ironing out iteration 0; final with candidates,,RELCHP,GBR,summer.evening,4.1666667e-6,-0.0,0.0 2030,ironing out iteration 0; final with candidates,,RELCHP,GBR,autumn.night,7.291666700000001e-6,-0.0,0.0 -2030,ironing out iteration 0; final with candidates,,RELCHP,GBR,autumn.day,0.000010416666700000001,-0.0,0.0 +2030,ironing out iteration 0; final with candidates,,RELCHP,GBR,autumn.day,0.000010416666700000001,-3.05874493,0.0 2030,ironing out iteration 0; final with candidates,,RELCHP,GBR,autumn.peak,3.125e-6,-0.0,0.0 2030,ironing out iteration 0; final with candidates,,RELCHP,GBR,autumn.evening,4.1666667e-6,-0.0,0.0 2030,final without candidates,0,GASDRV,GBR,winter.night,0.0,-0.0,0.0 -2030,final without candidates,0,GASDRV,GBR,winter.day,238.63971192534342,-0.0,0.0 -2030,final without candidates,0,GASDRV,GBR,winter.peak,112.5635625,-0.0,0.0 -2030,final without candidates,0,GASDRV,GBR,winter.evening,150.084751200678,-0.0,0.0 +2030,final without candidates,0,GASDRV,GBR,winter.day,209.007363584943,-0.0,0.0 +2030,final without candidates,0,GASDRV,GBR,winter.peak,125.070625,-0.0,0.0 +2030,final without candidates,0,GASDRV,GBR,winter.evening,166.76083466742,-0.0,0.0 2030,final without candidates,0,GASDRV,GBR,peak.night,0.0,-0.0,0.0 2030,final without candidates,0,GASDRV,GBR,peak.day,0.0,-0.0,0.0 -2030,final without candidates,0,GASDRV,GBR,peak.peak,111.47202042748387,-0.0,0.0 -2030,final without candidates,0,GASDRV,GBR,peak.evening,150.084751200678,-0.0,0.0 +2030,final without candidates,0,GASDRV,GBR,peak.peak,92.16472468680718,-0.0,0.0 +2030,final without candidates,0,GASDRV,GBR,peak.evening,166.76083466742,-0.0,0.0 2030,final without candidates,0,GASDRV,GBR,summer.night,0.0,-0.0,0.0 2030,final without candidates,0,GASDRV,GBR,summer.day,0.0,-0.0,0.0 2030,final without candidates,0,GASDRV,GBR,summer.peak,0.0,-0.0,0.0 2030,final without candidates,0,GASDRV,GBR,summer.evening,0.464792220809886,-0.0,0.0 2030,final without candidates,0,GASDRV,GBR,autumn.night,0.0,-0.0,0.0 2030,final without candidates,0,GASDRV,GBR,autumn.day,0.0,-0.0,0.0 -2030,final without candidates,0,GASDRV,GBR,autumn.peak,43.669169878297794,-0.0,0.0 -2030,final without candidates,0,GASDRV,GBR,autumn.evening,150.084751200678,-0.0,0.0 +2030,final without candidates,0,GASDRV,GBR,autumn.peak,23.49170449767925,-0.0,0.0 +2030,final without candidates,0,GASDRV,GBR,autumn.evening,166.76083466742,-0.0,0.0 2030,final without candidates,1,GASPRC,GBR,winter.night,0.0,-0.0,2.220446049250313e-16 -2030,final without candidates,1,GASPRC,GBR,winter.day,229.2148848782385,-0.0,0.0 -2030,final without candidates,1,GASPRC,GBR,winter.peak,106.37240625000001,-0.0,0.0 -2030,final without candidates,1,GASPRC,GBR,winter.evening,141.829876134639,-0.0,0.0 +2030,final without candidates,1,GASPRC,GBR,winter.day,201.2090417177309,-0.0,0.0 +2030,final without candidates,1,GASPRC,GBR,winter.peak,118.1915625,-0.0,0.0 +2030,final without candidates,1,GASPRC,GBR,winter.evening,157.58875126070998,-0.0,0.0 2030,final without candidates,1,GASPRC,GBR,peak.night,0.0,-0.0,2.220446049250313e-16 -2030,final without candidates,1,GASPRC,GBR,peak.day,0.8994048802770465,-0.0,0.0 -2030,final without candidates,1,GASPRC,GBR,peak.peak,106.37240625000001,-0.0,0.0 -2030,final without candidates,1,GASPRC,GBR,peak.evening,141.829876134639,-0.0,0.0 +2030,final without candidates,1,GASPRC,GBR,peak.day,0.0,-0.0,2.220446049250313e-16 +2030,final without candidates,1,GASPRC,GBR,peak.peak,89.00701955283967,-0.0,0.0 +2030,final without candidates,1,GASPRC,GBR,peak.evening,157.58875126070998,-0.0,0.0 2030,final without candidates,1,GASPRC,GBR,summer.night,0.0,-0.0,2.220446049250313e-16 2030,final without candidates,1,GASPRC,GBR,summer.day,0.0,-0.0,2.220446049250313e-16 2030,final without candidates,1,GASPRC,GBR,summer.peak,0.0,-0.0,2.220446049250313e-16 2030,final without candidates,1,GASPRC,GBR,summer.evening,0.44265925791417715,-0.0,0.0 2030,final without candidates,1,GASPRC,GBR,autumn.night,0.0,-0.0,2.220446049250313e-16 2030,final without candidates,1,GASPRC,GBR,autumn.day,0.0,-0.0,2.220446049250313e-16 -2030,final without candidates,1,GASPRC,GBR,autumn.peak,42.69766775009984,-0.0,0.0 -2030,final without candidates,1,GASPRC,GBR,autumn.evening,141.829876134639,-0.0,0.0 -2030,final without candidates,2,WNDFRM,GBR,winter.night,4.435312795545212,-16.86223303030303,0.0 +2030,final without candidates,1,GASPRC,GBR,autumn.peak,23.60414318224167,-0.0,0.0 +2030,final without candidates,1,GASPRC,GBR,autumn.evening,157.58875126070998,-0.0,0.0 +2030,final without candidates,2,WNDFRM,GBR,winter.night,4.435312795545212,-7.593308999999999,0.0 2030,final without candidates,2,WNDFRM,GBR,winter.day,7.075379933645912,-7.593308999999999,0.0 2030,final without candidates,2,WNDFRM,GBR,winter.peak,1.9712501261051125,-7.593308999999999,0.0 -2030,final without candidates,2,WNDFRM,GBR,winter.evening,2.5696653598405335,-16.86223303030303,0.0 +2030,final without candidates,2,WNDFRM,GBR,winter.evening,2.5696653598405335,-7.593308999999999,0.0 2030,final without candidates,2,WNDFRM,GBR,peak.night,2.851272517283696,-16.86223303030303,0.0 -2030,final without candidates,2,WNDFRM,GBR,peak.day,6.3713620320039785,-16.86223303030303,0.0 -2030,final without candidates,2,WNDFRM,GBR,peak.peak,1.7776452018191917,-16.86223303030303,0.0 +2030,final without candidates,2,WNDFRM,GBR,peak.day,6.3713620320039785,-7.593308999999999,0.0 +2030,final without candidates,2,WNDFRM,GBR,peak.peak,1.7776452018191917,-7.593308999999999,0.0 2030,final without candidates,2,WNDFRM,GBR,peak.evening,1.72484387381507,-16.86223303030303,0.0 2030,final without candidates,2,WNDFRM,GBR,summer.night,1.6368416242136155,-7.593308999999999,0.0 2030,final without candidates,2,WNDFRM,GBR,summer.day,3.2188600626534005,-0.0,0.0 2030,final without candidates,2,WNDFRM,GBR,summer.peak,1.0599640039494003,-0.0,0.0 2030,final without candidates,2,WNDFRM,GBR,summer.evening,0.7892279633502001,-0.0,0.0 2030,final without candidates,2,WNDFRM,GBR,autumn.night,3.203281465982185,-16.86223303030303,0.0 -2030,final without candidates,2,WNDFRM,GBR,autumn.day,6.001752635595889,-16.86223303030303,0.0 +2030,final without candidates,2,WNDFRM,GBR,autumn.day,6.001752635595889,-7.593308999999999,0.0 2030,final without candidates,2,WNDFRM,GBR,autumn.peak,1.5488393825638174,-16.86223303030303,0.0 2030,final without candidates,2,WNDFRM,GBR,autumn.evening,1.9008483513729915,-16.86223303030303,0.0 -2030,final without candidates,3,GASCGT,GBR,winter.night,5.02964439799266,-9.26892403030303,0.0 +2030,final without candidates,3,GASCGT,GBR,winter.night,5.189205998452591,-0.0,0.0 2030,final without candidates,3,GASCGT,GBR,winter.day,6.6739326103518914,-0.0,0.0 2030,final without candidates,3,GASCGT,GBR,winter.peak,2.1535436238948877,-0.0,0.0 -2030,final without candidates,3,GASCGT,GBR,winter.evening,2.87408252299266,-9.26892403030303,0.0 -2030,final without candidates,3,GASCGT,GBR,peak.night,5.02964439799266,-9.26892403030303,0.0 -2030,final without candidates,3,GASCGT,GBR,peak.day,7.185206272992661,-9.26892403030303,0.0 -2030,final without candidates,3,GASCGT,GBR,peak.peak,2.155561875,-9.26892403030303,0.0 -2030,final without candidates,3,GASCGT,GBR,peak.evening,2.87408252299266,-9.26892403030303,0.0 +2030,final without candidates,3,GASCGT,GBR,winter.evening,2.9300596841572673,-0.0,0.0 +2030,final without candidates,3,GASCGT,GBR,peak.night,5.5884937755474,-9.26892403030303,0.0 +2030,final without candidates,3,GASCGT,GBR,peak.day,7.3779505119938245,-0.0,0.0 +2030,final without candidates,3,GASCGT,GBR,peak.peak,2.3471485481808085,-0.0,0.0 +2030,final without candidates,3,GASCGT,GBR,peak.evening,3.1934250255473997,-9.26892403030303,0.0 2030,final without candidates,3,GASCGT,GBR,summer.night,0.29510617194278477,-0.0,0.0 2030,final without candidates,3,GASCGT,GBR,summer.day,0.0,-0.0,7.593309 2030,final without candidates,3,GASCGT,GBR,summer.peak,0.0,-0.0,7.593309 2030,final without candidates,3,GASCGT,GBR,summer.evening,0.0,-0.0,7.593309 -2030,final without candidates,3,GASCGT,GBR,autumn.night,5.02964439799266,-9.26892403030303,0.0 -2030,final without candidates,3,GASCGT,GBR,autumn.day,7.185206272992661,-9.26892403030303,0.0 -2030,final without candidates,3,GASCGT,GBR,autumn.peak,2.155561875,-9.26892403030303,0.0 -2030,final without candidates,3,GASCGT,GBR,autumn.evening,2.87408252299266,-9.26892403030303,0.0 -2030,final without candidates,4,RGASBR,GBR,winter.night,38.60973615679373,-0.0,0.0 +2030,final without candidates,3,GASCGT,GBR,autumn.night,5.5884937755474,-9.26892403030303,0.0 +2030,final without candidates,3,GASCGT,GBR,autumn.day,7.747559908401914,-0.0,0.0 +2030,final without candidates,3,GASCGT,GBR,autumn.peak,2.39506875,-9.26892403030303,0.0 +2030,final without candidates,3,GASCGT,GBR,autumn.evening,3.1934250255473997,-9.26892403030303,0.0 +2030,final without candidates,4,RGASBR,GBR,winter.night,38.1262161554,-0.0,0.0 2030,final without candidates,4,RGASBR,GBR,winter.day,190.6754484292,-0.0,0.0 2030,final without candidates,4,RGASBR,GBR,winter.peak,90.625,-0.0,0.0 -2030,final without candidates,4,RGASBR,GBR,winter.evening,62.29191960430488,-0.0,0.0 +2030,final without candidates,4,RGASBR,GBR,winter.evening,62.1222918432,-0.0,0.0 2030,final without candidates,4,RGASBR,GBR,peak.night,0.0,-0.0,0.0 -2030,final without candidates,4,RGASBR,GBR,peak.day,84.24737039999867,-0.0,0.0 -2030,final without candidates,4,RGASBR,GBR,peak.peak,58.0821769687455,-0.0,0.0 -2030,final without candidates,4,RGASBR,GBR,peak.evening,28.530127807632944,-0.0,0.0 +2030,final without candidates,4,RGASBR,GBR,peak.day,83.66329694848,-0.0,0.0 +2030,final without candidates,4,RGASBR,GBR,peak.peak,57.50161129244002,-0.0,0.0 +2030,final without candidates,4,RGASBR,GBR,peak.evening,27.562423254436766,-0.0,0.0 2030,final without candidates,4,RGASBR,GBR,summer.night,0.0,-0.0,3.05874493 2030,final without candidates,4,RGASBR,GBR,summer.day,0.0,-0.0,5.5645369 2030,final without candidates,4,RGASBR,GBR,summer.peak,0.0,-0.0,5.5645369 2030,final without candidates,4,RGASBR,GBR,summer.evening,0.0,-0.0,5.5645369 2030,final without candidates,4,RGASBR,GBR,autumn.night,0.0,-0.0,0.0 -2030,final without candidates,4,RGASBR,GBR,autumn.day,60.81212510812259,-0.0,0.0 -2030,final without candidates,4,RGASBR,GBR,autumn.peak,44.76733622296601,-0.0,0.0 -2030,final without candidates,4,RGASBR,GBR,autumn.evening,19.045228212362268,-0.0,0.0 -2030,final without candidates,5,RELCHP,GBR,winter.night,28.681688465266276,-0.0,0.0 +2030,final without candidates,4,RGASBR,GBR,autumn.day,59.10802318264001,-0.0,0.0 +2030,final without candidates,4,RGASBR,GBR,autumn.peak,44.0415578138751,-0.0,0.0 +2030,final without candidates,4,RGASBR,GBR,autumn.evening,18.07752365916609,-0.0,0.0 +2030,final without candidates,5,RELCHP,GBR,winter.night,29.165208466660005,-3.05874493,0.0 2030,final without candidates,5,RELCHP,GBR,winter.day,41.664583466660005,-3.05874493,0.0 2030,final without candidates,5,RELCHP,GBR,winter.peak,12.499375,-3.05874493,0.0 -2030,final without candidates,5,RELCHP,GBR,winter.evening,16.49620570555513,-0.0,0.0 -2030,final without candidates,5,RELCHP,GBR,peak.night,23.881566409928354,-0.0,0.0 -2030,final without candidates,5,RELCHP,GBR,peak.day,41.08051001514133,-0.0,0.0 -2030,final without candidates,5,RELCHP,GBR,peak.peak,11.91880932369452,-0.0,0.0 -2030,final without candidates,5,RELCHP,GBR,peak.evening,13.93614059638706,-0.0,0.0 +2030,final without candidates,5,RELCHP,GBR,winter.evening,16.66583346666,-3.05874493,0.0 +2030,final without candidates,5,RELCHP,GBR,peak.night,25.575049372215442,-0.0,0.0 +2030,final without candidates,5,RELCHP,GBR,peak.day,41.664583466660005,-3.05874493,0.0 +2030,final without candidates,5,RELCHP,GBR,peak.peak,12.499375,-3.05874493,0.0 +2030,final without candidates,5,RELCHP,GBR,peak.evening,14.903845149583242,-0.0,0.0 2030,final without candidates,5,RELCHP,GBR,summer.night,5.85438726108,-0.0,0.0 2030,final without candidates,5,RELCHP,GBR,summer.day,9.75412140198,-0.0,0.0 2030,final without candidates,5,RELCHP,GBR,summer.peak,3.2120121331800005,-0.0,0.0 2030,final without candidates,5,RELCHP,GBR,summer.evening,2.39159988894,-0.0,0.0 -2030,final without candidates,5,RELCHP,GBR,autumn.night,24.948260193863167,-0.0,0.0 -2030,final without candidates,5,RELCHP,GBR,autumn.day,39.96048154117742,-0.0,0.0 -2030,final without candidates,5,RELCHP,GBR,autumn.peak,11.225458356253991,-0.0,0.0 -2030,final without candidates,5,RELCHP,GBR,autumn.evening,14.469487498077731,-0.0,0.0 +2030,final without candidates,5,RELCHP,GBR,autumn.night,26.641743156150255,-0.0,0.0 +2030,final without candidates,5,RELCHP,GBR,autumn.day,41.664583466660005,-3.05874493,0.0 +2030,final without candidates,5,RELCHP,GBR,autumn.peak,11.9512367653449,-0.0,0.0 +2030,final without candidates,5,RELCHP,GBR,autumn.evening,15.437192051273913,-0.0,0.0 2030,final without candidates,6,RGASBR,GBR,winter.night,0.0,-0.0,0.0 2030,final without candidates,6,RGASBR,GBR,winter.day,0.0,-0.0,0.0 2030,final without candidates,6,RGASBR,GBR,winter.peak,11.119950183640015,-0.0,0.0 2030,final without candidates,6,RGASBR,GBR,winter.evening,0.0,-0.0,0.0 -2030,final without candidates,6,RGASBR,GBR,peak.night,23.257668007491652,-0.0,0.0 +2030,final without candidates,6,RGASBR,GBR,peak.night,21.56418504520456,-0.0,0.0 2030,final without candidates,6,RGASBR,GBR,peak.day,0.0,-0.0,0.0 2030,final without candidates,6,RGASBR,GBR,peak.peak,0.0,-0.0,0.0 2030,final without candidates,6,RGASBR,GBR,peak.evening,0.0,-0.0,0.0 @@ -1051,111 +1051,111 @@ milestone_year,run_description,asset_id,process_id,region_id,time_slice,activity 2030,final without candidates,6,RGASBR,GBR,summer.day,0.0,-0.0,5.5645369 2030,final without candidates,6,RGASBR,GBR,summer.peak,0.0,-0.0,5.5645369 2030,final without candidates,6,RGASBR,GBR,summer.evening,0.0,-0.0,5.5645369 -2030,final without candidates,6,RGASBR,GBR,autumn.night,13.341224614176841,-0.0,0.0 +2030,final without candidates,6,RGASBR,GBR,autumn.night,11.64774165188975,-0.0,0.0 2030,final without candidates,6,RGASBR,GBR,autumn.day,0.0,-0.0,0.0 2030,final without candidates,6,RGASBR,GBR,autumn.peak,0.0,-0.0,0.0 2030,final without candidates,6,RGASBR,GBR,autumn.evening,0.0,-0.0,0.0 2030,final with candidates,0,GASDRV,GBR,winter.night,0.0,-0.0,0.0 -2030,final with candidates,0,GASDRV,GBR,winter.day,238.63799640071278,-0.0,0.0 -2030,final with candidates,0,GASDRV,GBR,winter.peak,112.5635625,-0.0,0.0 -2030,final with candidates,0,GASDRV,GBR,winter.evening,150.084751200678,-0.0,0.0 +2030,final with candidates,0,GASDRV,GBR,winter.day,209.00668375493444,-0.0,0.0 +2030,final with candidates,0,GASDRV,GBR,winter.peak,125.070625,-0.0,0.0 +2030,final with candidates,0,GASDRV,GBR,winter.evening,166.76083466742,-0.0,0.0 2030,final with candidates,0,GASDRV,GBR,peak.night,0.0,-0.0,0.0 2030,final with candidates,0,GASDRV,GBR,peak.day,0.0,-0.0,0.0 -2030,final with candidates,0,GASDRV,GBR,peak.peak,111.4693445711232,-0.0,0.0 -2030,final with candidates,0,GASDRV,GBR,peak.evening,150.084751200678,-0.0,0.0 +2030,final with candidates,0,GASDRV,GBR,peak.peak,92.1631911570446,-0.0,0.0 +2030,final with candidates,0,GASDRV,GBR,peak.evening,166.76083466742,-0.0,0.0 2030,final with candidates,0,GASDRV,GBR,summer.night,0.0,-0.0,0.0 2030,final with candidates,0,GASDRV,GBR,summer.day,0.0,-0.0,0.0 2030,final with candidates,0,GASDRV,GBR,summer.peak,0.0,-0.0,0.0 -2030,final with candidates,0,GASDRV,GBR,summer.evening,0.4647046986914443,-0.0,0.0 +2030,final with candidates,0,GASDRV,GBR,summer.evening,0.46470219869143425,-0.0,0.0 2030,final with candidates,0,GASDRV,GBR,autumn.night,0.0,-0.0,0.0 2030,final with candidates,0,GASDRV,GBR,autumn.day,0.0,-0.0,0.0 -2030,final with candidates,0,GASDRV,GBR,autumn.peak,43.6665005192053,-0.0,0.0 -2030,final with candidates,0,GASDRV,GBR,autumn.evening,150.084751200678,-0.0,0.0 +2030,final with candidates,0,GASDRV,GBR,autumn.peak,23.48986133234436,-0.0,0.0 +2030,final with candidates,0,GASDRV,GBR,autumn.evening,166.76083466742,-0.0,0.0 2030,final with candidates,1,GASPRC,GBR,winter.night,0.0,-0.0,2.220446049250313e-16 -2030,final with candidates,1,GASPRC,GBR,winter.day,229.21324997382837,-0.0,0.0 -2030,final with candidates,1,GASPRC,GBR,winter.peak,106.37240625000001,-0.0,0.0 -2030,final with candidates,1,GASPRC,GBR,winter.evening,141.829876134639,-0.0,0.0 +2030,final with candidates,1,GASPRC,GBR,winter.day,201.20839307010377,-0.0,0.0 +2030,final with candidates,1,GASPRC,GBR,winter.peak,118.1915625,-0.0,0.0 +2030,final with candidates,1,GASPRC,GBR,winter.evening,157.58875126070998,-0.0,0.0 2030,final with candidates,1,GASPRC,GBR,peak.night,0.0,-0.0,2.220446049250313e-16 -2030,final with candidates,1,GASPRC,GBR,peak.day,0.8968553742192285,-0.0,0.0 -2030,final with candidates,1,GASPRC,GBR,peak.peak,106.37240625000001,-0.0,0.0 -2030,final with candidates,1,GASPRC,GBR,peak.evening,141.829876134639,-0.0,0.0 +2030,final with candidates,1,GASPRC,GBR,peak.day,0.0,-0.0,2.220446049250313e-16 +2030,final with candidates,1,GASPRC,GBR,peak.peak,89.00555785782768,-0.0,0.0 +2030,final with candidates,1,GASPRC,GBR,peak.evening,157.58875126070998,-0.0,0.0 2030,final with candidates,1,GASPRC,GBR,summer.night,0.0,-0.0,2.220446049250313e-16 2030,final with candidates,1,GASPRC,GBR,summer.day,0.0,-0.0,2.220446049250313e-16 2030,final with candidates,1,GASPRC,GBR,summer.peak,0.0,-0.0,2.220446049250313e-16 -2030,final with candidates,1,GASPRC,GBR,summer.evening,0.44257483208708553,-0.0,0.0 +2030,final with candidates,1,GASPRC,GBR,summer.evening,0.44257233208707547,-0.0,0.0 2030,final with candidates,1,GASPRC,GBR,autumn.night,0.0,-0.0,2.220446049250313e-16 2030,final with candidates,1,GASPRC,GBR,autumn.day,0.0,-0.0,2.220446049250313e-16 -2030,final with candidates,1,GASPRC,GBR,autumn.peak,42.6951244319165,-0.0,0.0 -2030,final with candidates,1,GASPRC,GBR,autumn.evening,141.829876134639,-0.0,0.0 -2030,final with candidates,2,WNDFRM,GBR,winter.night,4.435312795545212,-16.86223303030303,0.0 +2030,final with candidates,1,GASPRC,GBR,autumn.peak,23.602386596208447,-0.0,0.0 +2030,final with candidates,1,GASPRC,GBR,autumn.evening,157.58875126070998,-0.0,0.0 +2030,final with candidates,2,WNDFRM,GBR,winter.night,4.435312795545212,-7.593308999999999,0.0 2030,final with candidates,2,WNDFRM,GBR,winter.day,7.075379933645912,-7.593308999999999,0.0 2030,final with candidates,2,WNDFRM,GBR,winter.peak,1.9712501261051125,-7.593308999999999,0.0 -2030,final with candidates,2,WNDFRM,GBR,winter.evening,2.5696653598405335,-16.86223303030303,0.0 +2030,final with candidates,2,WNDFRM,GBR,winter.evening,2.5696653598405335,-7.593308999999999,0.0 2030,final with candidates,2,WNDFRM,GBR,peak.night,2.851272517283696,-16.86223303030303,0.0 -2030,final with candidates,2,WNDFRM,GBR,peak.day,6.3713620320039785,-16.86223303030303,0.0 -2030,final with candidates,2,WNDFRM,GBR,peak.peak,1.7776452018191917,-16.86223303030303,0.0 +2030,final with candidates,2,WNDFRM,GBR,peak.day,6.3713620320039785,-7.593308999999999,0.0 +2030,final with candidates,2,WNDFRM,GBR,peak.peak,1.7776452018191917,-7.593308999999999,0.0 2030,final with candidates,2,WNDFRM,GBR,peak.evening,1.72484387381507,-16.86223303030303,0.0 2030,final with candidates,2,WNDFRM,GBR,summer.night,1.6368416242136155,-7.593308999999999,0.0 2030,final with candidates,2,WNDFRM,GBR,summer.day,3.21874508925399,-0.0,0.0 2030,final with candidates,2,WNDFRM,GBR,summer.peak,1.0599302665813537,-0.0,0.0 2030,final with candidates,2,WNDFRM,GBR,summer.evening,0.7892013285857519,-0.0,0.0 2030,final with candidates,2,WNDFRM,GBR,autumn.night,3.203281465982185,-16.86223303030303,0.0 -2030,final with candidates,2,WNDFRM,GBR,autumn.day,6.001752635595889,-16.86223303030303,0.0 +2030,final with candidates,2,WNDFRM,GBR,autumn.day,6.001752635595889,-7.593308999999999,0.0 2030,final with candidates,2,WNDFRM,GBR,autumn.peak,1.5488393825638174,-16.86223303030303,0.0 2030,final with candidates,2,WNDFRM,GBR,autumn.evening,1.9008483513729915,-16.86223303030303,0.0 -2030,final with candidates,3,GASCGT,GBR,winter.night,5.02964439799266,-9.26892403030303,0.0 -2030,final with candidates,3,GASCGT,GBR,winter.day,6.673461907429892,-0.0,0.0 -2030,final with candidates,3,GASCGT,GBR,winter.peak,2.1534062306682413,-0.0,0.0 -2030,final with candidates,3,GASCGT,GBR,winter.evening,2.87408252299266,-9.26892403030303,0.0 -2030,final with candidates,3,GASCGT,GBR,peak.night,5.02964439799266,-9.26892403030303,0.0 -2030,final with candidates,3,GASCGT,GBR,peak.day,7.185206272992661,-9.26892403030303,0.0 -2030,final with candidates,3,GASCGT,GBR,peak.peak,2.155561875,-9.26892403030303,0.0 -2030,final with candidates,3,GASCGT,GBR,peak.evening,2.87408252299266,-9.26892403030303,0.0 -2030,final with candidates,3,GASCGT,GBR,summer.night,0.29485790680717083,-0.0,0.0 +2030,final with candidates,3,GASCGT,GBR,winter.night,5.188866559524632,-0.0,0.0 +2030,final with candidates,3,GASCGT,GBR,winter.day,6.67342905326312,-0.0,0.0 +2030,final with candidates,3,GASCGT,GBR,winter.peak,2.153396374418241,-0.0,0.0 +2030,final with candidates,3,GASCGT,GBR,winter.evening,2.9298648312293984,-0.0,0.0 +2030,final with candidates,3,GASCGT,GBR,peak.night,5.5884937755474,-9.26892403030303,0.0 +2030,final with candidates,3,GASCGT,GBR,peak.day,7.3774647114145555,-0.0,0.0 +2030,final with candidates,3,GASCGT,GBR,peak.peak,2.347006181744309,-0.0,0.0 +2030,final with candidates,3,GASCGT,GBR,peak.evening,3.1934250255473997,-9.26892403030303,0.0 +2030,final with candidates,3,GASCGT,GBR,summer.night,0.294834908890399,-0.0,0.0 2030,final with candidates,3,GASCGT,GBR,summer.day,0.0,-0.0,7.593309 2030,final with candidates,3,GASCGT,GBR,summer.peak,0.0,-0.0,7.593309 2030,final with candidates,3,GASCGT,GBR,summer.evening,0.0,-0.0,7.593309 -2030,final with candidates,3,GASCGT,GBR,autumn.night,5.02964439799266,-9.26892403030303,0.0 -2030,final with candidates,3,GASCGT,GBR,autumn.day,7.185206272992661,-9.26892403030303,0.0 -2030,final with candidates,3,GASCGT,GBR,autumn.peak,2.155561875,-9.26892403030303,0.0 -2030,final with candidates,3,GASCGT,GBR,autumn.evening,2.87408252299266,-9.26892403030303,0.0 -2030,final with candidates,4,RGASBR,GBR,winter.night,12.662212114199036,-0.0,0.0 +2030,final with candidates,3,GASCGT,GBR,autumn.night,5.5884937755474,-9.26892403030303,0.0 +2030,final with candidates,3,GASCGT,GBR,autumn.day,7.747083429990085,-0.0,0.0 +2030,final with candidates,3,GASCGT,GBR,autumn.peak,2.39506875,-9.26892403030303,0.0 +2030,final with candidates,3,GASCGT,GBR,autumn.evening,3.1934250255473997,-9.26892403030303,0.0 +2030,final with candidates,4,RGASBR,GBR,winter.night,12.179651024960421,-0.0,0.0 2030,final with candidates,4,RGASBR,GBR,winter.day,153.60892686512045,-0.0,0.0 2030,final with candidates,4,RGASBR,GBR,winter.peak,90.62499374999999,-0.0,0.0 -2030,final with candidates,4,RGASBR,GBR,winter.evening,47.46476026732018,-0.0,0.0 +2030,final with candidates,4,RGASBR,GBR,winter.evening,47.29568314640045,-0.0,0.0 2030,final with candidates,4,RGASBR,GBR,peak.night,0.0,-0.0,0.0 -2030,final with candidates,4,RGASBR,GBR,peak.day,47.17947627103274,-0.0,0.0 -2030,final with candidates,4,RGASBR,GBR,peak.peak,46.96181898908578,-0.0,0.0 -2030,final with candidates,4,RGASBR,GBR,peak.evening,13.703033039774025,-0.0,0.0 +2030,final with candidates,4,RGASBR,GBR,peak.day,46.596775384400416,-0.0,0.0 +2030,final with candidates,4,RGASBR,GBR,peak.peak,46.38165485879999,-0.0,0.0 +2030,final with candidates,4,RGASBR,GBR,peak.evening,12.735288663345202,-0.0,0.0 2030,final with candidates,4,RGASBR,GBR,summer.night,0.0,-0.0,3.05874493 2030,final with candidates,4,RGASBR,GBR,summer.day,0.0,-0.0,5.5645369 2030,final with candidates,4,RGASBR,GBR,summer.peak,0.0,-0.0,5.5645369 2030,final with candidates,4,RGASBR,GBR,summer.evening,0.0,-0.0,5.5645369 2030,final with candidates,4,RGASBR,GBR,autumn.night,0.0,-0.0,0.0 -2030,final with candidates,4,RGASBR,GBR,autumn.day,23.744259228148906,-0.0,0.0 -2030,final with candidates,4,RGASBR,GBR,autumn.peak,33.646995730777874,-0.0,0.0 -2030,final with candidates,4,RGASBR,GBR,autumn.evening,4.2181199926020465,-0.0,0.0 -2030,final with candidates,5,RELCHP,GBR,winter.night,28.68264737742139,-0.0,0.0 +2030,final with candidates,4,RGASBR,GBR,autumn.day,22.04150161856043,-0.0,0.0 +2030,final with candidates,4,RGASBR,GBR,autumn.peak,32.92118745426273,-0.0,0.0 +2030,final with candidates,4,RGASBR,GBR,autumn.evening,3.2503756161732227,-0.0,0.0 +2030,final with candidates,5,RELCHP,GBR,winter.night,29.165208466660005,-3.05874493,0.0 2030,final with candidates,5,RELCHP,GBR,winter.day,41.664583466660005,-3.05874493,0.0 2030,final with candidates,5,RELCHP,GBR,winter.peak,12.499375,-3.05874493,0.0 -2030,final with candidates,5,RELCHP,GBR,winter.evening,16.496756345740273,-0.0,0.0 -2030,final with candidates,5,RELCHP,GBR,peak.night,23.882404254973252,-0.0,0.0 -2030,final with candidates,5,RELCHP,GBR,peak.day,41.08188258002768,-0.0,0.0 -2030,final with candidates,5,RELCHP,GBR,peak.peak,11.919210869714215,-0.0,0.0 -2030,final with candidates,5,RELCHP,GBR,peak.evening,13.936626667446427,-0.0,0.0 +2030,final with candidates,5,RELCHP,GBR,winter.evening,16.66583346666,-3.05874493,0.0 +2030,final with candidates,5,RELCHP,GBR,peak.night,25.57595690791723,-0.0,0.0 +2030,final with candidates,5,RELCHP,GBR,peak.day,41.664583466660005,-3.05874493,0.0 +2030,final with candidates,5,RELCHP,GBR,peak.peak,12.499375,-3.05874493,0.0 +2030,final with candidates,5,RELCHP,GBR,peak.evening,14.904371043875251,-0.0,0.0 2030,final with candidates,5,RELCHP,GBR,summer.night,5.8543799694133005,-0.0,0.0 2030,final with candidates,5,RELCHP,GBR,summer.day,9.7541109853133,-0.0,0.0 2030,final with candidates,5,RELCHP,GBR,summer.peak,3.2120090081800003,-0.0,0.0 2030,final with candidates,5,RELCHP,GBR,summer.evening,2.3915957222733,-0.0,0.0 -2030,final with candidates,5,RELCHP,GBR,autumn.night,24.949124942710178,-0.0,0.0 -2030,final with candidates,5,RELCHP,GBR,autumn.day,39.96182585707153,-0.0,0.0 -2030,final with candidates,5,RELCHP,GBR,autumn.peak,11.225842414802113,-0.0,0.0 -2030,final with candidates,5,RELCHP,GBR,autumn.evening,14.469987021038401,-0.0,0.0 +2030,final with candidates,5,RELCHP,GBR,autumn.night,26.642677595654153,-0.0,0.0 +2030,final with candidates,5,RELCHP,GBR,autumn.day,41.664583466660005,-3.05874493,0.0 +2030,final with candidates,5,RELCHP,GBR,autumn.peak,11.951650691317264,-0.0,0.0 +2030,final with candidates,5,RELCHP,GBR,autumn.evening,15.437731397467225,-0.0,0.0 2030,final with candidates,6,RGASBR,GBR,winter.night,25.94655054710617,-0.0,0.0 2030,final with candidates,6,RGASBR,GBR,winter.day,37.066500730746185,-0.0,0.0 2030,final with candidates,6,RGASBR,GBR,winter.peak,11.119950183640015,-0.0,0.0 2030,final with candidates,6,RGASBR,GBR,winter.evening,14.826600363466154,-0.0,0.0 -2030,final with candidates,6,RGASBR,GBR,peak.night,23.25681557911335,-0.0,0.0 +2030,final with candidates,6,RGASBR,GBR,peak.night,21.563262926169372,-0.0,0.0 2030,final with candidates,6,RGASBR,GBR,peak.day,37.066500730746185,-0.0,0.0 2030,final with candidates,6,RGASBR,GBR,peak.peak,11.119950183640015,-0.0,0.0 2030,final with candidates,6,RGASBR,GBR,peak.evening,14.826600363466154,-0.0,0.0 @@ -1163,74 +1163,74 @@ milestone_year,run_description,asset_id,process_id,region_id,time_slice,activity 2030,final with candidates,6,RGASBR,GBR,summer.day,0.0,-0.0,5.5645369 2030,final with candidates,6,RGASBR,GBR,summer.peak,0.0,-0.0,5.5645369 2030,final with candidates,6,RGASBR,GBR,summer.evening,0.0,-0.0,5.5645369 -2030,final with candidates,6,RGASBR,GBR,autumn.night,13.34034528199643,-0.0,0.0 +2030,final with candidates,6,RGASBR,GBR,autumn.night,11.646792629052456,-0.0,0.0 2030,final with candidates,6,RGASBR,GBR,autumn.day,37.066500730746185,-0.0,0.0 2030,final with candidates,6,RGASBR,GBR,autumn.peak,11.119950183640015,-0.0,0.0 2030,final with candidates,6,RGASBR,GBR,autumn.evening,14.826600363466154,-0.0,0.0 -2030,final with candidates,,GASDRV,GBR,winter.night,6.562500030000001e-6,-0.0,0.0 -2030,final with candidates,,GASDRV,GBR,winter.day,9.375000030000002e-6,-0.0,0.0 -2030,final with candidates,,GASDRV,GBR,winter.peak,2.8125e-6,-0.0,0.0 -2030,final with candidates,,GASDRV,GBR,winter.evening,3.7500000299999996e-6,-0.0,0.0 -2030,final with candidates,,GASDRV,GBR,peak.night,6.562500030000001e-6,-0.0,0.0 -2030,final with candidates,,GASDRV,GBR,peak.day,9.375000030000002e-6,-0.0,0.0 -2030,final with candidates,,GASDRV,GBR,peak.peak,2.8125e-6,-0.0,0.0 -2030,final with candidates,,GASDRV,GBR,peak.evening,3.7500000299999996e-6,-0.0,0.0 -2030,final with candidates,,GASDRV,GBR,summer.night,6.562500030000001e-6,-0.0,0.0 -2030,final with candidates,,GASDRV,GBR,summer.day,9.375000030000002e-6,-0.0,0.0 -2030,final with candidates,,GASDRV,GBR,summer.peak,2.8125e-6,-0.0,0.0 -2030,final with candidates,,GASDRV,GBR,summer.evening,3.7500000299999996e-6,-0.0,0.0 -2030,final with candidates,,GASDRV,GBR,autumn.night,6.562500030000001e-6,-0.0,0.0 -2030,final with candidates,,GASDRV,GBR,autumn.day,9.375000030000002e-6,-0.0,0.0 -2030,final with candidates,,GASDRV,GBR,autumn.peak,2.8125e-6,-0.0,0.0 -2030,final with candidates,,GASDRV,GBR,autumn.evening,3.7500000299999996e-6,-0.0,0.0 -2030,final with candidates,,GASPRC,GBR,winter.night,6.562500030000001e-6,-0.0,0.0 -2030,final with candidates,,GASPRC,GBR,winter.day,9.375000030000002e-6,-0.0,0.0 -2030,final with candidates,,GASPRC,GBR,winter.peak,2.8125e-6,-0.0,0.0 -2030,final with candidates,,GASPRC,GBR,winter.evening,3.7500000299999996e-6,-0.0,0.0 -2030,final with candidates,,GASPRC,GBR,peak.night,6.562500030000001e-6,-0.0,0.0 -2030,final with candidates,,GASPRC,GBR,peak.day,9.375000030000002e-6,-0.0,0.0 -2030,final with candidates,,GASPRC,GBR,peak.peak,2.8125e-6,-0.0,0.0 -2030,final with candidates,,GASPRC,GBR,peak.evening,3.7500000299999996e-6,-0.0,0.0 -2030,final with candidates,,GASPRC,GBR,summer.night,6.562500030000001e-6,-0.0,0.0 -2030,final with candidates,,GASPRC,GBR,summer.day,9.375000030000002e-6,-0.0,0.0 -2030,final with candidates,,GASPRC,GBR,summer.peak,2.8125e-6,-0.0,0.0 -2030,final with candidates,,GASPRC,GBR,summer.evening,3.7500000299999996e-6,-0.0,0.0 -2030,final with candidates,,GASPRC,GBR,autumn.night,6.562500030000001e-6,-0.0,0.0 -2030,final with candidates,,GASPRC,GBR,autumn.day,9.375000030000002e-6,-0.0,0.0 -2030,final with candidates,,GASPRC,GBR,autumn.peak,2.8125e-6,-0.0,0.0 -2030,final with candidates,,GASPRC,GBR,autumn.evening,3.7500000299999996e-6,-0.0,0.0 -2030,final with candidates,,WNDFRM,GBR,winter.night,0.00011186601025274165,-16.86223303030303,0.0 +2030,final with candidates,,GASDRV,GBR,winter.night,7.291666700000001e-6,-0.0,0.0 +2030,final with candidates,,GASDRV,GBR,winter.day,0.000010416666700000001,-0.0,0.0 +2030,final with candidates,,GASDRV,GBR,winter.peak,3.125e-6,-0.0,0.0 +2030,final with candidates,,GASDRV,GBR,winter.evening,4.1666667e-6,-0.0,0.0 +2030,final with candidates,,GASDRV,GBR,peak.night,7.291666700000001e-6,-0.0,0.0 +2030,final with candidates,,GASDRV,GBR,peak.day,0.000010416666700000001,-0.0,0.0 +2030,final with candidates,,GASDRV,GBR,peak.peak,3.125e-6,-0.0,0.0 +2030,final with candidates,,GASDRV,GBR,peak.evening,4.1666667e-6,-0.0,0.0 +2030,final with candidates,,GASDRV,GBR,summer.night,7.291666700000001e-6,-0.0,0.0 +2030,final with candidates,,GASDRV,GBR,summer.day,0.000010416666700000001,-0.0,0.0 +2030,final with candidates,,GASDRV,GBR,summer.peak,3.125e-6,-0.0,0.0 +2030,final with candidates,,GASDRV,GBR,summer.evening,4.1666667e-6,-0.0,0.0 +2030,final with candidates,,GASDRV,GBR,autumn.night,7.291666700000001e-6,-0.0,0.0 +2030,final with candidates,,GASDRV,GBR,autumn.day,0.000010416666700000001,-0.0,0.0 +2030,final with candidates,,GASDRV,GBR,autumn.peak,3.125e-6,-0.0,0.0 +2030,final with candidates,,GASDRV,GBR,autumn.evening,4.1666667e-6,-0.0,0.0 +2030,final with candidates,,GASPRC,GBR,winter.night,7.291666700000001e-6,-0.0,0.0 +2030,final with candidates,,GASPRC,GBR,winter.day,0.000010416666700000001,-0.0,0.0 +2030,final with candidates,,GASPRC,GBR,winter.peak,3.125e-6,-0.0,0.0 +2030,final with candidates,,GASPRC,GBR,winter.evening,4.1666667e-6,-0.0,0.0 +2030,final with candidates,,GASPRC,GBR,peak.night,7.291666700000001e-6,-0.0,0.0 +2030,final with candidates,,GASPRC,GBR,peak.day,0.000010416666700000001,-0.0,0.0 +2030,final with candidates,,GASPRC,GBR,peak.peak,3.125e-6,-0.0,0.0 +2030,final with candidates,,GASPRC,GBR,peak.evening,4.1666667e-6,-0.0,0.0 +2030,final with candidates,,GASPRC,GBR,summer.night,7.291666700000001e-6,-0.0,0.0 +2030,final with candidates,,GASPRC,GBR,summer.day,0.000010416666700000001,-0.0,0.0 +2030,final with candidates,,GASPRC,GBR,summer.peak,3.125e-6,-0.0,0.0 +2030,final with candidates,,GASPRC,GBR,summer.evening,4.1666667e-6,-0.0,0.0 +2030,final with candidates,,GASPRC,GBR,autumn.night,7.291666700000001e-6,-0.0,0.0 +2030,final with candidates,,GASPRC,GBR,autumn.day,0.000010416666700000001,-0.0,0.0 +2030,final with candidates,,GASPRC,GBR,autumn.peak,3.125e-6,-0.0,0.0 +2030,final with candidates,,GASPRC,GBR,autumn.evening,4.1666667e-6,-0.0,0.0 +2030,final with candidates,,WNDFRM,GBR,winter.night,0.00011186601025274165,-7.593308999999999,0.0 2030,final with candidates,,WNDFRM,GBR,winter.day,0.00017845292106438267,-7.593308999999999,0.0 2030,final with candidates,,WNDFRM,GBR,winter.peak,0.000049718226646625005,-7.593308999999999,0.0 -2030,final with candidates,,WNDFRM,GBR,winter.evening,0.00006481126016157341,-16.86223303030303,0.0 +2030,final with candidates,,WNDFRM,GBR,winter.evening,0.00006481126016157341,-7.593308999999999,0.0 2030,final with candidates,,WNDFRM,GBR,peak.night,0.00007191386388174911,-16.86223303030303,0.0 -2030,final with candidates,,WNDFRM,GBR,peak.day,0.00016069641156131185,-16.86223303030303,0.0 -2030,final with candidates,,WNDFRM,GBR,peak.peak,0.000044835186499625,-16.86223303030303,0.0 +2030,final with candidates,,WNDFRM,GBR,peak.day,0.00016069641156131185,-7.593308999999999,0.0 +2030,final with candidates,,WNDFRM,GBR,peak.peak,0.000044835186499625,-7.593308999999999,0.0 2030,final with candidates,,WNDFRM,GBR,peak.evening,0.00004350344865561091,-16.86223303030303,0.0 2030,final with candidates,,WNDFRM,GBR,summer.night,0.00004128388466768467,-7.593308999999999,0.0 2030,final with candidates,,WNDFRM,GBR,summer.day,0.00011497339941020655,-0.0,0.0 2030,final with candidates,,WNDFRM,GBR,summer.peak,0.0000337373680464375,-0.0,0.0 2030,final with candidates,,WNDFRM,GBR,summer.evening,0.000026634764448161445,-0.0,0.0 2030,final with candidates,,WNDFRM,GBR,autumn.night,0.00008079211857975206,-16.86223303030303,0.0 -2030,final with candidates,,WNDFRM,GBR,autumn.day,0.00015137424412148091,-16.86223303030303,0.0 +2030,final with candidates,,WNDFRM,GBR,autumn.day,0.00015137424412148091,-7.593308999999999,0.0 2030,final with candidates,,WNDFRM,GBR,autumn.peak,0.000039064320880312505,-16.86223303030303,0.0 2030,final with candidates,,WNDFRM,GBR,autumn.evening,0.0000479425760855406,-16.86223303030303,0.0 -2030,final with candidates,,GASCGT,GBR,winter.night,0.0002069812509462,-9.26892403030303,0.0 -2030,final with candidates,,GASCGT,GBR,winter.day,0.00029568750094620004,-0.0,0.0 -2030,final with candidates,,GASCGT,GBR,winter.peak,0.00008870625,-0.0,0.0 -2030,final with candidates,,GASCGT,GBR,winter.evening,0.00011827500094619999,-9.26892403030303,0.0 -2030,final with candidates,,GASCGT,GBR,peak.night,0.0002069812509462,-9.26892403030303,0.0 -2030,final with candidates,,GASCGT,GBR,peak.day,0.00029568750094620004,-9.26892403030303,0.0 -2030,final with candidates,,GASCGT,GBR,peak.peak,0.00008870625,-9.26892403030303,0.0 -2030,final with candidates,,GASCGT,GBR,peak.evening,0.00011827500094619999,-9.26892403030303,0.0 -2030,final with candidates,,GASCGT,GBR,summer.night,0.0002069812509462,-0.0,0.0 +2030,final with candidates,,GASCGT,GBR,winter.night,0.00022997916771800003,-0.0,0.0 +2030,final with candidates,,GASCGT,GBR,winter.day,0.00032854166771800004,-0.0,0.0 +2030,final with candidates,,GASCGT,GBR,winter.peak,0.0000985625,-0.0,0.0 +2030,final with candidates,,GASCGT,GBR,winter.evening,0.000131416667718,-0.0,0.0 +2030,final with candidates,,GASCGT,GBR,peak.night,0.00022997916771800003,-9.26892403030303,0.0 +2030,final with candidates,,GASCGT,GBR,peak.day,0.00032854166771800004,-0.0,0.0 +2030,final with candidates,,GASCGT,GBR,peak.peak,0.0000985625,-0.0,0.0 +2030,final with candidates,,GASCGT,GBR,peak.evening,0.000131416667718,-9.26892403030303,0.0 +2030,final with candidates,,GASCGT,GBR,summer.night,0.00022997916771800003,-0.0,0.0 2030,final with candidates,,GASCGT,GBR,summer.day,0.0,-0.0,7.593309 2030,final with candidates,,GASCGT,GBR,summer.peak,0.0,-0.0,7.593309 2030,final with candidates,,GASCGT,GBR,summer.evening,0.0,-0.0,7.593309 -2030,final with candidates,,GASCGT,GBR,autumn.night,0.0002069812509462,-9.26892403030303,0.0 -2030,final with candidates,,GASCGT,GBR,autumn.day,0.00029568750094620004,-9.26892403030303,0.0 -2030,final with candidates,,GASCGT,GBR,autumn.peak,0.00008870625,-9.26892403030303,0.0 -2030,final with candidates,,GASCGT,GBR,autumn.evening,0.00011827500094619999,-9.26892403030303,0.0 +2030,final with candidates,,GASCGT,GBR,autumn.night,0.00022997916771800003,-9.26892403030303,0.0 +2030,final with candidates,,GASCGT,GBR,autumn.day,0.00032854166771800004,-0.0,0.0 +2030,final with candidates,,GASCGT,GBR,autumn.peak,0.0000985625,-9.26892403030303,0.0 +2030,final with candidates,,GASCGT,GBR,autumn.evening,0.000131416667718,-9.26892403030303,0.0 2030,final with candidates,,RGASBR,GBR,winter.night,7.291666700000001e-6,-0.0,0.0 2030,final with candidates,,RGASBR,GBR,winter.day,0.000010416666700000001,-0.0,0.0 2030,final with candidates,,RGASBR,GBR,winter.peak,3.125e-6,-0.0,0.0 @@ -1247,20 +1247,20 @@ milestone_year,run_description,asset_id,process_id,region_id,time_slice,activity 2030,final with candidates,,RGASBR,GBR,autumn.day,0.000010416666700000001,-0.0,0.0 2030,final with candidates,,RGASBR,GBR,autumn.peak,3.125e-6,-0.0,0.0 2030,final with candidates,,RGASBR,GBR,autumn.evening,4.1666667e-6,-0.0,0.0 -2030,final with candidates,,RELCHP,GBR,winter.night,7.291666700000001e-6,-0.0,0.0 +2030,final with candidates,,RELCHP,GBR,winter.night,7.291666700000001e-6,-3.05874493,0.0 2030,final with candidates,,RELCHP,GBR,winter.day,0.000010416666700000001,-3.05874493,0.0 2030,final with candidates,,RELCHP,GBR,winter.peak,3.125e-6,-3.05874493,0.0 -2030,final with candidates,,RELCHP,GBR,winter.evening,4.1666667e-6,-0.0,0.0 +2030,final with candidates,,RELCHP,GBR,winter.evening,4.1666667e-6,-3.05874493,0.0 2030,final with candidates,,RELCHP,GBR,peak.night,7.291666700000001e-6,-0.0,0.0 -2030,final with candidates,,RELCHP,GBR,peak.day,0.000010416666700000001,-0.0,0.0 -2030,final with candidates,,RELCHP,GBR,peak.peak,3.125e-6,-0.0,0.0 +2030,final with candidates,,RELCHP,GBR,peak.day,0.000010416666700000001,-3.05874493,0.0 +2030,final with candidates,,RELCHP,GBR,peak.peak,3.125e-6,-3.05874493,0.0 2030,final with candidates,,RELCHP,GBR,peak.evening,4.1666667e-6,-0.0,0.0 2030,final with candidates,,RELCHP,GBR,summer.night,7.291666700000001e-6,-0.0,0.0 2030,final with candidates,,RELCHP,GBR,summer.day,0.000010416666700000001,-0.0,0.0 2030,final with candidates,,RELCHP,GBR,summer.peak,3.125e-6,-0.0,0.0 2030,final with candidates,,RELCHP,GBR,summer.evening,4.1666667e-6,-0.0,0.0 2030,final with candidates,,RELCHP,GBR,autumn.night,7.291666700000001e-6,-0.0,0.0 -2030,final with candidates,,RELCHP,GBR,autumn.day,0.000010416666700000001,-0.0,0.0 +2030,final with candidates,,RELCHP,GBR,autumn.day,0.000010416666700000001,-3.05874493,0.0 2030,final with candidates,,RELCHP,GBR,autumn.peak,3.125e-6,-0.0,0.0 2030,final with candidates,,RELCHP,GBR,autumn.evening,4.1666667e-6,-0.0,0.0 2040,ironing out iteration 0; post RSHEAT|GBR investment,6,RGASBR,GBR,winter.night,0.0,-0.0,0.0 @@ -1327,22 +1327,22 @@ milestone_year,run_description,asset_id,process_id,region_id,time_slice,activity 2040,ironing out iteration 0; post GASNAT|GBR investment,,RGASBR,GBR,autumn.day,73.51480441855382,-0.0,0.0 2040,ironing out iteration 0; post GASNAT|GBR investment,,RGASBR,GBR,autumn.peak,50.32290129557999,-0.0,0.0 2040,ironing out iteration 0; post GASNAT|GBR investment,,RGASBR,GBR,autumn.evening,21.950269146973845,-0.0,0.0 -2040,ironing out iteration 0; post GASNAT|GBR investment,1,GASPRC,GBR,winter.night,18.9329618288549,-0.0,0.0 -2040,ironing out iteration 0; post GASNAT|GBR investment,1,GASPRC,GBR,winter.day,354.5746886346391,-0.0,0.0 -2040,ironing out iteration 0; post GASNAT|GBR investment,1,GASPRC,GBR,winter.peak,106.37240625000001,-0.0,0.0 -2040,ironing out iteration 0; post GASNAT|GBR investment,1,GASPRC,GBR,winter.evening,141.829876134639,-0.0,0.0 +2040,ironing out iteration 0; post GASNAT|GBR investment,1,GASPRC,GBR,winter.night,0.0,-0.0,0.0 +2040,ironing out iteration 0; post GASNAT|GBR investment,1,GASPRC,GBR,winter.day,345.929619087423,-0.0,0.0 +2040,ironing out iteration 0; post GASNAT|GBR investment,1,GASPRC,GBR,winter.peak,118.1915625,-0.0,0.0 +2040,ironing out iteration 0; post GASNAT|GBR investment,1,GASPRC,GBR,winter.evening,157.58875126070998,-0.0,0.0 2040,ironing out iteration 0; post GASNAT|GBR investment,1,GASPRC,GBR,peak.night,0.0,-0.0,0.0 -2040,ironing out iteration 0; post GASNAT|GBR investment,1,GASPRC,GBR,peak.day,111.366432158734,-0.0,0.0 -2040,ironing out iteration 0; post GASNAT|GBR investment,1,GASPRC,GBR,peak.peak,106.37240625000001,-0.0,0.0 -2040,ironing out iteration 0; post GASNAT|GBR investment,1,GASPRC,GBR,peak.evening,141.829876134639,-0.0,0.0 +2040,ironing out iteration 0; post GASNAT|GBR investment,1,GASPRC,GBR,peak.day,83.78840078266302,-0.0,0.0 +2040,ironing out iteration 0; post GASNAT|GBR investment,1,GASPRC,GBR,peak.peak,118.1915625,-0.0,0.0 +2040,ironing out iteration 0; post GASNAT|GBR investment,1,GASPRC,GBR,peak.evening,157.58875126070998,-0.0,0.0 2040,ironing out iteration 0; post GASNAT|GBR investment,1,GASPRC,GBR,summer.night,0.0,-0.0,0.0 2040,ironing out iteration 0; post GASNAT|GBR investment,1,GASPRC,GBR,summer.day,0.0,-0.0,0.0 2040,ironing out iteration 0; post GASNAT|GBR investment,1,GASPRC,GBR,summer.peak,0.0,-0.0,0.0 2040,ironing out iteration 0; post GASNAT|GBR investment,1,GASPRC,GBR,summer.evening,26.768322052957004,-0.0,0.0 2040,ironing out iteration 0; post GASNAT|GBR investment,1,GASPRC,GBR,autumn.night,0.0,-0.0,0.0 -2040,ironing out iteration 0; post GASNAT|GBR investment,1,GASPRC,GBR,autumn.day,40.23774687441099,-0.0,0.0 -2040,ironing out iteration 0; post GASNAT|GBR investment,1,GASPRC,GBR,autumn.peak,106.37240625000001,-0.0,0.0 -2040,ironing out iteration 0; post GASNAT|GBR investment,1,GASPRC,GBR,autumn.evening,141.829876134639,-0.0,0.0 +2040,ironing out iteration 0; post GASNAT|GBR investment,1,GASPRC,GBR,autumn.day,12.659715498340006,-0.0,0.0 +2040,ironing out iteration 0; post GASNAT|GBR investment,1,GASPRC,GBR,autumn.peak,118.1915625,-0.0,0.0 +2040,ironing out iteration 0; post GASNAT|GBR investment,1,GASPRC,GBR,autumn.evening,157.58875126070998,-0.0,0.0 2040,ironing out iteration 0; post GASPRD|GBR investment,6,RGASBR,GBR,winter.night,25.94655054710617,-0.0,0.0 2040,ironing out iteration 0; post GASPRD|GBR investment,6,RGASBR,GBR,winter.day,37.066500730746185,-0.0,0.0 2040,ironing out iteration 0; post GASPRD|GBR investment,6,RGASBR,GBR,winter.peak,11.119950183640015,-0.0,0.0 @@ -1375,38 +1375,38 @@ milestone_year,run_description,asset_id,process_id,region_id,time_slice,activity 2040,ironing out iteration 0; post GASPRD|GBR investment,,RGASBR,GBR,autumn.day,73.51480441855382,-0.0,0.0 2040,ironing out iteration 0; post GASPRD|GBR investment,,RGASBR,GBR,autumn.peak,50.32290129557999,-0.0,0.0 2040,ironing out iteration 0; post GASPRD|GBR investment,,RGASBR,GBR,autumn.evening,21.950269146973845,-0.0,0.0 -2040,ironing out iteration 0; post GASPRD|GBR investment,1,GASPRC,GBR,winter.night,18.932961828854925,-0.0,0.0 -2040,ironing out iteration 0; post GASPRD|GBR investment,1,GASPRC,GBR,winter.day,354.5746886346391,-0.0,0.0 -2040,ironing out iteration 0; post GASPRD|GBR investment,1,GASPRC,GBR,winter.peak,106.37240625000001,-0.0,0.0 -2040,ironing out iteration 0; post GASPRD|GBR investment,1,GASPRC,GBR,winter.evening,141.829876134639,-0.0,0.0 +2040,ironing out iteration 0; post GASPRD|GBR investment,1,GASPRC,GBR,winter.night,275.78031376071004,-0.0,0.0 +2040,ironing out iteration 0; post GASPRD|GBR investment,1,GASPRC,GBR,winter.day,345.92961908742296,-0.0,0.0 +2040,ironing out iteration 0; post GASPRD|GBR investment,1,GASPRC,GBR,winter.peak,0.0,-0.0,2.220446049250313e-16 +2040,ironing out iteration 0; post GASPRD|GBR investment,1,GASPRC,GBR,winter.evening,0.0,-0.0,2.220446049250313e-16 2040,ironing out iteration 0; post GASPRD|GBR investment,1,GASPRC,GBR,peak.night,0.0,-0.0,2.220446049250313e-16 -2040,ironing out iteration 0; post GASPRD|GBR investment,1,GASPRC,GBR,peak.day,111.366432158734,-0.0,0.0 -2040,ironing out iteration 0; post GASPRD|GBR investment,1,GASPRC,GBR,peak.peak,106.37240625000001,-0.0,0.0 -2040,ironing out iteration 0; post GASPRD|GBR investment,1,GASPRC,GBR,peak.evening,141.829876134639,-0.0,0.0 +2040,ironing out iteration 0; post GASPRD|GBR investment,1,GASPRC,GBR,peak.day,83.78840078266302,-0.0,0.0 +2040,ironing out iteration 0; post GASPRD|GBR investment,1,GASPRC,GBR,peak.peak,118.1915625,-0.0,0.0 +2040,ironing out iteration 0; post GASPRD|GBR investment,1,GASPRC,GBR,peak.evening,157.58875126070998,-0.0,0.0 2040,ironing out iteration 0; post GASPRD|GBR investment,1,GASPRC,GBR,summer.night,0.0,-0.0,2.220446049250313e-16 2040,ironing out iteration 0; post GASPRD|GBR investment,1,GASPRC,GBR,summer.day,0.0,-0.0,2.220446049250313e-16 2040,ironing out iteration 0; post GASPRD|GBR investment,1,GASPRC,GBR,summer.peak,0.0,-0.0,2.220446049250313e-16 2040,ironing out iteration 0; post GASPRD|GBR investment,1,GASPRC,GBR,summer.evening,26.768322052957004,-0.0,0.0 2040,ironing out iteration 0; post GASPRD|GBR investment,1,GASPRC,GBR,autumn.night,0.0,-0.0,2.220446049250313e-16 -2040,ironing out iteration 0; post GASPRD|GBR investment,1,GASPRC,GBR,autumn.day,40.23774687441099,-0.0,0.0 -2040,ironing out iteration 0; post GASPRD|GBR investment,1,GASPRC,GBR,autumn.peak,106.37240625000001,-0.0,0.0 -2040,ironing out iteration 0; post GASPRD|GBR investment,1,GASPRC,GBR,autumn.evening,141.829876134639,-0.0,0.0 -2040,ironing out iteration 0; post GASPRD|GBR investment,0,GASDRV,GBR,winter.night,14.935239589183539,-0.0,0.0 -2040,ironing out iteration 0; post GASPRD|GBR investment,0,GASDRV,GBR,winter.day,375.2118762006781,-0.0,0.0 -2040,ironing out iteration 0; post GASPRD|GBR investment,0,GASDRV,GBR,winter.peak,112.5635625,-0.0,0.0 -2040,ironing out iteration 0; post GASPRD|GBR investment,0,GASDRV,GBR,winter.evening,150.084751200678,-0.0,0.0 +2040,ironing out iteration 0; post GASPRD|GBR investment,1,GASPRC,GBR,autumn.day,12.659715498340006,-0.0,0.0 +2040,ironing out iteration 0; post GASPRD|GBR investment,1,GASPRC,GBR,autumn.peak,118.1915625,-0.0,0.0 +2040,ironing out iteration 0; post GASPRD|GBR investment,1,GASPRC,GBR,autumn.evening,157.58875126070998,-0.0,0.0 +2040,ironing out iteration 0; post GASPRD|GBR investment,0,GASDRV,GBR,winter.night,0.0,-0.0,0.0 +2040,ironing out iteration 0; post GASPRD|GBR investment,0,GASDRV,GBR,winter.day,360.9639698231197,-0.0,0.0 +2040,ironing out iteration 0; post GASPRD|GBR investment,0,GASDRV,GBR,winter.peak,125.070625,-0.0,0.0 +2040,ironing out iteration 0; post GASPRD|GBR investment,0,GASDRV,GBR,winter.evening,166.76083466742,-0.0,0.0 2040,ironing out iteration 0; post GASPRD|GBR investment,0,GASDRV,GBR,peak.night,0.0,-0.0,0.0 -2040,ironing out iteration 0; post GASPRD|GBR investment,0,GASDRV,GBR,peak.day,114.89883656986369,-0.0,0.0 -2040,ironing out iteration 0; post GASPRD|GBR investment,0,GASDRV,GBR,peak.peak,112.5635625,-0.0,0.0 -2040,ironing out iteration 0; post GASPRD|GBR investment,0,GASDRV,GBR,peak.evening,150.084751200678,-0.0,0.0 +2040,ironing out iteration 0; post GASPRD|GBR investment,0,GASDRV,GBR,peak.day,85.71569060312169,-0.0,0.0 +2040,ironing out iteration 0; post GASPRD|GBR investment,0,GASDRV,GBR,peak.peak,125.070625,-0.0,0.0 +2040,ironing out iteration 0; post GASPRD|GBR investment,0,GASDRV,GBR,peak.evening,166.76083466742,-0.0,0.0 2040,ironing out iteration 0; post GASPRD|GBR investment,0,GASDRV,GBR,summer.night,0.0,-0.0,0.0 2040,ironing out iteration 0; post GASPRD|GBR investment,0,GASDRV,GBR,summer.day,0.0,-0.0,0.0 2040,ironing out iteration 0; post GASPRD|GBR investment,0,GASDRV,GBR,summer.peak,0.0,-0.0,0.0 2040,ironing out iteration 0; post GASPRD|GBR investment,0,GASDRV,GBR,summer.evening,28.106738155604855,-0.0,0.0 2040,ironing out iteration 0; post GASPRD|GBR investment,0,GASDRV,GBR,autumn.night,0.0,-0.0,0.0 -2040,ironing out iteration 0; post GASPRD|GBR investment,0,GASDRV,GBR,autumn.day,40.213717021324484,-0.0,0.0 -2040,ironing out iteration 0; post GASPRD|GBR investment,0,GASDRV,GBR,autumn.peak,112.5635625,-0.0,0.0 -2040,ironing out iteration 0; post GASPRD|GBR investment,0,GASDRV,GBR,autumn.evening,150.084751200678,-0.0,0.0 +2040,ironing out iteration 0; post GASPRD|GBR investment,0,GASDRV,GBR,autumn.day,11.030571054582538,-0.0,0.0 +2040,ironing out iteration 0; post GASPRD|GBR investment,0,GASDRV,GBR,autumn.peak,125.070625,-0.0,0.0 +2040,ironing out iteration 0; post GASPRD|GBR investment,0,GASDRV,GBR,autumn.evening,166.76083466742,-0.0,0.0 2040,ironing out iteration 0; final without candidates,6,RGASBR,GBR,winter.night,25.94655054710617,-0.0,0.0 2040,ironing out iteration 0; final without candidates,6,RGASBR,GBR,winter.day,37.066500730746185,-0.0,0.0 2040,ironing out iteration 0; final without candidates,6,RGASBR,GBR,winter.peak,11.119950183640015,-0.0,0.0 @@ -1439,38 +1439,38 @@ milestone_year,run_description,asset_id,process_id,region_id,time_slice,activity 2040,ironing out iteration 0; final without candidates,,RGASBR,GBR,autumn.day,73.51480441855382,-0.0,0.0 2040,ironing out iteration 0; final without candidates,,RGASBR,GBR,autumn.peak,50.32290129557999,-0.0,0.0 2040,ironing out iteration 0; final without candidates,,RGASBR,GBR,autumn.evening,21.950269146973845,-0.0,0.0 -2040,ironing out iteration 0; final without candidates,1,GASPRC,GBR,winter.night,18.932961828854925,-0.0,0.0 -2040,ironing out iteration 0; final without candidates,1,GASPRC,GBR,winter.day,354.5746886346391,-0.0,0.0 -2040,ironing out iteration 0; final without candidates,1,GASPRC,GBR,winter.peak,106.37240625000001,-0.0,0.0 -2040,ironing out iteration 0; final without candidates,1,GASPRC,GBR,winter.evening,141.829876134639,-0.0,0.0 +2040,ironing out iteration 0; final without candidates,1,GASPRC,GBR,winter.night,275.78031376071004,-0.0,0.0 +2040,ironing out iteration 0; final without candidates,1,GASPRC,GBR,winter.day,345.92961908742296,-0.0,0.0 +2040,ironing out iteration 0; final without candidates,1,GASPRC,GBR,winter.peak,0.0,-0.0,2.220446049250313e-16 +2040,ironing out iteration 0; final without candidates,1,GASPRC,GBR,winter.evening,0.0,-0.0,2.220446049250313e-16 2040,ironing out iteration 0; final without candidates,1,GASPRC,GBR,peak.night,0.0,-0.0,2.220446049250313e-16 -2040,ironing out iteration 0; final without candidates,1,GASPRC,GBR,peak.day,111.366432158734,-0.0,0.0 -2040,ironing out iteration 0; final without candidates,1,GASPRC,GBR,peak.peak,106.37240625000001,-0.0,0.0 -2040,ironing out iteration 0; final without candidates,1,GASPRC,GBR,peak.evening,141.829876134639,-0.0,0.0 +2040,ironing out iteration 0; final without candidates,1,GASPRC,GBR,peak.day,83.78840078266302,-0.0,0.0 +2040,ironing out iteration 0; final without candidates,1,GASPRC,GBR,peak.peak,118.1915625,-0.0,0.0 +2040,ironing out iteration 0; final without candidates,1,GASPRC,GBR,peak.evening,157.58875126070998,-0.0,0.0 2040,ironing out iteration 0; final without candidates,1,GASPRC,GBR,summer.night,0.0,-0.0,2.220446049250313e-16 2040,ironing out iteration 0; final without candidates,1,GASPRC,GBR,summer.day,0.0,-0.0,2.220446049250313e-16 2040,ironing out iteration 0; final without candidates,1,GASPRC,GBR,summer.peak,0.0,-0.0,2.220446049250313e-16 2040,ironing out iteration 0; final without candidates,1,GASPRC,GBR,summer.evening,26.768322052957004,-0.0,0.0 2040,ironing out iteration 0; final without candidates,1,GASPRC,GBR,autumn.night,0.0,-0.0,2.220446049250313e-16 -2040,ironing out iteration 0; final without candidates,1,GASPRC,GBR,autumn.day,40.23774687441099,-0.0,0.0 -2040,ironing out iteration 0; final without candidates,1,GASPRC,GBR,autumn.peak,106.37240625000001,-0.0,0.0 -2040,ironing out iteration 0; final without candidates,1,GASPRC,GBR,autumn.evening,141.829876134639,-0.0,0.0 -2040,ironing out iteration 0; final without candidates,0,GASDRV,GBR,winter.night,14.935239589183539,-0.0,0.0 -2040,ironing out iteration 0; final without candidates,0,GASDRV,GBR,winter.day,375.2118762006781,-0.0,0.0 -2040,ironing out iteration 0; final without candidates,0,GASDRV,GBR,winter.peak,112.5635625,-0.0,0.0 -2040,ironing out iteration 0; final without candidates,0,GASDRV,GBR,winter.evening,150.084751200678,-0.0,0.0 +2040,ironing out iteration 0; final without candidates,1,GASPRC,GBR,autumn.day,12.659715498340006,-0.0,0.0 +2040,ironing out iteration 0; final without candidates,1,GASPRC,GBR,autumn.peak,118.1915625,-0.0,0.0 +2040,ironing out iteration 0; final without candidates,1,GASPRC,GBR,autumn.evening,157.58875126070998,-0.0,0.0 +2040,ironing out iteration 0; final without candidates,0,GASDRV,GBR,winter.night,0.0,-0.0,0.0 +2040,ironing out iteration 0; final without candidates,0,GASDRV,GBR,winter.day,360.9639698231197,-0.0,0.0 +2040,ironing out iteration 0; final without candidates,0,GASDRV,GBR,winter.peak,125.070625,-0.0,0.0 +2040,ironing out iteration 0; final without candidates,0,GASDRV,GBR,winter.evening,166.76083466742,-0.0,0.0 2040,ironing out iteration 0; final without candidates,0,GASDRV,GBR,peak.night,0.0,-0.0,0.0 -2040,ironing out iteration 0; final without candidates,0,GASDRV,GBR,peak.day,114.89883656986369,-0.0,0.0 -2040,ironing out iteration 0; final without candidates,0,GASDRV,GBR,peak.peak,112.5635625,-0.0,0.0 -2040,ironing out iteration 0; final without candidates,0,GASDRV,GBR,peak.evening,150.084751200678,-0.0,0.0 +2040,ironing out iteration 0; final without candidates,0,GASDRV,GBR,peak.day,85.71569060312169,-0.0,0.0 +2040,ironing out iteration 0; final without candidates,0,GASDRV,GBR,peak.peak,125.070625,-0.0,0.0 +2040,ironing out iteration 0; final without candidates,0,GASDRV,GBR,peak.evening,166.76083466742,-0.0,0.0 2040,ironing out iteration 0; final without candidates,0,GASDRV,GBR,summer.night,0.0,-0.0,0.0 2040,ironing out iteration 0; final without candidates,0,GASDRV,GBR,summer.day,0.0,-0.0,0.0 2040,ironing out iteration 0; final without candidates,0,GASDRV,GBR,summer.peak,0.0,-0.0,0.0 2040,ironing out iteration 0; final without candidates,0,GASDRV,GBR,summer.evening,28.106738155604855,-0.0,0.0 2040,ironing out iteration 0; final without candidates,0,GASDRV,GBR,autumn.night,0.0,-0.0,0.0 -2040,ironing out iteration 0; final without candidates,0,GASDRV,GBR,autumn.day,40.213717021324484,-0.0,0.0 -2040,ironing out iteration 0; final without candidates,0,GASDRV,GBR,autumn.peak,112.5635625,-0.0,0.0 -2040,ironing out iteration 0; final without candidates,0,GASDRV,GBR,autumn.evening,150.084751200678,-0.0,0.0 +2040,ironing out iteration 0; final without candidates,0,GASDRV,GBR,autumn.day,11.030571054582538,-0.0,0.0 +2040,ironing out iteration 0; final without candidates,0,GASDRV,GBR,autumn.peak,125.070625,-0.0,0.0 +2040,ironing out iteration 0; final without candidates,0,GASDRV,GBR,autumn.evening,166.76083466742,-0.0,0.0 2040,ironing out iteration 0; final with candidates,6,RGASBR,GBR,winter.night,25.94655054710617,-0.0,0.0 2040,ironing out iteration 0; final with candidates,6,RGASBR,GBR,winter.day,37.066500730746185,-0.0,0.0 2040,ironing out iteration 0; final with candidates,6,RGASBR,GBR,winter.peak,11.119943933640016,-0.0,0.0 @@ -1503,70 +1503,70 @@ milestone_year,run_description,asset_id,process_id,region_id,time_slice,activity 2040,ironing out iteration 0; final with candidates,,RGASBR,GBR,autumn.day,73.51479400188713,-0.0,0.0 2040,ironing out iteration 0; final with candidates,,RGASBR,GBR,autumn.peak,50.32289817057999,-0.0,0.0 2040,ironing out iteration 0; final with candidates,,RGASBR,GBR,autumn.evening,21.950264980307146,-0.0,0.0 -2040,ironing out iteration 0; final with candidates,1,GASPRC,GBR,winter.night,18.932910578854774,-0.0,0.0 -2040,ironing out iteration 0; final with candidates,1,GASPRC,GBR,winter.day,354.5746886346391,-0.0,0.0 -2040,ironing out iteration 0; final with candidates,1,GASPRC,GBR,winter.peak,106.37240625000001,-0.0,0.0 -2040,ironing out iteration 0; final with candidates,1,GASPRC,GBR,winter.evening,141.829876134639,-0.0,0.0 +2040,ironing out iteration 0; final with candidates,1,GASPRC,GBR,winter.night,0.0,-0.0,2.220446049250313e-16 +2040,ironing out iteration 0; final with candidates,1,GASPRC,GBR,winter.day,345.9295653374228,-0.0,0.0 +2040,ironing out iteration 0; final with candidates,1,GASPRC,GBR,winter.peak,118.1915625,-0.0,0.0 +2040,ironing out iteration 0; final with candidates,1,GASPRC,GBR,winter.evening,157.58875126070998,-0.0,0.0 2040,ironing out iteration 0; final with candidates,1,GASPRC,GBR,peak.night,0.0,-0.0,2.220446049250313e-16 -2040,ironing out iteration 0; final with candidates,1,GASPRC,GBR,peak.day,111.36638090873384,-0.0,0.0 -2040,ironing out iteration 0; final with candidates,1,GASPRC,GBR,peak.peak,106.37240625000001,-0.0,0.0 -2040,ironing out iteration 0; final with candidates,1,GASPRC,GBR,peak.evening,141.829876134639,-0.0,0.0 +2040,ironing out iteration 0; final with candidates,1,GASPRC,GBR,peak.day,83.78834703266278,-0.0,0.0 +2040,ironing out iteration 0; final with candidates,1,GASPRC,GBR,peak.peak,118.1915625,-0.0,0.0 +2040,ironing out iteration 0; final with candidates,1,GASPRC,GBR,peak.evening,157.58875126070998,-0.0,0.0 2040,ironing out iteration 0; final with candidates,1,GASPRC,GBR,summer.night,0.0,-0.0,2.220446049250313e-16 2040,ironing out iteration 0; final with candidates,1,GASPRC,GBR,summer.day,0.0,-0.0,2.220446049250313e-16 2040,ironing out iteration 0; final with candidates,1,GASPRC,GBR,summer.peak,0.0,-0.0,2.220446049250313e-16 -2040,ironing out iteration 0; final with candidates,1,GASPRC,GBR,summer.evening,26.76827080295679,-0.0,0.0 +2040,ironing out iteration 0; final with candidates,1,GASPRC,GBR,summer.evening,26.76826830295678,-0.0,0.0 2040,ironing out iteration 0; final with candidates,1,GASPRC,GBR,autumn.night,0.0,-0.0,2.220446049250313e-16 -2040,ironing out iteration 0; final with candidates,1,GASPRC,GBR,autumn.day,40.23769562441084,-0.0,0.0 -2040,ironing out iteration 0; final with candidates,1,GASPRC,GBR,autumn.peak,106.37240625000001,-0.0,0.0 -2040,ironing out iteration 0; final with candidates,1,GASPRC,GBR,autumn.evening,141.829876134639,-0.0,0.0 -2040,ironing out iteration 0; final with candidates,0,GASDRV,GBR,winter.night,14.935186901683437,-0.0,0.0 -2040,ironing out iteration 0; final with candidates,0,GASDRV,GBR,winter.day,375.2118762006781,-0.0,0.0 -2040,ironing out iteration 0; final with candidates,0,GASDRV,GBR,winter.peak,112.5635625,-0.0,0.0 -2040,ironing out iteration 0; final with candidates,0,GASDRV,GBR,winter.evening,150.084751200678,-0.0,0.0 +2040,ironing out iteration 0; final with candidates,1,GASPRC,GBR,autumn.day,12.659661748339765,-0.0,0.0 +2040,ironing out iteration 0; final with candidates,1,GASPRC,GBR,autumn.peak,118.1915625,-0.0,0.0 +2040,ironing out iteration 0; final with candidates,1,GASPRC,GBR,autumn.evening,157.58875126070998,-0.0,0.0 +2040,ironing out iteration 0; final with candidates,0,GASDRV,GBR,winter.night,0.0,-0.0,0.0 +2040,ironing out iteration 0; final with candidates,0,GASDRV,GBR,winter.day,360.96391463561935,-0.0,0.0 +2040,ironing out iteration 0; final with candidates,0,GASDRV,GBR,winter.peak,125.070625,-0.0,0.0 +2040,ironing out iteration 0; final with candidates,0,GASDRV,GBR,winter.evening,166.76083466742,-0.0,0.0 2040,ironing out iteration 0; final with candidates,0,GASDRV,GBR,peak.night,0.0,-0.0,0.0 -2040,ironing out iteration 0; final with candidates,0,GASDRV,GBR,peak.day,114.89878388236353,-0.0,0.0 -2040,ironing out iteration 0; final with candidates,0,GASDRV,GBR,peak.peak,112.5635625,-0.0,0.0 -2040,ironing out iteration 0; final with candidates,0,GASDRV,GBR,peak.evening,150.084751200678,-0.0,0.0 +2040,ironing out iteration 0; final with candidates,0,GASDRV,GBR,peak.day,85.71563541562142,-0.0,0.0 +2040,ironing out iteration 0; final with candidates,0,GASDRV,GBR,peak.peak,125.070625,-0.0,0.0 +2040,ironing out iteration 0; final with candidates,0,GASDRV,GBR,peak.evening,166.76083466742,-0.0,0.0 2040,ironing out iteration 0; final with candidates,0,GASDRV,GBR,summer.night,0.0,-0.0,0.0 2040,ironing out iteration 0; final with candidates,0,GASDRV,GBR,summer.day,0.0,-0.0,0.0 2040,ironing out iteration 0; final with candidates,0,GASDRV,GBR,summer.peak,0.0,-0.0,0.0 -2040,ironing out iteration 0; final with candidates,0,GASDRV,GBR,summer.evening,28.106685468104637,-0.0,0.0 +2040,ironing out iteration 0; final with candidates,0,GASDRV,GBR,summer.evening,28.106682968104625,-0.0,0.0 2040,ironing out iteration 0; final with candidates,0,GASDRV,GBR,autumn.night,0.0,-0.0,0.0 -2040,ironing out iteration 0; final with candidates,0,GASDRV,GBR,autumn.day,40.21366433382438,-0.0,0.0 -2040,ironing out iteration 0; final with candidates,0,GASDRV,GBR,autumn.peak,112.5635625,-0.0,0.0 -2040,ironing out iteration 0; final with candidates,0,GASDRV,GBR,autumn.evening,150.084751200678,-0.0,0.0 -2040,ironing out iteration 0; final with candidates,,GASDRV,GBR,winter.night,6.562500030000001e-6,-0.0,0.0 -2040,ironing out iteration 0; final with candidates,,GASDRV,GBR,winter.day,9.375000030000002e-6,-0.0,0.0 -2040,ironing out iteration 0; final with candidates,,GASDRV,GBR,winter.peak,2.8125e-6,-0.0,0.0 -2040,ironing out iteration 0; final with candidates,,GASDRV,GBR,winter.evening,3.7500000299999996e-6,-0.0,0.0 -2040,ironing out iteration 0; final with candidates,,GASDRV,GBR,peak.night,6.562500030000001e-6,-0.0,0.0 -2040,ironing out iteration 0; final with candidates,,GASDRV,GBR,peak.day,9.375000030000002e-6,-0.0,0.0 -2040,ironing out iteration 0; final with candidates,,GASDRV,GBR,peak.peak,2.8125e-6,-0.0,0.0 -2040,ironing out iteration 0; final with candidates,,GASDRV,GBR,peak.evening,3.7500000299999996e-6,-0.0,0.0 -2040,ironing out iteration 0; final with candidates,,GASDRV,GBR,summer.night,6.562500030000001e-6,-0.0,0.0 -2040,ironing out iteration 0; final with candidates,,GASDRV,GBR,summer.day,9.375000030000002e-6,-0.0,0.0 -2040,ironing out iteration 0; final with candidates,,GASDRV,GBR,summer.peak,2.8125e-6,-0.0,0.0 -2040,ironing out iteration 0; final with candidates,,GASDRV,GBR,summer.evening,3.7500000299999996e-6,-0.0,0.0 -2040,ironing out iteration 0; final with candidates,,GASDRV,GBR,autumn.night,6.562500030000001e-6,-0.0,0.0 -2040,ironing out iteration 0; final with candidates,,GASDRV,GBR,autumn.day,9.375000030000002e-6,-0.0,0.0 -2040,ironing out iteration 0; final with candidates,,GASDRV,GBR,autumn.peak,2.8125e-6,-0.0,0.0 -2040,ironing out iteration 0; final with candidates,,GASDRV,GBR,autumn.evening,3.7500000299999996e-6,-0.0,0.0 -2040,ironing out iteration 0; final with candidates,,GASPRC,GBR,winter.night,6.562500030000001e-6,-0.0,0.0 -2040,ironing out iteration 0; final with candidates,,GASPRC,GBR,winter.day,9.375000030000002e-6,-0.0,0.0 -2040,ironing out iteration 0; final with candidates,,GASPRC,GBR,winter.peak,2.8125e-6,-0.0,0.0 -2040,ironing out iteration 0; final with candidates,,GASPRC,GBR,winter.evening,3.7500000299999996e-6,-0.0,0.0 -2040,ironing out iteration 0; final with candidates,,GASPRC,GBR,peak.night,6.562500030000001e-6,-0.0,0.0 -2040,ironing out iteration 0; final with candidates,,GASPRC,GBR,peak.day,9.375000030000002e-6,-0.0,0.0 -2040,ironing out iteration 0; final with candidates,,GASPRC,GBR,peak.peak,2.8125e-6,-0.0,0.0 -2040,ironing out iteration 0; final with candidates,,GASPRC,GBR,peak.evening,3.7500000299999996e-6,-0.0,0.0 -2040,ironing out iteration 0; final with candidates,,GASPRC,GBR,summer.night,6.562500030000001e-6,-0.0,0.0 -2040,ironing out iteration 0; final with candidates,,GASPRC,GBR,summer.day,9.375000030000002e-6,-0.0,0.0 -2040,ironing out iteration 0; final with candidates,,GASPRC,GBR,summer.peak,2.8125e-6,-0.0,0.0 -2040,ironing out iteration 0; final with candidates,,GASPRC,GBR,summer.evening,3.7500000299999996e-6,-0.0,0.0 -2040,ironing out iteration 0; final with candidates,,GASPRC,GBR,autumn.night,6.562500030000001e-6,-0.0,0.0 -2040,ironing out iteration 0; final with candidates,,GASPRC,GBR,autumn.day,9.375000030000002e-6,-0.0,0.0 -2040,ironing out iteration 0; final with candidates,,GASPRC,GBR,autumn.peak,2.8125e-6,-0.0,0.0 -2040,ironing out iteration 0; final with candidates,,GASPRC,GBR,autumn.evening,3.7500000299999996e-6,-0.0,0.0 +2040,ironing out iteration 0; final with candidates,0,GASDRV,GBR,autumn.day,11.030515867082215,-0.0,0.0 +2040,ironing out iteration 0; final with candidates,0,GASDRV,GBR,autumn.peak,125.070625,-0.0,0.0 +2040,ironing out iteration 0; final with candidates,0,GASDRV,GBR,autumn.evening,166.76083466742,-0.0,0.0 +2040,ironing out iteration 0; final with candidates,,GASDRV,GBR,winter.night,7.291666700000001e-6,-0.0,0.0 +2040,ironing out iteration 0; final with candidates,,GASDRV,GBR,winter.day,0.000010416666700000001,-0.0,0.0 +2040,ironing out iteration 0; final with candidates,,GASDRV,GBR,winter.peak,3.125e-6,-0.0,0.0 +2040,ironing out iteration 0; final with candidates,,GASDRV,GBR,winter.evening,4.1666667e-6,-0.0,0.0 +2040,ironing out iteration 0; final with candidates,,GASDRV,GBR,peak.night,7.291666700000001e-6,-0.0,0.0 +2040,ironing out iteration 0; final with candidates,,GASDRV,GBR,peak.day,0.000010416666700000001,-0.0,0.0 +2040,ironing out iteration 0; final with candidates,,GASDRV,GBR,peak.peak,3.125e-6,-0.0,0.0 +2040,ironing out iteration 0; final with candidates,,GASDRV,GBR,peak.evening,4.1666667e-6,-0.0,0.0 +2040,ironing out iteration 0; final with candidates,,GASDRV,GBR,summer.night,7.291666700000001e-6,-0.0,0.0 +2040,ironing out iteration 0; final with candidates,,GASDRV,GBR,summer.day,0.000010416666700000001,-0.0,0.0 +2040,ironing out iteration 0; final with candidates,,GASDRV,GBR,summer.peak,3.125e-6,-0.0,0.0 +2040,ironing out iteration 0; final with candidates,,GASDRV,GBR,summer.evening,4.1666667e-6,-0.0,0.0 +2040,ironing out iteration 0; final with candidates,,GASDRV,GBR,autumn.night,7.291666700000001e-6,-0.0,0.0 +2040,ironing out iteration 0; final with candidates,,GASDRV,GBR,autumn.day,0.000010416666700000001,-0.0,0.0 +2040,ironing out iteration 0; final with candidates,,GASDRV,GBR,autumn.peak,3.125e-6,-0.0,0.0 +2040,ironing out iteration 0; final with candidates,,GASDRV,GBR,autumn.evening,4.1666667e-6,-0.0,0.0 +2040,ironing out iteration 0; final with candidates,,GASPRC,GBR,winter.night,7.291666700000001e-6,-0.0,0.0 +2040,ironing out iteration 0; final with candidates,,GASPRC,GBR,winter.day,0.000010416666700000001,-0.0,0.0 +2040,ironing out iteration 0; final with candidates,,GASPRC,GBR,winter.peak,3.125e-6,-0.0,0.0 +2040,ironing out iteration 0; final with candidates,,GASPRC,GBR,winter.evening,4.1666667e-6,-0.0,0.0 +2040,ironing out iteration 0; final with candidates,,GASPRC,GBR,peak.night,7.291666700000001e-6,-0.0,0.0 +2040,ironing out iteration 0; final with candidates,,GASPRC,GBR,peak.day,0.000010416666700000001,-0.0,0.0 +2040,ironing out iteration 0; final with candidates,,GASPRC,GBR,peak.peak,3.125e-6,-0.0,0.0 +2040,ironing out iteration 0; final with candidates,,GASPRC,GBR,peak.evening,4.1666667e-6,-0.0,0.0 +2040,ironing out iteration 0; final with candidates,,GASPRC,GBR,summer.night,7.291666700000001e-6,-0.0,0.0 +2040,ironing out iteration 0; final with candidates,,GASPRC,GBR,summer.day,0.000010416666700000001,-0.0,0.0 +2040,ironing out iteration 0; final with candidates,,GASPRC,GBR,summer.peak,3.125e-6,-0.0,0.0 +2040,ironing out iteration 0; final with candidates,,GASPRC,GBR,summer.evening,4.1666667e-6,-0.0,0.0 +2040,ironing out iteration 0; final with candidates,,GASPRC,GBR,autumn.night,7.291666700000001e-6,-0.0,0.0 +2040,ironing out iteration 0; final with candidates,,GASPRC,GBR,autumn.day,0.000010416666700000001,-0.0,0.0 +2040,ironing out iteration 0; final with candidates,,GASPRC,GBR,autumn.peak,3.125e-6,-0.0,0.0 +2040,ironing out iteration 0; final with candidates,,GASPRC,GBR,autumn.evening,4.1666667e-6,-0.0,0.0 2040,ironing out iteration 0; final with candidates,,WNDFRM,GBR,winter.night,2.406250011e-6,-0.0,0.0 2040,ironing out iteration 0; final with candidates,,WNDFRM,GBR,winter.day,3.4375000110000007e-6,-0.0,0.0 2040,ironing out iteration 0; final with candidates,,WNDFRM,GBR,winter.peak,1.03125e-6,-0.0,0.0 @@ -1695,22 +1695,22 @@ milestone_year,run_description,asset_id,process_id,region_id,time_slice,activity 2040,ironing out iteration 1; post GASNAT|GBR investment,,RGASBR,GBR,autumn.day,73.51480441855382,-0.0,0.0 2040,ironing out iteration 1; post GASNAT|GBR investment,,RGASBR,GBR,autumn.peak,50.32290129557999,-0.0,0.0 2040,ironing out iteration 1; post GASNAT|GBR investment,,RGASBR,GBR,autumn.evening,21.950269146973845,-0.0,0.0 -2040,ironing out iteration 1; post GASNAT|GBR investment,1,GASPRC,GBR,winter.night,18.9329618288549,-0.0,0.0 -2040,ironing out iteration 1; post GASNAT|GBR investment,1,GASPRC,GBR,winter.day,354.5746886346391,-0.0,0.0 -2040,ironing out iteration 1; post GASNAT|GBR investment,1,GASPRC,GBR,winter.peak,106.37240625000001,-0.0,0.0 -2040,ironing out iteration 1; post GASNAT|GBR investment,1,GASPRC,GBR,winter.evening,141.829876134639,-0.0,0.0 +2040,ironing out iteration 1; post GASNAT|GBR investment,1,GASPRC,GBR,winter.night,0.0,-0.0,0.0 +2040,ironing out iteration 1; post GASNAT|GBR investment,1,GASPRC,GBR,winter.day,345.929619087423,-0.0,0.0 +2040,ironing out iteration 1; post GASNAT|GBR investment,1,GASPRC,GBR,winter.peak,118.1915625,-0.0,0.0 +2040,ironing out iteration 1; post GASNAT|GBR investment,1,GASPRC,GBR,winter.evening,157.58875126070998,-0.0,0.0 2040,ironing out iteration 1; post GASNAT|GBR investment,1,GASPRC,GBR,peak.night,0.0,-0.0,0.0 -2040,ironing out iteration 1; post GASNAT|GBR investment,1,GASPRC,GBR,peak.day,111.366432158734,-0.0,0.0 -2040,ironing out iteration 1; post GASNAT|GBR investment,1,GASPRC,GBR,peak.peak,106.37240625000001,-0.0,0.0 -2040,ironing out iteration 1; post GASNAT|GBR investment,1,GASPRC,GBR,peak.evening,141.829876134639,-0.0,0.0 +2040,ironing out iteration 1; post GASNAT|GBR investment,1,GASPRC,GBR,peak.day,83.78840078266302,-0.0,0.0 +2040,ironing out iteration 1; post GASNAT|GBR investment,1,GASPRC,GBR,peak.peak,118.1915625,-0.0,0.0 +2040,ironing out iteration 1; post GASNAT|GBR investment,1,GASPRC,GBR,peak.evening,157.58875126070998,-0.0,0.0 2040,ironing out iteration 1; post GASNAT|GBR investment,1,GASPRC,GBR,summer.night,0.0,-0.0,0.0 2040,ironing out iteration 1; post GASNAT|GBR investment,1,GASPRC,GBR,summer.day,0.0,-0.0,0.0 2040,ironing out iteration 1; post GASNAT|GBR investment,1,GASPRC,GBR,summer.peak,0.0,-0.0,0.0 2040,ironing out iteration 1; post GASNAT|GBR investment,1,GASPRC,GBR,summer.evening,26.768322052957004,-0.0,0.0 2040,ironing out iteration 1; post GASNAT|GBR investment,1,GASPRC,GBR,autumn.night,0.0,-0.0,0.0 -2040,ironing out iteration 1; post GASNAT|GBR investment,1,GASPRC,GBR,autumn.day,40.23774687441099,-0.0,0.0 -2040,ironing out iteration 1; post GASNAT|GBR investment,1,GASPRC,GBR,autumn.peak,106.37240625000001,-0.0,0.0 -2040,ironing out iteration 1; post GASNAT|GBR investment,1,GASPRC,GBR,autumn.evening,141.829876134639,-0.0,0.0 +2040,ironing out iteration 1; post GASNAT|GBR investment,1,GASPRC,GBR,autumn.day,12.659715498340006,-0.0,0.0 +2040,ironing out iteration 1; post GASNAT|GBR investment,1,GASPRC,GBR,autumn.peak,118.1915625,-0.0,0.0 +2040,ironing out iteration 1; post GASNAT|GBR investment,1,GASPRC,GBR,autumn.evening,157.58875126070998,-0.0,0.0 2040,ironing out iteration 1; post GASPRD|GBR investment,6,RGASBR,GBR,winter.night,25.94655054710617,-0.0,0.0 2040,ironing out iteration 1; post GASPRD|GBR investment,6,RGASBR,GBR,winter.day,37.066500730746185,-0.0,0.0 2040,ironing out iteration 1; post GASPRD|GBR investment,6,RGASBR,GBR,winter.peak,11.119950183640015,-0.0,0.0 @@ -1743,38 +1743,38 @@ milestone_year,run_description,asset_id,process_id,region_id,time_slice,activity 2040,ironing out iteration 1; post GASPRD|GBR investment,,RGASBR,GBR,autumn.day,73.51480441855382,-0.0,0.0 2040,ironing out iteration 1; post GASPRD|GBR investment,,RGASBR,GBR,autumn.peak,50.32290129557999,-0.0,0.0 2040,ironing out iteration 1; post GASPRD|GBR investment,,RGASBR,GBR,autumn.evening,21.950269146973845,-0.0,0.0 -2040,ironing out iteration 1; post GASPRD|GBR investment,1,GASPRC,GBR,winter.night,18.932961828854925,-0.0,0.0 -2040,ironing out iteration 1; post GASPRD|GBR investment,1,GASPRC,GBR,winter.day,354.5746886346391,-0.0,0.0 -2040,ironing out iteration 1; post GASPRD|GBR investment,1,GASPRC,GBR,winter.peak,106.37240625000001,-0.0,0.0 -2040,ironing out iteration 1; post GASPRD|GBR investment,1,GASPRC,GBR,winter.evening,141.829876134639,-0.0,0.0 +2040,ironing out iteration 1; post GASPRD|GBR investment,1,GASPRC,GBR,winter.night,275.78031376071004,-0.0,0.0 +2040,ironing out iteration 1; post GASPRD|GBR investment,1,GASPRC,GBR,winter.day,345.92961908742296,-0.0,0.0 +2040,ironing out iteration 1; post GASPRD|GBR investment,1,GASPRC,GBR,winter.peak,0.0,-0.0,2.220446049250313e-16 +2040,ironing out iteration 1; post GASPRD|GBR investment,1,GASPRC,GBR,winter.evening,0.0,-0.0,2.220446049250313e-16 2040,ironing out iteration 1; post GASPRD|GBR investment,1,GASPRC,GBR,peak.night,0.0,-0.0,2.220446049250313e-16 -2040,ironing out iteration 1; post GASPRD|GBR investment,1,GASPRC,GBR,peak.day,111.366432158734,-0.0,0.0 -2040,ironing out iteration 1; post GASPRD|GBR investment,1,GASPRC,GBR,peak.peak,106.37240625000001,-0.0,0.0 -2040,ironing out iteration 1; post GASPRD|GBR investment,1,GASPRC,GBR,peak.evening,141.829876134639,-0.0,0.0 +2040,ironing out iteration 1; post GASPRD|GBR investment,1,GASPRC,GBR,peak.day,83.78840078266302,-0.0,0.0 +2040,ironing out iteration 1; post GASPRD|GBR investment,1,GASPRC,GBR,peak.peak,118.1915625,-0.0,0.0 +2040,ironing out iteration 1; post GASPRD|GBR investment,1,GASPRC,GBR,peak.evening,157.58875126070998,-0.0,0.0 2040,ironing out iteration 1; post GASPRD|GBR investment,1,GASPRC,GBR,summer.night,0.0,-0.0,2.220446049250313e-16 2040,ironing out iteration 1; post GASPRD|GBR investment,1,GASPRC,GBR,summer.day,0.0,-0.0,2.220446049250313e-16 2040,ironing out iteration 1; post GASPRD|GBR investment,1,GASPRC,GBR,summer.peak,0.0,-0.0,2.220446049250313e-16 2040,ironing out iteration 1; post GASPRD|GBR investment,1,GASPRC,GBR,summer.evening,26.768322052957004,-0.0,0.0 2040,ironing out iteration 1; post GASPRD|GBR investment,1,GASPRC,GBR,autumn.night,0.0,-0.0,2.220446049250313e-16 -2040,ironing out iteration 1; post GASPRD|GBR investment,1,GASPRC,GBR,autumn.day,40.23774687441099,-0.0,0.0 -2040,ironing out iteration 1; post GASPRD|GBR investment,1,GASPRC,GBR,autumn.peak,106.37240625000001,-0.0,0.0 -2040,ironing out iteration 1; post GASPRD|GBR investment,1,GASPRC,GBR,autumn.evening,141.829876134639,-0.0,0.0 -2040,ironing out iteration 1; post GASPRD|GBR investment,0,GASDRV,GBR,winter.night,14.935239589183539,-0.0,0.0 -2040,ironing out iteration 1; post GASPRD|GBR investment,0,GASDRV,GBR,winter.day,375.2118762006781,-0.0,0.0 -2040,ironing out iteration 1; post GASPRD|GBR investment,0,GASDRV,GBR,winter.peak,112.5635625,-0.0,0.0 -2040,ironing out iteration 1; post GASPRD|GBR investment,0,GASDRV,GBR,winter.evening,150.084751200678,-0.0,0.0 +2040,ironing out iteration 1; post GASPRD|GBR investment,1,GASPRC,GBR,autumn.day,12.659715498340006,-0.0,0.0 +2040,ironing out iteration 1; post GASPRD|GBR investment,1,GASPRC,GBR,autumn.peak,118.1915625,-0.0,0.0 +2040,ironing out iteration 1; post GASPRD|GBR investment,1,GASPRC,GBR,autumn.evening,157.58875126070998,-0.0,0.0 +2040,ironing out iteration 1; post GASPRD|GBR investment,0,GASDRV,GBR,winter.night,0.0,-0.0,0.0 +2040,ironing out iteration 1; post GASPRD|GBR investment,0,GASDRV,GBR,winter.day,360.9639698231197,-0.0,0.0 +2040,ironing out iteration 1; post GASPRD|GBR investment,0,GASDRV,GBR,winter.peak,125.070625,-0.0,0.0 +2040,ironing out iteration 1; post GASPRD|GBR investment,0,GASDRV,GBR,winter.evening,166.76083466742,-0.0,0.0 2040,ironing out iteration 1; post GASPRD|GBR investment,0,GASDRV,GBR,peak.night,0.0,-0.0,0.0 -2040,ironing out iteration 1; post GASPRD|GBR investment,0,GASDRV,GBR,peak.day,114.89883656986369,-0.0,0.0 -2040,ironing out iteration 1; post GASPRD|GBR investment,0,GASDRV,GBR,peak.peak,112.5635625,-0.0,0.0 -2040,ironing out iteration 1; post GASPRD|GBR investment,0,GASDRV,GBR,peak.evening,150.084751200678,-0.0,0.0 +2040,ironing out iteration 1; post GASPRD|GBR investment,0,GASDRV,GBR,peak.day,85.71569060312169,-0.0,0.0 +2040,ironing out iteration 1; post GASPRD|GBR investment,0,GASDRV,GBR,peak.peak,125.070625,-0.0,0.0 +2040,ironing out iteration 1; post GASPRD|GBR investment,0,GASDRV,GBR,peak.evening,166.76083466742,-0.0,0.0 2040,ironing out iteration 1; post GASPRD|GBR investment,0,GASDRV,GBR,summer.night,0.0,-0.0,0.0 2040,ironing out iteration 1; post GASPRD|GBR investment,0,GASDRV,GBR,summer.day,0.0,-0.0,0.0 2040,ironing out iteration 1; post GASPRD|GBR investment,0,GASDRV,GBR,summer.peak,0.0,-0.0,0.0 2040,ironing out iteration 1; post GASPRD|GBR investment,0,GASDRV,GBR,summer.evening,28.106738155604855,-0.0,0.0 2040,ironing out iteration 1; post GASPRD|GBR investment,0,GASDRV,GBR,autumn.night,0.0,-0.0,0.0 -2040,ironing out iteration 1; post GASPRD|GBR investment,0,GASDRV,GBR,autumn.day,40.213717021324484,-0.0,0.0 -2040,ironing out iteration 1; post GASPRD|GBR investment,0,GASDRV,GBR,autumn.peak,112.5635625,-0.0,0.0 -2040,ironing out iteration 1; post GASPRD|GBR investment,0,GASDRV,GBR,autumn.evening,150.084751200678,-0.0,0.0 +2040,ironing out iteration 1; post GASPRD|GBR investment,0,GASDRV,GBR,autumn.day,11.030571054582538,-0.0,0.0 +2040,ironing out iteration 1; post GASPRD|GBR investment,0,GASDRV,GBR,autumn.peak,125.070625,-0.0,0.0 +2040,ironing out iteration 1; post GASPRD|GBR investment,0,GASDRV,GBR,autumn.evening,166.76083466742,-0.0,0.0 2040,ironing out iteration 1; final without candidates,6,RGASBR,GBR,winter.night,25.94655054710617,-0.0,0.0 2040,ironing out iteration 1; final without candidates,6,RGASBR,GBR,winter.day,37.066500730746185,-0.0,0.0 2040,ironing out iteration 1; final without candidates,6,RGASBR,GBR,winter.peak,11.119950183640015,-0.0,0.0 @@ -1807,38 +1807,38 @@ milestone_year,run_description,asset_id,process_id,region_id,time_slice,activity 2040,ironing out iteration 1; final without candidates,,RGASBR,GBR,autumn.day,73.51480441855382,-0.0,0.0 2040,ironing out iteration 1; final without candidates,,RGASBR,GBR,autumn.peak,50.32290129557999,-0.0,0.0 2040,ironing out iteration 1; final without candidates,,RGASBR,GBR,autumn.evening,21.950269146973845,-0.0,0.0 -2040,ironing out iteration 1; final without candidates,1,GASPRC,GBR,winter.night,18.932961828854925,-0.0,0.0 -2040,ironing out iteration 1; final without candidates,1,GASPRC,GBR,winter.day,354.5746886346391,-0.0,0.0 -2040,ironing out iteration 1; final without candidates,1,GASPRC,GBR,winter.peak,106.37240625000001,-0.0,0.0 -2040,ironing out iteration 1; final without candidates,1,GASPRC,GBR,winter.evening,141.829876134639,-0.0,0.0 +2040,ironing out iteration 1; final without candidates,1,GASPRC,GBR,winter.night,275.78031376071004,-0.0,0.0 +2040,ironing out iteration 1; final without candidates,1,GASPRC,GBR,winter.day,345.92961908742296,-0.0,0.0 +2040,ironing out iteration 1; final without candidates,1,GASPRC,GBR,winter.peak,0.0,-0.0,2.220446049250313e-16 +2040,ironing out iteration 1; final without candidates,1,GASPRC,GBR,winter.evening,0.0,-0.0,2.220446049250313e-16 2040,ironing out iteration 1; final without candidates,1,GASPRC,GBR,peak.night,0.0,-0.0,2.220446049250313e-16 -2040,ironing out iteration 1; final without candidates,1,GASPRC,GBR,peak.day,111.366432158734,-0.0,0.0 -2040,ironing out iteration 1; final without candidates,1,GASPRC,GBR,peak.peak,106.37240625000001,-0.0,0.0 -2040,ironing out iteration 1; final without candidates,1,GASPRC,GBR,peak.evening,141.829876134639,-0.0,0.0 +2040,ironing out iteration 1; final without candidates,1,GASPRC,GBR,peak.day,83.78840078266302,-0.0,0.0 +2040,ironing out iteration 1; final without candidates,1,GASPRC,GBR,peak.peak,118.1915625,-0.0,0.0 +2040,ironing out iteration 1; final without candidates,1,GASPRC,GBR,peak.evening,157.58875126070998,-0.0,0.0 2040,ironing out iteration 1; final without candidates,1,GASPRC,GBR,summer.night,0.0,-0.0,2.220446049250313e-16 2040,ironing out iteration 1; final without candidates,1,GASPRC,GBR,summer.day,0.0,-0.0,2.220446049250313e-16 2040,ironing out iteration 1; final without candidates,1,GASPRC,GBR,summer.peak,0.0,-0.0,2.220446049250313e-16 2040,ironing out iteration 1; final without candidates,1,GASPRC,GBR,summer.evening,26.768322052957004,-0.0,0.0 2040,ironing out iteration 1; final without candidates,1,GASPRC,GBR,autumn.night,0.0,-0.0,2.220446049250313e-16 -2040,ironing out iteration 1; final without candidates,1,GASPRC,GBR,autumn.day,40.23774687441099,-0.0,0.0 -2040,ironing out iteration 1; final without candidates,1,GASPRC,GBR,autumn.peak,106.37240625000001,-0.0,0.0 -2040,ironing out iteration 1; final without candidates,1,GASPRC,GBR,autumn.evening,141.829876134639,-0.0,0.0 -2040,ironing out iteration 1; final without candidates,0,GASDRV,GBR,winter.night,14.935239589183539,-0.0,0.0 -2040,ironing out iteration 1; final without candidates,0,GASDRV,GBR,winter.day,375.2118762006781,-0.0,0.0 -2040,ironing out iteration 1; final without candidates,0,GASDRV,GBR,winter.peak,112.5635625,-0.0,0.0 -2040,ironing out iteration 1; final without candidates,0,GASDRV,GBR,winter.evening,150.084751200678,-0.0,0.0 +2040,ironing out iteration 1; final without candidates,1,GASPRC,GBR,autumn.day,12.659715498340006,-0.0,0.0 +2040,ironing out iteration 1; final without candidates,1,GASPRC,GBR,autumn.peak,118.1915625,-0.0,0.0 +2040,ironing out iteration 1; final without candidates,1,GASPRC,GBR,autumn.evening,157.58875126070998,-0.0,0.0 +2040,ironing out iteration 1; final without candidates,0,GASDRV,GBR,winter.night,0.0,-0.0,0.0 +2040,ironing out iteration 1; final without candidates,0,GASDRV,GBR,winter.day,360.9639698231197,-0.0,0.0 +2040,ironing out iteration 1; final without candidates,0,GASDRV,GBR,winter.peak,125.070625,-0.0,0.0 +2040,ironing out iteration 1; final without candidates,0,GASDRV,GBR,winter.evening,166.76083466742,-0.0,0.0 2040,ironing out iteration 1; final without candidates,0,GASDRV,GBR,peak.night,0.0,-0.0,0.0 -2040,ironing out iteration 1; final without candidates,0,GASDRV,GBR,peak.day,114.89883656986369,-0.0,0.0 -2040,ironing out iteration 1; final without candidates,0,GASDRV,GBR,peak.peak,112.5635625,-0.0,0.0 -2040,ironing out iteration 1; final without candidates,0,GASDRV,GBR,peak.evening,150.084751200678,-0.0,0.0 +2040,ironing out iteration 1; final without candidates,0,GASDRV,GBR,peak.day,85.71569060312169,-0.0,0.0 +2040,ironing out iteration 1; final without candidates,0,GASDRV,GBR,peak.peak,125.070625,-0.0,0.0 +2040,ironing out iteration 1; final without candidates,0,GASDRV,GBR,peak.evening,166.76083466742,-0.0,0.0 2040,ironing out iteration 1; final without candidates,0,GASDRV,GBR,summer.night,0.0,-0.0,0.0 2040,ironing out iteration 1; final without candidates,0,GASDRV,GBR,summer.day,0.0,-0.0,0.0 2040,ironing out iteration 1; final without candidates,0,GASDRV,GBR,summer.peak,0.0,-0.0,0.0 2040,ironing out iteration 1; final without candidates,0,GASDRV,GBR,summer.evening,28.106738155604855,-0.0,0.0 2040,ironing out iteration 1; final without candidates,0,GASDRV,GBR,autumn.night,0.0,-0.0,0.0 -2040,ironing out iteration 1; final without candidates,0,GASDRV,GBR,autumn.day,40.213717021324484,-0.0,0.0 -2040,ironing out iteration 1; final without candidates,0,GASDRV,GBR,autumn.peak,112.5635625,-0.0,0.0 -2040,ironing out iteration 1; final without candidates,0,GASDRV,GBR,autumn.evening,150.084751200678,-0.0,0.0 +2040,ironing out iteration 1; final without candidates,0,GASDRV,GBR,autumn.day,11.030571054582538,-0.0,0.0 +2040,ironing out iteration 1; final without candidates,0,GASDRV,GBR,autumn.peak,125.070625,-0.0,0.0 +2040,ironing out iteration 1; final without candidates,0,GASDRV,GBR,autumn.evening,166.76083466742,-0.0,0.0 2040,ironing out iteration 1; final with candidates,6,RGASBR,GBR,winter.night,25.94655054710617,-0.0,0.0 2040,ironing out iteration 1; final with candidates,6,RGASBR,GBR,winter.day,37.066500730746185,-0.0,0.0 2040,ironing out iteration 1; final with candidates,6,RGASBR,GBR,winter.peak,11.119943933640016,-0.0,0.0 @@ -1871,70 +1871,70 @@ milestone_year,run_description,asset_id,process_id,region_id,time_slice,activity 2040,ironing out iteration 1; final with candidates,,RGASBR,GBR,autumn.day,73.51479400188713,-0.0,0.0 2040,ironing out iteration 1; final with candidates,,RGASBR,GBR,autumn.peak,50.32289817057999,-0.0,0.0 2040,ironing out iteration 1; final with candidates,,RGASBR,GBR,autumn.evening,21.950264980307146,-0.0,0.0 -2040,ironing out iteration 1; final with candidates,1,GASPRC,GBR,winter.night,18.932910578854774,-0.0,0.0 -2040,ironing out iteration 1; final with candidates,1,GASPRC,GBR,winter.day,354.5746886346391,-0.0,0.0 -2040,ironing out iteration 1; final with candidates,1,GASPRC,GBR,winter.peak,106.37240625000001,-0.0,0.0 -2040,ironing out iteration 1; final with candidates,1,GASPRC,GBR,winter.evening,141.829876134639,-0.0,0.0 +2040,ironing out iteration 1; final with candidates,1,GASPRC,GBR,winter.night,0.0,-0.0,2.220446049250313e-16 +2040,ironing out iteration 1; final with candidates,1,GASPRC,GBR,winter.day,345.9295653374228,-0.0,0.0 +2040,ironing out iteration 1; final with candidates,1,GASPRC,GBR,winter.peak,118.1915625,-0.0,0.0 +2040,ironing out iteration 1; final with candidates,1,GASPRC,GBR,winter.evening,157.58875126070998,-0.0,0.0 2040,ironing out iteration 1; final with candidates,1,GASPRC,GBR,peak.night,0.0,-0.0,2.220446049250313e-16 -2040,ironing out iteration 1; final with candidates,1,GASPRC,GBR,peak.day,111.36638090873384,-0.0,0.0 -2040,ironing out iteration 1; final with candidates,1,GASPRC,GBR,peak.peak,106.37240625000001,-0.0,0.0 -2040,ironing out iteration 1; final with candidates,1,GASPRC,GBR,peak.evening,141.829876134639,-0.0,0.0 +2040,ironing out iteration 1; final with candidates,1,GASPRC,GBR,peak.day,83.78834703266278,-0.0,0.0 +2040,ironing out iteration 1; final with candidates,1,GASPRC,GBR,peak.peak,118.1915625,-0.0,0.0 +2040,ironing out iteration 1; final with candidates,1,GASPRC,GBR,peak.evening,157.58875126070998,-0.0,0.0 2040,ironing out iteration 1; final with candidates,1,GASPRC,GBR,summer.night,0.0,-0.0,2.220446049250313e-16 2040,ironing out iteration 1; final with candidates,1,GASPRC,GBR,summer.day,0.0,-0.0,2.220446049250313e-16 2040,ironing out iteration 1; final with candidates,1,GASPRC,GBR,summer.peak,0.0,-0.0,2.220446049250313e-16 -2040,ironing out iteration 1; final with candidates,1,GASPRC,GBR,summer.evening,26.76827080295679,-0.0,0.0 +2040,ironing out iteration 1; final with candidates,1,GASPRC,GBR,summer.evening,26.76826830295678,-0.0,0.0 2040,ironing out iteration 1; final with candidates,1,GASPRC,GBR,autumn.night,0.0,-0.0,2.220446049250313e-16 -2040,ironing out iteration 1; final with candidates,1,GASPRC,GBR,autumn.day,40.23769562441084,-0.0,0.0 -2040,ironing out iteration 1; final with candidates,1,GASPRC,GBR,autumn.peak,106.37240625000001,-0.0,0.0 -2040,ironing out iteration 1; final with candidates,1,GASPRC,GBR,autumn.evening,141.829876134639,-0.0,0.0 -2040,ironing out iteration 1; final with candidates,0,GASDRV,GBR,winter.night,14.935186901683437,-0.0,0.0 -2040,ironing out iteration 1; final with candidates,0,GASDRV,GBR,winter.day,375.2118762006781,-0.0,0.0 -2040,ironing out iteration 1; final with candidates,0,GASDRV,GBR,winter.peak,112.5635625,-0.0,0.0 -2040,ironing out iteration 1; final with candidates,0,GASDRV,GBR,winter.evening,150.084751200678,-0.0,0.0 +2040,ironing out iteration 1; final with candidates,1,GASPRC,GBR,autumn.day,12.659661748339765,-0.0,0.0 +2040,ironing out iteration 1; final with candidates,1,GASPRC,GBR,autumn.peak,118.1915625,-0.0,0.0 +2040,ironing out iteration 1; final with candidates,1,GASPRC,GBR,autumn.evening,157.58875126070998,-0.0,0.0 +2040,ironing out iteration 1; final with candidates,0,GASDRV,GBR,winter.night,0.0,-0.0,0.0 +2040,ironing out iteration 1; final with candidates,0,GASDRV,GBR,winter.day,360.96391463561935,-0.0,0.0 +2040,ironing out iteration 1; final with candidates,0,GASDRV,GBR,winter.peak,125.070625,-0.0,0.0 +2040,ironing out iteration 1; final with candidates,0,GASDRV,GBR,winter.evening,166.76083466742,-0.0,0.0 2040,ironing out iteration 1; final with candidates,0,GASDRV,GBR,peak.night,0.0,-0.0,0.0 -2040,ironing out iteration 1; final with candidates,0,GASDRV,GBR,peak.day,114.89878388236353,-0.0,0.0 -2040,ironing out iteration 1; final with candidates,0,GASDRV,GBR,peak.peak,112.5635625,-0.0,0.0 -2040,ironing out iteration 1; final with candidates,0,GASDRV,GBR,peak.evening,150.084751200678,-0.0,0.0 +2040,ironing out iteration 1; final with candidates,0,GASDRV,GBR,peak.day,85.71563541562142,-0.0,0.0 +2040,ironing out iteration 1; final with candidates,0,GASDRV,GBR,peak.peak,125.070625,-0.0,0.0 +2040,ironing out iteration 1; final with candidates,0,GASDRV,GBR,peak.evening,166.76083466742,-0.0,0.0 2040,ironing out iteration 1; final with candidates,0,GASDRV,GBR,summer.night,0.0,-0.0,0.0 2040,ironing out iteration 1; final with candidates,0,GASDRV,GBR,summer.day,0.0,-0.0,0.0 2040,ironing out iteration 1; final with candidates,0,GASDRV,GBR,summer.peak,0.0,-0.0,0.0 -2040,ironing out iteration 1; final with candidates,0,GASDRV,GBR,summer.evening,28.106685468104637,-0.0,0.0 +2040,ironing out iteration 1; final with candidates,0,GASDRV,GBR,summer.evening,28.106682968104625,-0.0,0.0 2040,ironing out iteration 1; final with candidates,0,GASDRV,GBR,autumn.night,0.0,-0.0,0.0 -2040,ironing out iteration 1; final with candidates,0,GASDRV,GBR,autumn.day,40.21366433382438,-0.0,0.0 -2040,ironing out iteration 1; final with candidates,0,GASDRV,GBR,autumn.peak,112.5635625,-0.0,0.0 -2040,ironing out iteration 1; final with candidates,0,GASDRV,GBR,autumn.evening,150.084751200678,-0.0,0.0 -2040,ironing out iteration 1; final with candidates,,GASDRV,GBR,winter.night,6.562500030000001e-6,-0.0,0.0 -2040,ironing out iteration 1; final with candidates,,GASDRV,GBR,winter.day,9.375000030000002e-6,-0.0,0.0 -2040,ironing out iteration 1; final with candidates,,GASDRV,GBR,winter.peak,2.8125e-6,-0.0,0.0 -2040,ironing out iteration 1; final with candidates,,GASDRV,GBR,winter.evening,3.7500000299999996e-6,-0.0,0.0 -2040,ironing out iteration 1; final with candidates,,GASDRV,GBR,peak.night,6.562500030000001e-6,-0.0,0.0 -2040,ironing out iteration 1; final with candidates,,GASDRV,GBR,peak.day,9.375000030000002e-6,-0.0,0.0 -2040,ironing out iteration 1; final with candidates,,GASDRV,GBR,peak.peak,2.8125e-6,-0.0,0.0 -2040,ironing out iteration 1; final with candidates,,GASDRV,GBR,peak.evening,3.7500000299999996e-6,-0.0,0.0 -2040,ironing out iteration 1; final with candidates,,GASDRV,GBR,summer.night,6.562500030000001e-6,-0.0,0.0 -2040,ironing out iteration 1; final with candidates,,GASDRV,GBR,summer.day,9.375000030000002e-6,-0.0,0.0 -2040,ironing out iteration 1; final with candidates,,GASDRV,GBR,summer.peak,2.8125e-6,-0.0,0.0 -2040,ironing out iteration 1; final with candidates,,GASDRV,GBR,summer.evening,3.7500000299999996e-6,-0.0,0.0 -2040,ironing out iteration 1; final with candidates,,GASDRV,GBR,autumn.night,6.562500030000001e-6,-0.0,0.0 -2040,ironing out iteration 1; final with candidates,,GASDRV,GBR,autumn.day,9.375000030000002e-6,-0.0,0.0 -2040,ironing out iteration 1; final with candidates,,GASDRV,GBR,autumn.peak,2.8125e-6,-0.0,0.0 -2040,ironing out iteration 1; final with candidates,,GASDRV,GBR,autumn.evening,3.7500000299999996e-6,-0.0,0.0 -2040,ironing out iteration 1; final with candidates,,GASPRC,GBR,winter.night,6.562500030000001e-6,-0.0,0.0 -2040,ironing out iteration 1; final with candidates,,GASPRC,GBR,winter.day,9.375000030000002e-6,-0.0,0.0 -2040,ironing out iteration 1; final with candidates,,GASPRC,GBR,winter.peak,2.8125e-6,-0.0,0.0 -2040,ironing out iteration 1; final with candidates,,GASPRC,GBR,winter.evening,3.7500000299999996e-6,-0.0,0.0 -2040,ironing out iteration 1; final with candidates,,GASPRC,GBR,peak.night,6.562500030000001e-6,-0.0,0.0 -2040,ironing out iteration 1; final with candidates,,GASPRC,GBR,peak.day,9.375000030000002e-6,-0.0,0.0 -2040,ironing out iteration 1; final with candidates,,GASPRC,GBR,peak.peak,2.8125e-6,-0.0,0.0 -2040,ironing out iteration 1; final with candidates,,GASPRC,GBR,peak.evening,3.7500000299999996e-6,-0.0,0.0 -2040,ironing out iteration 1; final with candidates,,GASPRC,GBR,summer.night,6.562500030000001e-6,-0.0,0.0 -2040,ironing out iteration 1; final with candidates,,GASPRC,GBR,summer.day,9.375000030000002e-6,-0.0,0.0 -2040,ironing out iteration 1; final with candidates,,GASPRC,GBR,summer.peak,2.8125e-6,-0.0,0.0 -2040,ironing out iteration 1; final with candidates,,GASPRC,GBR,summer.evening,3.7500000299999996e-6,-0.0,0.0 -2040,ironing out iteration 1; final with candidates,,GASPRC,GBR,autumn.night,6.562500030000001e-6,-0.0,0.0 -2040,ironing out iteration 1; final with candidates,,GASPRC,GBR,autumn.day,9.375000030000002e-6,-0.0,0.0 -2040,ironing out iteration 1; final with candidates,,GASPRC,GBR,autumn.peak,2.8125e-6,-0.0,0.0 -2040,ironing out iteration 1; final with candidates,,GASPRC,GBR,autumn.evening,3.7500000299999996e-6,-0.0,0.0 +2040,ironing out iteration 1; final with candidates,0,GASDRV,GBR,autumn.day,11.030515867082215,-0.0,0.0 +2040,ironing out iteration 1; final with candidates,0,GASDRV,GBR,autumn.peak,125.070625,-0.0,0.0 +2040,ironing out iteration 1; final with candidates,0,GASDRV,GBR,autumn.evening,166.76083466742,-0.0,0.0 +2040,ironing out iteration 1; final with candidates,,GASDRV,GBR,winter.night,7.291666700000001e-6,-0.0,0.0 +2040,ironing out iteration 1; final with candidates,,GASDRV,GBR,winter.day,0.000010416666700000001,-0.0,0.0 +2040,ironing out iteration 1; final with candidates,,GASDRV,GBR,winter.peak,3.125e-6,-0.0,0.0 +2040,ironing out iteration 1; final with candidates,,GASDRV,GBR,winter.evening,4.1666667e-6,-0.0,0.0 +2040,ironing out iteration 1; final with candidates,,GASDRV,GBR,peak.night,7.291666700000001e-6,-0.0,0.0 +2040,ironing out iteration 1; final with candidates,,GASDRV,GBR,peak.day,0.000010416666700000001,-0.0,0.0 +2040,ironing out iteration 1; final with candidates,,GASDRV,GBR,peak.peak,3.125e-6,-0.0,0.0 +2040,ironing out iteration 1; final with candidates,,GASDRV,GBR,peak.evening,4.1666667e-6,-0.0,0.0 +2040,ironing out iteration 1; final with candidates,,GASDRV,GBR,summer.night,7.291666700000001e-6,-0.0,0.0 +2040,ironing out iteration 1; final with candidates,,GASDRV,GBR,summer.day,0.000010416666700000001,-0.0,0.0 +2040,ironing out iteration 1; final with candidates,,GASDRV,GBR,summer.peak,3.125e-6,-0.0,0.0 +2040,ironing out iteration 1; final with candidates,,GASDRV,GBR,summer.evening,4.1666667e-6,-0.0,0.0 +2040,ironing out iteration 1; final with candidates,,GASDRV,GBR,autumn.night,7.291666700000001e-6,-0.0,0.0 +2040,ironing out iteration 1; final with candidates,,GASDRV,GBR,autumn.day,0.000010416666700000001,-0.0,0.0 +2040,ironing out iteration 1; final with candidates,,GASDRV,GBR,autumn.peak,3.125e-6,-0.0,0.0 +2040,ironing out iteration 1; final with candidates,,GASDRV,GBR,autumn.evening,4.1666667e-6,-0.0,0.0 +2040,ironing out iteration 1; final with candidates,,GASPRC,GBR,winter.night,7.291666700000001e-6,-0.0,0.0 +2040,ironing out iteration 1; final with candidates,,GASPRC,GBR,winter.day,0.000010416666700000001,-0.0,0.0 +2040,ironing out iteration 1; final with candidates,,GASPRC,GBR,winter.peak,3.125e-6,-0.0,0.0 +2040,ironing out iteration 1; final with candidates,,GASPRC,GBR,winter.evening,4.1666667e-6,-0.0,0.0 +2040,ironing out iteration 1; final with candidates,,GASPRC,GBR,peak.night,7.291666700000001e-6,-0.0,0.0 +2040,ironing out iteration 1; final with candidates,,GASPRC,GBR,peak.day,0.000010416666700000001,-0.0,0.0 +2040,ironing out iteration 1; final with candidates,,GASPRC,GBR,peak.peak,3.125e-6,-0.0,0.0 +2040,ironing out iteration 1; final with candidates,,GASPRC,GBR,peak.evening,4.1666667e-6,-0.0,0.0 +2040,ironing out iteration 1; final with candidates,,GASPRC,GBR,summer.night,7.291666700000001e-6,-0.0,0.0 +2040,ironing out iteration 1; final with candidates,,GASPRC,GBR,summer.day,0.000010416666700000001,-0.0,0.0 +2040,ironing out iteration 1; final with candidates,,GASPRC,GBR,summer.peak,3.125e-6,-0.0,0.0 +2040,ironing out iteration 1; final with candidates,,GASPRC,GBR,summer.evening,4.1666667e-6,-0.0,0.0 +2040,ironing out iteration 1; final with candidates,,GASPRC,GBR,autumn.night,7.291666700000001e-6,-0.0,0.0 +2040,ironing out iteration 1; final with candidates,,GASPRC,GBR,autumn.day,0.000010416666700000001,-0.0,0.0 +2040,ironing out iteration 1; final with candidates,,GASPRC,GBR,autumn.peak,3.125e-6,-0.0,0.0 +2040,ironing out iteration 1; final with candidates,,GASPRC,GBR,autumn.evening,4.1666667e-6,-0.0,0.0 2040,ironing out iteration 1; final with candidates,,WNDFRM,GBR,winter.night,2.406250011e-6,-0.0,0.0 2040,ironing out iteration 1; final with candidates,,WNDFRM,GBR,winter.day,3.4375000110000007e-6,-0.0,0.0 2040,ironing out iteration 1; final with candidates,,WNDFRM,GBR,winter.peak,1.03125e-6,-0.0,0.0 @@ -1999,38 +1999,38 @@ milestone_year,run_description,asset_id,process_id,region_id,time_slice,activity 2040,ironing out iteration 1; final with candidates,,RELCHP,GBR,autumn.day,0.000010416666700000001,-5.5645369,0.0 2040,ironing out iteration 1; final with candidates,,RELCHP,GBR,autumn.peak,3.125e-6,-5.5645369,0.0 2040,ironing out iteration 1; final with candidates,,RELCHP,GBR,autumn.evening,4.1666667e-6,-5.5645369,0.0 -2040,final without candidates,0,GASDRV,GBR,winter.night,14.935239589183766,-0.0,0.0 -2040,final without candidates,0,GASDRV,GBR,winter.day,375.2118762006781,-0.0,0.0 -2040,final without candidates,0,GASDRV,GBR,winter.peak,112.5635625,-0.0,0.0 -2040,final without candidates,0,GASDRV,GBR,winter.evening,150.084751200678,-0.0,0.0 +2040,final without candidates,0,GASDRV,GBR,winter.night,0.0,-0.0,0.0 +2040,final without candidates,0,GASDRV,GBR,winter.day,360.96396982311984,-0.0,0.0 +2040,final without candidates,0,GASDRV,GBR,winter.peak,125.070625,-0.0,0.0 +2040,final without candidates,0,GASDRV,GBR,winter.evening,166.76083466742,-0.0,0.0 2040,final without candidates,0,GASDRV,GBR,peak.night,0.0,-0.0,0.0 -2040,final without candidates,0,GASDRV,GBR,peak.day,114.89883656986375,-0.0,0.0 -2040,final without candidates,0,GASDRV,GBR,peak.peak,112.5635625,-0.0,0.0 -2040,final without candidates,0,GASDRV,GBR,peak.evening,150.084751200678,-0.0,0.0 +2040,final without candidates,0,GASDRV,GBR,peak.day,85.71569060312174,-0.0,0.0 +2040,final without candidates,0,GASDRV,GBR,peak.peak,125.070625,-0.0,0.0 +2040,final without candidates,0,GASDRV,GBR,peak.evening,166.76083466742,-0.0,0.0 2040,final without candidates,0,GASDRV,GBR,summer.night,0.0,-0.0,0.0 2040,final without candidates,0,GASDRV,GBR,summer.day,0.0,-0.0,0.0 2040,final without candidates,0,GASDRV,GBR,summer.peak,0.0,-0.0,0.0 2040,final without candidates,0,GASDRV,GBR,summer.evening,28.106738155604855,-0.0,0.0 2040,final without candidates,0,GASDRV,GBR,autumn.night,0.0,-0.0,0.0 -2040,final without candidates,0,GASDRV,GBR,autumn.day,40.21371702132454,-0.0,0.0 -2040,final without candidates,0,GASDRV,GBR,autumn.peak,112.5635625,-0.0,0.0 -2040,final without candidates,0,GASDRV,GBR,autumn.evening,150.084751200678,-0.0,0.0 -2040,final without candidates,1,GASPRC,GBR,winter.night,18.932961828855014,-0.0,0.0 -2040,final without candidates,1,GASPRC,GBR,winter.day,354.5746886346391,-0.0,0.0 -2040,final without candidates,1,GASPRC,GBR,winter.peak,106.37240625000001,-0.0,0.0 -2040,final without candidates,1,GASPRC,GBR,winter.evening,141.829876134639,-0.0,0.0 +2040,final without candidates,0,GASDRV,GBR,autumn.day,11.030571054582595,-0.0,0.0 +2040,final without candidates,0,GASDRV,GBR,autumn.peak,125.070625,-0.0,0.0 +2040,final without candidates,0,GASDRV,GBR,autumn.evening,166.76083466742,-0.0,0.0 +2040,final without candidates,1,GASPRC,GBR,winter.night,275.78031376071004,-0.0,0.0 +2040,final without candidates,1,GASPRC,GBR,winter.day,345.929619087423,-0.0,0.0 +2040,final without candidates,1,GASPRC,GBR,winter.peak,0.0,-0.0,2.220446049250313e-16 +2040,final without candidates,1,GASPRC,GBR,winter.evening,0.0,-0.0,2.220446049250313e-16 2040,final without candidates,1,GASPRC,GBR,peak.night,0.0,-0.0,2.220446049250313e-16 -2040,final without candidates,1,GASPRC,GBR,peak.day,111.36643215873406,-0.0,0.0 -2040,final without candidates,1,GASPRC,GBR,peak.peak,106.37240625000001,-0.0,0.0 -2040,final without candidates,1,GASPRC,GBR,peak.evening,141.829876134639,-0.0,0.0 +2040,final without candidates,1,GASPRC,GBR,peak.day,83.78840078266308,-0.0,0.0 +2040,final without candidates,1,GASPRC,GBR,peak.peak,118.1915625,-0.0,0.0 +2040,final without candidates,1,GASPRC,GBR,peak.evening,157.58875126070998,-0.0,0.0 2040,final without candidates,1,GASPRC,GBR,summer.night,0.0,-0.0,2.220446049250313e-16 2040,final without candidates,1,GASPRC,GBR,summer.day,0.0,-0.0,2.220446049250313e-16 2040,final without candidates,1,GASPRC,GBR,summer.peak,0.0,-0.0,2.220446049250313e-16 2040,final without candidates,1,GASPRC,GBR,summer.evening,26.768322052957004,-0.0,0.0 2040,final without candidates,1,GASPRC,GBR,autumn.night,0.0,-0.0,2.220446049250313e-16 -2040,final without candidates,1,GASPRC,GBR,autumn.day,40.237746874411044,-0.0,0.0 -2040,final without candidates,1,GASPRC,GBR,autumn.peak,106.37240625000001,-0.0,0.0 -2040,final without candidates,1,GASPRC,GBR,autumn.evening,141.829876134639,-0.0,0.0 +2040,final without candidates,1,GASPRC,GBR,autumn.day,12.659715498340063,-0.0,0.0 +2040,final without candidates,1,GASPRC,GBR,autumn.peak,118.1915625,-0.0,0.0 +2040,final without candidates,1,GASPRC,GBR,autumn.evening,157.58875126070998,-0.0,0.0 2040,final without candidates,6,RGASBR,GBR,winter.night,25.94655054710617,-0.0,0.0 2040,final without candidates,6,RGASBR,GBR,winter.day,37.066500730746185,-0.0,0.0 2040,final without candidates,6,RGASBR,GBR,winter.peak,11.119950183640015,-0.0,0.0 diff --git a/tests/data/simple/debug_solver.csv b/tests/data/simple/debug_solver.csv index 8da22527a..2a6efc6c4 100644 --- a/tests/data/simple/debug_solver.csv +++ b/tests/data/simple/debug_solver.csv @@ -1,22 +1,22 @@ milestone_year,run_description,objective_value -2020,final without candidates,4161.39238403039 -2020,final with candidates,4161.360353332644 -2030,ironing out iteration 0; post RSHEAT|GBR investment,5758.123189254355 -2030,ironing out iteration 0; post ELCTRI|GBR investment,4737.9849712525465 -2030,ironing out iteration 0; post GASNAT|GBR investment,4737.9849712525465 -2030,ironing out iteration 0; post GASPRD|GBR investment,4737.984971252546 -2030,ironing out iteration 0; final without candidates,4737.984971252546 -2030,ironing out iteration 0; final with candidates,4737.952940554798 -2030,final without candidates,4737.984971252546 -2030,final with candidates,4737.952940554799 +2020,final without candidates,4132.120065800383 +2020,final with candidates,4132.101429603421 +2030,ironing out iteration 0; post RSHEAT|GBR investment,5324.82265531636 +2030,ironing out iteration 0; post ELCTRI|GBR investment,4708.71265302254 +2030,ironing out iteration 0; post GASNAT|GBR investment,4708.712653022539 +2030,ironing out iteration 0; post GASPRD|GBR investment,4708.712653022539 +2030,ironing out iteration 0; final without candidates,4708.712653022539 +2030,ironing out iteration 0; final with candidates,4708.694016825576 +2030,final without candidates,4708.712653022538 +2030,final with candidates,4708.694016825575 2040,ironing out iteration 0; post RSHEAT|GBR investment,6613.816363708183 2040,ironing out iteration 0; post GASNAT|GBR investment,6613.816363708183 -2040,ironing out iteration 0; post GASPRD|GBR investment,6613.816363708186 -2040,ironing out iteration 0; final without candidates,6613.816363708186 -2040,ironing out iteration 0; final with candidates,6613.8158072544975 +2040,ironing out iteration 0; post GASPRD|GBR investment,6613.816363708185 +2040,ironing out iteration 0; final without candidates,6613.816363708185 +2040,ironing out iteration 0; final with candidates,6613.815807254492 2040,ironing out iteration 1; post RSHEAT|GBR investment,6613.816363708183 2040,ironing out iteration 1; post GASNAT|GBR investment,6613.816363708183 -2040,ironing out iteration 1; post GASPRD|GBR investment,6613.816363708186 -2040,ironing out iteration 1; final without candidates,6613.816363708186 -2040,ironing out iteration 1; final with candidates,6613.8158072544975 -2040,final without candidates,6613.816363708184 +2040,ironing out iteration 1; post GASPRD|GBR investment,6613.816363708185 +2040,ironing out iteration 1; final without candidates,6613.816363708185 +2040,ironing out iteration 1; final with candidates,6613.815807254492 +2040,final without candidates,6613.816363708183 diff --git a/tests/data/two_outputs/assets.csv b/tests/data/two_outputs/assets.csv index 998d811cd..60fe76307 100644 --- a/tests/data/two_outputs/assets.csv +++ b/tests/data/two_outputs/assets.csv @@ -1,7 +1,7 @@ asset_id,process_id,region_id,agent_id,commission_year,decommission_year,capacity -0,GASDRV,GBR,A0_OAG,2020,,4010.2 +0,GASDRV,GBR,A0_OAG,2020,2040,4010.2 1,OAGRSV,GBR,A0_OAG,2020,,1738.05 -2,GASPRC,GBR,A0_OAG,2020,,3789.64 +2,GASPRC,GBR,A0_OAG,2020,2040,3789.64 3,OILREF,GBR,A0_OAG,2020,2030,716.5 4,OILRF2,GBR,A0_OAG,2020,2030,573.9 5,WNDFRM,GBR,A0_ELC,2020,,3.964844 @@ -14,13 +14,15 @@ asset_id,process_id,region_id,agent_id,commission_year,decommission_year,capacit 12,RELCHP,GBR,A0_RES,2020,2035,399.98 13,THYBCR,GBR,A0_TRA,2030,2040,777.3007440837425 14,RBIOBL,GBR,A0_RES,2030,,355.83840587648046 -15,GASCGT,GBR,A0_ELC,2030,,23.3007739006231 -16,OILRF2,GBR,A0_REF,2030,,636.9547752299587 -17,BIOPLL,GBR,A0_BPL,2030,,449.480091633449 -18,BIOPRO,GBR,A0_BPD,2030,,448.35639140436535 +15,GASCGT,GBR,A0_ELC,2030,,20.438653637505244 +16,OILRF2,GBR,A0_REF,2030,,573.2592977069628 +17,BIOPLL,GBR,A0_BPL,2030,,427.00608705177655 +18,BIOPRO,GBR,A0_BPD,2030,,90.58909042947406 19,THYBCR,GBR,A0_TRA,2040,,912.8939641298439 20,RBIOBL,GBR,A0_RES,2040,,3655.8189696 -21,GASCGT,GBR,A0_ELC,2040,,0.2844274500540588 -22,OILRF2,GBR,A0_REF,2040,,111.11111066666676 -23,BIOPLL,GBR,A0_BPL,2040,,2282.060105834934 -24,BIOPRO,GBR,A0_BPD,2040,,2276.354955570347 +21,GASCGT,GBR,A0_ELC,2040,,0.48812757810420004 +22,GASPRC,GBR,A0_OAG,2040,,811.3008312921271 +23,OILRF2,GBR,A0_REF,2040,,99.99999960000015 +24,BIOPLL,GBR,A0_BPL,2040,,2167.9571005431867 +25,GASDRV,GBR,A0_OAG,2040,,851.8658728567336 +26,BIOPRO,GBR,A0_BPD,2040,,2634.1222565452385 diff --git a/tests/data/two_outputs/commodity_flows.csv b/tests/data/two_outputs/commodity_flows.csv index 44d812b8f..715e7a6bf 100644 --- a/tests/data/two_outputs/commodity_flows.csv +++ b/tests/data/two_outputs/commodity_flows.csv @@ -1,20 +1,20 @@ milestone_year,asset_id,commodity_id,time_slice,flow 2020,0,GASPRD,winter.night,0.0 2020,0,CO2EMT,winter.night,0.0 -2020,0,GASPRD,winter.day,163.34286026134924 -2020,0,CO2EMT,winter.day,835.1720445162788 -2020,0,GASPRD,winter.peak,112.786875 -2020,0,CO2EMT,winter.peak,576.679291875 -2020,0,GASPRD,winter.evening,150.38250120305997 -2020,0,CO2EMT,winter.evening,768.9057286512457 +2020,0,GASPRD,winter.day,123.0490207287616 +2020,0,CO2EMT,winter.day,629.1496429861581 +2020,0,GASPRD,winter.peak,125.31875 +2020,0,CO2EMT,winter.peak,640.75476875 +2020,0,GASPRD,winter.evening,167.09166800339997 +2020,0,CO2EMT,winter.evening,854.3396985013842 2020,0,GASPRD,peak.night,0.0 2020,0,CO2EMT,peak.night,0.0 2020,0,GASPRD,peak.day,0.0 2020,0,CO2EMT,peak.day,0.0 -2020,0,GASPRD,peak.peak,61.445219937852784 -2020,0,CO2EMT,peak.peak,314.1694095422413 -2020,0,GASPRD,peak.evening,150.38250120305997 -2020,0,CO2EMT,peak.evening,768.9057286512457 +2020,0,GASPRD,peak.peak,22.74310423725649 +2020,0,CO2EMT,peak.peak,116.28549196509243 +2020,0,GASPRD,peak.evening,167.09166800339997 +2020,0,CO2EMT,peak.evening,854.3396985013842 2020,0,GASPRD,summer.night,0.0 2020,0,CO2EMT,summer.night,0.0 2020,0,GASPRD,summer.day,0.0 @@ -27,82 +27,82 @@ milestone_year,asset_id,commodity_id,time_slice,flow 2020,0,CO2EMT,autumn.night,0.0 2020,0,GASPRD,autumn.day,0.0 2020,0,CO2EMT,autumn.day,0.0 -2020,0,GASPRD,autumn.peak,0.26703184041670625 -2020,0,CO2EMT,autumn.peak,1.3653338000506192 -2020,0,GASPRD,autumn.evening,150.38250120305997 -2020,0,CO2EMT,autumn.evening,768.9057286512457 -2020,1,OILCRD,winter.night,101.51928363838618 -2020,1,GASPRD,winter.night,10.15192836383862 -2020,1,CO2EMT,winter.night,744.4409069202859 -2020,1,OILCRD,winter.day,162.942188021415 -2020,1,GASPRD,winter.day,16.2942188021415 -2020,1,CO2EMT,winter.day,1194.8550647610364 -2020,1,OILCRD,winter.peak,48.88265625 -2020,1,GASPRD,winter.peak,4.888265625 -2020,1,CO2EMT,winter.peak,358.45651828125 -2020,1,OILCRD,winter.evening,65.17687552141498 -2020,1,GASPRD,winter.evening,6.517687552141499 -2020,1,CO2EMT,winter.evening,477.9420281985361 -2020,1,OILCRD,peak.night,99.85770787764369 -2020,1,GASPRD,peak.night,9.98577078776437 -2020,1,CO2EMT,peak.night,732.2565718667612 -2020,1,OILCRD,peak.day,162.942188021415 -2020,1,GASPRD,peak.day,16.2942188021415 -2020,1,CO2EMT,peak.day,1194.8550647610364 -2020,1,OILCRD,peak.peak,48.88265625 -2020,1,GASPRD,peak.peak,4.888265625 -2020,1,CO2EMT,peak.peak,358.45651828125 -2020,1,OILCRD,peak.evening,65.17687552141498 -2020,1,GASPRD,peak.evening,6.517687552141499 -2020,1,CO2EMT,peak.evening,477.9420281985361 -2020,1,OILCRD,summer.night,97.33564434914496 -2020,1,GASPRD,summer.night,9.733564434914497 -2020,1,CO2EMT,summer.night,713.76228001228 -2020,1,OILCRD,summer.day,162.942188021415 -2020,1,GASPRD,summer.day,16.2942188021415 -2020,1,CO2EMT,summer.day,1194.8550647610364 -2020,1,OILCRD,summer.peak,48.88265625 -2020,1,GASPRD,summer.peak,4.888265625 -2020,1,CO2EMT,summer.peak,358.45651828125 -2020,1,OILCRD,summer.evening,65.17687552141498 -2020,1,GASPRD,summer.evening,6.517687552141499 -2020,1,CO2EMT,summer.evening,477.9420281985361 -2020,1,OILCRD,autumn.night,99.85770787764369 -2020,1,GASPRD,autumn.night,9.98577078776437 -2020,1,CO2EMT,autumn.night,732.2565718667612 -2020,1,OILCRD,autumn.day,162.942188021415 -2020,1,GASPRD,autumn.day,16.2942188021415 -2020,1,CO2EMT,autumn.day,1194.8550647610364 -2020,1,OILCRD,autumn.peak,48.88265625 -2020,1,GASPRD,autumn.peak,4.888265625 -2020,1,CO2EMT,autumn.peak,358.45651828125 -2020,1,OILCRD,autumn.evening,65.17687552141498 -2020,1,GASPRD,autumn.evening,6.517687552141499 -2020,1,CO2EMT,autumn.evening,477.9420281985361 +2020,0,GASPRD,autumn.peak,0.0 +2020,0,CO2EMT,autumn.peak,0.0 +2020,0,GASPRD,autumn.evening,127.7777035845995 +2020,0,CO2EMT,autumn.evening,653.3273984280572 +2020,1,OILCRD,winter.night,72.50741635009152 +2020,1,GASPRD,winter.night,7.2507416350091525 +2020,1,CO2EMT,winter.night,531.6968840952211 +2020,1,OILCRD,winter.day,181.04687557935 +2020,1,GASPRD,winter.day,18.104687557935 +2020,1,CO2EMT,winter.day,1327.6167386233735 +2020,1,OILCRD,winter.peak,54.3140625 +2020,1,GASPRD,winter.peak,5.43140625 +2020,1,CO2EMT,winter.peak,398.2850203125 +2020,1,OILCRD,winter.evening,72.41875057934999 +2020,1,GASPRD,winter.evening,7.241875057934999 +2020,1,CO2EMT,winter.evening,531.0466979983735 +2020,1,OILCRD,peak.night,78.02252794070938 +2020,1,GASPRD,peak.night,7.802252794070938 +2020,1,CO2EMT,peak.night,572.1391973892219 +2020,1,OILCRD,peak.day,181.04687557935 +2020,1,GASPRD,peak.day,18.104687557935 +2020,1,CO2EMT,peak.day,1327.6167386233735 +2020,1,OILCRD,peak.peak,54.3140625 +2020,1,GASPRD,peak.peak,5.43140625 +2020,1,CO2EMT,peak.peak,398.2850203125 +2020,1,OILCRD,peak.evening,72.41875057934999 +2020,1,GASPRD,peak.evening,7.241875057934999 +2020,1,CO2EMT,peak.evening,531.0466979983735 +2020,1,OILCRD,summer.night,61.71890975387353 +2020,1,GASPRD,summer.night,6.171890975387353 +2020,1,CO2EMT,summer.night,452.5847652251546 +2020,1,OILCRD,summer.day,181.04687557935 +2020,1,GASPRD,summer.day,18.104687557935 +2020,1,CO2EMT,summer.day,1327.6167386233735 +2020,1,OILCRD,summer.peak,54.3140625 +2020,1,GASPRD,summer.peak,5.43140625 +2020,1,CO2EMT,summer.peak,398.2850203125 +2020,1,OILCRD,summer.evening,72.41875057934999 +2020,1,GASPRD,summer.evening,7.241875057934999 +2020,1,CO2EMT,summer.evening,531.0466979983735 +2020,1,OILCRD,autumn.night,78.54735525349957 +2020,1,GASPRD,autumn.night,7.854735525349958 +2020,1,CO2EMT,autumn.night,575.9877560739124 +2020,1,OILCRD,autumn.day,181.04687557935 +2020,1,GASPRD,autumn.day,18.104687557935 +2020,1,CO2EMT,autumn.day,1327.6167386233735 +2020,1,OILCRD,autumn.peak,54.3140625 +2020,1,GASPRD,autumn.peak,5.43140625 +2020,1,CO2EMT,autumn.peak,398.2850203125 +2020,1,OILCRD,autumn.evening,72.41875057934999 +2020,1,GASPRD,autumn.evening,7.241875057934999 +2020,1,CO2EMT,autumn.evening,531.0466979983735 2020,2,GASPRD,winter.night,-0.0 2020,2,GASNAT,winter.night,0.0 2020,2,CO2EMT,winter.night,0.0 -2020,2,GASPRD,winter.day,-203.23445436379433 -2020,2,GASNAT,winter.day,193.55662320361364 -2020,2,CO2EMT,winter.day,494.8275072200383 -2020,2,GASPRD,winter.peak,-111.91280625 -2020,2,GASNAT,winter.peak,106.583625 -2020,2,CO2EMT,winter.peak,272.4810373125 -2020,2,GASPRD,winter.evening,-149.21707619373657 -2020,2,GASNAT,winter.evening,142.11150113689197 -2020,2,CO2EMT,winter.evening,363.3080526564644 +2020,2,GASPRD,winter.day,-163.3438354066667 +2020,2,GASNAT,winter.day,155.56555753015874 +2020,2,CO2EMT,winter.day,397.70334782585087 +2020,2,GASPRD,winter.peak,-124.3475625 +2020,2,GASNAT,winter.peak,118.42625 +2020,2,CO2EMT,winter.peak,302.756708125 +2020,2,GASPRD,winter.evening,-165.796751326374 +2020,2,GASNAT,winter.evening,157.90166792987998 +2020,2,CO2EMT,winter.evening,403.6756140627382 2020,2,GASPRD,peak.night,-0.0 2020,2,GASNAT,peak.night,0.0 2020,2,CO2EMT,peak.night,0.0 2020,2,GASPRD,peak.day,-0.0 2020,2,GASNAT,peak.day,0.0 2020,2,CO2EMT,peak.day,0.0 -2020,2,GASPRD,peak.peak,-100.29658771422356 -2020,2,GASNAT,peak.peak,95.52055972783197 -2020,2,CO2EMT,peak.peak,244.19831094420243 -2020,2,GASPRD,peak.evening,-149.21707619373657 -2020,2,GASNAT,peak.evening,142.11150113689197 -2020,2,CO2EMT,peak.evening,363.3080526564644 +2020,2,GASPRD,peak.peak,-62.618242574223416 +2020,2,GASNAT,peak.peak,59.63642149926039 +2020,2,CO2EMT,peak.peak,152.4605115628592 +2020,2,GASPRD,peak.evening,-165.796751326374 +2020,2,GASNAT,peak.evening,157.90166792987998 +2020,2,CO2EMT,peak.evening,403.6756140627382 2020,2,GASPRD,summer.night,-0.0 2020,2,GASNAT,summer.night,0.0 2020,2,CO2EMT,summer.night,0.0 @@ -112,133 +112,133 @@ milestone_year,asset_id,commodity_id,time_slice,flow 2020,2,GASPRD,summer.peak,-0.0 2020,2,GASNAT,summer.peak,0.0 2020,2,CO2EMT,summer.peak,0.0 -2020,2,GASPRD,summer.evening,-11.475330672568266 -2020,2,GASNAT,summer.evening,10.928886354826918 -2020,2,CO2EMT,summer.evening,27.93969796611502 +2020,2,GASPRD,summer.evening,-15.970065942013894 +2020,2,GASNAT,summer.evening,15.209586611441804 +2020,2,CO2EMT,summer.evening,38.883308172150976 2020,2,GASPRD,autumn.night,-0.0 2020,2,GASNAT,autumn.night,0.0 2020,2,CO2EMT,autumn.night,0.0 2020,2,GASPRD,autumn.day,-0.0 2020,2,GASNAT,autumn.day,0.0 2020,2,CO2EMT,autumn.day,0.0 -2020,2,GASPRD,autumn.peak,-39.11839961678749 -2020,2,GASNAT,autumn.peak,37.255618682654756 -2020,2,CO2EMT,autumn.peak,95.24398916220689 -2020,2,GASPRD,autumn.evening,-149.21707619373657 -2020,2,GASNAT,autumn.evening,142.11150113689197 -2020,2,CO2EMT,autumn.evening,363.3080526564644 -2020,3,OILCRD,winter.night,-60.914133445718065 -2020,3,GASOLI,winter.night,23.428512863737716 -2020,3,DIESEL,winter.night,23.428512863737716 -2020,3,CO2EMT,winter.night,1030.8077089787319 -2020,3,OILCRD,winter.day,-87.32343777943501 -2020,3,GASOLI,winter.day,33.585937607475 -2020,3,DIESEL,winter.day,33.585937607475 -2020,3,CO2EMT,winter.day,1477.714082853685 -2020,3,OILCRD,winter.peak,-26.197031250000002 -2020,3,GASOLI,winter.peak,10.07578125 -2020,3,DIESEL,winter.peak,10.07578125 -2020,3,CO2EMT,winter.peak,443.3142234375 -2020,3,OILCRD,winter.evening,-34.929375279435 -2020,3,GASOLI,winter.evening,13.434375107474999 -2020,3,DIESEL,winter.evening,13.434375107474999 -2020,3,CO2EMT,winter.evening,591.085635978685 -2020,3,OILCRD,peak.night,-59.25255768497552 -2020,3,GASOLI,peak.night,22.789445263452123 -2020,3,DIESEL,peak.night,22.789445263452123 -2020,3,CO2EMT,peak.night,1002.6900127013664 -2020,3,OILCRD,peak.day,-87.32343777943501 -2020,3,GASOLI,peak.day,33.585937607475 -2020,3,DIESEL,peak.day,33.585937607475 -2020,3,CO2EMT,peak.day,1477.714082853685 -2020,3,OILCRD,peak.peak,-26.197031250000002 -2020,3,GASOLI,peak.peak,10.07578125 -2020,3,DIESEL,peak.peak,10.07578125 -2020,3,CO2EMT,peak.peak,443.3142234375 -2020,3,OILCRD,peak.evening,-34.929375279435 -2020,3,GASOLI,peak.evening,13.434375107474999 -2020,3,DIESEL,peak.evening,13.434375107474999 -2020,3,CO2EMT,peak.evening,591.085635978685 -2020,3,OILCRD,summer.night,-56.73049415647682 -2020,3,GASOLI,summer.night,21.819420829414163 -2020,3,DIESEL,summer.night,21.819420829414163 -2020,3,CO2EMT,summer.night,960.0108776525643 -2020,3,OILCRD,summer.day,-87.32343777943501 -2020,3,GASOLI,summer.day,33.585937607475 -2020,3,DIESEL,summer.day,33.585937607475 -2020,3,CO2EMT,summer.day,1477.714082853685 -2020,3,OILCRD,summer.peak,-26.197031250000002 -2020,3,GASOLI,summer.peak,10.07578125 -2020,3,DIESEL,summer.peak,10.07578125 -2020,3,CO2EMT,summer.peak,443.3142234375 -2020,3,OILCRD,summer.evening,-34.929375279435 -2020,3,GASOLI,summer.evening,13.434375107474999 -2020,3,DIESEL,summer.evening,13.434375107474999 -2020,3,CO2EMT,summer.evening,591.085635978685 -2020,3,OILCRD,autumn.night,-59.25255768497552 -2020,3,GASOLI,autumn.night,22.789445263452123 -2020,3,DIESEL,autumn.night,22.789445263452123 -2020,3,CO2EMT,autumn.night,1002.6900127013664 -2020,3,OILCRD,autumn.day,-87.32343777943501 -2020,3,GASOLI,autumn.day,33.585937607475 -2020,3,DIESEL,autumn.day,33.585937607475 -2020,3,CO2EMT,autumn.day,1477.714082853685 -2020,3,OILCRD,autumn.peak,-26.197031250000002 -2020,3,GASOLI,autumn.peak,10.07578125 -2020,3,DIESEL,autumn.peak,10.07578125 -2020,3,CO2EMT,autumn.peak,443.3142234375 -2020,3,OILCRD,autumn.evening,-34.929375279435 -2020,3,GASOLI,autumn.evening,13.434375107474999 -2020,3,DIESEL,autumn.evening,13.434375107474999 -2020,3,CO2EMT,autumn.evening,591.085635978685 -2020,4,OILCRD,winter.night,-49.3374658505427 -2020,4,GASOLI,winter.night,37.66218767217 -2020,4,CO2EMT,winter.night,828.56812878774 -2020,4,OILCRD,winter.day,-70.48209397554271 -2020,4,GASOLI,winter.day,53.803125172170006 -2020,4,CO2EMT,winter.day,1183.6687537877401 -2020,4,OILCRD,winter.peak,-21.144628125 -2020,4,GASOLI,winter.peak,16.1409375 -2020,4,CO2EMT,winter.peak,355.100625 -2020,4,OILCRD,winter.evening,-28.192837725542695 -2020,4,GASOLI,winter.evening,21.521250172169996 -2020,4,CO2EMT,winter.evening,473.46750378773993 -2020,4,OILCRD,peak.night,-49.3374658505427 -2020,4,GASOLI,peak.night,37.66218767217 -2020,4,CO2EMT,peak.night,828.56812878774 -2020,4,OILCRD,peak.day,-70.48209397554271 -2020,4,GASOLI,peak.day,53.803125172170006 -2020,4,CO2EMT,peak.day,1183.6687537877401 -2020,4,OILCRD,peak.peak,-21.144628125 -2020,4,GASOLI,peak.peak,16.1409375 -2020,4,CO2EMT,peak.peak,355.100625 -2020,4,OILCRD,peak.evening,-28.192837725542695 -2020,4,GASOLI,peak.evening,21.521250172169996 -2020,4,CO2EMT,peak.evening,473.46750378773993 -2020,4,OILCRD,summer.night,-49.3374658505427 -2020,4,GASOLI,summer.night,37.66218767217 -2020,4,CO2EMT,summer.night,828.56812878774 -2020,4,OILCRD,summer.day,-70.48209397554271 -2020,4,GASOLI,summer.day,53.803125172170006 -2020,4,CO2EMT,summer.day,1183.6687537877401 -2020,4,OILCRD,summer.peak,-21.144628125 -2020,4,GASOLI,summer.peak,16.1409375 -2020,4,CO2EMT,summer.peak,355.100625 -2020,4,OILCRD,summer.evening,-28.192837725542695 -2020,4,GASOLI,summer.evening,21.521250172169996 -2020,4,CO2EMT,summer.evening,473.46750378773993 -2020,4,OILCRD,autumn.night,-49.3374658505427 -2020,4,GASOLI,autumn.night,37.66218767217 -2020,4,CO2EMT,autumn.night,828.56812878774 -2020,4,OILCRD,autumn.day,-70.48209397554271 -2020,4,GASOLI,autumn.day,53.803125172170006 -2020,4,CO2EMT,autumn.day,1183.6687537877401 -2020,4,OILCRD,autumn.peak,-21.144628125 -2020,4,GASOLI,autumn.peak,16.1409375 -2020,4,CO2EMT,autumn.peak,355.100625 -2020,4,OILCRD,autumn.evening,-28.192837725542695 -2020,4,GASOLI,autumn.evening,21.521250172169996 -2020,4,CO2EMT,autumn.evening,473.46750378773993 +2020,2,GASPRD,autumn.peak,-0.6136566494454627 +2020,2,GASNAT,autumn.peak,0.584434904233774 +2020,2,CO2EMT,autumn.peak,1.4941078326736432 +2020,2,GASPRD,autumn.evening,-165.796751326374 +2020,2,GASNAT,autumn.evening,157.90166792987998 +2020,2,CO2EMT,autumn.evening,403.6756140627382 +2020,3,OILCRD,winter.night,-33.89167282434446 +2020,3,GASOLI,winter.night,13.035258778594024 +2020,3,DIESEL,winter.night,13.035258778594024 +2020,3,CO2EMT,winter.night,573.5253157405798 +2020,3,OILCRD,winter.day,-97.02604197715002 +2020,3,GASOLI,winter.day,37.317708452750004 +2020,3,DIESEL,winter.day,37.317708452750004 +2020,3,CO2EMT,winter.day,1641.9045365040945 +2020,3,OILCRD,winter.peak,-29.1078125 +2020,3,GASOLI,winter.peak,11.1953125 +2020,3,DIESEL,winter.peak,11.1953125 +2020,3,CO2EMT,winter.peak,492.571359375 +2020,3,OILCRD,winter.evening,-38.81041697715 +2020,3,GASOLI,winter.evening,14.927083452749999 +2020,3,DIESEL,winter.evening,14.927083452749999 +2020,3,CO2EMT,winter.evening,656.7618177540944 +2020,3,OILCRD,peak.night,-41.92073823587587 +2020,3,GASOLI,peak.night,16.123360859952257 +2020,3,DIESEL,peak.night,16.123360859952257 +2020,3,CO2EMT,peak.night,709.3956311161794 +2020,3,OILCRD,peak.day,-97.02604197715002 +2020,3,GASOLI,peak.day,37.317708452750004 +2020,3,DIESEL,peak.day,37.317708452750004 +2020,3,CO2EMT,peak.day,1641.9045365040945 +2020,3,OILCRD,peak.peak,-29.1078125 +2020,3,GASOLI,peak.peak,11.1953125 +2020,3,DIESEL,peak.peak,11.1953125 +2020,3,CO2EMT,peak.peak,492.571359375 +2020,3,OILCRD,peak.evening,-38.81041697715 +2020,3,GASOLI,peak.evening,14.927083452749999 +2020,3,DIESEL,peak.evening,14.927083452749999 +2020,3,CO2EMT,peak.evening,656.7618177540944 +2020,3,OILCRD,summer.night,-27.59567676804398 +2020,3,GASOLI,summer.night,10.61372183386307 +2020,3,DIESEL,summer.night,10.61372183386307 +2020,3,CO2EMT,summer.night,466.9825332463073 +2020,3,OILCRD,summer.day,-97.02604197715002 +2020,3,GASOLI,summer.day,37.317708452750004 +2020,3,DIESEL,summer.day,37.317708452750004 +2020,3,CO2EMT,summer.day,1641.9045365040945 +2020,3,OILCRD,summer.peak,-29.1078125 +2020,3,GASOLI,summer.peak,11.1953125 +2020,3,DIESEL,summer.peak,11.1953125 +2020,3,CO2EMT,summer.peak,492.571359375 +2020,3,OILCRD,summer.evening,-38.81041697715 +2020,3,GASOLI,summer.evening,14.927083452749999 +2020,3,DIESEL,summer.evening,14.927083452749999 +2020,3,CO2EMT,summer.evening,656.7618177540944 +2020,3,OILCRD,autumn.night,-39.54028073249722 +2020,3,GASOLI,autumn.night,15.2078002817297 +2020,3,DIESEL,autumn.night,15.2078002817297 +2020,3,CO2EMT,autumn.night,669.1127967955433 +2020,3,OILCRD,autumn.day,-97.02604197715002 +2020,3,GASOLI,autumn.day,37.317708452750004 +2020,3,DIESEL,autumn.day,37.317708452750004 +2020,3,CO2EMT,autumn.day,1641.9045365040945 +2020,3,OILCRD,autumn.peak,-29.1078125 +2020,3,GASOLI,autumn.peak,11.1953125 +2020,3,DIESEL,autumn.peak,11.1953125 +2020,3,CO2EMT,autumn.peak,492.571359375 +2020,3,OILCRD,autumn.evening,-38.81041697715 +2020,3,GASOLI,autumn.evening,14.927083452749999 +2020,3,DIESEL,autumn.evening,14.927083452749999 +2020,3,CO2EMT,autumn.evening,656.7618177540944 +2020,4,OILCRD,winter.night,-48.318316478941014 +2020,4,GASOLI,winter.night,36.884211052626725 +2020,4,CO2EMT,winter.night,811.452643157788 +2020,4,OILCRD,winter.day,-78.313437750603 +2020,4,GASOLI,winter.day,59.7812501913 +2020,4,CO2EMT,winter.day,1315.1875042086 +2020,4,OILCRD,winter.peak,-23.49403125 +2020,4,GASOLI,winter.peak,17.934375 +2020,4,CO2EMT,winter.peak,394.55625 +2020,4,OILCRD,winter.evening,-31.325375250603 +2020,4,GASOLI,winter.evening,23.912500191299998 +2020,4,CO2EMT,winter.evening,526.0750042085999 +2020,4,OILCRD,peak.night,-45.80436265802745 +2020,4,GASOLI,peak.night,34.965162334372096 +2020,4,CO2EMT,peak.night,769.2335713561861 +2020,4,OILCRD,peak.day,-78.313437750603 +2020,4,GASOLI,peak.day,59.7812501913 +2020,4,CO2EMT,peak.day,1315.1875042086 +2020,4,OILCRD,peak.peak,-23.49403125 +2020,4,GASOLI,peak.peak,17.934375 +2020,4,CO2EMT,peak.peak,394.55625 +2020,4,OILCRD,peak.evening,-31.325375250603 +2020,4,GASOLI,peak.evening,23.912500191299998 +2020,4,CO2EMT,peak.evening,526.0750042085999 +2020,4,OILCRD,summer.night,-43.82580593902355 +2020,4,GASOLI,summer.night,33.454813693911106 +2020,4,CO2EMT,summer.night,736.0059012660444 +2020,4,OILCRD,summer.day,-78.313437750603 +2020,4,GASOLI,summer.day,59.7812501913 +2020,4,CO2EMT,summer.day,1315.1875042086 +2020,4,OILCRD,summer.peak,-23.49403125 +2020,4,GASOLI,summer.peak,17.934375 +2020,4,CO2EMT,summer.peak,394.55625 +2020,4,OILCRD,summer.evening,-31.325375250603 +2020,4,GASOLI,summer.evening,23.912500191299998 +2020,4,CO2EMT,summer.evening,526.0750042085999 +2020,4,OILCRD,autumn.night,-48.7096474741962 +2020,4,GASOLI,autumn.night,37.18293700320321 +2020,4,CO2EMT,autumn.night,818.0246140704705 +2020,4,OILCRD,autumn.day,-78.313437750603 +2020,4,GASOLI,autumn.day,59.7812501913 +2020,4,CO2EMT,autumn.day,1315.1875042086 +2020,4,OILCRD,autumn.peak,-23.49403125 +2020,4,GASOLI,autumn.peak,17.934375 +2020,4,CO2EMT,autumn.peak,394.55625 +2020,4,OILCRD,autumn.evening,-31.325375250603 +2020,4,GASOLI,autumn.evening,23.912500191299998 +2020,4,CO2EMT,autumn.evening,526.0750042085999 2020,5,ELCTRI,winter.night,4.435312795545212 2020,5,ELCTRI,winter.day,7.075379933645912 2020,5,ELCTRI,winter.peak,1.9712501261051125 @@ -255,33 +255,33 @@ milestone_year,asset_id,commodity_id,time_slice,flow 2020,5,ELCTRI,autumn.day,6.001752635595889 2020,5,ELCTRI,autumn.peak,1.5488393825638174 2020,5,ELCTRI,autumn.evening,1.9008483513729915 -2020,6,GASNAT,winter.night,-7.783808997678887 -2020,6,ELCTRI,winter.night,5.189205998452591 -2020,6,CO2EMT,winter.night,397.9861540513214 -2020,6,GASNAT,winter.day,-13.301502230064807 -2020,6,ELCTRI,winter.day,8.867668153376538 -2020,6,CO2EMT,winter.day,680.1058090232135 -2020,6,GASNAT,winter.peak,-3.99045065625 -2020,6,ELCTRI,winter.peak,2.6603004375 -2020,6,CO2EMT,winter.peak,204.03174205406248 -2020,6,GASNAT,winter.evening,-5.320600917564806 -2020,6,ELCTRI,winter.evening,3.5470672783765376 -2020,6,CO2EMT,winter.evening,272.0423249150885 -2020,6,GASNAT,peak.night,-9.311051573814808 -2020,6,ELCTRI,peak.night,6.207367715876538 -2020,6,CO2EMT,peak.night,476.07406696915103 -2020,6,GASNAT,peak.day,-13.301502230064807 -2020,6,ELCTRI,peak.day,8.867668153376538 -2020,6,CO2EMT,peak.day,680.1058090232135 -2020,6,GASNAT,peak.peak,-3.99045065625 -2020,6,ELCTRI,peak.peak,2.6603004375 -2020,6,CO2EMT,peak.peak,204.03174205406248 -2020,6,GASNAT,peak.evening,-5.320600917564806 -2020,6,ELCTRI,peak.evening,3.5470672783765376 -2020,6,CO2EMT,peak.evening,272.0423249150885 -2020,6,GASNAT,summer.night,-1.3093032866577488 -2020,6,ELCTRI,summer.night,0.8728688577718325 -2020,6,CO2EMT,summer.night,66.9446770468107 +2020,6,GASNAT,winter.night,-10.34561285979423 +2020,6,ELCTRI,winter.night,6.89707523986282 +2020,6,CO2EMT,winter.night,528.9711855212789 +2020,6,GASNAT,winter.day,-14.77944692229423 +2020,6,ELCTRI,winter.day,9.85296461486282 +2020,6,CO2EMT,winter.day,755.6731211369039 +2020,6,GASNAT,winter.peak,-4.4338340625 +2020,6,ELCTRI,winter.peak,2.955889375 +2020,6,CO2EMT,winter.peak,226.70193561562496 +2020,6,GASNAT,winter.evening,-5.911778797294229 +2020,6,ELCTRI,winter.evening,3.9411858648628195 +2020,6,CO2EMT,winter.evening,302.2692499056539 +2020,6,GASNAT,peak.night,-10.34561285979423 +2020,6,ELCTRI,peak.night,6.89707523986282 +2020,6,CO2EMT,peak.night,528.9711855212789 +2020,6,GASNAT,peak.day,-14.77944692229423 +2020,6,ELCTRI,peak.day,9.85296461486282 +2020,6,CO2EMT,peak.day,755.6731211369039 +2020,6,GASNAT,peak.peak,-4.4338340625 +2020,6,ELCTRI,peak.peak,2.955889375 +2020,6,CO2EMT,peak.peak,226.70193561562496 +2020,6,GASNAT,peak.evening,-5.911778797294229 +2020,6,ELCTRI,peak.evening,3.9411858648628195 +2020,6,CO2EMT,peak.evening,302.2692499056539 +2020,6,GASNAT,summer.night,-5.590003543272633 +2020,6,ELCTRI,summer.night,3.726669028848422 +2020,6,CO2EMT,summer.night,285.8168811675297 2020,6,GASNAT,summer.day,-5.276859587187547 2020,6,ELCTRI,summer.day,3.517906391458365 2020,6,CO2EMT,summer.day,269.8058306928993 @@ -291,42 +291,42 @@ milestone_year,asset_id,commodity_id,time_slice,flow 2020,6,GASNAT,summer.evening,-2.5870943911617568 2020,6,ELCTRI,summer.evening,1.724729594107838 2020,6,CO2EMT,summer.evening,132.27813622010063 -2020,6,GASNAT,autumn.night,-9.311051573814808 -2020,6,ELCTRI,autumn.night,6.207367715876538 -2020,6,CO2EMT,autumn.night,476.07406696915103 -2020,6,GASNAT,autumn.day,-13.301502230064807 -2020,6,ELCTRI,autumn.day,8.867668153376538 -2020,6,CO2EMT,autumn.day,680.1058090232135 -2020,6,GASNAT,autumn.peak,-3.99045065625 -2020,6,ELCTRI,autumn.peak,2.6603004375 -2020,6,CO2EMT,autumn.peak,204.03174205406248 -2020,6,GASNAT,autumn.evening,-5.320600917564806 -2020,6,ELCTRI,autumn.evening,3.5470672783765376 -2020,6,CO2EMT,autumn.evening,272.0423249150885 +2020,6,GASNAT,autumn.night,-10.34561285979423 +2020,6,ELCTRI,autumn.night,6.89707523986282 +2020,6,CO2EMT,autumn.night,528.9711855212789 +2020,6,GASNAT,autumn.day,-14.77944692229423 +2020,6,ELCTRI,autumn.day,9.85296461486282 +2020,6,CO2EMT,autumn.day,755.6731211369039 +2020,6,GASNAT,autumn.peak,-4.4338340625 +2020,6,ELCTRI,autumn.peak,2.955889375 +2020,6,CO2EMT,autumn.peak,226.70193561562496 +2020,6,GASNAT,autumn.evening,-5.911778797294229 +2020,6,ELCTRI,autumn.evening,3.9411858648628195 +2020,6,CO2EMT,autumn.evening,302.2692499056539 2020,7,GASOLI,winter.night,-0.0 2020,7,TPASKM,winter.night,0.0 2020,7,CO2EMT,winter.night,0.0 -2020,7,GASOLI,winter.day,-120.8157447798665 -2020,7,TPASKM,winter.day,44.701825563633406 -2020,7,CO2EMT,winter.day,8034.247025648383 -2020,7,GASOLI,winter.peak,-37.853815014103205 -2020,7,TPASKM,winter.peak,14.005911553677535 -2020,7,CO2EMT,winter.peak,2517.2786977445703 -2020,7,GASOLI,winter.evening,-48.32629754122805 -2020,7,TPASKM,winter.evening,17.8807300882875 -2020,7,CO2EMT,winter.evening,3213.69878560657 +2020,7,GASOLI,winter.day,-123.88425180810792 +2020,7,TPASKM,winter.day,45.83717316395784 +2020,7,CO2EMT,winter.day,8238.302742970238 +2020,7,GASOLI,winter.peak,-37.39845722829836 +2020,7,TPASKM,winter.peak,13.837429172948276 +2020,7,CO2EMT,winter.peak,2486.9974049968882 +2020,7,GASOLI,winter.evening,-49.95499056791446 +2020,7,TPASKM,winter.evening,18.48334650809518 +2020,7,CO2EMT,winter.evening,3322.0068718513858 2020,7,GASOLI,peak.night,-0.0 2020,7,TPASKM,peak.night,0.0 2020,7,CO2EMT,peak.night,0.0 -2020,7,GASOLI,peak.day,-121.78576921390444 -2020,7,TPASKM,peak.day,45.060734604187964 -2020,7,CO2EMT,peak.day,8098.75365049414 -2020,7,GASOLI,peak.peak,-36.244722979779624 -2020,7,TPASKM,peak.peak,13.4105475010433 -2020,7,CO2EMT,peak.peak,2410.274077491523 -2020,7,GASOLI,peak.evening,-48.32629754122805 -2020,7,TPASKM,peak.evening,17.8807300882875 -2020,7,CO2EMT,peak.evening,3213.69878560657 +2020,7,GASOLI,peak.day,-124.96881992691871 +2020,7,TPASKM,peak.day,46.23846336787369 +2020,7,CO2EMT,peak.day,8310.42652285129 +2020,7,GASOLI,peak.peak,-37.696713463026995 +2020,7,TPASKM,peak.peak,13.947783979785733 +2020,7,CO2EMT,peak.peak,2506.8314446008803 +2020,7,GASOLI,peak.evening,-50.69003629913671 +2020,7,TPASKM,peak.evening,18.755313428617498 +2020,7,CO2EMT,peak.evening,3370.887412964203 2020,7,GASOLI,summer.night,-0.0 2020,7,TPASKM,summer.night,0.0 2020,7,CO2EMT,summer.night,0.0 @@ -342,18 +342,18 @@ milestone_year,asset_id,commodity_id,time_slice,flow 2020,7,GASOLI,autumn.night,-0.0 2020,7,TPASKM,autumn.night,0.0 2020,7,CO2EMT,autumn.night,0.0 -2020,7,GASOLI,autumn.day,-121.78576921390444 -2020,7,TPASKM,autumn.day,45.060734604187964 -2020,7,CO2EMT,autumn.day,8098.75365049414 -2020,7,GASOLI,autumn.peak,-36.244722979779624 -2020,7,TPASKM,autumn.peak,13.4105475010433 -2020,7,CO2EMT,autumn.peak,2410.274077491523 -2020,7,GASOLI,autumn.evening,-48.32629754122805 -2020,7,TPASKM,autumn.evening,17.8807300882875 -2020,7,CO2EMT,autumn.evening,3213.69878560657 -2020,8,DIESEL,winter.night,-10.398038973750863 -2020,8,TPASKM,winter.night,4.6791175386558 -2020,8,CO2EMT,winter.night,720.6880812387606 +2020,7,GASOLI,autumn.day,-125.53821818628423 +2020,7,TPASKM,autumn.day,46.44914072381576 +2020,7,CO2EMT,autumn.day,8348.291507088668 +2020,7,GASOLI,autumn.peak,-38.01752703402869 +2020,7,TPASKM,autumn.peak,14.0664850010433 +2020,7,CO2EMT,autumn.peak,2528.165547066617 +2020,7,GASOLI,autumn.evening,-50.69003629913671 +2020,7,TPASKM,autumn.evening,18.755313428617498 +2020,7,CO2EMT,autumn.evening,3370.887412964203 +2020,8,DIESEL,winter.night,-6.987862929442765 +2020,8,TPASKM,winter.night,3.144538318563698 +2020,8,CO2EMT,winter.night,484.3287796182322 2020,8,DIESEL,winter.day,-40.87500012671251 2020,8,TPASKM,winter.day,18.393750058860004 2020,8,CO2EMT,winter.day,2833.0462586569984 @@ -363,9 +363,9 @@ milestone_year,asset_id,commodity_id,time_slice,flow 2020,8,DIESEL,winter.evening,-16.350000129165 2020,8,TPASKM,winter.evening,7.35750005886 2020,8,CO2EMT,winter.evening,1133.218508902248 -2020,8,DIESEL,peak.night,-10.398038973750863 -2020,8,TPASKM,peak.night,4.6791175386558 -2020,8,CO2EMT,peak.night,720.6880812387606 +2020,8,DIESEL,peak.night,-10.075965010801001 +2020,8,TPASKM,peak.night,4.5341842553138685 +2020,8,CO2EMT,peak.night,698.3651348676941 2020,8,DIESEL,peak.day,-40.87500012671251 2020,8,TPASKM,peak.day,18.393750058860004 2020,8,CO2EMT,peak.day,2833.0462586569984 @@ -375,9 +375,9 @@ milestone_year,asset_id,commodity_id,time_slice,flow 2020,8,DIESEL,peak.evening,-16.350000129165 2020,8,TPASKM,peak.evening,7.35750005886 2020,8,CO2EMT,peak.evening,1133.218508902248 -2020,8,DIESEL,summer.night,-9.428014539712905 -2020,8,TPASKM,summer.night,4.242606543295068 -2020,8,CO2EMT,summer.night,653.4556877185668 +2020,8,DIESEL,summer.night,-4.566325984711812 +2020,8,TPASKM,summer.night,2.0548466933258 +2020,8,CO2EMT,summer.night,316.49205398636155 2020,8,DIESEL,summer.day,-40.87500012671251 2020,8,TPASKM,summer.day,18.393750058860004 2020,8,CO2EMT,summer.day,2833.0462586569984 @@ -387,9 +387,9 @@ milestone_year,asset_id,commodity_id,time_slice,flow 2020,8,DIESEL,summer.evening,-16.350000129165 2020,8,TPASKM,summer.evening,7.35750005886 2020,8,CO2EMT,summer.evening,1133.218508902248 -2020,8,DIESEL,autumn.night,-10.398038973750863 -2020,8,TPASKM,autumn.night,4.6791175386558 -2020,8,CO2EMT,autumn.night,720.6880812387606 +2020,8,DIESEL,autumn.night,-9.160404432578442 +2020,8,TPASKM,autumn.night,4.122181995072517 +2020,8,CO2EMT,autumn.night,634.9076311938985 2020,8,DIESEL,autumn.day,-40.87500012671251 2020,8,TPASKM,autumn.day,18.393750058860004 2020,8,CO2EMT,autumn.day,2833.0462586569984 @@ -399,24 +399,24 @@ milestone_year,asset_id,commodity_id,time_slice,flow 2020,8,DIESEL,autumn.evening,-16.350000129165 2020,8,TPASKM,autumn.evening,7.35750005886 2020,8,CO2EMT,autumn.evening,1133.218508902248 -2020,9,ELCTRI,winter.night,-0.0 -2020,9,TPASKM,winter.night,0.0 -2020,9,ELCTRI,winter.day,-3.835891825332145 -2020,9,TPASKM,winter.day,2.1864583403299997 -2020,9,ELCTRI,winter.peak,-0.10626920591016653 -2020,9,TPASKM,winter.peak,0.06057344736576625 -2020,9,ELCTRI,winter.evening,-1.5343567374977702 -2020,9,TPASKM,winter.evening,0.8745833403299998 +2020,9,ELCTRI,winter.night,-0.7733845879195496 +2020,9,TPASKM,winter.night,0.44082921509210177 +2020,9,ELCTRI,winter.day,-1.8440539299265 +2020,9,TPASKM,winter.day,1.0511107400055495 +2020,9,ELCTRI,winter.peak,-0.4018523300113622 +2020,9,TPASKM,winter.peak,0.22905582809502367 +2020,9,ELCTRI,winter.evening,-0.47713494830862285 +2020,9,TPASKM,winter.evening,0.2719669205223167 2020,9,ELCTRI,peak.night,-0.0 2020,9,TPASKM,peak.night,0.0 -2020,9,ELCTRI,peak.day,-3.2062268418716116 -2020,9,TPASKM,peak.day,1.8275492997754412 -2020,9,ELCTRI,peak.peak,-1.1507675439171874 -2020,9,TPASKM,peak.peak,0.6559375 -2020,9,ELCTRI,peak.evening,-1.5343567374977702 -2020,9,TPASKM,peak.evening,0.8745833403299998 -2020,9,ELCTRI,summer.night,-0.765808763829048 -2020,9,TPASKM,summer.night,0.4365109953607318 +2020,9,ELCTRI,peak.day,-1.140036028284567 +2020,9,TPASKM,peak.day,0.6498205360897121 +2020,9,ELCTRI,peak.peak,-0.20824740572544187 +2020,9,TPASKM,peak.peak,0.11870102125756682 +2020,9,ELCTRI,peak.evening,-0.0 +2020,9,TPASKM,peak.evening,0.0 +2020,9,ELCTRI,summer.night,-2.6851242814149576 +2020,9,TPASKM,summer.night,1.53052084033 2020,9,ELCTRI,summer.day,-3.835891825332145 2020,9,TPASKM,summer.day,2.1864583403299997 2020,9,ELCTRI,summer.peak,-1.1507675439171874 @@ -425,15 +425,15 @@ milestone_year,asset_id,commodity_id,time_slice,flow 2020,9,TPASKM,summer.evening,0.8745833403299998 2020,9,ELCTRI,autumn.night,-0.0 2020,9,TPASKM,autumn.night,0.0 -2020,9,ELCTRI,autumn.day,-3.2062268418716116 -2020,9,TPASKM,autumn.day,1.8275492997754412 -2020,9,ELCTRI,autumn.peak,-1.1507675439171874 -2020,9,TPASKM,autumn.peak,0.6559375 -2020,9,ELCTRI,autumn.evening,-1.5343567374977702 -2020,9,TPASKM,autumn.evening,0.8745833403299998 -2020,10,ELCTRI,winter.night,-0.0 -2020,10,GASOLI,winter.night,-0.0 -2020,10,TPASKM,winter.night,0.0 +2020,9,ELCTRI,autumn.day,-0.7704266318764761 +2020,9,TPASKM,autumn.day,0.4391431801476342 +2020,9,ELCTRI,autumn.peak,-0.0 +2020,9,TPASKM,autumn.peak,0.0 +2020,9,ELCTRI,autumn.evening,-0.0 +2020,9,TPASKM,autumn.evening,0.0 +2020,10,ELCTRI,winter.night,-0.9344846534906798 +2020,10,GASOLI,winter.night,-1.093750005 +2020,10,TPASKM,winter.night,1.093750005 2020,10,ELCTRI,winter.day,-1.3349780745844297 2020,10,GASOLI,winter.day,-1.562500005 2020,10,TPASKM,winter.day,1.562500005 @@ -443,9 +443,9 @@ milestone_year,asset_id,commodity_id,time_slice,flow 2020,10,ELCTRI,winter.evening,-0.5339912323969298 2020,10,GASOLI,winter.evening,-0.625000005 2020,10,TPASKM,winter.evening,0.625000005 -2020,10,ELCTRI,peak.night,-0.0 -2020,10,GASOLI,peak.night,-0.0 -2020,10,TPASKM,peak.night,0.0 +2020,10,ELCTRI,peak.night,-0.12382896314871417 +2020,10,GASOLI,peak.night,-0.14493328334193104 +2020,10,TPASKM,peak.night,0.14493328334193104 2020,10,ELCTRI,peak.day,-1.3349780745844297 2020,10,GASOLI,peak.day,-1.562500005 2020,10,TPASKM,peak.day,1.562500005 @@ -455,9 +455,9 @@ milestone_year,asset_id,commodity_id,time_slice,flow 2020,10,ELCTRI,peak.evening,-0.5339912323969298 2020,10,GASOLI,peak.evening,-0.625000005 2020,10,TPASKM,peak.evening,0.625000005 -2020,10,ELCTRI,summer.night,-0.0 -2020,10,GASOLI,summer.night,-0.0 -2020,10,TPASKM,summer.night,0.0 +2020,10,ELCTRI,summer.night,-0.9344846534906798 +2020,10,GASOLI,summer.night,-1.093750005 +2020,10,TPASKM,summer.night,1.093750005 2020,10,ELCTRI,summer.day,-1.3349780745844297 2020,10,GASOLI,summer.day,-1.562500005 2020,10,TPASKM,summer.day,1.562500005 @@ -467,9 +467,9 @@ milestone_year,asset_id,commodity_id,time_slice,flow 2020,10,ELCTRI,summer.evening,-0.5339912323969298 2020,10,GASOLI,summer.evening,-0.625000005 2020,10,TPASKM,summer.evening,0.625000005 -2020,10,ELCTRI,autumn.night,-0.0 -2020,10,GASOLI,autumn.night,-0.0 -2020,10,TPASKM,autumn.night,0.0 +2020,10,ELCTRI,autumn.night,-0.47583791184720253 +2020,10,GASOLI,autumn.night,-0.5569355435832827 +2020,10,TPASKM,autumn.night,0.5569355435832827 2020,10,ELCTRI,autumn.day,-1.3349780745844297 2020,10,GASOLI,autumn.day,-1.562500005 2020,10,TPASKM,autumn.day,1.562500005 @@ -482,27 +482,27 @@ milestone_year,asset_id,commodity_id,time_slice,flow 2020,11,GASNAT,winter.night,-36.31286857370999 2020,11,RSHEAT,winter.night,31.576407455399995 2020,11,CO2EMT,winter.night,1856.6769701737921 -2020,11,GASNAT,winter.day,-203.64459669138517 -2020,11,RSHEAT,winter.day,177.08225799250886 -2020,11,CO2EMT,winter.day,10412.348228830524 -2020,11,GASNAT,winter.peak,-104.21874999999999 -2020,11,RSHEAT,winter.peak,90.625 -2020,11,CO2EMT,winter.peak,5328.704687500001 -2020,11,GASNAT,winter.evening,-67.67917127385195 -2020,11,RSHEAT,winter.evening,58.85145328161039 -2020,11,CO2EMT,winter.evening,3460.43602723205 -2020,11,GASNAT,peak.night,-17.36559060371703 -2020,11,RSHEAT,peak.night,15.100513568449593 -2020,11,CO2EMT,peak.night,887.9026475680519 -2020,11,GASNAT,peak.day,-92.8181592028257 -2020,11,RSHEAT,peak.day,80.71144278506583 -2020,11,CO2EMT,peak.day,4745.792480040478 -2020,11,GASNAT,peak.peak,-62.60590015280754 -2020,11,RSHEAT,peak.peak,54.43991317635439 -2020,11,CO2EMT,peak.peak,3201.0396748130497 -2020,11,GASNAT,peak.evening,-32.91880552767923 -2020,11,RSHEAT,peak.evening,28.625048284938465 -2020,11,CO2EMT,peak.evening,1683.1385266302393 +2020,11,GASNAT,winter.day,-193.26973453857997 +2020,11,RSHEAT,winter.day,168.06063872919998 +2020,11,CO2EMT,winter.day,9881.881526957595 +2020,11,GASNAT,winter.peak,-104.21872974118598 +2020,11,RSHEAT,winter.peak,90.62498238363999 +2020,11,CO2EMT,winter.peak,5328.7036516668395 +2020,11,GASNAT,winter.evening,-62.62146996467999 +2020,11,RSHEAT,winter.evening,54.453452143199996 +2020,11,CO2EMT,winter.evening,3201.8357592940883 +2020,11,GASNAT,peak.night,-15.393589558373995 +2020,11,RSHEAT,peak.night,13.385730050759996 +2020,11,CO2EMT,peak.night,787.0742341196624 +2020,11,GASNAT,peak.day,-82.18418839575197 +2020,11,RSHEAT,peak.day,71.46451164847998 +2020,11,CO2EMT,peak.day,4202.077552674799 +2020,11,GASNAT,peak.peak,-58.291277616306004 +2020,11,RSHEAT,peak.peak,50.688067492440005 +2020,11,CO2EMT,peak.peak,2980.433024521726 +2020,11,GASNAT,peak.evening,-26.198361216825717 +2020,11,RSHEAT,peak.evening,22.781183666804974 +2020,11,CO2EMT,peak.evening,1339.522209016299 2020,11,GASNAT,summer.night,-0.0 2020,11,RSHEAT,summer.night,0.0 2020,11,CO2EMT,summer.night,0.0 @@ -515,34 +515,34 @@ milestone_year,asset_id,commodity_id,time_slice,flow 2020,11,GASNAT,summer.evening,-0.0 2020,11,RSHEAT,summer.evening,0.0 2020,11,CO2EMT,summer.evening,0.0 -2020,11,GASNAT,autumn.night,-6.952279316405 -2020,11,RSHEAT,autumn.night,6.045460275134783 -2020,11,CO2EMT,autumn.night,355.47004144778765 -2020,11,GASNAT,autumn.day,-68.6162269371682 -2020,11,RSHEAT,autumn.day,59.66628429318974 -2020,11,CO2EMT,autumn.day,3508.34768329741 -2020,11,GASNAT,autumn.peak,-48.86184323016114 -2020,11,RSHEAT,autumn.peak,42.48855933057491 -2020,11,CO2EMT,autumn.peak,2498.3060443581394 -2020,11,GASNAT,autumn.evening,-23.013164958117954 -2020,11,RSHEAT,autumn.evening,20.011447789667788 -2020,11,CO2EMT,autumn.evening,1176.663124308571 +2020,11,GASNAT,autumn.night,-6.206976122586998 +2020,11,RSHEAT,autumn.night,5.397370541379999 +2020,11,CO2EMT,autumn.night,317.36268914787325 +2020,11,GASNAT,autumn.day,-56.69422338503598 +2020,11,RSHEAT,autumn.day,49.29932468263999 +2020,11,CO2EMT,autumn.day,2898.7756416768902 +2020,11,GASNAT,autumn.peak,-43.82151003734367 +2020,11,RSHEAT,autumn.peak,38.105660902037975 +2020,11,CO2EMT,autumn.peak,2240.593808209382 +2020,11,GASNAT,autumn.evening,-16.29272064726444 +2020,11,RSHEAT,autumn.evening,14.167583171534297 +2020,11,CO2EMT,autumn.evening,833.0468066946308 2020,12,ELCTRI,winter.night,-9.624518793997803 2020,12,RSHEAT,winter.night,29.165208466660005 -2020,12,ELCTRI,winter.day,-10.772178187105874 -2020,12,RSHEAT,winter.day,32.642964203351134 -2020,12,ELCTRI,winter.peak,-4.124787936601196 -2020,12,RSHEAT,winter.peak,12.499357383639989 -2020,12,ELCTRI,winter.evening,-4.048384668322371 -2020,12,RSHEAT,winter.evening,12.26783232824961 -2020,12,ELCTRI,peak.night,-9.058640233160235 -2020,12,RSHEAT,peak.night,27.450424948970408 -2020,12,ELCTRI,peak.day,-10.697825268924475 -2020,12,RSHEAT,peak.day,32.41765233007417 -2020,12,ELCTRI,peak.peak,-2.886684674308255 -2020,12,RSHEAT,peak.peak,8.74752931608562 -2020,12,ELCTRI,peak.evening,-3.203563182296908 -2020,12,RSHEAT,peak.evening,9.70776721908154 +2020,12,ELCTRI,winter.day,-13.749312543997803 +2020,12,RSHEAT,winter.day,41.664583466660005 +2020,12,ELCTRI,winter.peak,-4.12479375 +2020,12,RSHEAT,winter.peak,12.499375 +2020,12,ELCTRI,winter.evening,-5.499725043997801 +2020,12,RSHEAT,winter.evening,16.66583346666 +2020,12,ELCTRI,peak.night,-9.624518793997803 +2020,12,RSHEAT,peak.night,29.165208466660005 +2020,12,ELCTRI,peak.day,-13.749312543997803 +2020,12,RSHEAT,peak.day,41.664583466660005 +2020,12,ELCTRI,peak.peak,-4.12479375 +2020,12,RSHEAT,peak.peak,12.499375 +2020,12,ELCTRI,peak.evening,-5.13203850628096 +2020,12,RSHEAT,peak.evening,15.55163183721503 2020,12,ELCTRI,summer.night,-1.7439017181564 2020,12,RSHEAT,summer.night,5.28455066108 2020,12,ELCTRI,summer.day,-2.9055524196533997 @@ -551,142 +551,142 @@ milestone_year,asset_id,commodity_id,time_slice,flow 2020,12,RSHEAT,summer.peak,2.89937103318 2020,12,ELCTRI,summer.evening,-0.7124084843502 2020,12,RSHEAT,summer.evening,2.1588135889399998 -2020,12,ELCTRI,autumn.night,-9.410649181858723 -2020,12,RSHEAT,autumn.night,28.51711873290522 -2020,12,ELCTRI,autumn.day,-10.328215872516385 -2020,12,RSHEAT,autumn.day,31.297623856110256 -2020,12,ELCTRI,autumn.peak,-2.65787885505288 -2020,12,RSHEAT,autumn.peak,8.05417834864509 -2020,12,ELCTRI,autumn.evening,-3.379567659854829 -2020,12,RSHEAT,autumn.evening,10.24111412077221 +2020,12,ELCTRI,autumn.night,-9.624518793997803 +2020,12,RSHEAT,autumn.night,29.165208466660005 +2020,12,ELCTRI,autumn.day,-13.749312543997803 +2020,12,RSHEAT,autumn.day,41.664583466660005 +2020,12,ELCTRI,autumn.peak,-4.104235336470067 +2020,12,RSHEAT,autumn.peak,12.437076777182021 +2020,12,ELCTRI,autumn.evening,-5.308042983838882 +2020,12,RSHEAT,autumn.evening,16.0849787389057 2030,0,GASPRD,winter.night,0.0 2030,0,CO2EMT,winter.night,0.0 -2030,0,GASPRD,winter.day,304.32921148454443 -2030,0,CO2EMT,winter.day,1556.0352583204758 -2030,0,GASPRD,winter.peak,112.786875 -2030,0,CO2EMT,winter.peak,576.679291875 -2030,0,GASPRD,winter.evening,150.38250120305997 -2030,0,CO2EMT,winter.evening,768.9057286512457 +2030,0,GASPRD,winter.day,360.80325255229957 +2030,0,CO2EMT,winter.day,1844.7870302999079 +2030,0,GASPRD,winter.peak,125.31875 +2030,0,CO2EMT,winter.peak,640.75476875 +2030,0,GASPRD,winter.evening,167.09166800339997 +2030,0,CO2EMT,winter.evening,854.3396985013842 2030,0,GASPRD,peak.night,0.0 2030,0,CO2EMT,peak.night,0.0 -2030,0,GASPRD,peak.day,64.92727657403516 -2030,0,CO2EMT,peak.day,331.97316512304184 -2030,0,GASPRD,peak.peak,112.786875 -2030,0,CO2EMT,peak.peak,576.679291875 -2030,0,GASPRD,peak.evening,150.38250120305997 -2030,0,CO2EMT,peak.evening,768.9057286512457 +2030,0,GASPRD,peak.day,116.55401669288233 +2030,0,CO2EMT,peak.day,595.9406873507074 +2030,0,GASPRD,peak.peak,125.31875 +2030,0,CO2EMT,peak.peak,640.75476875 +2030,0,GASPRD,peak.evening,167.09166800339997 +2030,0,CO2EMT,peak.evening,854.3396985013842 2030,0,GASPRD,summer.night,0.0 2030,0,CO2EMT,summer.night,0.0 2030,0,GASPRD,summer.day,0.0 2030,0,CO2EMT,summer.day,0.0 -2030,0,GASPRD,summer.peak,10.168278416114276 -2030,0,CO2EMT,summer.peak,51.9904075415923 -2030,0,GASPRD,summer.evening,150.38250120305997 -2030,0,CO2EMT,summer.evening,768.9057286512457 +2030,0,GASPRD,summer.peak,0.0 +2030,0,CO2EMT,summer.peak,0.0 +2030,0,GASPRD,summer.evening,162.23377935738907 +2030,0,CO2EMT,summer.evening,829.5013138543304 2030,0,GASPRD,autumn.night,0.0 2030,0,CO2EMT,autumn.night,0.0 -2030,0,GASPRD,autumn.day,2.697308257775447 -2030,0,CO2EMT,autumn.day,13.79133712200586 -2030,0,GASPRD,autumn.peak,112.786875 -2030,0,CO2EMT,autumn.peak,576.679291875 -2030,0,GASPRD,autumn.evening,150.38250120305997 -2030,0,CO2EMT,autumn.evening,768.9057286512457 +2030,0,GASPRD,autumn.day,48.714485210628766 +2030,0,CO2EMT,autumn.day,249.0771628819449 +2030,0,GASPRD,autumn.peak,125.31875 +2030,0,CO2EMT,autumn.peak,640.75476875 +2030,0,GASPRD,autumn.evening,167.09166800339997 +2030,0,CO2EMT,autumn.evening,854.3396985013842 2030,1,OILCRD,winter.night,0.0 2030,1,GASPRD,winter.night,0.0 2030,1,CO2EMT,winter.night,0.0 -2030,1,OILCRD,winter.day,73.68288897858503 -2030,1,GASPRD,winter.day,7.368288897858503 -2030,1,CO2EMT,winter.day,540.316624879964 -2030,1,OILCRD,winter.peak,48.88265625 -2030,1,GASPRD,winter.peak,4.888265625 -2030,1,CO2EMT,winter.peak,358.45651828125 -2030,1,OILCRD,winter.evening,65.17687552141498 -2030,1,GASPRD,winter.evening,6.517687552141499 -2030,1,CO2EMT,winter.evening,477.9420281985361 +2030,1,OILCRD,winter.day,61.00960767065002 +2030,1,GASPRD,winter.day,6.100960767065002 +2030,1,CO2EMT,winter.day,447.3834530488766 +2030,1,OILCRD,winter.peak,54.3140625 +2030,1,GASPRD,winter.peak,5.43140625 +2030,1,CO2EMT,winter.peak,398.2850203125 +2030,1,OILCRD,winter.evening,72.41875057934999 +2030,1,GASPRD,winter.evening,7.241875057934999 +2030,1,CO2EMT,winter.evening,531.0466979983735 2030,1,OILCRD,peak.night,0.0 2030,1,GASPRD,peak.night,0.0 2030,1,CO2EMT,peak.night,0.0 -2030,1,OILCRD,peak.day,73.68288897858503 -2030,1,GASPRD,peak.day,7.368288897858503 -2030,1,CO2EMT,peak.day,540.316624879964 -2030,1,OILCRD,peak.peak,48.88265625 -2030,1,GASPRD,peak.peak,4.888265625 -2030,1,CO2EMT,peak.peak,358.45651828125 -2030,1,OILCRD,peak.evening,65.17687552141498 -2030,1,GASPRD,peak.evening,6.517687552141499 -2030,1,CO2EMT,peak.evening,477.9420281985361 +2030,1,OILCRD,peak.day,61.00960767065002 +2030,1,GASPRD,peak.day,6.100960767065002 +2030,1,CO2EMT,peak.day,447.3834530488766 +2030,1,OILCRD,peak.peak,54.3140625 +2030,1,GASPRD,peak.peak,5.43140625 +2030,1,CO2EMT,peak.peak,398.2850203125 +2030,1,OILCRD,peak.evening,72.41875057934999 +2030,1,GASPRD,peak.evening,7.241875057934999 +2030,1,CO2EMT,peak.evening,531.0466979983735 2030,1,OILCRD,summer.night,0.0 2030,1,GASPRD,summer.night,0.0 2030,1,CO2EMT,summer.night,0.0 -2030,1,OILCRD,summer.day,73.68288897858503 -2030,1,GASPRD,summer.day,7.368288897858503 -2030,1,CO2EMT,summer.day,540.316624879964 -2030,1,OILCRD,summer.peak,48.88265625 -2030,1,GASPRD,summer.peak,4.888265625 -2030,1,CO2EMT,summer.peak,358.45651828125 -2030,1,OILCRD,summer.evening,65.17687552141498 -2030,1,GASPRD,summer.evening,6.517687552141499 -2030,1,CO2EMT,summer.evening,477.9420281985361 +2030,1,OILCRD,summer.day,61.00960767065002 +2030,1,GASPRD,summer.day,6.100960767065002 +2030,1,CO2EMT,summer.day,447.3834530488766 +2030,1,OILCRD,summer.peak,54.3140625 +2030,1,GASPRD,summer.peak,5.43140625 +2030,1,CO2EMT,summer.peak,398.2850203125 +2030,1,OILCRD,summer.evening,72.41875057934999 +2030,1,GASPRD,summer.evening,7.241875057934999 +2030,1,CO2EMT,summer.evening,531.0466979983735 2030,1,OILCRD,autumn.night,0.0 2030,1,GASPRD,autumn.night,0.0 2030,1,CO2EMT,autumn.night,0.0 -2030,1,OILCRD,autumn.day,73.68288897858503 -2030,1,GASPRD,autumn.day,7.368288897858503 -2030,1,CO2EMT,autumn.day,540.316624879964 -2030,1,OILCRD,autumn.peak,48.88265625 -2030,1,GASPRD,autumn.peak,4.888265625 -2030,1,CO2EMT,autumn.peak,358.45651828125 -2030,1,OILCRD,autumn.evening,65.17687552141498 -2030,1,GASPRD,autumn.evening,6.517687552141499 -2030,1,CO2EMT,autumn.evening,477.9420281985361 +2030,1,OILCRD,autumn.day,61.00960767065002 +2030,1,GASPRD,autumn.day,6.100960767065002 +2030,1,CO2EMT,autumn.day,447.3834530488766 +2030,1,OILCRD,autumn.peak,54.3140625 +2030,1,GASPRD,autumn.peak,5.43140625 +2030,1,CO2EMT,autumn.peak,398.2850203125 +2030,1,OILCRD,autumn.evening,72.41875057934999 +2030,1,GASPRD,autumn.evening,7.241875057934999 +2030,1,CO2EMT,autumn.evening,531.0466979983735 2030,2,GASPRD,winter.night,-0.0 2030,2,GASNAT,winter.night,0.0 2030,2,CO2EMT,winter.night,0.0 -2030,2,GASPRD,winter.day,-325.142947318868 -2030,2,GASNAT,winter.day,309.6599498274933 -2030,2,CO2EMT,winter.day,791.6456617339867 -2030,2,GASPRD,winter.peak,-111.91280625 -2030,2,GASNAT,winter.peak,106.583625 -2030,2,CO2EMT,winter.peak,272.4810373125 -2030,2,GASPRD,winter.evening,-149.21707619373657 -2030,2,GASNAT,winter.evening,142.11150113689197 -2030,2,CO2EMT,winter.evening,363.3080526564644 +2030,2,GASPRD,winter.day,-381.8435988043255 +2030,2,GASNAT,winter.day,363.6605702898338 +2030,2,CO2EMT,winter.day,929.6982479459601 +2030,2,GASPRD,winter.peak,-124.3475625 +2030,2,GASNAT,winter.peak,118.42625 +2030,2,CO2EMT,winter.peak,302.756708125 +2030,2,GASPRD,winter.evening,-165.796751326374 +2030,2,GASNAT,winter.evening,157.90166792987998 +2030,2,CO2EMT,winter.evening,403.6756140627382 2030,2,GASPRD,peak.night,-0.0 2030,2,GASNAT,peak.night,0.0 2030,2,CO2EMT,peak.night,0.0 -2030,2,GASPRD,peak.day,-85.74101240835859 -2030,2,GASNAT,peak.day,81.6581070555796 -2030,2,CO2EMT,peak.day,208.75895068758928 -2030,2,GASPRD,peak.peak,-111.91280625 -2030,2,GASNAT,peak.peak,106.583625 -2030,2,CO2EMT,peak.peak,272.4810373125 -2030,2,GASPRD,peak.evening,-149.21707619373657 -2030,2,GASNAT,peak.evening,142.11150113689197 -2030,2,CO2EMT,peak.evening,363.3080526564644 +2030,2,GASPRD,peak.day,-137.59436294490823 +2030,2,GASNAT,peak.day,131.04225042372212 +2030,2,CO2EMT,peak.day,335.00951320824566 +2030,2,GASPRD,peak.peak,-124.3475625 +2030,2,GASNAT,peak.peak,118.42625 +2030,2,CO2EMT,peak.peak,302.756708125 +2030,2,GASPRD,peak.evening,-165.796751326374 +2030,2,GASNAT,peak.evening,157.90166792987998 +2030,2,CO2EMT,peak.evening,403.6756140627382 2030,2,GASPRD,summer.night,-0.0 2030,2,GASNAT,summer.night,0.0 2030,2,CO2EMT,summer.night,0.0 2030,2,GASPRD,summer.day,-0.0 2030,2,GASNAT,summer.day,0.0 2030,2,CO2EMT,summer.day,0.0 -2030,2,GASPRD,summer.peak,-30.107945500437665 -2030,2,GASNAT,summer.peak,28.67423380994063 -2030,2,CO2EMT,summer.peak,73.30567873511323 -2030,2,GASPRD,summer.evening,-149.21707619373657 -2030,2,GASNAT,summer.evening,142.11150113689197 -2030,2,CO2EMT,summer.evening,363.3080526564644 +2030,2,GASPRD,summer.peak,-15.211270106015089 +2030,2,GASNAT,summer.peak,14.48692391049056 +2030,2,CO2EMT,summer.peak,37.035820977169124 +2030,2,GASPRD,summer.evening,-165.796751326374 +2030,2,GASNAT,summer.evening,157.90166792987998 +2030,2,CO2EMT,summer.evening,403.6756140627382 2030,2,GASPRD,autumn.night,-0.0 2030,2,GASNAT,autumn.night,0.0 2030,2,CO2EMT,autumn.night,0.0 -2030,2,GASPRD,autumn.day,-23.51104409209888 -2030,2,GASNAT,autumn.day,22.391470563903695 -2030,2,CO2EMT,autumn.day,57.2437944966198 -2030,2,GASPRD,autumn.peak,-111.91280625 -2030,2,GASNAT,autumn.peak,106.583625 -2030,2,CO2EMT,autumn.peak,272.4810373125 -2030,2,GASPRD,autumn.evening,-149.21707619373657 -2030,2,GASNAT,autumn.evening,142.11150113689197 -2030,2,CO2EMT,autumn.evening,363.3080526564644 +2030,2,GASPRD,autumn.day,-69.75483146265469 +2030,2,GASNAT,autumn.day,66.4331728215759 +2030,2,CO2EMT,autumn.day,169.8364063183588 +2030,2,GASPRD,autumn.peak,-124.3475625 +2030,2,GASNAT,autumn.peak,118.42625 +2030,2,CO2EMT,autumn.peak,302.756708125 +2030,2,GASPRD,autumn.evening,-165.796751326374 +2030,2,GASNAT,autumn.evening,157.90166792987998 +2030,2,CO2EMT,autumn.evening,403.6756140627382 2030,5,ELCTRI,winter.night,4.435312795545212 2030,5,ELCTRI,winter.day,7.075379933645912 2030,5,ELCTRI,winter.peak,1.9712501261051125 @@ -706,75 +706,75 @@ milestone_year,asset_id,commodity_id,time_slice,flow 2030,6,GASNAT,winter.night,-0.0 2030,6,ELCTRI,winter.night,0.0 2030,6,CO2EMT,winter.night,0.0 -2030,6,GASNAT,winter.day,-13.301502230064807 -2030,6,ELCTRI,winter.day,8.867668153376538 -2030,6,CO2EMT,winter.day,680.1058090232135 -2030,6,GASNAT,winter.peak,-3.3568345409380624 -2030,6,ELCTRI,winter.peak,2.2378896939587083 -2030,6,CO2EMT,winter.peak,171.63495007816311 -2030,6,GASNAT,winter.evening,-5.320600917564806 -2030,6,ELCTRI,winter.evening,3.5470672783765376 -2030,6,CO2EMT,winter.evening,272.0423249150885 +2030,6,GASNAT,winter.day,-14.77944692229423 +2030,6,ELCTRI,winter.day,9.85296461486282 +2030,6,CO2EMT,winter.day,755.6731211369039 +2030,6,GASNAT,winter.peak,-4.143426676071123 +2030,6,ELCTRI,winter.peak,2.7622844507140822 +2030,6,CO2EMT,winter.peak,211.8534059475165 +2030,6,GASNAT,winter.evening,-5.911778797294229 +2030,6,ELCTRI,winter.evening,3.9411858648628195 +2030,6,CO2EMT,winter.evening,302.2692499056539 2030,6,GASNAT,peak.night,-0.0 2030,6,ELCTRI,peak.night,0.0 2030,6,CO2EMT,peak.night,0.0 -2030,6,GASNAT,peak.day,-13.301502230064807 -2030,6,ELCTRI,peak.day,8.867668153376538 -2030,6,CO2EMT,peak.day,680.1058090232135 -2030,6,GASNAT,peak.peak,-3.99045065625 -2030,6,ELCTRI,peak.peak,2.6603004375 -2030,6,CO2EMT,peak.peak,204.03174205406248 -2030,6,GASNAT,peak.evening,-5.320600917564806 -2030,6,ELCTRI,peak.evening,3.5470672783765376 -2030,6,CO2EMT,peak.evening,272.0423249150885 +2030,6,GASNAT,peak.day,-14.77944692229423 +2030,6,ELCTRI,peak.day,9.85296461486282 +2030,6,CO2EMT,peak.day,755.6731211369039 +2030,6,GASNAT,peak.peak,-4.4338340625 +2030,6,ELCTRI,peak.peak,2.955889375 +2030,6,CO2EMT,peak.peak,226.70193561562496 +2030,6,GASNAT,peak.evening,-5.911778797294229 +2030,6,ELCTRI,peak.evening,3.9411858648628195 +2030,6,CO2EMT,peak.evening,302.2692499056539 2030,6,GASNAT,summer.night,-0.0 2030,6,ELCTRI,summer.night,0.0 2030,6,CO2EMT,summer.night,0.0 -2030,6,GASNAT,summer.day,-13.301502230064807 -2030,6,ELCTRI,summer.day,8.867668153376538 -2030,6,CO2EMT,summer.day,680.1058090232135 -2030,6,GASNAT,summer.peak,-3.99045065625 -2030,6,ELCTRI,summer.peak,2.6603004375 -2030,6,CO2EMT,summer.peak,204.03174205406248 -2030,6,GASNAT,summer.evening,-5.320600917564806 -2030,6,ELCTRI,summer.evening,3.5470672783765376 -2030,6,CO2EMT,summer.evening,272.0423249150885 +2030,6,GASNAT,summer.day,-14.77944692229423 +2030,6,ELCTRI,summer.day,9.85296461486282 +2030,6,CO2EMT,summer.day,755.6731211369039 +2030,6,GASNAT,summer.peak,-4.4338340625 +2030,6,ELCTRI,summer.peak,2.955889375 +2030,6,CO2EMT,summer.peak,226.70193561562496 +2030,6,GASNAT,summer.evening,-5.911778797294229 +2030,6,ELCTRI,summer.evening,3.9411858648628195 +2030,6,CO2EMT,summer.evening,302.2692499056539 2030,6,GASNAT,autumn.night,-0.0 2030,6,ELCTRI,autumn.night,0.0 2030,6,CO2EMT,autumn.night,0.0 -2030,6,GASNAT,autumn.day,-13.301502230064807 -2030,6,ELCTRI,autumn.day,8.867668153376538 -2030,6,CO2EMT,autumn.day,680.1058090232135 -2030,6,GASNAT,autumn.peak,-3.99045065625 -2030,6,ELCTRI,autumn.peak,2.6603004375 -2030,6,CO2EMT,autumn.peak,204.03174205406248 -2030,6,GASNAT,autumn.evening,-5.320600917564806 -2030,6,ELCTRI,autumn.evening,3.5470672783765376 -2030,6,CO2EMT,autumn.evening,272.0423249150885 -2030,11,GASNAT,winter.night,-14.006615449537906 -2030,11,RSHEAT,winter.night,12.179665608293831 -2030,11,CO2EMT,winter.night,716.1582479348732 -2030,11,GASNAT,winter.day,-176.65028985322192 -2030,11,RSHEAT,winter.day,153.60894769845385 -2030,11,CO2EMT,winter.day,9032.129320195238 +2030,6,GASNAT,autumn.day,-14.77944692229423 +2030,6,ELCTRI,autumn.day,9.85296461486282 +2030,6,CO2EMT,autumn.day,755.6731211369039 +2030,6,GASNAT,autumn.peak,-4.4338340625 +2030,6,ELCTRI,autumn.peak,2.955889375 +2030,6,CO2EMT,autumn.peak,226.70193561562496 +2030,6,GASNAT,autumn.evening,-5.911778797294229 +2030,6,ELCTRI,autumn.evening,3.9411858648628195 +2030,6,CO2EMT,autumn.evening,302.2692499056539 +2030,11,GASNAT,winter.night,-43.845148578709995 +2030,11,RSHEAT,winter.night,38.1262161554 +2030,11,CO2EMT,winter.night,2241.8024468294425 +2030,11,GASNAT,winter.day,-219.27676569358 +2030,11,RSHEAT,winter.day,190.6754484292 +2030,11,CO2EMT,winter.day,11211.621029912745 2030,11,GASNAT,winter.peak,-104.21874999999999 2030,11,RSHEAT,winter.peak,90.625 2030,11,CO2EMT,winter.peak,5328.704687500001 -2030,11,GASNAT,winter.evening,-54.39004520169392 -2030,11,RSHEAT,winter.evening,47.29569147973385 -2030,11,CO2EMT,winter.evening,2780.96301116261 +2030,11,GASNAT,winter.evening,-63.55844848749201 +2030,11,RSHEAT,winter.evening,55.26821607608001 +2030,11,CO2EMT,winter.evening,3249.7434711654664 2030,11,GASNAT,peak.night,-0.0 2030,11,RSHEAT,peak.night,0.0 2030,11,CO2EMT,peak.night,0.0 -2030,11,GASNAT,peak.day,-53.58631565039388 -2030,11,RSHEAT,peak.day,46.59679621773381 -2030,11,CO2EMT,peak.day,2739.868319204639 -2030,11,GASNAT,peak.peak,-53.33891027512 -2030,11,RSHEAT,peak.peak,46.3816611088 -2030,11,CO2EMT,peak.peak,2727.218482366886 -2030,11,GASNAT,peak.evening,-13.805717488916525 -2030,11,RSHEAT,peak.evening,12.004971729492631 -2030,11,CO2EMT,peak.evening,705.886335208302 +2030,11,GASNAT,peak.day,-96.21279149075198 +2030,11,RSHEAT,peak.day,83.66329694848 +2030,11,CO2EMT,peak.day,4919.3600289221495 +2030,11,GASNAT,peak.peak,-66.12685298630602 +2030,11,RSHEAT,peak.peak,57.50161129244002 +2030,11,CO2EMT,peak.peak,3381.0659931898267 +2030,11,GASNAT,peak.evening,-31.919446065483193 +2030,11,RSHEAT,peak.evening,27.75604005694191 +2030,11,CO2EMT,peak.evening,1632.041277328156 2030,11,GASNAT,summer.night,-0.0 2030,11,RSHEAT,summer.night,0.0 2030,11,CO2EMT,summer.night,0.0 @@ -790,15 +790,15 @@ milestone_year,asset_id,commodity_id,time_slice,flow 2030,11,GASNAT,autumn.night,-0.0 2030,11,RSHEAT,autumn.night,0.0 2030,11,CO2EMT,autumn.night,0.0 -2030,11,GASNAT,autumn.day,-25.3477508196779 -2030,11,RSHEAT,autumn.day,22.041522451893826 -2030,11,CO2EMT,autumn.day,1296.0304994101311 -2030,11,GASNAT,autumn.peak,-37.22948980491698 -2030,11,RSHEAT,autumn.peak,32.37346939557999 -2030,11,CO2EMT,autumn.peak,1903.5438137254057 -2030,11,GASNAT,autumn.evening,-2.8980829543552606 -2030,11,RSHEAT,autumn.evening,2.520072134221966 -2030,11,CO2EMT,autumn.evening,148.1789814561845 +2030,11,GASNAT,autumn.day,-67.97422666003601 +2030,11,RSHEAT,autumn.day,59.10802318264001 +2030,11,CO2EMT,autumn.day,3475.5222091276414 +2030,11,GASNAT,autumn.peak,-50.81478612865962 +2030,11,RSHEAT,autumn.peak,44.18677054666054 +2030,11,CO2EMT,autumn.peak,2598.1600147583663 +2030,11,GASNAT,autumn.evening,-10.834599480134909 +2030,11,RSHEAT,autumn.evening,9.421390852291225 +2030,11,CO2EMT,autumn.evening,553.9730714192979 2030,12,ELCTRI,winter.night,-9.624518793997803 2030,12,RSHEAT,winter.night,29.165208466660005 2030,12,ELCTRI,winter.day,-13.749312543997803 @@ -807,30 +807,30 @@ milestone_year,asset_id,commodity_id,time_slice,flow 2030,12,RSHEAT,winter.peak,12.499375 2030,12,ELCTRI,winter.evening,-5.499725043997801 2030,12,RSHEAT,winter.evening,16.66583346666 -2030,12,ELCTRI,peak.night,-6.9935856772035665 -2030,12,RSHEAT,peak.night,21.192683870313836 +2030,12,ELCTRI,peak.night,-9.624518793997803 +2030,12,RSHEAT,peak.night,29.165208466660005 2030,12,ELCTRI,peak.day,-13.749312543997803 2030,12,RSHEAT,peak.day,41.664583466660005 2030,12,ELCTRI,peak.peak,-4.12479375 2030,12,RSHEAT,peak.peak,12.499375 -2030,12,ELCTRI,peak.evening,-5.159449782650203 -2030,12,RSHEAT,peak.evening,15.63469631106122 +2030,12,ELCTRI,peak.evening,-4.854375354535772 +2030,12,RSHEAT,peak.evening,14.710228347078097 2030,12,ELCTRI,summer.night,-0.0 2030,12,RSHEAT,summer.night,0.0 -2030,12,ELCTRI,summer.day,-0.0 -2030,12,RSHEAT,summer.day,0.0 +2030,12,ELCTRI,summer.day,-0.2793432990083996 +2030,12,RSHEAT,summer.day,0.8464948454799988 2030,12,ELCTRI,summer.peak,-0.0 2030,12,RSHEAT,summer.peak,0.0 -2030,12,ELCTRI,summer.evening,-0.0 -2030,12,RSHEAT,summer.evening,0.0 -2030,12,ELCTRI,autumn.night,-4.073168306108166 -2030,12,RSHEAT,autumn.night,12.342934260933838 +2030,12,ELCTRI,summer.evening,-0.7892279633502001 +2030,12,RSHEAT,summer.evening,2.39159988894 +2030,12,ELCTRI,autumn.night,-9.624518793997803 +2030,12,RSHEAT,autumn.night,29.165208466660005 2030,12,ELCTRI,autumn.day,-13.749312543997803 2030,12,RSHEAT,autumn.day,41.664583466660005 -2030,12,ELCTRI,autumn.peak,-4.12479375 -2030,12,RSHEAT,autumn.peak,12.499375 -2030,12,ELCTRI,autumn.evening,-5.33545426020812 -2030,12,RSHEAT,autumn.evening,16.16804321275188 +2030,12,ELCTRI,autumn.peak,-3.8959879307446244 +2030,12,RSHEAT,autumn.peak,11.806024032559467 +2030,12,ELCTRI,autumn.evening,-5.030379832093697 +2030,12,RSHEAT,autumn.evening,15.243575248768778 2030,13,ELCTRI,winter.night,-4.8425042698399405 2030,13,GASOLI,winter.night,-5.667818138655801 2030,13,TPASKM,winter.night,5.667818138655801 @@ -879,310 +879,230 @@ milestone_year,asset_id,commodity_id,time_slice,flow 2030,13,ELCTRI,autumn.evening,-27.671451920975297 2030,13,GASOLI,autumn.evening,-32.3875309924775 2030,13,TPASKM,autumn.evening,32.3875309924775 -2030,14,BIOPEL,winter.night,-31.135860656527402 -2030,14,RSHEAT,winter.night,25.94655054710617 -2030,14,BIOPEL,winter.day,-44.47980087689542 -2030,14,RSHEAT,winter.day,37.066500730746185 +2030,14,BIOPEL,winter.night,-0.0 +2030,14,RSHEAT,winter.night,0.0 +2030,14,BIOPEL,winter.day,-0.0 +2030,14,RSHEAT,winter.day,0.0 2030,14,BIOPEL,winter.peak,-13.343940220368017 2030,14,RSHEAT,winter.peak,11.119950183640015 -2030,14,BIOPEL,winter.evening,-17.791920436159383 -2030,14,RSHEAT,winter.evening,14.826600363466154 -2030,14,BIOPEL,peak.night,-31.135860656527402 -2030,14,RSHEAT,peak.night,25.94655054710617 -2030,14,BIOPEL,peak.day,-44.47980087689542 -2030,14,RSHEAT,peak.day,37.066500730746185 -2030,14,BIOPEL,peak.peak,-13.343940220368017 -2030,14,RSHEAT,peak.peak,11.119950183640015 -2030,14,BIOPEL,peak.evening,-17.791920436159383 -2030,14,RSHEAT,peak.evening,14.826600363466154 +2030,14,BIOPEL,winter.evening,-8.224890920543984 +2030,14,RSHEAT,winter.evening,6.854075767119987 +2030,14,BIOPEL,peak.night,-21.568831140912 +2030,14,RSHEAT,peak.night,17.97402595076 +2030,14,BIOPEL,peak.day,-0.0 +2030,14,RSHEAT,peak.day,0.0 +2030,14,BIOPEL,peak.peak,-0.0 +2030,14,RSHEAT,peak.peak,0.0 +2030,14,BIOPEL,peak.evening,0.0 +2030,14,RSHEAT,peak.evening,-0.0 2030,14,BIOPEL,summer.night,-7.025264713296 2030,14,RSHEAT,summer.night,5.85438726108 -2030,14,BIOPEL,summer.day,-11.704945682376001 -2030,14,RSHEAT,summer.day,9.75412140198 +2030,14,BIOPEL,summer.day,-10.689151867800001 +2030,14,RSHEAT,summer.day,8.907626556500002 2030,14,BIOPEL,summer.peak,-3.8544145598160005 2030,14,RSHEAT,summer.peak,3.2120121331800005 -2030,14,BIOPEL,summer.evening,-2.869919866728 -2030,14,RSHEAT,summer.evening,2.39159988894 -2030,14,BIOPEL,autumn.night,-31.135860656527402 -2030,14,RSHEAT,autumn.night,25.94655054710617 -2030,14,BIOPEL,autumn.day,-44.47980087689542 -2030,14,RSHEAT,autumn.day,37.066500730746185 -2030,14,BIOPEL,autumn.peak,-13.343940220368017 -2030,14,RSHEAT,autumn.peak,11.119950183640015 -2030,14,BIOPEL,autumn.evening,-17.791920436159383 -2030,14,RSHEAT,autumn.evening,14.826600363466154 +2030,14,BIOPEL,summer.evening,-0.0 +2030,14,RSHEAT,summer.evening,0.0 +2030,14,BIOPEL,autumn.night,-10.949131609656003 +2030,14,RSHEAT,autumn.night,9.124276341380003 +2030,14,BIOPEL,autumn.day,-0.0 +2030,14,RSHEAT,autumn.day,0.0 +2030,14,BIOPEL,autumn.peak,-0.0 +2030,14,RSHEAT,autumn.peak,0.0 +2030,14,BIOPEL,autumn.evening,-10.619699531255998 +2030,14,RSHEAT,autumn.evening,8.849749609379998 2030,15,GASNAT,winter.night,-15.047565402438797 2030,15,ELCTRI,winter.night,10.031710268292532 2030,15,CO2EMT,winter.night,769.3820190266956 -2030,15,GASNAT,winter.day,-100.47734175645894 -2030,15,ELCTRI,winter.day,66.98489450430596 -2030,15,CO2EMT,winter.day,5137.406484007744 -2030,15,GASNAT,winter.peak,-31.003864122332217 -2030,15,ELCTRI,winter.peak,20.669242748221478 -2030,15,CO2EMT,winter.peak,1585.2275725748461 -2030,15,GASNAT,winter.evening,-40.58166649013404 -2030,15,ELCTRI,winter.evening,27.054444326756027 -2030,15,CO2EMT,winter.evening,2074.9406076405535 -2030,15,GASNAT,peak.night,-13.477226144639717 -2030,15,ELCTRI,peak.night,8.984817429759811 -2030,15,CO2EMT,peak.night,689.0905727754287 -2030,15,GASNAT,peak.day,-101.53336860892183 -2030,15,ELCTRI,peak.day,67.68891240594789 -2030,15,CO2EMT,peak.day,5191.401136974173 -2030,15,GASNAT,peak.peak,-30.66065539344916 -2030,15,ELCTRI,peak.peak,20.440436928966108 -2030,15,CO2EMT,peak.peak,1567.6793102670556 -2030,15,GASNAT,peak.evening,-41.33848582715083 -2030,15,ELCTRI,peak.evening,27.55899055143389 -2030,15,CO2EMT,peak.evening,2113.636780342222 +2030,15,GASNAT,winter.day,-98.9993970642295 +2030,15,ELCTRI,winter.day,65.99959804281967 +2030,15,CO2EMT,winter.day,5061.839171894054 +2030,15,GASNAT,winter.peak,-30.217271987199155 +2030,15,ELCTRI,winter.peak,20.144847991466104 +2030,15,CO2EMT,winter.peak,1545.0091167054927 +2030,15,GASNAT,winter.evening,-39.99048861040462 +2030,15,ELCTRI,winter.evening,26.660325740269744 +2030,15,CO2EMT,winter.evening,2044.713682649988 +2030,15,GASNAT,peak.night,-17.42362581983107 +2030,15,ELCTRI,peak.night,11.615750546554047 +2030,15,CO2EMT,peak.night,890.8699881679626 +2030,15,GASNAT,peak.day,-100.0554239166924 +2030,15,ELCTRI,peak.day,66.7036159444616 +2030,15,CO2EMT,peak.day,5115.833824860482 +2030,15,GASNAT,peak.peak,-30.21727198719916 +2030,15,ELCTRI,peak.peak,20.144847991466108 +2030,15,CO2EMT,peak.peak,1545.009116705493 +2030,15,GASNAT,peak.evening,-40.28969630524977 +2030,15,ELCTRI,peak.evening,26.85979753683318 +2030,15,CO2EMT,peak.evening,2060.012172087421 2030,15,GASNAT,summer.night,-4.808493968439487 2030,15,ELCTRI,summer.night,3.205662645626325 2030,15,CO2EMT,summer.night,245.85829660631097 -2030,15,GASNAT,summer.day,-83.62866894876367 -2030,15,ELCTRI,summer.day,55.752445965842455 -2030,15,CO2EMT,summer.day,4275.933843350287 -2030,15,GASNAT,summer.peak,-25.133481552057304 -2030,15,ELCTRI,summer.peak,16.755654368038204 -2030,15,CO2EMT,summer.peak,1285.07491175669 -2030,15,GASNAT,summer.evening,-34.60253667369254 -2030,15,ELCTRI,summer.evening,23.068357782461696 -2030,15,CO2EMT,summer.evening,1769.2277001258997 -2030,15,GASNAT,autumn.night,-8.568586664948883 -2030,15,ELCTRI,autumn.night,5.712391109965922 -2030,15,CO2EMT,autumn.night,438.11183617883637 -2030,15,GASNAT,autumn.day,-102.08778270353397 -2030,15,ELCTRI,autumn.day,68.05852180235598 -2030,15,CO2EMT,autumn.day,5219.748329631691 -2030,15,GASNAT,autumn.peak,-31.003864122332224 -2030,15,ELCTRI,autumn.peak,20.66924274822148 -2030,15,CO2EMT,autumn.peak,1585.2275725748464 -2030,15,GASNAT,autumn.evening,-41.33848582715083 -2030,15,ELCTRI,autumn.evening,27.55899055143389 -2030,15,CO2EMT,autumn.evening,2113.636780342222 -2030,16,OILCRD,winter.night,-54.75820608337373 -2030,16,GASOLI,winter.night,41.80015731555246 -2030,16,CO2EMT,winter.night,919.6034609421541 -2030,16,OILCRD,winter.day,-78.22600858325255 -2030,16,GASOLI,winter.day,59.71451036889507 -2030,16,CO2EMT,winter.day,1313.7192281156915 -2030,16,OILCRD,winter.peak,-23.467802499878797 -2030,16,GASOLI,winter.peak,17.91435305334259 -2030,16,CO2EMT,winter.peak,394.115767173537 +2030,15,GASNAT,summer.day,-82.56973920504686 +2030,15,ELCTRI,summer.day,55.04649280336457 +2030,15,CO2EMT,summer.day,4221.790765554046 +2030,15,GASNAT,summer.peak,-24.690098145807305 +2030,15,ELCTRI,summer.peak,16.460065430538204 +2030,15,CO2EMT,summer.peak,1262.4047181951275 +2030,15,GASNAT,summer.evening,-35.195200738988426 +2030,15,ELCTRI,summer.evening,23.463467159325617 +2030,15,CO2EMT,summer.evening,1799.530613784478 +2030,15,GASNAT,autumn.night,-16.89561239678334 +2030,15,ELCTRI,autumn.night,11.263741597855558 +2030,15,CO2EMT,autumn.night,863.872661847532 +2030,15,GASNAT,autumn.day,-100.60983801130455 +2030,15,ELCTRI,autumn.day,67.0732253408697 +2030,15,CO2EMT,autumn.day,5144.181017518001 +2030,15,GASNAT,autumn.peak,-30.217271987199155 +2030,15,ELCTRI,autumn.peak,20.144847991466104 +2030,15,CO2EMT,autumn.peak,1545.0091167054927 +2030,15,GASNAT,autumn.evening,-40.28969630524977 +2030,15,ELCTRI,autumn.evening,26.85979753683318 +2030,15,CO2EMT,autumn.evening,2060.012172087421 +2030,16,OILCRD,winter.night,-54.75820608337376 +2030,16,GASOLI,winter.night,41.80015731555248 +2030,16,CO2EMT,winter.night,919.6034609421546 +2030,16,OILCRD,winter.day,-78.22600858325254 +2030,16,GASOLI,winter.day,59.71451036889506 +2030,16,CO2EMT,winter.day,1313.7192281156913 +2030,16,OILCRD,winter.peak,-23.46780249987879 +2030,16,GASOLI,winter.peak,17.914353053342587 +2030,16,CO2EMT,winter.peak,394.11576717353694 2030,16,OILCRD,winter.evening,-31.290403583494946 2030,16,GASOLI,winter.evening,23.88580426220988 2030,16,CO2EMT,winter.evening,525.4876937686174 -2030,16,OILCRD,peak.night,-54.75820608337373 -2030,16,GASOLI,peak.night,41.80015731555246 -2030,16,CO2EMT,peak.night,919.6034609421541 -2030,16,OILCRD,peak.day,-78.22600858325255 -2030,16,GASOLI,peak.day,59.71451036889507 -2030,16,CO2EMT,peak.day,1313.7192281156915 -2030,16,OILCRD,peak.peak,-23.467802499878797 -2030,16,GASOLI,peak.peak,17.91435305334259 -2030,16,CO2EMT,peak.peak,394.115767173537 +2030,16,OILCRD,peak.night,-54.75820608337376 +2030,16,GASOLI,peak.night,41.80015731555248 +2030,16,CO2EMT,peak.night,919.6034609421546 +2030,16,OILCRD,peak.day,-78.22600858325254 +2030,16,GASOLI,peak.day,59.71451036889506 +2030,16,CO2EMT,peak.day,1313.7192281156913 +2030,16,OILCRD,peak.peak,-23.46780249987879 +2030,16,GASOLI,peak.peak,17.914353053342587 +2030,16,CO2EMT,peak.peak,394.11576717353694 2030,16,OILCRD,peak.evening,-31.290403583494946 2030,16,GASOLI,peak.evening,23.88580426220988 2030,16,CO2EMT,peak.evening,525.4876937686174 -2030,16,OILCRD,summer.night,-54.75820608337373 -2030,16,GASOLI,summer.night,41.80015731555246 -2030,16,CO2EMT,summer.night,919.6034609421541 -2030,16,OILCRD,summer.day,-78.22600858325255 -2030,16,GASOLI,summer.day,59.71451036889507 -2030,16,CO2EMT,summer.day,1313.7192281156915 -2030,16,OILCRD,summer.peak,-23.467802499878797 -2030,16,GASOLI,summer.peak,17.91435305334259 -2030,16,CO2EMT,summer.peak,394.115767173537 +2030,16,OILCRD,summer.night,-54.75820608337376 +2030,16,GASOLI,summer.night,41.80015731555248 +2030,16,CO2EMT,summer.night,919.6034609421546 +2030,16,OILCRD,summer.day,-78.22600858325254 +2030,16,GASOLI,summer.day,59.71451036889506 +2030,16,CO2EMT,summer.day,1313.7192281156913 +2030,16,OILCRD,summer.peak,-23.46780249987879 +2030,16,GASOLI,summer.peak,17.914353053342587 +2030,16,CO2EMT,summer.peak,394.11576717353694 2030,16,OILCRD,summer.evening,-31.290403583494946 2030,16,GASOLI,summer.evening,23.88580426220988 2030,16,CO2EMT,summer.evening,525.4876937686174 -2030,16,OILCRD,autumn.night,-54.75820608337373 -2030,16,GASOLI,autumn.night,41.80015731555246 -2030,16,CO2EMT,autumn.night,919.6034609421541 -2030,16,OILCRD,autumn.day,-78.22600858325255 -2030,16,GASOLI,autumn.day,59.71451036889507 -2030,16,CO2EMT,autumn.day,1313.7192281156915 -2030,16,OILCRD,autumn.peak,-23.467802499878797 -2030,16,GASOLI,autumn.peak,17.91435305334259 -2030,16,CO2EMT,autumn.peak,394.115767173537 +2030,16,OILCRD,autumn.night,-54.75820608337376 +2030,16,GASOLI,autumn.night,41.80015731555248 +2030,16,CO2EMT,autumn.night,919.6034609421546 +2030,16,OILCRD,autumn.day,-78.22600858325254 +2030,16,GASOLI,autumn.day,59.71451036889506 +2030,16,CO2EMT,autumn.day,1313.7192281156913 +2030,16,OILCRD,autumn.peak,-23.46780249987879 +2030,16,GASOLI,autumn.peak,17.914353053342587 +2030,16,CO2EMT,autumn.peak,394.11576717353694 2030,16,OILCRD,autumn.evening,-31.290403583494946 2030,16,GASOLI,autumn.evening,23.88580426220988 2030,16,CO2EMT,autumn.evening,525.4876937686174 -2030,17,BIOPRD,winter.night,-32.692653689353776 -2030,17,BIOPEL,winter.night,31.135860656527402 -2030,17,BIOPRD,winter.day,-46.70379092074019 -2030,17,BIOPEL,winter.day,44.47980087689542 -2030,17,BIOPRD,winter.peak,-14.011137231386417 -2030,17,BIOPEL,winter.peak,13.343940220368015 +2030,17,BIOPRD,winter.night,-0.0 +2030,17,BIOPEL,winter.night,0.0 +2030,17,BIOPRD,winter.day,-0.0 +2030,17,BIOPEL,winter.day,0.0 +2030,17,BIOPRD,winter.peak,-3.965756239990249 +2030,17,BIOPEL,winter.peak,3.7769107047526176 2030,17,BIOPRD,winter.evening,-18.681516457967355 2030,17,BIOPEL,winter.evening,17.791920436159383 -2030,17,BIOPRD,peak.night,-32.692653689353776 -2030,17,BIOPEL,peak.night,31.135860656527402 -2030,17,BIOPRD,peak.day,-46.70379092074019 -2030,17,BIOPEL,peak.day,44.47980087689542 -2030,17,BIOPRD,peak.peak,-14.011137231386417 -2030,17,BIOPEL,peak.peak,13.343940220368015 +2030,17,BIOPRD,peak.night,-0.0 +2030,17,BIOPEL,peak.night,0.0 +2030,17,BIOPRD,peak.day,-0.0 +2030,17,BIOPEL,peak.day,0.0 +2030,17,BIOPRD,peak.peak,-3.965756239990249 +2030,17,BIOPEL,peak.peak,3.7769107047526176 2030,17,BIOPRD,peak.evening,-18.681516457967355 2030,17,BIOPEL,peak.evening,17.791920436159383 2030,17,BIOPRD,summer.night,-0.0 2030,17,BIOPEL,summer.night,0.0 2030,17,BIOPRD,summer.day,-0.0 2030,17,BIOPEL,summer.day,0.0 -2030,17,BIOPRD,summer.peak,-8.045755605359451 -2030,17,BIOPEL,summer.peak,7.6626243860566206 +2030,17,BIOPRD,summer.peak,-3.9657562399902497 +2030,17,BIOPEL,summer.peak,3.7769107047526185 2030,17,BIOPRD,summer.evening,-18.681516457967355 2030,17,BIOPEL,summer.evening,17.791920436159383 -2030,17,BIOPRD,autumn.night,-32.692653689353776 -2030,17,BIOPEL,autumn.night,31.135860656527402 -2030,17,BIOPRD,autumn.day,-46.70379092074019 -2030,17,BIOPEL,autumn.day,44.47980087689542 -2030,17,BIOPRD,autumn.peak,-14.011137231386417 -2030,17,BIOPEL,autumn.peak,13.343940220368015 +2030,17,BIOPRD,autumn.night,-0.0 +2030,17,BIOPEL,autumn.night,0.0 +2030,17,BIOPRD,autumn.day,-0.0 +2030,17,BIOPEL,autumn.day,0.0 +2030,17,BIOPRD,autumn.peak,-3.965756239990249 +2030,17,BIOPEL,autumn.peak,3.7769107047526176 2030,17,BIOPRD,autumn.evening,-18.681516457967355 2030,17,BIOPEL,autumn.evening,17.791920436159383 -2030,18,BIOPRD,winter.night,32.69265368935379 -2030,18,BIOPRD,winter.day,46.70379092074019 -2030,18,BIOPRD,winter.peak,14.011137231386417 -2030,18,BIOPRD,winter.evening,18.68151645796735 -2030,18,BIOPRD,peak.night,32.69265368935379 -2030,18,BIOPRD,peak.day,46.70379092074019 -2030,18,BIOPRD,peak.peak,14.011137231386417 -2030,18,BIOPRD,peak.evening,18.68151645796735 -2030,18,BIOPRD,summer.night,0.0 -2030,18,BIOPRD,summer.day,0.0 -2030,18,BIOPRD,summer.peak,8.045755605359457 -2030,18,BIOPRD,summer.evening,18.68151645796735 -2030,18,BIOPRD,autumn.night,32.69265368935379 -2030,18,BIOPRD,autumn.day,46.70379092074019 -2030,18,BIOPRD,autumn.peak,14.011137231386417 -2030,18,BIOPRD,autumn.evening,18.68151645796735 -2040,0,GASPRD,winter.night,0.0 -2040,0,CO2EMT,winter.night,0.0 -2040,0,GASPRD,winter.day,0.0 -2040,0,CO2EMT,winter.day,0.0 -2040,0,GASPRD,winter.peak,28.781146868853682 -2040,0,CO2EMT,winter.peak,147.15800394044888 -2040,0,GASPRD,winter.evening,150.38250120305997 -2040,0,CO2EMT,winter.evening,768.9057286512457 -2040,0,GASPRD,peak.night,0.0 -2040,0,CO2EMT,peak.night,0.0 -2040,0,GASPRD,peak.day,0.0 -2040,0,CO2EMT,peak.day,0.0 -2040,0,GASPRD,peak.peak,34.02036009844204 -2040,0,CO2EMT,peak.peak,173.94610118333418 -2040,0,GASPRD,peak.evening,150.38250120305997 -2040,0,CO2EMT,peak.evening,768.9057286512457 -2040,0,GASPRD,summer.night,0.0 -2040,0,CO2EMT,summer.night,0.0 -2040,0,GASPRD,summer.day,0.0 -2040,0,CO2EMT,summer.day,0.0 -2040,0,GASPRD,summer.peak,40.53472578798926 -2040,0,CO2EMT,summer.peak,207.2540529539891 -2040,0,GASPRD,summer.evening,150.38250120305997 -2040,0,CO2EMT,summer.evening,768.9057286512457 -2040,0,GASPRD,autumn.night,0.0 -2040,0,CO2EMT,autumn.night,0.0 -2040,0,GASPRD,autumn.day,0.0 -2040,0,CO2EMT,autumn.day,0.0 -2040,0,GASPRD,autumn.peak,34.13124291675814 -2040,0,CO2EMT,autumn.peak,174.51304503338437 -2040,0,GASPRD,autumn.evening,150.38250120305997 -2040,0,CO2EMT,autumn.evening,768.9057286512457 +2030,18,BIOPRD,winter.night,6.605454540678847 +2030,18,BIOPRD,winter.day,9.43636361659991 +2030,18,BIOPRD,winter.peak,2.830909075921064 +2030,18,BIOPRD,winter.evening,3.7745454647577823 +2030,18,BIOPRD,peak.night,6.605454540678847 +2030,18,BIOPRD,peak.day,9.43636361659991 +2030,18,BIOPRD,peak.peak,2.830909075921064 +2030,18,BIOPRD,peak.evening,3.7745454647577823 +2030,18,BIOPRD,summer.night,6.605454540678847 +2030,18,BIOPRD,summer.day,9.43636361659991 +2030,18,BIOPRD,summer.peak,2.830909075921064 +2030,18,BIOPRD,summer.evening,3.7745454647577823 +2030,18,BIOPRD,autumn.night,6.605454540678847 +2030,18,BIOPRD,autumn.day,9.43636361659991 +2030,18,BIOPRD,autumn.peak,2.830909075921064 +2030,18,BIOPRD,autumn.evening,3.7745454647577823 2040,1,OILCRD,winter.night,0.0 2040,1,GASPRD,winter.night,0.0 2040,1,CO2EMT,winter.night,0.0 -2040,1,OILCRD,winter.day,106.43288897858503 -2040,1,GASPRD,winter.day,10.643288897858504 -2040,1,CO2EMT,winter.day,780.472374879964 -2040,1,OILCRD,winter.peak,48.88265625 -2040,1,GASPRD,winter.peak,4.888265625 -2040,1,CO2EMT,winter.peak,358.45651828125 -2040,1,OILCRD,winter.evening,65.17687552141498 -2040,1,GASPRD,winter.evening,6.517687552141499 -2040,1,CO2EMT,winter.evening,477.9420281985361 +2040,1,OILCRD,winter.day,93.75960767065004 +2040,1,GASPRD,winter.day,9.375960767065004 +2040,1,CO2EMT,winter.day,687.5392030488767 +2040,1,OILCRD,winter.peak,54.3140625 +2040,1,GASPRD,winter.peak,5.43140625 +2040,1,CO2EMT,winter.peak,398.2850203125 +2040,1,OILCRD,winter.evening,72.41875057934999 +2040,1,GASPRD,winter.evening,7.241875057934999 +2040,1,CO2EMT,winter.evening,531.0466979983735 2040,1,OILCRD,peak.night,0.0 2040,1,GASPRD,peak.night,0.0 2040,1,CO2EMT,peak.night,0.0 -2040,1,OILCRD,peak.day,106.43288897858503 -2040,1,GASPRD,peak.day,10.643288897858504 -2040,1,CO2EMT,peak.day,780.472374879964 -2040,1,OILCRD,peak.peak,48.88265625 -2040,1,GASPRD,peak.peak,4.888265625 -2040,1,CO2EMT,peak.peak,358.45651828125 -2040,1,OILCRD,peak.evening,65.17687552141498 -2040,1,GASPRD,peak.evening,6.517687552141499 -2040,1,CO2EMT,peak.evening,477.9420281985361 +2040,1,OILCRD,peak.day,93.75960767065004 +2040,1,GASPRD,peak.day,9.375960767065004 +2040,1,CO2EMT,peak.day,687.5392030488767 +2040,1,OILCRD,peak.peak,54.3140625 +2040,1,GASPRD,peak.peak,5.43140625 +2040,1,CO2EMT,peak.peak,398.2850203125 +2040,1,OILCRD,peak.evening,72.41875057934999 +2040,1,GASPRD,peak.evening,7.241875057934999 +2040,1,CO2EMT,peak.evening,531.0466979983735 2040,1,OILCRD,summer.night,0.0 2040,1,GASPRD,summer.night,0.0 2040,1,CO2EMT,summer.night,0.0 -2040,1,OILCRD,summer.day,106.43288897858503 -2040,1,GASPRD,summer.day,10.643288897858504 -2040,1,CO2EMT,summer.day,780.472374879964 -2040,1,OILCRD,summer.peak,48.88265625 -2040,1,GASPRD,summer.peak,4.888265625 -2040,1,CO2EMT,summer.peak,358.45651828125 -2040,1,OILCRD,summer.evening,65.17687552141498 -2040,1,GASPRD,summer.evening,6.517687552141499 -2040,1,CO2EMT,summer.evening,477.9420281985361 +2040,1,OILCRD,summer.day,93.75960767065004 +2040,1,GASPRD,summer.day,9.375960767065004 +2040,1,CO2EMT,summer.day,687.5392030488767 +2040,1,OILCRD,summer.peak,54.3140625 +2040,1,GASPRD,summer.peak,5.43140625 +2040,1,CO2EMT,summer.peak,398.2850203125 +2040,1,OILCRD,summer.evening,72.41875057934999 +2040,1,GASPRD,summer.evening,7.241875057934999 +2040,1,CO2EMT,summer.evening,531.0466979983735 2040,1,OILCRD,autumn.night,0.0 2040,1,GASPRD,autumn.night,0.0 2040,1,CO2EMT,autumn.night,0.0 -2040,1,OILCRD,autumn.day,106.43288897858503 -2040,1,GASPRD,autumn.day,10.643288897858504 -2040,1,CO2EMT,autumn.day,780.472374879964 -2040,1,OILCRD,autumn.peak,48.88265625 -2040,1,GASPRD,autumn.peak,4.888265625 -2040,1,CO2EMT,autumn.peak,358.45651828125 -2040,1,OILCRD,autumn.evening,65.17687552141498 -2040,1,GASPRD,autumn.evening,6.517687552141499 -2040,1,CO2EMT,autumn.evening,477.9420281985361 -2040,2,GASPRD,winter.night,-0.0 -2040,2,GASNAT,winter.night,0.0 -2040,2,CO2EMT,winter.night,0.0 -2040,2,GASPRD,winter.day,-0.0 -2040,2,GASNAT,winter.day,0.0 -2040,2,CO2EMT,winter.day,0.0 -2040,2,GASPRD,winter.peak,-51.99581395317708 -2040,2,GASNAT,winter.peak,49.51982281254959 -2040,2,CO2EMT,winter.peak,126.59742702028304 -2040,2,GASPRD,winter.evening,-149.21707619373657 -2040,2,GASNAT,winter.evening,142.11150113689197 -2040,2,CO2EMT,winter.evening,363.3080526564644 -2040,2,GASPRD,peak.night,-0.0 -2040,2,GASNAT,peak.night,0.0 -2040,2,CO2EMT,peak.night,0.0 -2040,2,GASPRD,peak.day,-0.0 -2040,2,GASNAT,peak.day,0.0 -2040,2,CO2EMT,peak.day,0.0 -2040,2,GASPRD,peak.peak,-57.23502718276544 -2040,2,GASNAT,peak.peak,54.50954969787185 -2040,2,CO2EMT,peak.peak,139.3536638026094 -2040,2,GASPRD,peak.evening,-149.21707619373657 -2040,2,GASNAT,peak.evening,142.11150113689197 -2040,2,CO2EMT,peak.evening,363.3080526564644 -2040,2,GASPRD,summer.night,-0.0 -2040,2,GASNAT,summer.night,0.0 -2040,2,CO2EMT,summer.night,0.0 -2040,2,GASPRD,summer.day,-0.0 -2040,2,GASNAT,summer.day,0.0 -2040,2,CO2EMT,summer.day,0.0 -2040,2,GASPRD,summer.peak,-63.749392872312654 -2040,2,GASNAT,summer.peak,60.71370749744062 -2040,2,CO2EMT,summer.peak,155.21459321720695 -2040,2,GASPRD,summer.evening,-149.21707619373657 -2040,2,GASNAT,summer.evening,142.11150113689197 -2040,2,CO2EMT,summer.evening,363.3080526564644 -2040,2,GASPRD,autumn.night,-0.0 -2040,2,GASNAT,autumn.night,0.0 -2040,2,CO2EMT,autumn.night,0.0 -2040,2,GASPRD,autumn.day,-0.0 -2040,2,GASNAT,autumn.day,0.0 -2040,2,CO2EMT,autumn.day,0.0 -2040,2,GASPRD,autumn.peak,-57.34591000108152 -2040,2,GASNAT,autumn.peak,54.6151523819824 -2040,2,CO2EMT,autumn.peak,139.623637064538 -2040,2,GASPRD,autumn.evening,-149.21707619373657 -2040,2,GASNAT,autumn.evening,142.11150113689197 -2040,2,CO2EMT,autumn.evening,363.3080526564644 +2040,1,OILCRD,autumn.day,93.75960767065004 +2040,1,GASPRD,autumn.day,9.375960767065004 +2040,1,CO2EMT,autumn.day,687.5392030488767 +2040,1,OILCRD,autumn.peak,54.3140625 +2040,1,GASPRD,autumn.peak,5.43140625 +2040,1,CO2EMT,autumn.peak,398.2850203125 +2040,1,OILCRD,autumn.evening,72.41875057934999 +2040,1,GASPRD,autumn.evening,7.241875057934999 +2040,1,CO2EMT,autumn.evening,531.0466979983735 2040,5,ELCTRI,winter.night,4.435312795545212 2040,5,ELCTRI,winter.day,7.075379933645912 2040,5,ELCTRI,winter.peak,1.9712501261051125 @@ -1202,51 +1122,51 @@ milestone_year,asset_id,commodity_id,time_slice,flow 2040,6,GASNAT,winter.night,-0.0 2040,6,ELCTRI,winter.night,0.0 2040,6,CO2EMT,winter.night,0.0 -2040,6,GASNAT,winter.day,-6.648534052491748 -2040,6,ELCTRI,winter.day,4.432356034994498 -2040,6,CO2EMT,winter.day,339.939546103903 -2040,6,GASNAT,winter.peak,-2.2216057520199755 -2040,6,ELCTRI,winter.peak,1.4810705013466503 -2040,6,CO2EMT,winter.peak,113.59070210078133 -2040,6,GASNAT,winter.evening,-3.0501431680095994 -2040,6,ELCTRI,winter.evening,2.0334287786730663 -2040,6,CO2EMT,winter.evening,155.9538201803308 +2040,6,GASNAT,winter.day,-8.12647874472118 +2040,6,ELCTRI,winter.day,5.417652496480786 +2040,6,CO2EMT,winter.day,415.50685821759384 +2040,6,GASNAT,winter.peak,-2.6649891582699743 +2040,6,ELCTRI,winter.peak,1.7766594388466495 +2040,6,CO2EMT,winter.peak,136.26089566234376 +2040,6,GASNAT,winter.evening,-3.641321047739023 +2040,6,ELCTRI,winter.evening,2.4275473651593487 +2040,6,CO2EMT,winter.evening,186.18074517089622 2040,6,GASNAT,peak.night,-0.0 2040,6,ELCTRI,peak.night,0.0 2040,6,CO2EMT,peak.night,0.0 -2040,6,GASNAT,peak.day,-7.704560904954647 -2040,6,ELCTRI,peak.day,5.136373936636431 -2040,6,CO2EMT,peak.day,393.9341990703311 -2040,6,GASNAT,peak.peak,-2.512013138448852 -2040,6,ELCTRI,peak.peak,1.674675425632568 -2040,6,CO2EMT,peak.peak,128.43923176888978 -2040,6,GASNAT,peak.evening,-4.317375397047799 -2040,6,ELCTRI,peak.evening,2.878250264698533 -2040,6,CO2EMT,peak.evening,220.74740405105396 +2040,6,GASNAT,peak.day,-9.182505597184079 +2040,6,ELCTRI,peak.day,6.121670398122719 +2040,6,CO2EMT,peak.day,469.50151118402187 +2040,6,GASNAT,peak.peak,-2.955396544698856 +2040,6,ELCTRI,peak.peak,1.9702643631325707 +2040,6,CO2EMT,peak.peak,151.1094253304525 +2040,6,GASNAT,peak.evening,-4.9085532767772175 +2040,6,ELCTRI,peak.evening,3.2723688511848117 +2040,6,CO2EMT,peak.evening,250.97432904161911 2040,6,GASNAT,summer.night,-0.0 2040,6,ELCTRI,summer.night,0.0 2040,6,CO2EMT,summer.night,0.0 -2040,6,GASNAT,summer.day,-10.4238300607932 -2040,6,ELCTRI,summer.day,6.9492200405288 -2040,6,CO2EMT,summer.day,532.9704310083563 -2040,6,GASNAT,summer.peak,-3.172029922057 -2040,6,ELCTRI,summer.peak,2.1146866147046666 -2040,6,CO2EMT,summer.peak,162.18588991477438 -2040,6,GASNAT,summer.evening,-5.320600917564807 -2040,6,ELCTRI,summer.evening,3.547067278376538 -2040,6,CO2EMT,summer.evening,272.04232491508856 +2040,6,GASNAT,summer.day,-11.901774753022632 +2040,6,ELCTRI,summer.day,7.934516502015088 +2040,6,CO2EMT,summer.day,608.5377431220471 +2040,6,GASNAT,summer.peak,-3.6154133283069982 +2040,6,ELCTRI,summer.peak,2.4102755522046655 +2040,6,CO2EMT,summer.peak,184.8560834763368 +2040,6,GASNAT,summer.evening,-5.911778797294231 +2040,6,ELCTRI,summer.evening,3.9411858648628204 +2040,6,CO2EMT,summer.evening,302.26924990565396 2040,6,GASNAT,autumn.night,-0.0 2040,6,ELCTRI,autumn.night,0.0 2040,6,CO2EMT,autumn.night,0.0 -2040,6,GASNAT,autumn.day,-8.258974999566789 -2040,6,ELCTRI,autumn.day,5.505983333044526 -2040,6,CO2EMT,autumn.day,422.2813917278499 -2040,6,GASNAT,autumn.peak,-2.855221867331913 -2040,6,ELCTRI,autumn.peak,1.9034812448879421 -2040,6,CO2EMT,autumn.peak,145.98749407668072 -2040,6,GASNAT,autumn.evening,-4.053368680710912 -2040,6,ELCTRI,autumn.evening,2.7022457871406083 -2040,6,CO2EMT,autumn.evening,207.24874064474892 +2040,6,GASNAT,autumn.day,-9.7369196917962 +2040,6,ELCTRI,autumn.day,6.491279794530799 +2040,6,CO2EMT,autumn.day,497.8487038415396 +2040,6,GASNAT,autumn.peak,-3.298605273581917 +2040,6,ELCTRI,autumn.peak,2.1990701823879446 +2040,6,CO2EMT,autumn.peak,168.6576876382434 +2040,6,GASNAT,autumn.evening,-4.644546560440336 +2040,6,ELCTRI,autumn.evening,3.0963643736268907 +2040,6,CO2EMT,autumn.evening,237.47566563531436 2040,14,BIOPEL,winter.night,-31.135860656527402 2040,14,RSHEAT,winter.night,25.94655054710617 2040,14,BIOPEL,winter.day,-44.47980087689542 @@ -1279,108 +1199,108 @@ milestone_year,asset_id,commodity_id,time_slice,flow 2040,14,RSHEAT,autumn.peak,11.119950183640015 2040,14,BIOPEL,autumn.evening,-17.791920436159383 2040,14,RSHEAT,autumn.evening,14.826600363466154 -2040,15,GASNAT,winter.night,-0.994817844548308 -2040,15,ELCTRI,winter.night,0.6632118963655387 -2040,15,CO2EMT,winter.night,50.865036391754984 -2040,15,GASNAT,winter.day,-103.34621407181527 -2040,15,ELCTRI,winter.day,68.89747604787685 -2040,15,CO2EMT,winter.day,5284.0919254919145 -2040,15,GASNAT,winter.peak,-31.003864122332217 -2040,15,ELCTRI,winter.peak,20.669242748221478 -2040,15,CO2EMT,winter.peak,1585.2275725748461 -2040,15,GASNAT,winter.evening,-41.33848582715083 -2040,15,ELCTRI,winter.evening,27.55899055143389 -2040,15,CO2EMT,winter.evening,2113.636780342222 -2040,15,GASNAT,peak.night,-3.3708782619405806 -2040,15,ELCTRI,peak.night,2.2472521746270537 -2040,15,CO2EMT,peak.night,172.35300553302187 -2040,15,GASNAT,peak.day,-103.34621407181527 -2040,15,ELCTRI,peak.day,68.89747604787685 -2040,15,CO2EMT,peak.day,5284.0919254919145 -2040,15,GASNAT,peak.peak,-31.003864122332217 -2040,15,ELCTRI,peak.peak,20.669242748221478 -2040,15,CO2EMT,peak.peak,1585.2275725748461 -2040,15,GASNAT,peak.evening,-41.33848582715083 -2040,15,ELCTRI,peak.evening,27.55899055143389 -2040,15,CO2EMT,peak.evening,2113.636780342222 -2040,15,GASNAT,summer.night,-5.192524601545703 -2040,15,ELCTRI,summer.night,3.461683067697135 -2040,15,CO2EMT,summer.night,265.4937828770317 -2040,15,GASNAT,summer.day,-103.34621407181527 -2040,15,ELCTRI,summer.day,68.89747604787685 -2040,15,CO2EMT,summer.day,5284.0919254919145 -2040,15,GASNAT,summer.peak,-31.003864122332217 -2040,15,ELCTRI,summer.peak,20.669242748221478 -2040,15,CO2EMT,summer.peak,1585.2275725748461 -2040,15,GASNAT,summer.evening,-41.33848582715083 -2040,15,ELCTRI,summer.evening,27.55899055143389 -2040,15,CO2EMT,summer.evening,2113.636780342222 -2040,15,GASNAT,autumn.night,-2.842864838892848 -2040,15,ELCTRI,autumn.night,1.8952432259285654 -2040,15,CO2EMT,autumn.night,145.35567921259133 -2040,15,GASNAT,autumn.day,-103.34621407181527 -2040,15,ELCTRI,autumn.day,68.89747604787685 -2040,15,CO2EMT,autumn.day,5284.0919254919145 -2040,15,GASNAT,autumn.peak,-31.003864122332217 -2040,15,ELCTRI,autumn.peak,20.669242748221478 -2040,15,CO2EMT,autumn.peak,1585.2275725748461 -2040,15,GASNAT,autumn.evening,-41.33848582715083 -2040,15,ELCTRI,autumn.evening,27.55899055143389 -2040,15,CO2EMT,autumn.evening,2113.636780342222 -2040,16,OILCRD,winter.night,-54.758206083373686 -2040,16,GASOLI,winter.night,41.80015731555243 -2040,16,CO2EMT,winter.night,919.6034609421536 -2040,16,OILCRD,winter.day,-78.22600858325255 -2040,16,GASOLI,winter.day,59.71451036889507 -2040,16,CO2EMT,winter.day,1313.7192281156915 -2040,16,OILCRD,winter.peak,-23.467802499878797 -2040,16,GASOLI,winter.peak,17.91435305334259 -2040,16,CO2EMT,winter.peak,394.115767173537 +2040,15,GASNAT,winter.night,-0.19399747349360652 +2040,15,ELCTRI,winter.night,0.12933164899573768 +2040,15,CO2EMT,winter.night,9.919090819728101 +2040,15,GASNAT,winter.day,-100.7242402796481 +2040,15,ELCTRI,winter.day,67.1494935197654 +2040,15,CO2EMT,winter.day,5150.030405498407 +2040,15,GASNAT,winter.peak,-30.217271987199155 +2040,15,ELCTRI,winter.peak,20.144847991466104 +2040,15,CO2EMT,winter.peak,1545.0091167054927 +2040,15,GASNAT,winter.evening,-40.28969630524977 +2040,15,ELCTRI,winter.evening,26.85979753683318 +2040,15,CO2EMT,winter.evening,2060.012172087421 +2040,15,GASNAT,peak.night,-2.57005789088588 +2040,15,ELCTRI,peak.night,1.7133719272572532 +2040,15,CO2EMT,peak.night,131.407059960995 +2040,15,GASNAT,peak.day,-100.7242402796481 +2040,15,ELCTRI,peak.day,67.1494935197654 +2040,15,CO2EMT,peak.day,5150.030405498407 +2040,15,GASNAT,peak.peak,-30.217271987199155 +2040,15,ELCTRI,peak.peak,20.144847991466104 +2040,15,CO2EMT,peak.peak,1545.0091167054927 +2040,15,GASNAT,peak.evening,-40.28969630524977 +2040,15,ELCTRI,peak.evening,26.85979753683318 +2040,15,CO2EMT,peak.evening,2060.012172087421 +2040,15,GASNAT,summer.night,-4.391704230491001 +2040,15,ELCTRI,summer.night,2.927802820327334 +2040,15,CO2EMT,summer.night,224.54783730500486 +2040,15,GASNAT,summer.day,-100.7242402796481 +2040,15,ELCTRI,summer.day,67.1494935197654 +2040,15,CO2EMT,summer.day,5150.030405498407 +2040,15,GASNAT,summer.peak,-30.217271987199155 +2040,15,ELCTRI,summer.peak,20.144847991466104 +2040,15,CO2EMT,summer.peak,1545.0091167054927 +2040,15,GASNAT,summer.evening,-40.28969630524977 +2040,15,ELCTRI,summer.evening,26.85979753683318 +2040,15,CO2EMT,summer.evening,2060.012172087421 +2040,15,GASNAT,autumn.night,-2.0420444678381466 +2040,15,ELCTRI,autumn.night,1.3613629785587644 +2040,15,CO2EMT,autumn.night,104.40973364056443 +2040,15,GASNAT,autumn.day,-100.7242402796481 +2040,15,ELCTRI,autumn.day,67.1494935197654 +2040,15,CO2EMT,autumn.day,5150.030405498407 +2040,15,GASNAT,autumn.peak,-30.217271987199155 +2040,15,ELCTRI,autumn.peak,20.144847991466104 +2040,15,CO2EMT,autumn.peak,1545.0091167054927 +2040,15,GASNAT,autumn.evening,-40.28969630524977 +2040,15,ELCTRI,autumn.evening,26.85979753683318 +2040,15,CO2EMT,autumn.evening,2060.012172087421 +2040,16,OILCRD,winter.night,-54.75820608337371 +2040,16,GASOLI,winter.night,41.80015731555245 +2040,16,CO2EMT,winter.night,919.6034609421538 +2040,16,OILCRD,winter.day,-78.22600858325254 +2040,16,GASOLI,winter.day,59.71451036889506 +2040,16,CO2EMT,winter.day,1313.7192281156913 +2040,16,OILCRD,winter.peak,-23.46780249987879 +2040,16,GASOLI,winter.peak,17.914353053342587 +2040,16,CO2EMT,winter.peak,394.11576717353694 2040,16,OILCRD,winter.evening,-31.290403583494946 2040,16,GASOLI,winter.evening,23.88580426220988 2040,16,CO2EMT,winter.evening,525.4876937686174 -2040,16,OILCRD,peak.night,-54.758206083373686 -2040,16,GASOLI,peak.night,41.80015731555243 -2040,16,CO2EMT,peak.night,919.6034609421536 -2040,16,OILCRD,peak.day,-78.22600858325255 -2040,16,GASOLI,peak.day,59.71451036889507 -2040,16,CO2EMT,peak.day,1313.7192281156915 -2040,16,OILCRD,peak.peak,-23.467802499878797 -2040,16,GASOLI,peak.peak,17.91435305334259 -2040,16,CO2EMT,peak.peak,394.115767173537 +2040,16,OILCRD,peak.night,-54.75820608337371 +2040,16,GASOLI,peak.night,41.80015731555245 +2040,16,CO2EMT,peak.night,919.6034609421538 +2040,16,OILCRD,peak.day,-78.22600858325254 +2040,16,GASOLI,peak.day,59.71451036889506 +2040,16,CO2EMT,peak.day,1313.7192281156913 +2040,16,OILCRD,peak.peak,-23.46780249987879 +2040,16,GASOLI,peak.peak,17.914353053342587 +2040,16,CO2EMT,peak.peak,394.11576717353694 2040,16,OILCRD,peak.evening,-31.290403583494946 2040,16,GASOLI,peak.evening,23.88580426220988 2040,16,CO2EMT,peak.evening,525.4876937686174 -2040,16,OILCRD,summer.night,-54.758206083373686 -2040,16,GASOLI,summer.night,41.80015731555243 -2040,16,CO2EMT,summer.night,919.6034609421536 -2040,16,OILCRD,summer.day,-78.22600858325255 -2040,16,GASOLI,summer.day,59.71451036889507 -2040,16,CO2EMT,summer.day,1313.7192281156915 -2040,16,OILCRD,summer.peak,-23.467802499878797 -2040,16,GASOLI,summer.peak,17.91435305334259 -2040,16,CO2EMT,summer.peak,394.115767173537 +2040,16,OILCRD,summer.night,-54.75820608337371 +2040,16,GASOLI,summer.night,41.80015731555245 +2040,16,CO2EMT,summer.night,919.6034609421538 +2040,16,OILCRD,summer.day,-78.22600858325254 +2040,16,GASOLI,summer.day,59.71451036889506 +2040,16,CO2EMT,summer.day,1313.7192281156913 +2040,16,OILCRD,summer.peak,-23.46780249987879 +2040,16,GASOLI,summer.peak,17.914353053342587 +2040,16,CO2EMT,summer.peak,394.11576717353694 2040,16,OILCRD,summer.evening,-31.290403583494946 2040,16,GASOLI,summer.evening,23.88580426220988 2040,16,CO2EMT,summer.evening,525.4876937686174 -2040,16,OILCRD,autumn.night,-54.758206083373686 -2040,16,GASOLI,autumn.night,41.80015731555243 -2040,16,CO2EMT,autumn.night,919.6034609421536 -2040,16,OILCRD,autumn.day,-78.22600858325255 -2040,16,GASOLI,autumn.day,59.71451036889507 -2040,16,CO2EMT,autumn.day,1313.7192281156915 -2040,16,OILCRD,autumn.peak,-23.467802499878797 -2040,16,GASOLI,autumn.peak,17.91435305334259 -2040,16,CO2EMT,autumn.peak,394.115767173537 +2040,16,OILCRD,autumn.night,-54.75820608337371 +2040,16,GASOLI,autumn.night,41.80015731555245 +2040,16,CO2EMT,autumn.night,919.6034609421538 +2040,16,OILCRD,autumn.day,-78.22600858325254 +2040,16,GASOLI,autumn.day,59.71451036889506 +2040,16,CO2EMT,autumn.day,1313.7192281156913 +2040,16,OILCRD,autumn.peak,-23.46780249987879 +2040,16,GASOLI,autumn.peak,17.914353053342587 +2040,16,CO2EMT,autumn.peak,394.11576717353694 2040,16,OILCRD,autumn.evening,-31.290403583494946 2040,16,GASOLI,autumn.evening,23.88580426220988 2040,16,CO2EMT,autumn.evening,525.4876937686174 -2040,17,BIOPRD,winter.night,-32.69265368935369 -2040,17,BIOPEL,winter.night,31.13586065652732 -2040,17,BIOPRD,winter.day,-46.70379092074019 -2040,17,BIOPEL,winter.day,44.47980087689542 -2040,17,BIOPRD,winter.peak,-14.011137231386417 -2040,17,BIOPEL,winter.peak,13.343940220368015 +2040,17,BIOPRD,winter.night,-32.692653689353804 +2040,17,BIOPEL,winter.night,31.135860656527434 +2040,17,BIOPRD,winter.day,-46.7037909207402 +2040,17,BIOPEL,winter.day,44.479800876895425 +2040,17,BIOPRD,winter.peak,-14.011137231386419 +2040,17,BIOPEL,winter.peak,13.343940220368017 2040,17,BIOPRD,winter.evening,-18.681516457967355 2040,17,BIOPEL,winter.evening,17.791920436159383 2040,17,BIOPRD,peak.night,-0.0 @@ -1407,10 +1327,10 @@ milestone_year,asset_id,commodity_id,time_slice,flow 2040,17,BIOPEL,autumn.peak,0.0 2040,17,BIOPRD,autumn.evening,-0.0 2040,17,BIOPEL,autumn.evening,0.0 -2040,18,BIOPRD,winter.night,32.69265368935355 -2040,18,BIOPRD,winter.day,46.70379092074019 -2040,18,BIOPRD,winter.peak,14.011137231386417 -2040,18,BIOPRD,winter.evening,18.68151645796735 +2040,18,BIOPRD,winter.night,6.605454540678691 +2040,18,BIOPRD,winter.day,9.43636361659991 +2040,18,BIOPRD,winter.peak,2.830909075921064 +2040,18,BIOPRD,winter.evening,3.7745454647577823 2040,18,BIOPRD,peak.night,0.0 2040,18,BIOPRD,peak.day,0.0 2040,18,BIOPRD,peak.peak,0.0 @@ -1503,147 +1423,227 @@ milestone_year,asset_id,commodity_id,time_slice,flow 2040,20,RSHEAT,autumn.peak,50.32290129557999 2040,20,BIOPEL,autumn.evening,-26.340322976368615 2040,20,RSHEAT,autumn.evening,21.950269146973845 -2040,21,GASNAT,winter.night,-0.8830672412344035 -2040,21,ELCTRI,winter.night,0.588711494156269 -2040,21,CO2EMT,winter.night,45.15122804431505 -2040,21,GASNAT,winter.day,-1.2615246286047714 -2040,21,ELCTRI,winter.day,0.8410164190698476 -2040,21,CO2EMT,winter.day,64.50175426056195 -2040,21,GASNAT,winter.peak,-0.3784573873703677 -2040,21,ELCTRI,winter.peak,0.2523049249135785 -2040,21,CO2EMT,winter.peak,19.350526216246898 -2040,21,GASNAT,winter.evening,-0.5046098538640357 -2040,21,ELCTRI,winter.evening,0.33640656924269047 -2040,21,CO2EMT,winter.evening,25.800701828068142 -2040,21,GASNAT,peak.night,-0.8830672412344035 -2040,21,ELCTRI,peak.night,0.588711494156269 -2040,21,CO2EMT,peak.night,45.15122804431505 -2040,21,GASNAT,peak.day,-1.2615246286047714 -2040,21,ELCTRI,peak.day,0.8410164190698476 -2040,21,CO2EMT,peak.day,64.50175426056195 -2040,21,GASNAT,peak.peak,-0.3784573873703677 -2040,21,ELCTRI,peak.peak,0.2523049249135785 -2040,21,CO2EMT,peak.peak,19.350526216246898 -2040,21,GASNAT,peak.evening,-0.5046098538640357 -2040,21,ELCTRI,peak.evening,0.33640656924269047 -2040,21,CO2EMT,peak.evening,25.800701828068142 -2040,21,GASNAT,summer.night,-0.8830672412344035 -2040,21,ELCTRI,summer.night,0.588711494156269 -2040,21,CO2EMT,summer.night,45.15122804431505 -2040,21,GASNAT,summer.day,-1.2615246286047714 -2040,21,ELCTRI,summer.day,0.8410164190698476 -2040,21,CO2EMT,summer.day,64.50175426056195 -2040,21,GASNAT,summer.peak,-0.3784573873703677 -2040,21,ELCTRI,summer.peak,0.2523049249135785 -2040,21,CO2EMT,summer.peak,19.350526216246898 -2040,21,GASNAT,summer.evening,-0.5046098538640357 -2040,21,ELCTRI,summer.evening,0.33640656924269047 -2040,21,CO2EMT,summer.evening,25.800701828068142 -2040,21,GASNAT,autumn.night,-0.8830672412344035 -2040,21,ELCTRI,autumn.night,0.588711494156269 -2040,21,CO2EMT,autumn.night,45.15122804431505 -2040,21,GASNAT,autumn.day,-1.2615246286047714 -2040,21,ELCTRI,autumn.day,0.8410164190698476 -2040,21,CO2EMT,autumn.day,64.50175426056195 -2040,21,GASNAT,autumn.peak,-0.3784573873703677 -2040,21,ELCTRI,autumn.peak,0.2523049249135785 -2040,21,CO2EMT,autumn.peak,19.350526216246898 -2040,21,GASNAT,autumn.evening,-0.5046098538640357 -2040,21,ELCTRI,autumn.evening,0.33640656924269047 -2040,21,CO2EMT,autumn.evening,25.800701828068142 -2040,22,OILCRD,winter.night,-9.552083338791675 -2040,22,GASOLI,winter.night,7.291666670833339 -2040,22,CO2EMT,winter.night,160.41666675833346 -2040,22,OILCRD,winter.day,-13.64583332241668 -2040,22,GASOLI,winter.day,10.416666658333343 -2040,22,CO2EMT,winter.day,229.16666648333353 -2040,22,OILCRD,winter.peak,-4.0937499836250035 -2040,22,GASOLI,winter.peak,3.1249999875000025 -2040,22,CO2EMT,winter.peak,68.74999972500005 -2040,22,OILCRD,winter.evening,-5.45833335516667 -2040,22,GASOLI,winter.evening,4.166666683333336 -2040,22,CO2EMT,winter.evening,91.6666670333334 -2040,22,OILCRD,peak.night,-9.552083338791675 -2040,22,GASOLI,peak.night,7.291666670833339 -2040,22,CO2EMT,peak.night,160.41666675833346 -2040,22,OILCRD,peak.day,-13.64583332241668 -2040,22,GASOLI,peak.day,10.416666658333343 -2040,22,CO2EMT,peak.day,229.16666648333353 -2040,22,OILCRD,peak.peak,-4.0937499836250035 -2040,22,GASOLI,peak.peak,3.1249999875000025 -2040,22,CO2EMT,peak.peak,68.74999972500005 -2040,22,OILCRD,peak.evening,-5.45833335516667 -2040,22,GASOLI,peak.evening,4.166666683333336 -2040,22,CO2EMT,peak.evening,91.6666670333334 -2040,22,OILCRD,summer.night,-9.552083338791675 -2040,22,GASOLI,summer.night,7.291666670833339 -2040,22,CO2EMT,summer.night,160.41666675833346 -2040,22,OILCRD,summer.day,-13.64583332241668 -2040,22,GASOLI,summer.day,10.416666658333343 -2040,22,CO2EMT,summer.day,229.16666648333353 -2040,22,OILCRD,summer.peak,-4.0937499836250035 -2040,22,GASOLI,summer.peak,3.1249999875000025 -2040,22,CO2EMT,summer.peak,68.74999972500005 -2040,22,OILCRD,summer.evening,-5.45833335516667 -2040,22,GASOLI,summer.evening,4.166666683333336 -2040,22,CO2EMT,summer.evening,91.6666670333334 -2040,22,OILCRD,autumn.night,-9.552083338791675 -2040,22,GASOLI,autumn.night,7.291666670833339 -2040,22,CO2EMT,autumn.night,160.41666675833346 -2040,22,OILCRD,autumn.day,-13.64583332241668 -2040,22,GASOLI,autumn.day,10.416666658333343 -2040,22,CO2EMT,autumn.day,229.16666648333353 -2040,22,OILCRD,autumn.peak,-4.0937499836250035 -2040,22,GASOLI,autumn.peak,3.1249999875000025 -2040,22,CO2EMT,autumn.peak,68.74999972500005 -2040,22,OILCRD,autumn.evening,-5.45833335516667 -2040,22,GASOLI,autumn.evening,4.166666683333336 -2040,22,CO2EMT,autumn.evening,91.6666670333334 -2040,23,BIOPRD,winter.night,-165.98421626912278 -2040,23,BIOPEL,winter.night,158.0802059705931 -2040,23,BIOPRD,winter.day,-237.1203086306961 -2040,23,BIOPEL,winter.day,225.82886536256768 -2040,23,BIOPRD,winter.peak,-71.13609236157333 -2040,23,BIOPEL,winter.peak,67.7486593919746 -2040,23,BIOPRD,winter.evening,-94.84812390754941 -2040,23,BIOPEL,winter.evening,90.33154657861849 -2040,23,BIOPRD,peak.night,-0.0 -2040,23,BIOPEL,peak.night,0.0 -2040,23,BIOPRD,peak.day,-227.9780274914425 -2040,23,BIOPEL,peak.day,217.12193094423094 -2040,23,BIOPRD,peak.peak,-71.13609236157333 -2040,23,BIOPEL,peak.peak,67.7486593919746 -2040,23,BIOPRD,peak.evening,-94.84812390754941 -2040,23,BIOPEL,peak.evening,90.33154657861849 -2040,23,BIOPRD,summer.night,-0.0 -2040,23,BIOPEL,summer.night,0.0 -2040,23,BIOPRD,summer.day,-0.0 -2040,23,BIOPEL,summer.day,0.0 -2040,23,BIOPRD,summer.peak,-0.0 -2040,23,BIOPEL,summer.peak,0.0 -2040,23,BIOPRD,summer.evening,-29.3287702493268 -2040,23,BIOPEL,summer.evening,27.932162142216 -2040,23,BIOPRD,autumn.night,-0.0 -2040,23,BIOPEL,autumn.night,0.0 -2040,23,BIOPRD,autumn.day,-150.04572883209724 -2040,23,BIOPEL,autumn.day,142.9006941258069 -2040,23,BIOPRD,autumn.peak,-71.13609236157333 -2040,23,BIOPEL,autumn.peak,67.7486593919746 -2040,23,BIOPRD,autumn.evening,-94.84812390754941 -2040,23,BIOPEL,autumn.evening,90.33154657861849 -2040,24,BIOPRD,winter.night,165.9842162691228 -2040,24,BIOPRD,winter.day,237.12030863069614 -2040,24,BIOPRD,winter.peak,71.13609236157335 -2040,24,BIOPRD,winter.evening,94.84812390754944 -2040,24,BIOPRD,peak.night,0.0 -2040,24,BIOPRD,peak.day,227.97802749144245 -2040,24,BIOPRD,peak.peak,71.13609236157335 -2040,24,BIOPRD,peak.evening,94.84812390754944 -2040,24,BIOPRD,summer.night,0.0 -2040,24,BIOPRD,summer.day,0.0 -2040,24,BIOPRD,summer.peak,0.0 -2040,24,BIOPRD,summer.evening,29.3287702493268 -2040,24,BIOPRD,autumn.night,0.0 -2040,24,BIOPRD,autumn.day,150.04572883209715 -2040,24,BIOPRD,autumn.peak,71.13609236157335 -2040,24,BIOPRD,autumn.evening,94.84812390754944 +2040,21,GASNAT,winter.night,-1.6838876122891047 +2040,21,ELCTRI,winter.night,1.1225917415260698 +2040,21,CO2EMT,winter.night,86.09717361634192 +2040,21,GASNAT,winter.day,-2.405553728542533 +2040,21,ELCTRI,winter.day,1.603702485695022 +2040,21,CO2EMT,winter.day,122.9959621403797 +2040,21,GASNAT,winter.peak,-0.7216661162534282 +2040,21,ELCTRI,winter.peak,0.48111074416895216 +2040,21,CO2EMT,winter.peak,36.89878852403778 +2040,21,GASNAT,winter.evening,-0.9622214960356763 +2040,21,ELCTRI,winter.evening,0.6414809973571175 +2040,21,CO2EMT,winter.evening,49.19838509230412 +2040,21,GASNAT,peak.night,-1.6838876122891047 +2040,21,ELCTRI,peak.night,1.1225917415260698 +2040,21,CO2EMT,peak.night,86.09717361634192 +2040,21,GASNAT,peak.day,-2.405553728542533 +2040,21,ELCTRI,peak.day,1.603702485695022 +2040,21,CO2EMT,peak.day,122.9959621403797 +2040,21,GASNAT,peak.peak,-0.7216661162534282 +2040,21,ELCTRI,peak.peak,0.48111074416895216 +2040,21,CO2EMT,peak.peak,36.89878852403778 +2040,21,GASNAT,peak.evening,-0.9622214960356763 +2040,21,ELCTRI,peak.evening,0.6414809973571175 +2040,21,CO2EMT,peak.evening,49.19838509230412 +2040,21,GASNAT,summer.night,-1.6838876122891047 +2040,21,ELCTRI,summer.night,1.1225917415260698 +2040,21,CO2EMT,summer.night,86.09717361634192 +2040,21,GASNAT,summer.day,-2.405553728542533 +2040,21,ELCTRI,summer.day,1.603702485695022 +2040,21,CO2EMT,summer.day,122.9959621403797 +2040,21,GASNAT,summer.peak,-0.7216661162534282 +2040,21,ELCTRI,summer.peak,0.48111074416895216 +2040,21,CO2EMT,summer.peak,36.89878852403778 +2040,21,GASNAT,summer.evening,-0.9622214960356763 +2040,21,ELCTRI,summer.evening,0.6414809973571175 +2040,21,CO2EMT,summer.evening,49.19838509230412 +2040,21,GASNAT,autumn.night,-1.6838876122891047 +2040,21,ELCTRI,autumn.night,1.1225917415260698 +2040,21,CO2EMT,autumn.night,86.09717361634192 +2040,21,GASNAT,autumn.day,-2.405553728542533 +2040,21,ELCTRI,autumn.day,1.603702485695022 +2040,21,CO2EMT,autumn.day,122.9959621403797 +2040,21,GASNAT,autumn.peak,-0.7216661162534282 +2040,21,ELCTRI,autumn.peak,0.48111074416895216 +2040,21,CO2EMT,autumn.peak,36.89878852403778 +2040,21,GASNAT,autumn.evening,-0.9622214960356763 +2040,21,ELCTRI,autumn.evening,0.6414809973571175 +2040,21,CO2EMT,autumn.evening,49.19838509230412 +2040,22,GASPRD,winter.night,-50.361641260623216 +2040,22,GASNAT,winter.night,47.963467867260206 +2040,22,CO2EMT,winter.night,122.61860560265073 +2040,22,GASPRD,winter.day,-88.73602870653171 +2040,22,GASNAT,winter.day,84.51050353003019 +2040,22,CO2EMT,winter.day,216.0511022745222 +2040,22,GASPRD,winter.peak,-26.620808526772922 +2040,22,GASNAT,winter.peak,25.353150977878972 +2040,22,CO2EMT,winter.peak,64.8153304749476 +2040,22,GASPRD,winter.evening,-35.494411652985846 +2040,22,GASNAT,winter.evening,33.804201574272234 +2040,22,CO2EMT,winter.evening,86.42044132462698 +2040,22,GASPRD,peak.night,-55.60085449021158 +2040,22,GASNAT,peak.night,52.953194752582455 +2040,22,CO2EMT,peak.night,135.37484238497706 +2040,22,GASPRD,peak.day,-88.73602870653171 +2040,22,GASNAT,peak.day,84.51050353003019 +2040,22,CO2EMT,peak.day,216.0511022745222 +2040,22,GASPRD,peak.peak,-26.620808526772922 +2040,22,GASNAT,peak.peak,25.353150977878972 +2040,22,CO2EMT,peak.peak,64.8153304749476 +2040,22,GASPRD,peak.evening,-35.494411652985846 +2040,22,GASNAT,peak.evening,33.804201574272234 +2040,22,CO2EMT,peak.evening,86.42044132462698 +2040,22,GASPRD,summer.night,-62.11522017975885 +2040,22,GASNAT,summer.night,59.15735255215128 +2040,22,CO2EMT,summer.night,151.23577179957476 +2040,22,GASPRD,summer.day,-88.73602870653171 +2040,22,GASNAT,summer.day,84.51050353003019 +2040,22,CO2EMT,summer.day,216.0511022745222 +2040,22,GASPRD,summer.peak,-26.620808526772922 +2040,22,GASNAT,summer.peak,25.353150977878972 +2040,22,CO2EMT,summer.peak,64.8153304749476 +2040,22,GASPRD,summer.evening,-35.494411652985846 +2040,22,GASNAT,summer.evening,33.804201574272234 +2040,22,CO2EMT,summer.evening,86.42044132462698 +2040,22,GASPRD,autumn.night,-55.711737308527674 +2040,22,GASNAT,autumn.night,53.05879743669302 +2040,22,CO2EMT,autumn.night,135.64481564690573 +2040,22,GASPRD,autumn.day,-88.73602870653171 +2040,22,GASNAT,autumn.day,84.51050353003019 +2040,22,CO2EMT,autumn.day,216.0511022745222 +2040,22,GASPRD,autumn.peak,-26.620808526772922 +2040,22,GASNAT,autumn.peak,25.353150977878972 +2040,22,CO2EMT,autumn.peak,64.8153304749476 +2040,22,GASPRD,autumn.evening,-35.494411652985846 +2040,22,GASNAT,autumn.evening,33.804201574272234 +2040,22,CO2EMT,autumn.evening,86.42044132462698 +2040,23,OILCRD,winter.night,-9.552083338791682 +2040,23,GASOLI,winter.night,7.291666670833345 +2040,23,CO2EMT,winter.night,160.41666675833358 +2040,23,OILCRD,winter.day,-13.645833322416689 +2040,23,GASOLI,winter.day,10.41666665833335 +2040,23,CO2EMT,winter.day,229.1666664833337 +2040,23,OILCRD,winter.peak,-4.093749983625006 +2040,23,GASOLI,winter.peak,3.1249999875000047 +2040,23,CO2EMT,winter.peak,68.74999972500011 +2040,23,OILCRD,winter.evening,-5.458333355166675 +2040,23,GASOLI,winter.evening,4.1666666833333394 +2040,23,CO2EMT,winter.evening,91.66666703333347 +2040,23,OILCRD,peak.night,-9.552083338791682 +2040,23,GASOLI,peak.night,7.291666670833345 +2040,23,CO2EMT,peak.night,160.41666675833358 +2040,23,OILCRD,peak.day,-13.645833322416689 +2040,23,GASOLI,peak.day,10.41666665833335 +2040,23,CO2EMT,peak.day,229.1666664833337 +2040,23,OILCRD,peak.peak,-4.093749983625006 +2040,23,GASOLI,peak.peak,3.1249999875000047 +2040,23,CO2EMT,peak.peak,68.74999972500011 +2040,23,OILCRD,peak.evening,-5.458333355166675 +2040,23,GASOLI,peak.evening,4.1666666833333394 +2040,23,CO2EMT,peak.evening,91.66666703333347 +2040,23,OILCRD,summer.night,-9.552083338791682 +2040,23,GASOLI,summer.night,7.291666670833345 +2040,23,CO2EMT,summer.night,160.41666675833358 +2040,23,OILCRD,summer.day,-13.645833322416689 +2040,23,GASOLI,summer.day,10.41666665833335 +2040,23,CO2EMT,summer.day,229.1666664833337 +2040,23,OILCRD,summer.peak,-4.093749983625006 +2040,23,GASOLI,summer.peak,3.1249999875000047 +2040,23,CO2EMT,summer.peak,68.74999972500011 +2040,23,OILCRD,summer.evening,-5.458333355166675 +2040,23,GASOLI,summer.evening,4.1666666833333394 +2040,23,CO2EMT,summer.evening,91.66666703333347 +2040,23,OILCRD,autumn.night,-9.552083338791682 +2040,23,GASOLI,autumn.night,7.291666670833345 +2040,23,CO2EMT,autumn.night,160.41666675833358 +2040,23,OILCRD,autumn.day,-13.645833322416689 +2040,23,GASOLI,autumn.day,10.41666665833335 +2040,23,CO2EMT,autumn.day,229.1666664833337 +2040,23,OILCRD,autumn.peak,-4.093749983625006 +2040,23,GASOLI,autumn.peak,3.1249999875000047 +2040,23,CO2EMT,autumn.peak,68.74999972500011 +2040,23,OILCRD,autumn.evening,-5.458333355166675 +2040,23,GASOLI,autumn.evening,4.1666666833333394 +2040,23,CO2EMT,autumn.evening,91.66666703333347 +2040,24,BIOPRD,winter.night,-165.98421626912275 +2040,24,BIOPEL,winter.night,158.08020597059308 +2040,24,BIOPRD,winter.day,-237.12030863069606 +2040,24,BIOPEL,winter.day,225.82886536256765 +2040,24,BIOPRD,winter.peak,-71.13609236157332 +2040,24,BIOPEL,winter.peak,67.74865939197458 +2040,24,BIOPRD,winter.evening,-94.8481239075494 +2040,24,BIOPEL,winter.evening,90.33154657861847 +2040,24,BIOPRD,peak.night,-0.0 +2040,24,BIOPEL,peak.night,0.0 +2040,24,BIOPRD,peak.day,-227.9780274914425 +2040,24,BIOPEL,peak.day,217.12193094423094 +2040,24,BIOPRD,peak.peak,-71.13609236157332 +2040,24,BIOPEL,peak.peak,67.74865939197458 +2040,24,BIOPRD,peak.evening,-94.8481239075494 +2040,24,BIOPEL,peak.evening,90.33154657861847 +2040,24,BIOPRD,summer.night,-0.0 +2040,24,BIOPEL,summer.night,0.0 +2040,24,BIOPRD,summer.day,-0.0 +2040,24,BIOPEL,summer.day,0.0 +2040,24,BIOPRD,summer.peak,-0.0 +2040,24,BIOPEL,summer.peak,0.0 +2040,24,BIOPRD,summer.evening,-29.3287702493268 +2040,24,BIOPEL,summer.evening,27.932162142216 +2040,24,BIOPRD,autumn.night,-0.0 +2040,24,BIOPEL,autumn.night,0.0 +2040,24,BIOPRD,autumn.day,-150.04572883209727 +2040,24,BIOPEL,autumn.day,142.90069412580692 +2040,24,BIOPRD,autumn.peak,-71.13609236157332 +2040,24,BIOPEL,autumn.peak,67.74865939197458 +2040,24,BIOPRD,autumn.evening,-94.8481239075494 +2040,24,BIOPEL,autumn.evening,90.33154657861847 +2040,25,GASPRD,winter.night,28.31239918562322 +2040,25,CO2EMT,winter.night,144.76129703609155 +2040,25,GASPRD,winter.day,88.73602870653171 +2040,25,CO2EMT,winter.day,453.7073147764967 +2040,25,GASPRD,winter.peak,26.620808526772926 +2040,25,CO2EMT,winter.peak,136.11219399739 +2040,25,GASPRD,winter.evening,35.49441165298585 +2040,25,CO2EMT,winter.evening,181.48292678171669 +2040,25,GASPRD,peak.night,33.55161241521158 +2040,25,CO2EMT,peak.night,171.54939427897682 +2040,25,GASPRD,peak.day,88.73602870653171 +2040,25,CO2EMT,peak.day,453.7073147764967 +2040,25,GASPRD,peak.peak,26.620808526772926 +2040,25,CO2EMT,peak.peak,136.11219399739 +2040,25,GASPRD,peak.evening,35.49441165298585 +2040,25,CO2EMT,peak.evening,181.48292678171669 +2040,25,GASPRD,summer.night,40.065978104758855 +2040,25,CO2EMT,summer.night,204.85734604963204 +2040,25,GASPRD,summer.day,88.73602870653171 +2040,25,CO2EMT,summer.day,453.7073147764967 +2040,25,GASPRD,summer.peak,26.620808526772926 +2040,25,CO2EMT,summer.peak,136.11219399739 +2040,25,GASPRD,summer.evening,35.49441165298585 +2040,25,CO2EMT,summer.evening,181.48292678171669 +2040,25,GASPRD,autumn.night,33.66249523352768 +2040,25,CO2EMT,autumn.night,172.11633812902704 +2040,25,GASPRD,autumn.day,88.73602870653171 +2040,25,CO2EMT,autumn.day,453.7073147764967 +2040,25,GASPRD,autumn.peak,26.620808526772926 +2040,25,CO2EMT,autumn.peak,136.11219399739 +2040,25,GASPRD,autumn.evening,35.49441165298585 +2040,25,CO2EMT,autumn.evening,181.48292678171669 +2040,26,BIOPRD,winter.night,192.07141541779774 +2040,26,BIOPRD,winter.day,274.3877359348364 +2040,26,BIOPRD,winter.peak,82.3163205170387 +2040,26,BIOPRD,winter.evening,109.75509490075902 +2040,26,BIOPRD,peak.night,0.0 +2040,26,BIOPRD,peak.day,201.89082834276752 +2040,26,BIOPRD,peak.peak,82.3163205170387 +2040,26,BIOPRD,peak.evening,109.75509490075902 +2040,26,BIOPRD,summer.night,0.0 +2040,26,BIOPRD,summer.day,0.0 +2040,26,BIOPRD,summer.peak,0.0 +2040,26,BIOPRD,summer.evening,29.3287702493268 +2040,26,BIOPRD,autumn.night,0.0 +2040,26,BIOPRD,autumn.day,123.95852968342227 +2040,26,BIOPRD,autumn.peak,82.3163205170387 +2040,26,BIOPRD,autumn.evening,109.75509490075902 diff --git a/tests/data/two_outputs/commodity_prices.csv b/tests/data/two_outputs/commodity_prices.csv index 8a9552fad..fdd80b879 100644 --- a/tests/data/two_outputs/commodity_prices.csv +++ b/tests/data/two_outputs/commodity_prices.csv @@ -15,54 +15,54 @@ milestone_year,commodity_id,region_id,time_slice,price 2020,BIOPEL,GBR,winter.evening,4.7221140833333335 2020,BIOPEL,GBR,winter.night,4.7221140833333335 2020,BIOPEL,GBR,winter.peak,4.7221140833333335 -2020,BIOPRD,GBR,autumn.day,0.25 -2020,BIOPRD,GBR,autumn.evening,0.25 -2020,BIOPRD,GBR,autumn.night,0.25 -2020,BIOPRD,GBR,autumn.peak,0.25 -2020,BIOPRD,GBR,peak.day,0.25 -2020,BIOPRD,GBR,peak.evening,0.25 -2020,BIOPRD,GBR,peak.night,0.25 -2020,BIOPRD,GBR,peak.peak,0.25 -2020,BIOPRD,GBR,summer.day,0.25 -2020,BIOPRD,GBR,summer.evening,0.25 -2020,BIOPRD,GBR,summer.night,0.25 -2020,BIOPRD,GBR,summer.peak,0.25 -2020,BIOPRD,GBR,winter.day,0.25 -2020,BIOPRD,GBR,winter.evening,0.25 -2020,BIOPRD,GBR,winter.night,0.25 -2020,BIOPRD,GBR,winter.peak,0.25 -2020,DIESEL,GBR,autumn.day,2.5425676399164185 -2020,DIESEL,GBR,autumn.evening,2.5425676399164185 -2020,DIESEL,GBR,autumn.night,2.5425676399164185 -2020,DIESEL,GBR,autumn.peak,2.5425676399164185 -2020,DIESEL,GBR,peak.day,2.5425676399164185 -2020,DIESEL,GBR,peak.evening,2.5425676399164185 -2020,DIESEL,GBR,peak.night,2.5425676399164185 -2020,DIESEL,GBR,peak.peak,2.5425676399164185 -2020,DIESEL,GBR,summer.day,0.7834605269726034 -2020,DIESEL,GBR,summer.evening,0.7834605269726034 -2020,DIESEL,GBR,summer.night,0.7834605269726034 -2020,DIESEL,GBR,summer.peak,0.7834605269726034 -2020,DIESEL,GBR,winter.day,-0.0 -2020,DIESEL,GBR,winter.evening,-0.0 -2020,DIESEL,GBR,winter.night,-0.0 -2020,DIESEL,GBR,winter.peak,-0.0 -2020,ELCTRI,GBR,autumn.day,17.26223303030303 +2020,BIOPRD,GBR,autumn.day,4.249632460317461 +2020,BIOPRD,GBR,autumn.evening,4.249632460317461 +2020,BIOPRD,GBR,autumn.night,4.249632460317461 +2020,BIOPRD,GBR,autumn.peak,4.249632460317461 +2020,BIOPRD,GBR,peak.day,4.249632460317461 +2020,BIOPRD,GBR,peak.evening,4.249632460317461 +2020,BIOPRD,GBR,peak.night,4.249632460317461 +2020,BIOPRD,GBR,peak.peak,4.249632460317461 +2020,BIOPRD,GBR,summer.day,0.912692619047619 +2020,BIOPRD,GBR,summer.evening,0.912692619047619 +2020,BIOPRD,GBR,summer.night,0.912692619047619 +2020,BIOPRD,GBR,summer.peak,0.912692619047619 +2020,BIOPRD,GBR,winter.day,4.249632460317461 +2020,BIOPRD,GBR,winter.evening,4.249632460317461 +2020,BIOPRD,GBR,winter.night,4.249632460317461 +2020,BIOPRD,GBR,winter.peak,4.249632460317461 +2020,DIESEL,GBR,autumn.day,5.483919719999999 +2020,DIESEL,GBR,autumn.evening,5.483919719999999 +2020,DIESEL,GBR,autumn.night,5.483919719999999 +2020,DIESEL,GBR,autumn.peak,5.483919719999999 +2020,DIESEL,GBR,peak.day,5.483919719999999 +2020,DIESEL,GBR,peak.evening,5.483919719999999 +2020,DIESEL,GBR,peak.night,5.483919719999999 +2020,DIESEL,GBR,peak.peak,5.483919719999999 +2020,DIESEL,GBR,summer.day,5.768302800000001 +2020,DIESEL,GBR,summer.evening,5.768302800000001 +2020,DIESEL,GBR,summer.night,5.768302800000001 +2020,DIESEL,GBR,summer.peak,5.768302800000001 +2020,DIESEL,GBR,winter.day,5.483919719999999 +2020,DIESEL,GBR,winter.evening,5.483919719999999 +2020,DIESEL,GBR,winter.night,5.483919719999999 +2020,DIESEL,GBR,winter.peak,5.483919719999999 +2020,ELCTRI,GBR,autumn.day,12.730960906659151 2020,ELCTRI,GBR,autumn.evening,17.26223303030303 -2020,ELCTRI,GBR,autumn.night,17.26223303030303 +2020,ELCTRI,GBR,autumn.night,14.948653883199047 2020,ELCTRI,GBR,autumn.peak,17.26223303030303 -2020,ELCTRI,GBR,peak.day,17.26223303030303 +2020,ELCTRI,GBR,peak.day,12.730960906659151 2020,ELCTRI,GBR,peak.evening,17.26223303030303 -2020,ELCTRI,GBR,peak.night,17.26223303030303 -2020,ELCTRI,GBR,peak.peak,17.26223303030303 +2020,ELCTRI,GBR,peak.night,14.948653883199047 +2020,ELCTRI,GBR,peak.peak,12.730960906659151 2020,ELCTRI,GBR,summer.day,4.52119 2020,ELCTRI,GBR,summer.evening,4.52119 2020,ELCTRI,GBR,summer.night,4.52119 2020,ELCTRI,GBR,summer.peak,4.52119 -2020,ELCTRI,GBR,winter.day,17.26223303030303 -2020,ELCTRI,GBR,winter.evening,17.26223303030303 -2020,ELCTRI,GBR,winter.night,7.993308999999999 -2020,ELCTRI,GBR,winter.peak,21.179161556895775 +2020,ELCTRI,GBR,winter.day,12.730960906659151 +2020,ELCTRI,GBR,winter.evening,12.730960906659151 +2020,ELCTRI,GBR,winter.night,10.475104976941614 +2020,ELCTRI,GBR,winter.peak,12.730960906659151 2020,GASNAT,GBR,autumn.day,2.9170059999999998 2020,GASNAT,GBR,autumn.evening,2.9170059999999998 2020,GASNAT,GBR,autumn.night,2.9170059999999998 @@ -79,22 +79,22 @@ milestone_year,commodity_id,region_id,time_slice,price 2020,GASNAT,GBR,winter.evening,2.9170059999999998 2020,GASNAT,GBR,winter.night,2.9170059999999998 2020,GASNAT,GBR,winter.peak,2.9170059999999998 -2020,GASOLI,GBR,autumn.day,8.526809160083582 -2020,GASOLI,GBR,autumn.evening,8.526809160083582 -2020,GASOLI,GBR,autumn.night,8.526809160083582 -2020,GASOLI,GBR,autumn.peak,8.526809160083582 -2020,GASOLI,GBR,peak.day,8.526809160083582 -2020,GASOLI,GBR,peak.evening,8.526809160083582 -2020,GASOLI,GBR,peak.night,8.526809160083582 -2020,GASOLI,GBR,peak.peak,8.526809160083582 -2020,GASOLI,GBR,summer.day,10.859091473027396 -2020,GASOLI,GBR,summer.evening,10.859091473027396 -2020,GASOLI,GBR,summer.night,10.859091473027396 -2020,GASOLI,GBR,summer.peak,10.859091473027396 -2020,GASOLI,GBR,winter.day,11.0693768 -2020,GASOLI,GBR,winter.evening,11.0693768 -2020,GASOLI,GBR,winter.night,11.0693768 -2020,GASOLI,GBR,winter.peak,11.0693768 +2020,GASOLI,GBR,autumn.day,5.585457080000001 +2020,GASOLI,GBR,autumn.evening,5.585457080000001 +2020,GASOLI,GBR,autumn.night,5.585457080000001 +2020,GASOLI,GBR,autumn.peak,5.585457080000001 +2020,GASOLI,GBR,peak.day,5.585457080000001 +2020,GASOLI,GBR,peak.evening,5.585457080000001 +2020,GASOLI,GBR,peak.night,5.585457080000001 +2020,GASOLI,GBR,peak.peak,5.585457080000001 +2020,GASOLI,GBR,summer.day,5.8742491999999995 +2020,GASOLI,GBR,summer.evening,5.8742491999999995 +2020,GASOLI,GBR,summer.night,5.8742491999999995 +2020,GASOLI,GBR,summer.peak,5.8742491999999995 +2020,GASOLI,GBR,winter.day,5.585457080000001 +2020,GASOLI,GBR,winter.evening,5.585457080000001 +2020,GASOLI,GBR,winter.night,5.585457080000001 +2020,GASOLI,GBR,winter.peak,5.585457080000001 2020,GASPRD,GBR,autumn.day,2.20452 2020,GASPRD,GBR,autumn.evening,2.20452 2020,GASPRD,GBR,autumn.night,2.20452 @@ -142,59 +142,59 @@ milestone_year,commodity_id,region_id,time_slice,price 2020,RSHEAT,GBR,winter.day,5.8665369 2020,RSHEAT,GBR,winter.evening,5.8665369 2020,RSHEAT,GBR,winter.night,5.8665369 -2020,RSHEAT,GBR,winter.peak,7.159123313775606 -2020,TPASKM,GBR,autumn.day,30.434619352923054 -2020,TPASKM,GBR,autumn.evening,30.434619352923058 -2020,TPASKM,GBR,autumn.night,11.991039198360358 -2020,TPASKM,GBR,autumn.peak,30.434619352923058 -2020,TPASKM,GBR,peak.day,30.434619352923058 -2020,TPASKM,GBR,peak.evening,30.434619352923058 -2020,TPASKM,GBR,peak.night,11.991039198360358 -2020,TPASKM,GBR,peak.peak,30.434619352923054 -2020,TPASKM,GBR,summer.day,36.738085064275396 -2020,TPASKM,GBR,summer.evening,36.738085064275396 -2020,TPASKM,GBR,summer.night,8.081912281098349 -2020,TPASKM,GBR,summer.peak,36.738085064275396 -2020,TPASKM,GBR,winter.day,37.30642378588549 -2020,TPASKM,GBR,winter.evening,37.30642378588549 -2020,TPASKM,GBR,winter.night,6.340888887999999 -2020,TPASKM,GBR,winter.peak,37.30642378588549 -2030,BIOPEL,GBR,autumn.day,2.173159975 -2030,BIOPEL,GBR,autumn.evening,2.173159975 -2030,BIOPEL,GBR,autumn.night,2.173159975 -2030,BIOPEL,GBR,autumn.peak,2.173159975 -2030,BIOPEL,GBR,peak.day,2.173159975 -2030,BIOPEL,GBR,peak.evening,2.173159975 -2030,BIOPEL,GBR,peak.night,2.173159975 -2030,BIOPEL,GBR,peak.peak,2.173159975 -2030,BIOPEL,GBR,summer.day,0.5225 -2030,BIOPEL,GBR,summer.evening,0.5225 -2030,BIOPEL,GBR,summer.night,0.5225 -2030,BIOPEL,GBR,summer.peak,0.5225 +2020,RSHEAT,GBR,winter.peak,5.8665369 +2020,TPASKM,GBR,autumn.day,22.48501913560649 +2020,TPASKM,GBR,autumn.evening,22.48501913560649 +2020,TPASKM,GBR,autumn.night,18.527377153448015 +2020,TPASKM,GBR,autumn.peak,22.48501913560649 +2020,TPASKM,GBR,peak.day,22.48501913560649 +2020,TPASKM,GBR,peak.evening,22.48501913560649 +2020,TPASKM,GBR,peak.night,18.527377153448015 +2020,TPASKM,GBR,peak.peak,22.48501913560649 +2020,TPASKM,GBR,summer.day,23.265538378935588 +2020,TPASKM,GBR,summer.evening,23.265538378935588 +2020,TPASKM,GBR,summer.night,19.15933955338482 +2020,TPASKM,GBR,summer.peak,23.265538378935588 +2020,TPASKM,GBR,winter.day,22.48501913560649 +2020,TPASKM,GBR,winter.evening,22.48501913560649 +2020,TPASKM,GBR,winter.night,18.527377153448015 +2020,TPASKM,GBR,winter.peak,22.48501913560649 +2030,BIOPEL,GBR,autumn.day,4.7221140833333335 +2030,BIOPEL,GBR,autumn.evening,4.7221140833333335 +2030,BIOPEL,GBR,autumn.night,4.7221140833333335 +2030,BIOPEL,GBR,autumn.peak,4.7221140833333335 +2030,BIOPEL,GBR,peak.day,4.7221140833333335 +2030,BIOPEL,GBR,peak.evening,4.7221140833333335 +2030,BIOPEL,GBR,peak.night,4.7221140833333335 +2030,BIOPEL,GBR,peak.peak,4.7221140833333335 +2030,BIOPEL,GBR,summer.day,2.173159975 +2030,BIOPEL,GBR,summer.evening,2.173159975 +2030,BIOPEL,GBR,summer.night,2.173159975 +2030,BIOPEL,GBR,summer.peak,2.173159975 2030,BIOPEL,GBR,winter.day,4.7221140833333335 2030,BIOPEL,GBR,winter.evening,4.7221140833333335 2030,BIOPEL,GBR,winter.night,4.7221140833333335 2030,BIOPEL,GBR,winter.peak,4.7221140833333335 -2030,BIOPRD,GBR,autumn.day,0.25 -2030,BIOPRD,GBR,autumn.evening,0.25 -2030,BIOPRD,GBR,autumn.night,0.25 -2030,BIOPRD,GBR,autumn.peak,0.25 -2030,BIOPRD,GBR,peak.day,0.25 -2030,BIOPRD,GBR,peak.evening,0.25 -2030,BIOPRD,GBR,peak.night,0.25 -2030,BIOPRD,GBR,peak.peak,0.25 -2030,BIOPRD,GBR,summer.day,0.25 -2030,BIOPRD,GBR,summer.evening,0.25 -2030,BIOPRD,GBR,summer.night,0.25 -2030,BIOPRD,GBR,summer.peak,0.25 -2030,BIOPRD,GBR,winter.day,0.25 -2030,BIOPRD,GBR,winter.evening,0.25 -2030,BIOPRD,GBR,winter.night,0.25 -2030,BIOPRD,GBR,winter.peak,0.25 -2030,DIESEL,GBR,autumn.day,5.483919719999999 -2030,DIESEL,GBR,autumn.evening,5.483919719999999 -2030,DIESEL,GBR,autumn.night,5.483919719999999 -2030,DIESEL,GBR,autumn.peak,5.483919719999999 +2030,BIOPRD,GBR,autumn.day,4.249632460317461 +2030,BIOPRD,GBR,autumn.evening,4.249632460317461 +2030,BIOPRD,GBR,autumn.night,4.249632460317461 +2030,BIOPRD,GBR,autumn.peak,4.249632460317461 +2030,BIOPRD,GBR,peak.day,4.249632460317461 +2030,BIOPRD,GBR,peak.evening,4.249632460317461 +2030,BIOPRD,GBR,peak.night,4.249632460317461 +2030,BIOPRD,GBR,peak.peak,4.249632460317461 +2030,BIOPRD,GBR,summer.day,1.822057119047619 +2030,BIOPRD,GBR,summer.evening,1.822057119047619 +2030,BIOPRD,GBR,summer.night,1.822057119047619 +2030,BIOPRD,GBR,summer.peak,1.822057119047619 +2030,BIOPRD,GBR,winter.day,4.249632460317461 +2030,BIOPRD,GBR,winter.evening,4.249632460317461 +2030,BIOPRD,GBR,winter.night,4.249632460317461 +2030,BIOPRD,GBR,winter.peak,4.249632460317461 +2030,DIESEL,GBR,autumn.day,6.373430018579993 +2030,DIESEL,GBR,autumn.evening,6.373430018579993 +2030,DIESEL,GBR,autumn.night,6.373430018579993 +2030,DIESEL,GBR,autumn.peak,6.373430018579993 2030,DIESEL,GBR,peak.day,5.483919719999999 2030,DIESEL,GBR,peak.evening,5.483919719999999 2030,DIESEL,GBR,peak.night,5.483919719999999 @@ -210,7 +210,7 @@ milestone_year,commodity_id,region_id,time_slice,price 2030,ELCTRI,GBR,autumn.day,7.993308999999999 2030,ELCTRI,GBR,autumn.evening,17.26223303030303 2030,ELCTRI,GBR,autumn.night,7.993308999999999 -2030,ELCTRI,GBR,autumn.peak,7.993308999999999 +2030,ELCTRI,GBR,autumn.peak,17.26223303030303 2030,ELCTRI,GBR,peak.day,7.993308999999999 2030,ELCTRI,GBR,peak.evening,17.26223303030303 2030,ELCTRI,GBR,peak.night,7.993308999999999 @@ -289,16 +289,16 @@ milestone_year,commodity_id,region_id,time_slice,price 2030,OILCRD,GBR,winter.peak,3.072868 2030,RSHEAT,GBR,autumn.day,5.8665369 2030,RSHEAT,GBR,autumn.evening,5.8665369 -2030,RSHEAT,GBR,autumn.night,2.80779197 +2030,RSHEAT,GBR,autumn.night,5.8665369 2030,RSHEAT,GBR,autumn.peak,5.8665369 2030,RSHEAT,GBR,peak.day,5.8665369 2030,RSHEAT,GBR,peak.evening,5.8665369 -2030,RSHEAT,GBR,peak.night,2.80779197 +2030,RSHEAT,GBR,peak.night,5.8665369 2030,RSHEAT,GBR,peak.peak,5.8665369 -2030,RSHEAT,GBR,summer.day,0.827 -2030,RSHEAT,GBR,summer.evening,0.827 -2030,RSHEAT,GBR,summer.night,0.827 -2030,RSHEAT,GBR,summer.peak,0.827 +2030,RSHEAT,GBR,summer.day,2.80779197 +2030,RSHEAT,GBR,summer.evening,2.80779197 +2030,RSHEAT,GBR,summer.night,2.80779197 +2030,RSHEAT,GBR,summer.peak,2.80779197 2030,RSHEAT,GBR,winter.day,5.8665369 2030,RSHEAT,GBR,winter.evening,5.8665369 2030,RSHEAT,GBR,winter.night,5.8665369 @@ -306,7 +306,7 @@ milestone_year,commodity_id,region_id,time_slice,price 2030,TPASKM,GBR,autumn.day,12.584828103508185 2030,TPASKM,GBR,autumn.evening,20.50406670565033 2030,TPASKM,GBR,autumn.night,12.584828103508185 -2030,TPASKM,GBR,autumn.peak,12.584828103508185 +2030,TPASKM,GBR,autumn.peak,20.50406670565033 2030,TPASKM,GBR,peak.day,12.584828103508185 2030,TPASKM,GBR,peak.evening,20.50406670565033 2030,TPASKM,GBR,peak.night,12.584828103508185 diff --git a/tests/data/two_regions/assets.csv b/tests/data/two_regions/assets.csv index 82e2b40da..90c553818 100644 --- a/tests/data/two_regions/assets.csv +++ b/tests/data/two_regions/assets.csv @@ -1,36 +1,42 @@ asset_id,process_id,region_id,agent_id,commission_year,decommission_year,capacity -0,gassupply1,R1,A1_GAS,2020,,24.0 +0,gassupply1,R1,A1_GAS,2020,2030,24.0 1,gasboiler,R1,A1_RES,2020,2030,19.0 2,gassupply1,R2,A1_GAS,2020,,24.0 3,gasboiler,R2,A1_RES,2020,,19.0 4,heatpump,R1,A1_RES,2025,,16.757966484067033 5,heatpump,R2,A1_RES,2025,,9.575980848038304 -6,windturbine,R1,A1_PWR,2025,,16.757966484067026 -7,gasCCGT,R2,A1_PWR,2025,,4.255991488017025 -8,gassupply1,R2,A1_GAS,2025,,2.562106875786249 -9,heatpump,R1,A1_RES,2030,,13.121973756052487 -10,heatpump,R2,A1_RES,2030,,2.987994024011952 -11,gasCCGT,R1,A1_PWR,2030,,5.831988336023331 -12,gasCCGT,R2,A1_PWR,2030,,1.3279973440053114 -13,gassupply1,R2,A1_GAS,2030,,6.328723342553314 -14,heatpump,R1,A1_RES,2035,,6.119987760024477 -15,gasboiler,R2,A1_RES,2035,,4.4359531280937405 -16,windturbine,R1,A1_PWR,2035,,3.5999928000144 -17,gasCCGT,R1,A1_PWR,2035,,1.119997760004481 -18,gassupply1,R2,A1_GAS,2035,,7.906320187359625 -19,heatpump,R1,A1_RES,2040,,8.387983224033553 -20,heatpump,R2,A1_RES,2040,,4.193991612016776 -21,gasboiler,R2,A1_RES,2040,,1.7459965080069861 -22,windturbine,R1,A1_PWR,2040,,8.387983224033553 -23,gasCCGT,R2,A1_PWR,2040,,1.8639962720074563 -24,gassupply1,R2,A1_GAS,2040,,4.489487021025957 -25,heatpump,R1,A1_RES,2045,,4.787990424019152 -26,gasboiler,R2,A1_RES,2045,,5.939988120023761 -27,windturbine,R1,A1_PWR,2045,,4.787990424019152 -28,gassupply1,R2,A1_GAS,2045,,10.510170979658042 -29,heatpump,R1,A1_RES,2050,,5.3999892000216 -30,heatpump,R2,A1_RES,2050,,5.3999892000216 -31,gasboiler,R2,A1_RES,2050,,0.7199985600028752 -32,windturbine,R1,A1_PWR,2050,,5.399989200021599 -33,gasCCGT,R2,A1_PWR,2050,,2.3999952000096005 -34,gassupply1,R2,A1_GAS,2050,,5.748684502630995 +6,windturbine,R1,A1_PWR,2025,,6.703186593626812 +7,gasCCGT,R1,A1_PWR,2025,2040,5.3625492749014505 +8,gasCCGT,R2,A1_PWR,2025,,3.8303923392153214 +9,windturbine,R2,A1_PWR,2025,,1.8385883228233535 +10,heatpump,R1,A1_RES,2030,,13.121973756052487 +11,heatpump,R2,A1_RES,2030,,2.987994024011952 +12,windturbine,R1,A1_PWR,2030,,11.951976096047806 +13,gasCCGT,R2,A1_PWR,2030,,0.5025589948820103 +14,windturbine,R2,A1_PWR,2030,,0.6926386147227713 +15,gassupply1,R2,A1_GAS,2030,,2.425210605578789 +16,heatpump,R1,A1_RES,2035,,6.119987760024477 +17,gasboiler,R2,A1_RES,2035,,4.4359531280937405 +18,windturbine,R1,A1_PWR,2035,,12.95997408005184 +19,windturbine,R2,A1_PWR,2035,,0.5025589948820103 +20,gasCCGT,R2,A1_PWR,2035,,0.532030935938128 +21,gassupply1,R2,A1_GAS,2035,,10.365247128705743 +22,heatpump,R1,A1_RES,2040,,5.939988120023761 +23,heatpump,R2,A1_RES,2040,,4.193991612016776 +24,gasboiler,R2,A1_RES,2040,,1.7459965080069861 +25,windturbine,R1,A1_PWR,2040,,7.696784606430788 +26,gasCCGT,R2,A1_PWR,2040,,1.167885664228672 +27,windturbine,R2,A1_PWR,2040,,0.6703186593626813 +28,gassupply1,R2,A1_GAS,2040,,3.839745936508127 +29,heatpump,R1,A1_RES,2045,,5.939988120023761 +30,gasboiler,R2,A1_RES,2045,,5.939988120023761 +31,windturbine,R1,A1_PWR,2045,,8.683182633634738 +32,windturbine,R2,A1_PWR,2045,,0.6703186593626813 +33,gasCCGT,R2,A1_PWR,2045,,1.0852778294443406 +34,gassupply1,R2,A1_GAS,2045,,9.207676432647135 +35,heatpump,R1,A1_RES,2050,,6.119987760024477 +36,heatpump,R2,A1_RES,2050,,5.3999892000216 +37,gasboiler,R2,A1_RES,2050,,0.7199985600028752 +38,windturbine,R1,A1_PWR,2050,,4.355991288017403 +39,windturbine,R2,A1_PWR,2050,,1.772636454727091 +40,gasCCGT,R2,A1_PWR,2050,,0.2818554362891272 diff --git a/tests/data/two_regions/commodity_flows.csv b/tests/data/two_regions/commodity_flows.csv index afbd29477..c32aee2a4 100644 --- a/tests/data/two_regions/commodity_flows.csv +++ b/tests/data/two_regions/commodity_flows.csv @@ -47,12 +47,12 @@ milestone_year,asset_id,commodity_id,time_slice,flow 2020,3,gas,all-year.evening,-2.32 2020,3,heat,all-year.evening,2.0 2020,3,CO2f,all-year.evening,129.42 -2025,0,gas,all-year.night,-0.0 -2025,0,gas,all-year.morning,-0.0 -2025,0,gas,all-year.afternoon,-0.0 -2025,0,gas,all-year.early-peak,-0.0 +2025,0,gas,all-year.night,0.0 +2025,0,gas,all-year.morning,0.0 +2025,0,gas,all-year.afternoon,0.7818272000000002 +2025,0,gas,all-year.early-peak,1.33266 2025,0,gas,all-year.late-peak,1.3885199999999995 -2025,0,gas,all-year.evening,-0.0 +2025,0,gas,all-year.evening,1.4925792000000002 2025,1,gas,all-year.night,-0.0 2025,1,heat,all-year.night,0.0 2025,1,CO2f,all-year.night,0.0 @@ -71,12 +71,12 @@ milestone_year,asset_id,commodity_id,time_slice,flow 2025,1,gas,all-year.evening,-0.0 2025,1,heat,all-year.evening,0.0 2025,1,CO2f,all-year.evening,0.0 -2025,2,gas,all-year.night,0.5041232 -2025,2,gas,all-year.morning,1.1446512 -2025,2,gas,all-year.afternoon,0.5041232 -2025,2,gas,all-year.early-peak,1.1446512 -2025,2,gas,all-year.late-peak,3.4588512 -2025,2,gas,all-year.evening,1.9160512 +2025,2,gas,all-year.night,0.88844 +2025,2,gas,all-year.morning,1.0172265600000003 +2025,2,gas,all-year.afternoon,0.88844 +2025,2,gas,all-year.early-peak,1.528968 +2025,2,gas,all-year.late-peak,3.638471424 +2025,2,gas,all-year.evening,1.7886265600000004 2025,3,gas,all-year.night,-0.0 2025,3,heat,all-year.night,0.0 2025,3,CO2f,all-year.night,0.0 @@ -95,18 +95,18 @@ milestone_year,asset_id,commodity_id,time_slice,flow 2025,3,gas,all-year.evening,-1.23424 2025,3,heat,all-year.evening,1.064 2025,3,CO2f,all-year.evening,68.85144 -2025,4,electricity,all-year.night,-1.1172000000000002 -2025,4,heat,all-year.night,2.7930000000000006 -2025,4,electricity,all-year.morning,-1.1172000000000002 -2025,4,heat,all-year.morning,2.7930000000000006 -2025,4,electricity,all-year.afternoon,-1.1172000000000002 -2025,4,heat,all-year.afternoon,2.7930000000000006 -2025,4,electricity,all-year.early-peak,-1.1172000000000002 -2025,4,heat,all-year.early-peak,2.7930000000000006 +2025,4,electricity,all-year.night,-0.532 +2025,4,heat,all-year.night,1.33 +2025,4,electricity,all-year.morning,-0.798 +2025,4,heat,all-year.morning,1.995 +2025,4,electricity,all-year.afternoon,-0.532 +2025,4,heat,all-year.afternoon,1.33 +2025,4,electricity,all-year.early-peak,-0.798 +2025,4,heat,all-year.early-peak,1.995 2025,4,electricity,all-year.late-peak,-1.1172000000000002 2025,4,heat,all-year.late-peak,2.7930000000000006 -2025,4,electricity,all-year.evening,-1.1172000000000002 -2025,4,heat,all-year.evening,2.7930000000000006 +2025,4,electricity,all-year.evening,-1.064 +2025,4,heat,all-year.evening,2.66 2025,5,electricity,all-year.night,-0.532 2025,5,heat,all-year.night,1.33 2025,5,electricity,all-year.morning,-0.6384000000000001 @@ -115,58 +115,76 @@ milestone_year,asset_id,commodity_id,time_slice,flow 2025,5,heat,all-year.afternoon,1.33 2025,5,electricity,all-year.early-peak,-0.6384000000000001 2025,5,heat,all-year.early-peak,1.596 -2025,5,electricity,all-year.late-peak,-0.6384000000000002 -2025,5,heat,all-year.late-peak,1.5960000000000003 +2025,5,electricity,all-year.late-peak,-0.6384000000000001 +2025,5,heat,all-year.late-peak,1.596 2025,5,electricity,all-year.evening,-0.6384000000000001 2025,5,heat,all-year.evening,1.596 -2025,6,wind,all-year.night,-1.1171999999999997 -2025,6,electricity,all-year.night,1.1171999999999997 -2025,6,wind,all-year.morning,-1.1171999999999997 -2025,6,electricity,all-year.morning,1.1171999999999997 -2025,6,wind,all-year.afternoon,-1.1171999999999997 -2025,6,electricity,all-year.afternoon,1.1171999999999997 -2025,6,wind,all-year.early-peak,-1.1171999999999997 -2025,6,electricity,all-year.early-peak,1.1171999999999997 -2025,6,wind,all-year.late-peak,-1.1171999999999997 -2025,6,electricity,all-year.late-peak,1.1171999999999997 -2025,6,wind,all-year.evening,-1.1171999999999997 -2025,6,electricity,all-year.evening,1.1171999999999997 -2025,7,gas,all-year.night,-0.88844 -2025,7,electricity,all-year.night,0.532 -2025,7,CO2f,all-year.night,48.768440000000005 -2025,7,gas,all-year.morning,-1.0661280000000002 -2025,7,electricity,all-year.morning,0.6384000000000001 -2025,7,CO2f,all-year.morning,58.52212800000001 -2025,7,gas,all-year.afternoon,-0.88844 -2025,7,electricity,all-year.afternoon,0.532 -2025,7,CO2f,all-year.afternoon,48.768440000000005 -2025,7,gas,all-year.early-peak,-1.0661280000000002 -2025,7,electricity,all-year.early-peak,0.6384000000000001 -2025,7,CO2f,all-year.early-peak,58.52212800000001 -2025,7,gas,all-year.late-peak,-1.0661280000000002 -2025,7,electricity,all-year.late-peak,0.6384000000000002 -2025,7,CO2f,all-year.late-peak,58.522128000000016 -2025,7,gas,all-year.evening,-1.0661280000000002 -2025,7,electricity,all-year.evening,0.6384000000000001 -2025,7,CO2f,all-year.evening,58.52212800000001 -2025,8,gas,all-year.night,0.38431680000000007 -2025,8,gas,all-year.morning,0.38431680000000007 -2025,8,gas,all-year.afternoon,0.38431680000000007 -2025,8,gas,all-year.early-peak,0.38431680000000007 -2025,8,gas,all-year.late-peak,0.38431680000000007 -2025,8,gas,all-year.evening,0.38431680000000007 -2030,0,gas,all-year.night,-0.0 -2030,0,gas,all-year.morning,-0.0 -2030,0,gas,all-year.afternoon,-0.0 -2030,0,gas,all-year.early-peak,-0.0 -2030,0,gas,all-year.late-peak,1.4609160000000008 -2030,0,gas,all-year.evening,0.3520360000000008 -2030,2,gas,all-year.night,0.0 -2030,2,gas,all-year.morning,0.5245248000000001 -2030,2,gas,all-year.afternoon,0.0 -2030,2,gas,all-year.early-peak,0.5245248000000001 -2030,2,gas,all-year.late-peak,3.4129248 -2030,2,gas,all-year.evening,1.4873248 +2025,6,wind,all-year.night,-0.532 +2025,6,electricity,all-year.night,0.532 +2025,6,wind,all-year.morning,-0.798 +2025,6,electricity,all-year.morning,0.798 +2025,6,wind,all-year.afternoon,-0.0638399999999999 +2025,6,electricity,all-year.afternoon,0.0638399999999999 +2025,6,wind,all-year.early-peak,-0.0 +2025,6,electricity,all-year.early-peak,0.0 +2025,6,wind,all-year.late-peak,-1.1172000000000002 +2025,6,electricity,all-year.late-peak,1.1172000000000002 +2025,6,wind,all-year.evening,-0.17023999999999995 +2025,6,electricity,all-year.evening,0.17023999999999995 +2025,7,gas,all-year.night,0.0 +2025,7,electricity,all-year.night,-0.0 +2025,7,CO2f,all-year.night,-0.0 +2025,7,gas,all-year.morning,0.0 +2025,7,electricity,all-year.morning,-0.0 +2025,7,CO2f,all-year.morning,-0.0 +2025,7,gas,all-year.afternoon,-0.7818272000000002 +2025,7,electricity,all-year.afternoon,0.46816000000000013 +2025,7,CO2f,all-year.afternoon,42.916227200000016 +2025,7,gas,all-year.early-peak,-1.33266 +2025,7,electricity,all-year.early-peak,0.798 +2025,7,CO2f,all-year.early-peak,73.15266000000001 +2025,7,gas,all-year.late-peak,-0.0 +2025,7,electricity,all-year.late-peak,0.0 +2025,7,CO2f,all-year.late-peak,0.0 +2025,7,gas,all-year.evening,-1.4925792000000002 +2025,7,electricity,all-year.evening,0.8937600000000001 +2025,7,CO2f,all-year.evening,81.93097920000001 +2025,8,gas,all-year.night,-0.88844 +2025,8,electricity,all-year.night,0.532 +2025,8,CO2f,all-year.night,48.768440000000005 +2025,8,gas,all-year.morning,-0.5543865600000003 +2025,8,electricity,all-year.morning,0.3319680000000002 +2025,8,CO2f,all-year.morning,30.43150656000002 +2025,8,gas,all-year.afternoon,-0.88844 +2025,8,electricity,all-year.afternoon,0.532 +2025,8,CO2f,all-year.afternoon,48.768440000000005 +2025,8,gas,all-year.early-peak,-1.0661280000000002 +2025,8,electricity,all-year.early-peak,0.6384000000000001 +2025,8,CO2f,all-year.early-peak,58.52212800000001 +2025,8,gas,all-year.late-peak,-0.8614314240000001 +2025,8,electricity,all-year.late-peak,0.5158272 +2025,8,CO2f,all-year.late-peak,47.28587942400001 +2025,8,gas,all-year.evening,-0.5543865600000003 +2025,8,electricity,all-year.evening,0.3319680000000002 +2025,8,CO2f,all-year.evening,30.43150656000002 +2025,9,wind,all-year.night,-0.0 +2025,9,electricity,all-year.night,0.0 +2025,9,wind,all-year.morning,-0.30643199999999987 +2025,9,electricity,all-year.morning,0.30643199999999987 +2025,9,wind,all-year.afternoon,-0.0 +2025,9,electricity,all-year.afternoon,0.0 +2025,9,wind,all-year.early-peak,-0.0 +2025,9,electricity,all-year.early-peak,0.0 +2025,9,wind,all-year.late-peak,-0.12257280000000004 +2025,9,electricity,all-year.late-peak,0.12257280000000004 +2025,9,wind,all-year.evening,-0.30643199999999987 +2025,9,electricity,all-year.evening,0.30643199999999987 +2030,2,gas,all-year.night,0.8700850495999999 +2030,2,gas,all-year.morning,0.9422079840000003 +2030,2,gas,all-year.afternoon,0.7046774240000002 +2030,2,gas,all-year.early-peak,1.261164624 +2030,2,gas,all-year.late-peak,4.000008 +2030,2,gas,all-year.evening,1.8498680319999998 2030,3,gas,all-year.night,-0.0 2030,3,heat,all-year.night,0.0 2030,3,CO2f,all-year.night,0.0 @@ -209,132 +227,156 @@ milestone_year,asset_id,commodity_id,time_slice,flow 2030,5,heat,all-year.late-peak,1.596 2030,5,electricity,all-year.evening,-0.6384000000000001 2030,5,heat,all-year.evening,1.596 -2030,6,wind,all-year.night,-1.1171999999999997 -2030,6,electricity,all-year.night,1.1171999999999997 -2030,6,wind,all-year.morning,-1.1171999999999997 -2030,6,electricity,all-year.morning,1.1171999999999997 -2030,6,wind,all-year.afternoon,-1.1171999999999997 -2030,6,electricity,all-year.afternoon,1.1171999999999997 -2030,6,wind,all-year.early-peak,-1.1171999999999997 -2030,6,electricity,all-year.early-peak,1.1171999999999997 -2030,6,wind,all-year.late-peak,-1.1171999999999997 -2030,6,electricity,all-year.late-peak,1.1171999999999997 -2030,6,wind,all-year.evening,-1.1171999999999997 -2030,6,electricity,all-year.evening,1.1171999999999997 -2030,7,gas,all-year.night,-0.7762160000000004 -2030,7,electricity,all-year.night,0.4648000000000002 -2030,7,CO2f,all-year.night,42.60821600000002 -2030,7,gas,all-year.morning,-1.0661280000000002 -2030,7,electricity,all-year.morning,0.6384000000000002 -2030,7,CO2f,all-year.morning,58.522128000000016 -2030,7,gas,all-year.afternoon,-0.7762160000000004 -2030,7,electricity,all-year.afternoon,0.4648000000000002 -2030,7,CO2f,all-year.afternoon,42.60821600000002 -2030,7,gas,all-year.early-peak,-1.0661280000000002 -2030,7,electricity,all-year.early-peak,0.6384000000000002 -2030,7,CO2f,all-year.early-peak,58.522128000000016 -2030,7,gas,all-year.late-peak,-1.0661280000000002 -2030,7,electricity,all-year.late-peak,0.6384000000000002 -2030,7,CO2f,all-year.late-peak,58.522128000000016 -2030,7,gas,all-year.evening,-1.0661280000000002 -2030,7,electricity,all-year.evening,0.6384000000000002 -2030,7,CO2f,all-year.evening,58.522128000000016 -2030,8,gas,all-year.night,0.1595696000000003 -2030,8,gas,all-year.morning,0.38431680000000007 -2030,8,gas,all-year.afternoon,0.1595696000000003 -2030,8,gas,all-year.early-peak,0.38431680000000007 -2030,8,gas,all-year.late-peak,0.38431680000000007 -2030,8,gas,all-year.evening,0.38431680000000007 -2030,9,electricity,all-year.night,-0.6640000000000001 -2030,9,heat,all-year.night,1.6600000000000001 -2030,9,electricity,all-year.morning,-0.8748 -2030,9,heat,all-year.morning,2.187 -2030,9,electricity,all-year.afternoon,-0.6640000000000001 -2030,9,heat,all-year.afternoon,1.6600000000000001 -2030,9,electricity,all-year.early-peak,-0.8748 -2030,9,heat,all-year.early-peak,2.187 -2030,9,electricity,all-year.late-peak,-0.8748 -2030,9,heat,all-year.late-peak,2.187 -2030,9,electricity,all-year.evening,-0.8748 -2030,9,heat,all-year.evening,2.187 -2030,10,electricity,all-year.night,-0.19920000000000004 -2030,10,heat,all-year.night,0.49800000000000005 -2030,10,electricity,all-year.morning,-0.19920000000000004 -2030,10,heat,all-year.morning,0.49800000000000005 -2030,10,electricity,all-year.afternoon,-0.19920000000000004 -2030,10,heat,all-year.afternoon,0.49800000000000005 -2030,10,electricity,all-year.early-peak,-0.19920000000000004 -2030,10,heat,all-year.early-peak,0.49800000000000005 -2030,10,electricity,all-year.late-peak,-0.19920000000000004 -2030,10,heat,all-year.late-peak,0.49800000000000005 -2030,10,electricity,all-year.evening,-0.19920000000000004 -2030,10,heat,all-year.evening,0.49800000000000005 -2030,11,gas,all-year.night,-0.0 -2030,11,electricity,all-year.night,0.0 -2030,11,CO2f,all-year.night,0.0 -2030,11,gas,all-year.morning,-0.0 -2030,11,electricity,all-year.morning,0.0 -2030,11,CO2f,all-year.morning,0.0 -2030,11,gas,all-year.afternoon,-0.0 -2030,11,electricity,all-year.afternoon,0.0 -2030,11,CO2f,all-year.afternoon,0.0 -2030,11,gas,all-year.early-peak,-0.0 -2030,11,electricity,all-year.early-peak,0.0 -2030,11,CO2f,all-year.early-peak,0.0 -2030,11,gas,all-year.late-peak,-1.4609160000000008 -2030,11,electricity,all-year.late-peak,0.8748000000000005 -2030,11,CO2f,all-year.late-peak,80.19291600000004 -2030,11,gas,all-year.evening,-0.3520360000000008 -2030,11,electricity,all-year.evening,0.2108000000000005 -2030,11,CO2f,all-year.evening,19.324036000000046 -2030,12,gas,all-year.night,-0.33266399999999985 -2030,12,electricity,all-year.night,0.19919999999999993 -2030,12,CO2f,all-year.night,18.260663999999995 -2030,12,gas,all-year.morning,-0.33266399999999985 -2030,12,electricity,all-year.morning,0.19919999999999993 -2030,12,CO2f,all-year.morning,18.260663999999995 -2030,12,gas,all-year.afternoon,-0.33266399999999985 -2030,12,electricity,all-year.afternoon,0.19919999999999993 -2030,12,CO2f,all-year.afternoon,18.260663999999995 -2030,12,gas,all-year.early-peak,-0.33266399999999985 -2030,12,electricity,all-year.early-peak,0.19919999999999993 -2030,12,CO2f,all-year.early-peak,18.260663999999995 -2030,12,gas,all-year.late-peak,-0.33266399999999985 -2030,12,electricity,all-year.late-peak,0.19919999999999993 -2030,12,CO2f,all-year.late-peak,18.260663999999995 -2030,12,gas,all-year.evening,-0.33266399999999985 -2030,12,electricity,all-year.evening,0.19919999999999993 -2030,12,CO2f,all-year.evening,18.260663999999995 -2030,13,gas,all-year.night,0.9493103999999999 -2030,13,gas,all-year.morning,0.9493103999999999 -2030,13,gas,all-year.afternoon,0.9493103999999999 -2030,13,gas,all-year.early-peak,0.9493103999999999 -2030,13,gas,all-year.late-peak,0.9493103999999999 -2030,13,gas,all-year.evening,0.9493103999999999 -2035,0,gas,all-year.night,-0.0 -2035,0,gas,all-year.morning,-0.0 -2035,0,gas,all-year.afternoon,-0.0 -2035,0,gas,all-year.early-peak,-0.0 -2035,0,gas,all-year.late-peak,1.7414760000000005 -2035,0,gas,all-year.evening,0.4054760000000006 -2035,2,gas,all-year.night,0.0 -2035,2,gas,all-year.morning,0.0 -2035,2,gas,all-year.afternoon,0.0 -2035,2,gas,all-year.early-peak,0.0 -2035,2,gas,all-year.late-peak,3.4101744 -2035,2,gas,all-year.evening,1.0901744 +2030,6,wind,all-year.night,-0.6640000000000001 +2030,6,electricity,all-year.night,0.6640000000000001 +2030,6,wind,all-year.morning,-0.5312000000000008 +2030,6,electricity,all-year.morning,0.5312000000000008 +2030,6,wind,all-year.afternoon,-0.6640000000000001 +2030,6,electricity,all-year.afternoon,0.6640000000000001 +2030,6,wind,all-year.early-peak,-0.0 +2030,6,electricity,all-year.early-peak,0.0 +2030,6,wind,all-year.late-peak,-0.0 +2030,6,electricity,all-year.late-peak,0.0 +2030,6,wind,all-year.evening,-0.0 +2030,6,electricity,all-year.evening,0.0 +2030,7,gas,all-year.night,-0.0 +2030,7,electricity,all-year.night,0.0 +2030,7,CO2f,all-year.night,0.0 +2030,7,gas,all-year.morning,-0.0 +2030,7,electricity,all-year.morning,0.0 +2030,7,CO2f,all-year.morning,0.0 +2030,7,gas,all-year.afternoon,-0.0 +2030,7,electricity,all-year.afternoon,0.0 +2030,7,CO2f,all-year.afternoon,0.0 +2030,7,gas,all-year.early-peak,-0.0 +2030,7,electricity,all-year.early-peak,0.0 +2030,7,CO2f,all-year.early-peak,0.0 +2030,7,gas,all-year.late-peak,-0.0 +2030,7,electricity,all-year.late-peak,0.0 +2030,7,CO2f,all-year.late-peak,0.0 +2030,7,gas,all-year.evening,-0.0 +2030,7,electricity,all-year.evening,0.0 +2030,7,CO2f,all-year.evening,0.0 +2030,8,gas,all-year.night,-1.0317660800000001 +2030,8,electricity,all-year.night,0.6178240000000002 +2030,8,CO2f,all-year.night,56.63592608000001 +2030,8,gas,all-year.morning,-0.7471713600000003 +2030,8,electricity,all-year.morning,0.4474080000000002 +2030,8,CO2f,all-year.morning,41.01389136000002 +2030,8,gas,all-year.afternoon,-1.066128 +2030,8,electricity,all-year.afternoon,0.6384 +2030,8,CO2f,all-year.afternoon,58.522127999999995 +2030,8,gas,all-year.early-peak,-1.066128 +2030,8,electricity,all-year.early-peak,0.6384 +2030,8,CO2f,all-year.early-peak,58.522127999999995 +2030,8,gas,all-year.late-peak,-0.9165713760000004 +2030,8,electricity,all-year.late-peak,0.5488451353293415 +2030,8,CO2f,all-year.late-peak,50.31263355564074 +2030,8,gas,all-year.evening,-0.8319106079999999 +2030,8,electricity,all-year.evening,0.4981500646706587 +2030,8,CO2f,all-year.evening,45.665416428359286 +2030,9,wind,all-year.night,-0.0 +2030,9,electricity,all-year.night,0.0 +2030,9,wind,all-year.morning,-0.30643199999999987 +2030,9,electricity,all-year.morning,0.30643199999999987 +2030,9,wind,all-year.afternoon,-0.0 +2030,9,electricity,all-year.afternoon,0.0 +2030,9,wind,all-year.early-peak,-0.11544000000000014 +2030,9,electricity,all-year.early-peak,0.11544000000000014 +2030,9,wind,all-year.late-peak,-0.08955486467065843 +2030,9,electricity,all-year.late-peak,0.08955486467065843 +2030,9,wind,all-year.evening,-0.22400993532934133 +2030,9,electricity,all-year.evening,0.22400993532934133 +2030,10,electricity,all-year.night,-0.6640000000000001 +2030,10,heat,all-year.night,1.6600000000000001 +2030,10,electricity,all-year.morning,-0.8748 +2030,10,heat,all-year.morning,2.187 +2030,10,electricity,all-year.afternoon,-0.6640000000000001 +2030,10,heat,all-year.afternoon,1.6600000000000001 +2030,10,electricity,all-year.early-peak,-0.8748 +2030,10,heat,all-year.early-peak,2.187 +2030,10,electricity,all-year.late-peak,-0.8748 +2030,10,heat,all-year.late-peak,2.187 +2030,10,electricity,all-year.evening,-0.8748 +2030,10,heat,all-year.evening,2.187 +2030,11,electricity,all-year.night,-0.19920000000000004 +2030,11,heat,all-year.night,0.49800000000000005 +2030,11,electricity,all-year.morning,-0.19920000000000004 +2030,11,heat,all-year.morning,0.49800000000000005 +2030,11,electricity,all-year.afternoon,-0.19920000000000004 +2030,11,heat,all-year.afternoon,0.49800000000000005 +2030,11,electricity,all-year.early-peak,-0.19920000000000004 +2030,11,heat,all-year.early-peak,0.49800000000000005 +2030,11,electricity,all-year.late-peak,-0.19920000000000004 +2030,11,heat,all-year.late-peak,0.49800000000000005 +2030,11,electricity,all-year.evening,-0.19920000000000004 +2030,11,heat,all-year.evening,0.49800000000000005 +2030,12,wind,all-year.night,-0.0 +2030,12,electricity,all-year.night,0.0 +2030,12,wind,all-year.morning,-0.46479999999999944 +2030,12,electricity,all-year.morning,0.46479999999999944 +2030,12,wind,all-year.afternoon,-0.0 +2030,12,electricity,all-year.afternoon,0.0 +2030,12,wind,all-year.early-peak,-0.9960000000000002 +2030,12,electricity,all-year.early-peak,0.9960000000000002 +2030,12,wind,all-year.late-peak,-1.9920000000000002 +2030,12,electricity,all-year.late-peak,1.9920000000000002 +2030,12,wind,all-year.evening,-1.3280000000000003 +2030,12,electricity,all-year.evening,1.3280000000000003 +2030,13,gas,all-year.night,-0.0 +2030,13,electricity,all-year.night,0.0 +2030,13,CO2f,all-year.night,0.0 +2030,13,gas,all-year.morning,-0.1398792 +2030,13,electricity,all-year.morning,0.08376000000000001 +2030,13,CO2f,all-year.morning,7.678279200000001 +2030,13,gas,all-year.afternoon,-0.0427520000000003 +2030,13,electricity,all-year.afternoon,0.025600000000000178 +2030,13,CO2f,all-year.afternoon,2.3467520000000164 +2030,13,gas,all-year.early-peak,-0.1398792 +2030,13,electricity,all-year.early-peak,0.08376000000000001 +2030,13,CO2f,all-year.early-peak,7.678279200000001 +2030,13,gas,all-year.late-peak,-0.1398792 +2030,13,electricity,all-year.late-peak,0.08376000000000001 +2030,13,CO2f,all-year.late-peak,7.678279200000001 +2030,13,gas,all-year.evening,-0.0 +2030,13,electricity,all-year.evening,0.0 +2030,13,CO2f,all-year.evening,0.0 +2030,14,wind,all-year.night,-0.046176000000000064 +2030,14,electricity,all-year.night,0.046176000000000064 +2030,14,wind,all-year.morning,-0.0 +2030,14,electricity,all-year.morning,0.0 +2030,14,wind,all-year.afternoon,-0.0 +2030,14,electricity,all-year.afternoon,0.0 +2030,14,wind,all-year.early-peak,-0.0 +2030,14,electricity,all-year.early-peak,0.0 +2030,14,wind,all-year.late-peak,-0.11544000000000014 +2030,14,electricity,all-year.late-peak,0.11544000000000014 +2030,14,wind,all-year.evening,-0.11544000000000014 +2030,14,electricity,all-year.evening,0.11544000000000014 +2030,15,gas,all-year.night,0.16168103040000026 +2030,15,gas,all-year.morning,0.4042025760000001 +2030,15,gas,all-year.afternoon,0.4042025760000001 +2030,15,gas,all-year.early-peak,0.4042025760000001 +2030,15,gas,all-year.late-peak,0.4042025760000001 +2030,15,gas,all-year.evening,0.4042025760000001 +2035,2,gas,all-year.night,0.6834403680000004 +2035,2,gas,all-year.morning,2.40504944 +2035,2,gas,all-year.afternoon,1.336 +2035,2,gas,all-year.early-peak,2.40504944 +2035,2,gas,all-year.late-peak,4.000008 +2035,2,gas,all-year.evening,1.0378019167999997 2035,3,gas,all-year.night,-0.0 2035,3,heat,all-year.night,0.0 2035,3,CO2f,all-year.night,0.0 -2035,3,gas,all-year.morning,-0.19334068000000046 -2035,3,heat,all-year.morning,0.1666730000000004 -2035,3,CO2f,all-year.morning,10.785409830000026 +2035,3,gas,all-year.morning,-0.1933406800000006 +2035,3,heat,all-year.morning,0.16667300000000052 +2035,3,CO2f,all-year.morning,10.785409830000033 2035,3,gas,all-year.afternoon,-0.0 2035,3,heat,all-year.afternoon,0.0 2035,3,CO2f,all-year.afternoon,0.0 -2035,3,gas,all-year.early-peak,-0.19334068000000046 -2035,3,heat,all-year.early-peak,0.1666730000000004 -2035,3,CO2f,all-year.early-peak,10.785409830000026 +2035,3,gas,all-year.early-peak,-0.1933406800000006 +2035,3,heat,all-year.early-peak,0.16667300000000052 +2035,3,CO2f,all-year.early-peak,10.785409830000033 2035,3,gas,all-year.late-peak,-3.67334068 2035,3,heat,all-year.late-peak,3.1666730000000003 2035,3,CO2f,all-year.late-peak,204.91540983 @@ -365,186 +407,222 @@ milestone_year,asset_id,commodity_id,time_slice,flow 2035,5,heat,all-year.late-peak,1.596 2035,5,electricity,all-year.evening,-0.6384000000000001 2035,5,heat,all-year.evening,1.596 -2035,6,wind,all-year.night,-1.1171999999999997 -2035,6,electricity,all-year.night,1.1171999999999997 -2035,6,wind,all-year.morning,-1.1171999999999997 -2035,6,electricity,all-year.morning,1.1171999999999997 -2035,6,wind,all-year.afternoon,-1.1171999999999997 -2035,6,electricity,all-year.afternoon,1.1171999999999997 -2035,6,wind,all-year.early-peak,-1.1171999999999997 -2035,6,electricity,all-year.early-peak,1.1171999999999997 -2035,6,wind,all-year.late-peak,-1.1171999999999997 -2035,6,electricity,all-year.late-peak,1.1171999999999997 -2035,6,wind,all-year.evening,-1.1171999999999997 -2035,6,electricity,all-year.evening,1.1171999999999997 -2035,7,gas,all-year.night,-1.0033360000000002 -2035,7,electricity,all-year.night,0.6008000000000001 -2035,7,CO2f,all-year.night,55.075336000000014 -2035,7,gas,all-year.morning,-1.0661280000000002 -2035,7,electricity,all-year.morning,0.6384000000000002 -2035,7,CO2f,all-year.morning,58.522128000000016 -2035,7,gas,all-year.afternoon,-1.0033360000000002 -2035,7,electricity,all-year.afternoon,0.6008000000000001 -2035,7,CO2f,all-year.afternoon,55.075336000000014 -2035,7,gas,all-year.early-peak,-1.0661280000000002 -2035,7,electricity,all-year.early-peak,0.6384000000000002 -2035,7,CO2f,all-year.early-peak,58.522128000000016 -2035,7,gas,all-year.late-peak,-1.0661280000000002 -2035,7,electricity,all-year.late-peak,0.6384000000000002 -2035,7,CO2f,all-year.late-peak,58.522128000000016 -2035,7,gas,all-year.evening,-1.0661280000000002 -2035,7,electricity,all-year.evening,0.6384000000000002 -2035,7,CO2f,all-year.evening,58.522128000000016 -2035,8,gas,all-year.night,0.0 -2035,8,gas,all-year.morning,0.3144912000000001 -2035,8,gas,all-year.afternoon,0.0 -2035,8,gas,all-year.early-peak,0.3144912000000001 -2035,8,gas,all-year.late-peak,0.38431680000000007 -2035,8,gas,all-year.evening,0.38431680000000007 -2035,9,electricity,all-year.night,-0.3920000000000002 -2035,9,heat,all-year.night,0.9800000000000004 -2035,9,electricity,all-year.morning,-0.7920000000000003 -2035,9,heat,all-year.morning,1.9800000000000004 -2035,9,electricity,all-year.afternoon,-0.3920000000000002 -2035,9,heat,all-year.afternoon,0.9800000000000004 -2035,9,electricity,all-year.early-peak,-0.7920000000000003 -2035,9,heat,all-year.early-peak,1.9800000000000004 -2035,9,electricity,all-year.late-peak,-0.8748 -2035,9,heat,all-year.late-peak,2.187 -2035,9,electricity,all-year.evening,-0.8748 -2035,9,heat,all-year.evening,2.187 -2035,10,electricity,all-year.night,-0.19920000000000004 -2035,10,heat,all-year.night,0.49800000000000005 -2035,10,electricity,all-year.morning,-0.19920000000000004 -2035,10,heat,all-year.morning,0.49800000000000005 -2035,10,electricity,all-year.afternoon,-0.19920000000000004 -2035,10,heat,all-year.afternoon,0.49800000000000005 -2035,10,electricity,all-year.early-peak,-0.19920000000000004 -2035,10,heat,all-year.early-peak,0.49800000000000005 -2035,10,electricity,all-year.late-peak,-0.19920000000000004 -2035,10,heat,all-year.late-peak,0.49800000000000005 -2035,10,electricity,all-year.evening,-0.19920000000000004 -2035,10,heat,all-year.evening,0.49800000000000005 -2035,11,gas,all-year.night,-0.0 -2035,11,electricity,all-year.night,0.0 -2035,11,CO2f,all-year.night,0.0 -2035,11,gas,all-year.morning,-0.0 -2035,11,electricity,all-year.morning,0.0 -2035,11,CO2f,all-year.morning,0.0 -2035,11,gas,all-year.afternoon,-0.0 -2035,11,electricity,all-year.afternoon,0.0 -2035,11,CO2f,all-year.afternoon,0.0 -2035,11,gas,all-year.early-peak,-0.0 -2035,11,electricity,all-year.early-peak,0.0 -2035,11,CO2f,all-year.early-peak,0.0 -2035,11,gas,all-year.late-peak,-1.460916 -2035,11,electricity,all-year.late-peak,0.8748000000000001 -2035,11,CO2f,all-year.late-peak,80.19291600000001 -2035,11,gas,all-year.evening,-0.12491600000000033 -2035,11,electricity,all-year.evening,0.0748000000000002 -2035,11,CO2f,all-year.evening,6.856916000000019 -2035,12,gas,all-year.night,-0.33266399999999985 -2035,12,electricity,all-year.night,0.19919999999999993 -2035,12,CO2f,all-year.night,18.260663999999995 -2035,12,gas,all-year.morning,-0.33266399999999985 -2035,12,electricity,all-year.morning,0.19919999999999993 -2035,12,CO2f,all-year.morning,18.260663999999995 -2035,12,gas,all-year.afternoon,-0.33266399999999985 -2035,12,electricity,all-year.afternoon,0.19919999999999993 -2035,12,CO2f,all-year.afternoon,18.260663999999995 -2035,12,gas,all-year.early-peak,-0.33266399999999985 -2035,12,electricity,all-year.early-peak,0.19919999999999993 -2035,12,CO2f,all-year.early-peak,18.260663999999995 -2035,12,gas,all-year.late-peak,-0.33266399999999985 -2035,12,electricity,all-year.late-peak,0.19919999999999993 -2035,12,CO2f,all-year.late-peak,18.260663999999995 -2035,12,gas,all-year.evening,-0.33266399999999985 -2035,12,electricity,all-year.evening,0.19919999999999993 -2035,12,CO2f,all-year.evening,18.260663999999995 -2035,13,gas,all-year.night,0.15004960000000023 -2035,13,gas,all-year.morning,0.9493103999999999 -2035,13,gas,all-year.afternoon,0.15004960000000023 -2035,13,gas,all-year.early-peak,0.9493103999999999 -2035,13,gas,all-year.late-peak,0.9493103999999999 -2035,13,gas,all-year.evening,0.9493103999999999 -2035,14,electricity,all-year.night,-0.40799999999999986 -2035,14,heat,all-year.night,1.0199999999999996 -2035,14,electricity,all-year.morning,-0.40799999999999986 -2035,14,heat,all-year.morning,1.0199999999999996 -2035,14,electricity,all-year.afternoon,-0.40799999999999986 -2035,14,heat,all-year.afternoon,1.0199999999999996 -2035,14,electricity,all-year.early-peak,-0.40799999999999986 -2035,14,heat,all-year.early-peak,1.0199999999999996 -2035,14,electricity,all-year.late-peak,-0.40799999999999986 -2035,14,heat,all-year.late-peak,1.0199999999999996 -2035,14,electricity,all-year.evening,-0.40799999999999986 -2035,14,heat,all-year.evening,1.0199999999999996 -2035,15,gas,all-year.night,-0.0 -2035,15,heat,all-year.night,0.0 -2035,15,CO2f,all-year.night,0.0 -2035,15,gas,all-year.morning,-0.8576193199999994 -2035,15,heat,all-year.morning,0.7393269999999995 -2035,15,CO2f,all-year.morning,47.841850169999965 -2035,15,gas,all-year.afternoon,-0.0 -2035,15,heat,all-year.afternoon,0.0 -2035,15,CO2f,all-year.afternoon,0.0 -2035,15,gas,all-year.early-peak,-0.8576193199999994 -2035,15,heat,all-year.early-peak,0.7393269999999995 -2035,15,CO2f,all-year.early-peak,47.841850169999965 -2035,15,gas,all-year.late-peak,-0.8576193199999994 -2035,15,heat,all-year.late-peak,0.7393269999999995 -2035,15,CO2f,all-year.late-peak,47.841850169999965 -2035,15,gas,all-year.evening,-0.8576193199999994 -2035,15,heat,all-year.evening,0.7393269999999995 -2035,15,CO2f,all-year.evening,47.841850169999965 -2035,16,wind,all-year.night,-0.24000000000000005 -2035,16,electricity,all-year.night,0.24000000000000005 -2035,16,wind,all-year.morning,-0.24000000000000005 -2035,16,electricity,all-year.morning,0.24000000000000005 -2035,16,wind,all-year.afternoon,-0.24000000000000005 -2035,16,electricity,all-year.afternoon,0.24000000000000005 -2035,16,wind,all-year.early-peak,-0.24000000000000005 -2035,16,electricity,all-year.early-peak,0.24000000000000005 -2035,16,wind,all-year.late-peak,-0.24000000000000005 -2035,16,electricity,all-year.late-peak,0.24000000000000005 -2035,16,wind,all-year.evening,-0.24000000000000005 -2035,16,electricity,all-year.evening,0.24000000000000005 +2035,6,wind,all-year.night,-0.0 +2035,6,electricity,all-year.night,0.0 +2035,6,wind,all-year.morning,-1.1172 +2035,6,electricity,all-year.morning,1.1172 +2035,6,wind,all-year.afternoon,-0.8 +2035,6,electricity,all-year.afternoon,0.8 +2035,6,wind,all-year.early-peak,-0.0 +2035,6,electricity,all-year.early-peak,0.0 +2035,6,wind,all-year.late-peak,-0.40800000000000036 +2035,6,electricity,all-year.late-peak,0.40800000000000036 +2035,6,wind,all-year.evening,-0.0 +2035,6,electricity,all-year.evening,0.0 +2035,7,gas,all-year.night,-0.0 +2035,7,electricity,all-year.night,0.0 +2035,7,CO2f,all-year.night,0.0 +2035,7,gas,all-year.morning,-0.0 +2035,7,electricity,all-year.morning,0.0 +2035,7,CO2f,all-year.morning,0.0 +2035,7,gas,all-year.afternoon,-0.0 +2035,7,electricity,all-year.afternoon,0.0 +2035,7,CO2f,all-year.afternoon,0.0 +2035,7,gas,all-year.early-peak,-0.0 +2035,7,electricity,all-year.early-peak,0.0 +2035,7,CO2f,all-year.early-peak,0.0 +2035,7,gas,all-year.late-peak,-0.0 +2035,7,electricity,all-year.late-peak,0.0 +2035,7,CO2f,all-year.late-peak,0.0 +2035,7,gas,all-year.evening,-0.0 +2035,7,electricity,all-year.evening,0.0 +2035,7,CO2f,all-year.evening,0.0 +2035,8,gas,all-year.night,-1.066128 +2035,8,electricity,all-year.night,0.6384 +2035,8,CO2f,all-year.night,58.522127999999995 +2035,8,gas,all-year.morning,-1.066128 +2035,8,electricity,all-year.morning,0.6384 +2035,8,CO2f,all-year.morning,58.522127999999995 +2035,8,gas,all-year.afternoon,-1.066128 +2035,8,electricity,all-year.afternoon,0.6384 +2035,8,CO2f,all-year.afternoon,58.522127999999995 +2035,8,gas,all-year.early-peak,-1.066128 +2035,8,electricity,all-year.early-peak,0.6384 +2035,8,CO2f,all-year.early-peak,58.522127999999995 +2035,8,gas,all-year.late-peak,-0.2664251200000003 +2035,8,electricity,all-year.late-peak,0.15953600000000018 +2035,8,CO2f,all-year.late-peak,14.624665120000017 +2035,8,gas,all-year.evening,-0.40630432000000016 +2035,8,electricity,all-year.evening,0.24329600000000012 +2035,8,CO2f,all-year.evening,22.302944320000012 +2035,9,wind,all-year.night,-0.12257280000000004 +2035,9,electricity,all-year.night,0.12257280000000004 +2035,9,wind,all-year.morning,-0.0 +2035,9,electricity,all-year.morning,0.0 +2035,9,wind,all-year.afternoon,-0.0 +2035,9,electricity,all-year.afternoon,0.0 +2035,9,wind,all-year.early-peak,-0.0 +2035,9,electricity,all-year.early-peak,0.0 +2035,9,wind,all-year.late-peak,-0.30643199999999987 +2035,9,electricity,all-year.late-peak,0.30643199999999987 +2035,9,wind,all-year.evening,-0.30643199999999987 +2035,9,electricity,all-year.evening,0.30643199999999987 +2035,10,electricity,all-year.night,-0.3920000000000002 +2035,10,heat,all-year.night,0.9800000000000004 +2035,10,electricity,all-year.morning,-0.7920000000000003 +2035,10,heat,all-year.morning,1.9800000000000004 +2035,10,electricity,all-year.afternoon,-0.3920000000000002 +2035,10,heat,all-year.afternoon,0.9800000000000004 +2035,10,electricity,all-year.early-peak,-0.7920000000000003 +2035,10,heat,all-year.early-peak,1.9800000000000004 +2035,10,electricity,all-year.late-peak,-0.8748 +2035,10,heat,all-year.late-peak,2.187 +2035,10,electricity,all-year.evening,-0.8748 +2035,10,heat,all-year.evening,2.187 +2035,11,electricity,all-year.night,-0.19920000000000004 +2035,11,heat,all-year.night,0.49800000000000005 +2035,11,electricity,all-year.morning,-0.19920000000000004 +2035,11,heat,all-year.morning,0.49800000000000005 +2035,11,electricity,all-year.afternoon,-0.19920000000000004 +2035,11,heat,all-year.afternoon,0.49800000000000005 +2035,11,electricity,all-year.early-peak,-0.19920000000000004 +2035,11,heat,all-year.early-peak,0.49800000000000005 +2035,11,electricity,all-year.late-peak,-0.19920000000000004 +2035,11,heat,all-year.late-peak,0.49800000000000005 +2035,11,electricity,all-year.evening,-0.19920000000000004 +2035,11,heat,all-year.evening,0.49800000000000005 +2035,12,wind,all-year.night,-0.0 +2035,12,electricity,all-year.night,0.0 +2035,12,wind,all-year.morning,-0.0 +2035,12,electricity,all-year.morning,0.0 +2035,12,wind,all-year.afternoon,-0.0 +2035,12,electricity,all-year.afternoon,0.0 +2035,12,wind,all-year.early-peak,-0.0 +2035,12,electricity,all-year.early-peak,0.0 +2035,12,wind,all-year.late-peak,-1.9919999999999998 +2035,12,electricity,all-year.late-peak,1.9919999999999998 +2035,12,wind,all-year.evening,-0.0 +2035,12,electricity,all-year.evening,0.0 +2035,13,gas,all-year.night,-0.0 +2035,13,electricity,all-year.night,0.0 +2035,13,CO2f,all-year.night,0.0 +2035,13,gas,all-year.morning,-0.1398792 +2035,13,electricity,all-year.morning,0.08376000000000001 +2035,13,CO2f,all-year.morning,7.678279200000001 +2035,13,gas,all-year.afternoon,-0.12178976000000015 +2035,13,electricity,all-year.afternoon,0.07292800000000009 +2035,13,CO2f,all-year.afternoon,6.685309760000008 +2035,13,gas,all-year.early-peak,-0.1398792 +2035,13,electricity,all-year.early-peak,0.08376000000000001 +2035,13,CO2f,all-year.early-peak,7.678279200000001 +2035,13,gas,all-year.late-peak,-0.1398792 +2035,13,electricity,all-year.late-peak,0.08376000000000001 +2035,13,CO2f,all-year.late-peak,7.678279200000001 +2035,13,gas,all-year.evening,-0.0 +2035,13,electricity,all-year.evening,0.0 +2035,13,CO2f,all-year.evening,0.0 +2035,14,wind,all-year.night,-0.01940799999999991 +2035,14,electricity,all-year.night,0.01940799999999991 +2035,14,wind,all-year.morning,-0.0 +2035,14,electricity,all-year.morning,0.0 +2035,14,wind,all-year.afternoon,-0.0 +2035,14,electricity,all-year.afternoon,0.0 +2035,14,wind,all-year.early-peak,-0.026768000000000153 +2035,14,electricity,all-year.early-peak,0.026768000000000153 +2035,14,wind,all-year.late-peak,-0.11544000000000014 +2035,14,electricity,all-year.late-peak,0.11544000000000014 +2035,14,wind,all-year.evening,-0.11544000000000014 +2035,14,electricity,all-year.evening,0.11544000000000014 +2035,15,gas,all-year.night,0.4042025760000001 +2035,15,gas,all-year.morning,0.0 +2035,15,gas,all-year.afternoon,0.0 +2035,15,gas,all-year.early-peak,0.0 +2035,15,gas,all-year.late-peak,0.4042025760000001 +2035,15,gas,all-year.evening,0.0 +2035,16,electricity,all-year.night,-0.40799999999999986 +2035,16,heat,all-year.night,1.0199999999999996 +2035,16,electricity,all-year.morning,-0.40799999999999986 +2035,16,heat,all-year.morning,1.0199999999999996 +2035,16,electricity,all-year.afternoon,-0.40799999999999986 +2035,16,heat,all-year.afternoon,1.0199999999999996 +2035,16,electricity,all-year.early-peak,-0.40799999999999986 +2035,16,heat,all-year.early-peak,1.0199999999999996 +2035,16,electricity,all-year.late-peak,-0.40799999999999986 +2035,16,heat,all-year.late-peak,1.0199999999999996 +2035,16,electricity,all-year.evening,-0.40799999999999986 +2035,16,heat,all-year.evening,1.0199999999999996 2035,17,gas,all-year.night,-0.0 -2035,17,electricity,all-year.night,0.0 +2035,17,heat,all-year.night,0.0 2035,17,CO2f,all-year.night,0.0 -2035,17,gas,all-year.morning,-0.0 -2035,17,electricity,all-year.morning,0.0 -2035,17,CO2f,all-year.morning,0.0 +2035,17,gas,all-year.morning,-0.8576193199999994 +2035,17,heat,all-year.morning,0.7393269999999995 +2035,17,CO2f,all-year.morning,47.841850169999965 2035,17,gas,all-year.afternoon,-0.0 -2035,17,electricity,all-year.afternoon,0.0 +2035,17,heat,all-year.afternoon,0.0 2035,17,CO2f,all-year.afternoon,0.0 -2035,17,gas,all-year.early-peak,-0.0 -2035,17,electricity,all-year.early-peak,0.0 -2035,17,CO2f,all-year.early-peak,0.0 -2035,17,gas,all-year.late-peak,-0.28056000000000025 -2035,17,electricity,all-year.late-peak,0.16800000000000015 -2035,17,CO2f,all-year.late-peak,15.400560000000015 -2035,17,gas,all-year.evening,-0.28056000000000025 -2035,17,electricity,all-year.evening,0.16800000000000015 -2035,17,CO2f,all-year.evening,15.400560000000015 -2035,18,gas,all-year.night,1.1859503999999998 -2035,18,gas,all-year.morning,1.1859503999999998 -2035,18,gas,all-year.afternoon,1.1859503999999998 -2035,18,gas,all-year.early-peak,1.1859503999999998 -2035,18,gas,all-year.late-peak,1.1859503999999998 -2035,18,gas,all-year.evening,1.1859503999999998 -2040,0,gas,all-year.night,-0.0 -2040,0,gas,all-year.morning,-0.0 -2040,0,gas,all-year.afternoon,-0.0 -2040,0,gas,all-year.early-peak,-0.0 -2040,0,gas,all-year.late-peak,1.4689320000000006 -2040,0,gas,all-year.evening,-0.0 +2035,17,gas,all-year.early-peak,-0.8576193199999994 +2035,17,heat,all-year.early-peak,0.7393269999999995 +2035,17,CO2f,all-year.early-peak,47.841850169999965 +2035,17,gas,all-year.late-peak,-0.8576193199999994 +2035,17,heat,all-year.late-peak,0.7393269999999995 +2035,17,CO2f,all-year.late-peak,47.841850169999965 +2035,17,gas,all-year.evening,-0.8576193199999994 +2035,17,heat,all-year.evening,0.7393269999999995 +2035,17,CO2f,all-year.evening,47.841850169999965 +2035,18,wind,all-year.night,-0.8 +2035,18,electricity,all-year.night,0.8 +2035,18,wind,all-year.morning,-0.0828000000000002 +2035,18,electricity,all-year.morning,0.0828000000000002 +2035,18,wind,all-year.afternoon,-0.0 +2035,18,electricity,all-year.afternoon,0.0 +2035,18,wind,all-year.early-peak,-1.2000000000000002 +2035,18,electricity,all-year.early-peak,1.2000000000000002 +2035,18,wind,all-year.late-peak,-0.0 +2035,18,electricity,all-year.late-peak,0.0 +2035,18,wind,all-year.evening,-1.6 +2035,18,electricity,all-year.evening,1.6 +2035,19,wind,all-year.night,-0.006735999999999853 +2035,19,electricity,all-year.night,0.006735999999999853 +2035,19,wind,all-year.morning,-0.026768000000000153 +2035,19,electricity,all-year.morning,0.026768000000000153 +2035,19,wind,all-year.afternoon,-0.0 +2035,19,electricity,all-year.afternoon,0.0 +2035,19,wind,all-year.early-peak,-0.0 +2035,19,electricity,all-year.early-peak,0.0 +2035,19,wind,all-year.late-peak,-0.08376000000000001 +2035,19,electricity,all-year.late-peak,0.08376000000000001 +2035,19,wind,all-year.evening,-0.08376000000000001 +2035,19,electricity,all-year.evening,0.08376000000000001 +2035,20,gas,all-year.night,-0.02151494400000053 +2035,20,electricity,all-year.night,0.012883200000000317 +2035,20,CO2f,all-year.night,1.1810029440000291 +2035,20,gas,all-year.morning,-0.14808223999999998 +2035,20,electricity,all-year.morning,0.08867199999999999 +2035,20,CO2f,all-year.morning,8.128562239999999 +2035,20,gas,all-year.afternoon,-0.14808223999999998 +2035,20,electricity,all-year.afternoon,0.08867199999999999 +2035,20,CO2f,all-year.afternoon,8.128562239999999 +2035,20,gas,all-year.early-peak,-0.14808223999999998 +2035,20,electricity,all-year.early-peak,0.08867199999999999 +2035,20,CO2f,all-year.early-peak,8.128562239999999 +2035,20,gas,all-year.late-peak,-0.14808223999999998 +2035,20,electricity,all-year.late-peak,0.08867199999999999 +2035,20,CO2f,all-year.late-peak,8.128562239999999 +2035,20,gas,all-year.evening,-0.14808223999999998 +2035,20,electricity,all-year.evening,0.08867199999999999 +2035,20,CO2f,all-year.evening,8.128562239999999 +2035,21,gas,all-year.night,0.0 +2035,21,gas,all-year.morning,0.0 +2035,21,gas,all-year.afternoon,0.0 +2035,21,gas,all-year.early-peak,0.0 +2035,21,gas,all-year.late-peak,0.6811359839999991 +2035,21,gas,all-year.evening,1.7275446432000001 2040,2,gas,all-year.night,0.0 -2040,2,gas,all-year.morning,0.0 +2040,2,gas,all-year.morning,0.6183879567999997 2040,2,gas,all-year.afternoon,0.0 -2040,2,gas,all-year.early-peak,0.0 -2040,2,gas,all-year.late-peak,3.5412420000000004 -2040,2,gas,all-year.evening,0.8384420000000005 +2040,2,gas,all-year.early-peak,0.1259680207999998 +2040,2,gas,all-year.late-peak,4.000008 +2040,2,gas,all-year.evening,3.6401750240000004 2040,3,gas,all-year.night,-0.0 2040,3,heat,all-year.night,0.0 2040,3,CO2f,all-year.night,0.0 @@ -571,10 +649,10 @@ milestone_year,asset_id,commodity_id,time_slice,flow 2040,4,heat,all-year.afternoon,0.0 2040,4,electricity,all-year.early-peak,-0.0 2040,4,heat,all-year.early-peak,0.0 -2040,4,electricity,all-year.late-peak,-0.9540000000000005 -2040,4,heat,all-year.late-peak,2.385000000000001 -2040,4,electricity,all-year.evening,-0.02200000000000024 -2040,4,heat,all-year.evening,0.055000000000000604 +2040,4,electricity,all-year.late-peak,-1.1172000000000002 +2040,4,heat,all-year.late-peak,2.7930000000000006 +2040,4,electricity,all-year.evening,-0.18520000000000023 +2040,4,heat,all-year.evening,0.4630000000000005 2040,5,electricity,all-year.night,-0.45320000000000005 2040,5,heat,all-year.night,1.133 2040,5,electricity,all-year.morning,-0.6384000000000001 @@ -587,264 +665,294 @@ milestone_year,asset_id,commodity_id,time_slice,flow 2040,5,heat,all-year.late-peak,1.596 2040,5,electricity,all-year.evening,-0.6384000000000001 2040,5,heat,all-year.evening,1.596 -2040,6,wind,all-year.night,-1.1171999999999997 -2040,6,electricity,all-year.night,1.1171999999999997 -2040,6,wind,all-year.morning,-1.1171999999999997 -2040,6,electricity,all-year.morning,1.1171999999999997 -2040,6,wind,all-year.afternoon,-1.1171999999999997 -2040,6,electricity,all-year.afternoon,1.1171999999999997 -2040,6,wind,all-year.early-peak,-1.1171999999999997 -2040,6,electricity,all-year.early-peak,1.1171999999999997 -2040,6,wind,all-year.late-peak,-1.1171999999999997 -2040,6,electricity,all-year.late-peak,1.1171999999999997 -2040,6,wind,all-year.evening,-1.1171999999999997 -2040,6,electricity,all-year.evening,1.1171999999999997 -2040,7,gas,all-year.night,-0.7568440000000002 -2040,7,electricity,all-year.night,0.4532000000000001 -2040,7,CO2f,all-year.night,41.54484400000001 -2040,7,gas,all-year.morning,-1.0661280000000002 -2040,7,electricity,all-year.morning,0.6384000000000001 -2040,7,CO2f,all-year.morning,58.52212800000001 -2040,7,gas,all-year.afternoon,-0.7568440000000002 -2040,7,electricity,all-year.afternoon,0.4532000000000001 -2040,7,CO2f,all-year.afternoon,41.54484400000001 -2040,7,gas,all-year.early-peak,-1.0661280000000002 -2040,7,electricity,all-year.early-peak,0.6384000000000001 -2040,7,CO2f,all-year.early-peak,58.52212800000001 -2040,7,gas,all-year.late-peak,-1.0661280000000002 -2040,7,electricity,all-year.late-peak,0.6384000000000002 -2040,7,CO2f,all-year.late-peak,58.522128000000016 -2040,7,gas,all-year.evening,-1.0661280000000002 -2040,7,electricity,all-year.evening,0.6384000000000002 -2040,7,CO2f,all-year.evening,58.522128000000016 -2040,8,gas,all-year.night,0.0 -2040,8,gas,all-year.morning,0.0 -2040,8,gas,all-year.afternoon,0.0 -2040,8,gas,all-year.early-peak,0.0 -2040,8,gas,all-year.late-peak,0.38431680000000007 -2040,8,gas,all-year.evening,0.38431680000000007 -2040,9,electricity,all-year.night,-0.0 -2040,9,heat,all-year.night,0.0 -2040,9,electricity,all-year.morning,-0.4308000000000002 -2040,9,heat,all-year.morning,1.0770000000000004 -2040,9,electricity,all-year.afternoon,-0.0 -2040,9,heat,all-year.afternoon,0.0 -2040,9,electricity,all-year.early-peak,-0.4308000000000002 -2040,9,heat,all-year.early-peak,1.0770000000000004 -2040,9,electricity,all-year.late-peak,-0.8748 -2040,9,heat,all-year.late-peak,2.187 -2040,9,electricity,all-year.evening,-0.8748 -2040,9,heat,all-year.evening,2.187 -2040,10,electricity,all-year.night,-0.19920000000000004 -2040,10,heat,all-year.night,0.49800000000000005 -2040,10,electricity,all-year.morning,-0.19920000000000004 -2040,10,heat,all-year.morning,0.49800000000000005 -2040,10,electricity,all-year.afternoon,-0.19920000000000004 -2040,10,heat,all-year.afternoon,0.49800000000000005 -2040,10,electricity,all-year.early-peak,-0.19920000000000004 -2040,10,heat,all-year.early-peak,0.49800000000000005 -2040,10,electricity,all-year.late-peak,-0.19920000000000004 -2040,10,heat,all-year.late-peak,0.49800000000000005 -2040,10,electricity,all-year.evening,-0.19920000000000004 -2040,10,heat,all-year.evening,0.49800000000000005 -2040,11,gas,all-year.night,-0.0 -2040,11,electricity,all-year.night,0.0 -2040,11,CO2f,all-year.night,0.0 -2040,11,gas,all-year.morning,-0.0 -2040,11,electricity,all-year.morning,0.0 -2040,11,CO2f,all-year.morning,0.0 -2040,11,gas,all-year.afternoon,-0.0 -2040,11,electricity,all-year.afternoon,0.0 -2040,11,CO2f,all-year.afternoon,0.0 -2040,11,gas,all-year.early-peak,-0.0 -2040,11,electricity,all-year.early-peak,0.0 -2040,11,CO2f,all-year.early-peak,0.0 -2040,11,gas,all-year.late-peak,-1.1883720000000004 -2040,11,electricity,all-year.late-peak,0.7116000000000003 -2040,11,CO2f,all-year.late-peak,65.23237200000003 -2040,11,gas,all-year.evening,-0.0 -2040,11,electricity,all-year.evening,0.0 -2040,11,CO2f,all-year.evening,0.0 -2040,12,gas,all-year.night,-0.33266399999999985 -2040,12,electricity,all-year.night,0.19919999999999993 -2040,12,CO2f,all-year.night,18.260663999999995 -2040,12,gas,all-year.morning,-0.33266399999999985 -2040,12,electricity,all-year.morning,0.19919999999999993 -2040,12,CO2f,all-year.morning,18.260663999999995 -2040,12,gas,all-year.afternoon,-0.33266399999999985 -2040,12,electricity,all-year.afternoon,0.19919999999999993 -2040,12,CO2f,all-year.afternoon,18.260663999999995 -2040,12,gas,all-year.early-peak,-0.33266399999999985 -2040,12,electricity,all-year.early-peak,0.19919999999999993 -2040,12,CO2f,all-year.early-peak,18.260663999999995 -2040,12,gas,all-year.late-peak,-0.33266399999999985 -2040,12,electricity,all-year.late-peak,0.19919999999999993 -2040,12,CO2f,all-year.late-peak,18.260663999999995 -2040,12,gas,all-year.evening,-0.33266399999999985 -2040,12,electricity,all-year.evening,0.19919999999999993 -2040,12,CO2f,all-year.evening,18.260663999999995 -2040,13,gas,all-year.night,0.0 -2040,13,gas,all-year.morning,0.8206692 -2040,13,gas,all-year.afternoon,0.0 -2040,13,gas,all-year.early-peak,0.8206692 -2040,13,gas,all-year.late-peak,0.9493103999999999 -2040,13,gas,all-year.evening,0.9493103999999999 -2040,14,electricity,all-year.night,-0.3728 -2040,14,heat,all-year.night,0.9319999999999999 -2040,14,electricity,all-year.morning,-0.40799999999999986 -2040,14,heat,all-year.morning,1.0199999999999996 -2040,14,electricity,all-year.afternoon,-0.3728 -2040,14,heat,all-year.afternoon,0.9319999999999999 -2040,14,electricity,all-year.early-peak,-0.40799999999999986 -2040,14,heat,all-year.early-peak,1.0199999999999996 -2040,14,electricity,all-year.late-peak,-0.40799999999999986 -2040,14,heat,all-year.late-peak,1.0199999999999996 -2040,14,electricity,all-year.evening,-0.40799999999999986 -2040,14,heat,all-year.evening,1.0199999999999996 -2040,15,gas,all-year.night,-0.0 -2040,15,heat,all-year.night,0.0 -2040,15,CO2f,all-year.night,0.0 -2040,15,gas,all-year.morning,-0.47675999999999946 -2040,15,heat,all-year.morning,0.4109999999999996 -2040,15,CO2f,all-year.morning,26.59580999999997 -2040,15,gas,all-year.afternoon,-0.0 -2040,15,heat,all-year.afternoon,0.0 -2040,15,CO2f,all-year.afternoon,0.0 -2040,15,gas,all-year.early-peak,-0.47675999999999946 -2040,15,heat,all-year.early-peak,0.4109999999999996 -2040,15,CO2f,all-year.early-peak,26.59580999999997 -2040,15,gas,all-year.late-peak,-0.8576193199999994 -2040,15,heat,all-year.late-peak,0.7393269999999995 -2040,15,CO2f,all-year.late-peak,47.841850169999965 -2040,15,gas,all-year.evening,-0.8576193199999994 -2040,15,heat,all-year.evening,0.7393269999999995 -2040,15,CO2f,all-year.evening,47.841850169999965 -2040,16,wind,all-year.night,-0.24000000000000005 -2040,16,electricity,all-year.night,0.24000000000000005 -2040,16,wind,all-year.morning,-0.24000000000000005 -2040,16,electricity,all-year.morning,0.24000000000000005 -2040,16,wind,all-year.afternoon,-0.24000000000000005 -2040,16,electricity,all-year.afternoon,0.24000000000000005 -2040,16,wind,all-year.early-peak,-0.24000000000000005 -2040,16,electricity,all-year.early-peak,0.24000000000000005 -2040,16,wind,all-year.late-peak,-0.24000000000000005 -2040,16,electricity,all-year.late-peak,0.24000000000000005 -2040,16,wind,all-year.evening,-0.24000000000000005 -2040,16,electricity,all-year.evening,0.24000000000000005 +2040,6,wind,all-year.night,-0.0 +2040,6,electricity,all-year.night,0.0 +2040,6,wind,all-year.morning,-0.0 +2040,6,electricity,all-year.morning,0.0 +2040,6,wind,all-year.afternoon,-0.0 +2040,6,electricity,all-year.afternoon,0.0 +2040,6,wind,all-year.early-peak,-0.0 +2040,6,electricity,all-year.early-peak,0.0 +2040,6,wind,all-year.late-peak,-0.0 +2040,6,electricity,all-year.late-peak,0.0 +2040,6,wind,all-year.evening,-1.1172 +2040,6,electricity,all-year.evening,1.1172 +2040,8,gas,all-year.night,-0.43113791199999996 +2040,8,electricity,all-year.night,0.2581664143712575 +2040,8,CO2f,all-year.night,23.666115205413174 +2040,8,gas,all-year.morning,-0.28527113279999966 +2040,8,electricity,all-year.morning,0.17082103760479023 +2040,8,CO2f,all-year.morning,15.65916451723112 +2040,8,gas,all-year.afternoon,-1.066128 +2040,8,electricity,all-year.afternoon,0.6384 +2040,8,CO2f,all-year.afternoon,58.522127999999995 +2040,8,gas,all-year.early-peak,-1.066128 +2040,8,electricity,all-year.early-peak,0.6384 +2040,8,CO2f,all-year.early-peak,58.522127999999995 +2040,8,gas,all-year.late-peak,-0.8859679792000001 +2040,8,electricity,all-year.late-peak,0.5305197480239522 +2040,8,CO2f,all-year.late-peak,48.6327453013557 +2040,8,gas,all-year.evening,-1.066128 +2040,8,electricity,all-year.evening,0.6384 +2040,8,CO2f,all-year.evening,58.522127999999995 +2040,9,wind,all-year.night,-0.30643199999999987 +2040,9,electricity,all-year.night,0.30643199999999987 +2040,9,wind,all-year.morning,-0.30643199999999987 +2040,9,electricity,all-year.morning,0.30643199999999987 +2040,9,wind,all-year.afternoon,-0.0 +2040,9,electricity,all-year.afternoon,0.0 +2040,9,wind,all-year.early-peak,-0.0 +2040,9,electricity,all-year.early-peak,0.0 +2040,9,wind,all-year.late-peak,-0.0 +2040,9,electricity,all-year.late-peak,0.0 +2040,9,wind,all-year.evening,-0.12257280000000004 +2040,9,electricity,all-year.evening,0.12257280000000004 +2040,10,electricity,all-year.night,-0.1280000000000001 +2040,10,heat,all-year.night,0.3200000000000003 +2040,10,electricity,all-year.morning,-0.5940000000000002 +2040,10,heat,all-year.morning,1.4850000000000003 +2040,10,electricity,all-year.afternoon,-0.1280000000000001 +2040,10,heat,all-year.afternoon,0.3200000000000003 +2040,10,electricity,all-year.early-peak,-0.5940000000000002 +2040,10,heat,all-year.early-peak,1.4850000000000003 +2040,10,electricity,all-year.late-peak,-0.8748 +2040,10,heat,all-year.late-peak,2.187 +2040,10,electricity,all-year.evening,-0.8748 +2040,10,heat,all-year.evening,2.187 +2040,11,electricity,all-year.night,-0.19920000000000004 +2040,11,heat,all-year.night,0.49800000000000005 +2040,11,electricity,all-year.morning,-0.19920000000000004 +2040,11,heat,all-year.morning,0.49800000000000005 +2040,11,electricity,all-year.afternoon,-0.19920000000000004 +2040,11,heat,all-year.afternoon,0.49800000000000005 +2040,11,electricity,all-year.early-peak,-0.19920000000000004 +2040,11,heat,all-year.early-peak,0.49800000000000005 +2040,11,electricity,all-year.late-peak,-0.19920000000000004 +2040,11,heat,all-year.late-peak,0.49800000000000005 +2040,11,electricity,all-year.evening,-0.19920000000000004 +2040,11,heat,all-year.evening,0.49800000000000005 +2040,12,wind,all-year.night,-0.9320000000000002 +2040,12,electricity,all-year.night,0.9320000000000002 +2040,12,wind,all-year.morning,-0.0 +2040,12,electricity,all-year.morning,0.0 +2040,12,wind,all-year.afternoon,-0.0 +2040,12,electricity,all-year.afternoon,0.0 +2040,12,wind,all-year.early-peak,-0.0 +2040,12,electricity,all-year.early-peak,0.0 +2040,12,wind,all-year.late-peak,-1.5132 +2040,12,electricity,all-year.late-peak,1.5132 +2040,12,wind,all-year.evening,-0.0 +2040,12,electricity,all-year.evening,0.0 +2040,13,gas,all-year.night,-0.1398792 +2040,13,electricity,all-year.night,0.08376000000000001 +2040,13,CO2f,all-year.night,7.678279200000001 +2040,13,gas,all-year.morning,-0.1398792 +2040,13,electricity,all-year.morning,0.08376000000000001 +2040,13,CO2f,all-year.morning,7.678279200000001 +2040,13,gas,all-year.afternoon,-0.0559516800000001 +2040,13,electricity,all-year.afternoon,0.03350400000000006 +2040,13,CO2f,all-year.afternoon,3.0713116800000058 +2040,13,gas,all-year.early-peak,-0.1398792 +2040,13,electricity,all-year.early-peak,0.08376000000000001 +2040,13,CO2f,all-year.early-peak,7.678279200000001 +2040,13,gas,all-year.late-peak,-0.1398792 +2040,13,electricity,all-year.late-peak,0.08376000000000001 +2040,13,CO2f,all-year.late-peak,7.678279200000001 +2040,13,gas,all-year.evening,-0.1398792 +2040,13,electricity,all-year.evening,0.08376000000000001 +2040,13,CO2f,all-year.evening,7.678279200000001 +2040,14,wind,all-year.night,-0.00032158562874262664 +2040,14,electricity,all-year.night,0.00032158562874262664 +2040,14,wind,all-year.morning,-0.11544000000000014 +2040,14,electricity,all-year.morning,0.11544000000000014 +2040,14,wind,all-year.afternoon,-0.0 +2040,14,electricity,all-year.afternoon,0.0 +2040,14,wind,all-year.early-peak,-0.04585441437125744 +2040,14,electricity,all-year.early-peak,0.04585441437125744 +2040,14,wind,all-year.late-peak,-0.11544000000000014 +2040,14,electricity,all-year.late-peak,0.11544000000000014 +2040,14,wind,all-year.evening,-0.0 +2040,14,electricity,all-year.evening,0.0 +2040,15,gas,all-year.night,0.4042025760000001 +2040,15,gas,all-year.morning,0.4042025760000001 +2040,15,gas,all-year.afternoon,0.0 +2040,15,gas,all-year.early-peak,0.0 +2040,15,gas,all-year.late-peak,0.0 +2040,15,gas,all-year.evening,0.0 +2040,16,electricity,all-year.night,-0.40799999999999986 +2040,16,heat,all-year.night,1.0199999999999996 +2040,16,electricity,all-year.morning,-0.40799999999999986 +2040,16,heat,all-year.morning,1.0199999999999996 +2040,16,electricity,all-year.afternoon,-0.40799999999999986 +2040,16,heat,all-year.afternoon,1.0199999999999996 +2040,16,electricity,all-year.early-peak,-0.40799999999999986 +2040,16,heat,all-year.early-peak,1.0199999999999996 +2040,16,electricity,all-year.late-peak,-0.40799999999999986 +2040,16,heat,all-year.late-peak,1.0199999999999996 +2040,16,electricity,all-year.evening,-0.40799999999999986 +2040,16,heat,all-year.evening,1.0199999999999996 2040,17,gas,all-year.night,-0.0 -2040,17,electricity,all-year.night,0.0 +2040,17,heat,all-year.night,0.0 2040,17,CO2f,all-year.night,0.0 -2040,17,gas,all-year.morning,-0.0 -2040,17,electricity,all-year.morning,0.0 -2040,17,CO2f,all-year.morning,0.0 +2040,17,gas,all-year.morning,-0.47675999999999946 +2040,17,heat,all-year.morning,0.4109999999999996 +2040,17,CO2f,all-year.morning,26.59580999999997 2040,17,gas,all-year.afternoon,-0.0 -2040,17,electricity,all-year.afternoon,0.0 +2040,17,heat,all-year.afternoon,0.0 2040,17,CO2f,all-year.afternoon,0.0 -2040,17,gas,all-year.early-peak,-0.0 -2040,17,electricity,all-year.early-peak,0.0 -2040,17,CO2f,all-year.early-peak,0.0 -2040,17,gas,all-year.late-peak,-0.28056000000000025 -2040,17,electricity,all-year.late-peak,0.16800000000000015 -2040,17,CO2f,all-year.late-peak,15.400560000000015 -2040,17,gas,all-year.evening,-0.0 -2040,17,electricity,all-year.evening,0.0 -2040,17,CO2f,all-year.evening,0.0 -2040,18,gas,all-year.night,0.8830156000000001 -2040,18,gas,all-year.morning,1.1859503999999998 -2040,18,gas,all-year.afternoon,0.8830156000000001 -2040,18,gas,all-year.early-peak,1.1859503999999998 -2040,18,gas,all-year.late-peak,1.1859503999999998 -2040,18,gas,all-year.evening,1.1859503999999998 -2040,19,electricity,all-year.night,-0.5592 -2040,19,heat,all-year.night,1.3980000000000001 -2040,19,electricity,all-year.morning,-0.5592 -2040,19,heat,all-year.morning,1.3980000000000001 -2040,19,electricity,all-year.afternoon,-0.5592 -2040,19,heat,all-year.afternoon,1.3980000000000001 -2040,19,electricity,all-year.early-peak,-0.5592 -2040,19,heat,all-year.early-peak,1.3980000000000001 -2040,19,electricity,all-year.late-peak,-0.5592 -2040,19,heat,all-year.late-peak,1.3980000000000001 -2040,19,electricity,all-year.evening,-0.5592 -2040,19,heat,all-year.evening,1.3980000000000001 -2040,20,electricity,all-year.night,-0.2796 -2040,20,heat,all-year.night,0.6990000000000001 -2040,20,electricity,all-year.morning,-0.2796 -2040,20,heat,all-year.morning,0.6990000000000001 -2040,20,electricity,all-year.afternoon,-0.2796 -2040,20,heat,all-year.afternoon,0.6990000000000001 -2040,20,electricity,all-year.early-peak,-0.2796 -2040,20,heat,all-year.early-peak,0.6990000000000001 -2040,20,electricity,all-year.late-peak,-0.2796 -2040,20,heat,all-year.late-peak,0.6990000000000001 -2040,20,electricity,all-year.evening,-0.2796 -2040,20,heat,all-year.evening,0.6990000000000001 -2040,21,gas,all-year.night,-0.0 -2040,21,heat,all-year.night,0.0 -2040,21,CO2f,all-year.night,0.0 -2040,21,gas,all-year.morning,-0.3375600000000004 -2040,21,heat,all-year.morning,0.29100000000000037 -2040,21,CO2f,all-year.morning,18.83061000000002 -2040,21,gas,all-year.afternoon,-0.0 -2040,21,heat,all-year.afternoon,0.0 -2040,21,CO2f,all-year.afternoon,0.0 -2040,21,gas,all-year.early-peak,-0.3375600000000004 -2040,21,heat,all-year.early-peak,0.29100000000000037 -2040,21,CO2f,all-year.early-peak,18.83061000000002 -2040,21,gas,all-year.late-peak,-0.3375600000000004 -2040,21,heat,all-year.late-peak,0.29100000000000037 -2040,21,CO2f,all-year.late-peak,18.83061000000002 -2040,21,gas,all-year.evening,-0.3375600000000004 -2040,21,heat,all-year.evening,0.29100000000000037 -2040,21,CO2f,all-year.evening,18.83061000000002 -2040,22,wind,all-year.night,-0.5592000000000001 -2040,22,electricity,all-year.night,0.5592000000000001 -2040,22,wind,all-year.morning,-0.5592000000000001 -2040,22,electricity,all-year.morning,0.5592000000000001 -2040,22,wind,all-year.afternoon,-0.5592000000000001 -2040,22,electricity,all-year.afternoon,0.5592000000000001 -2040,22,wind,all-year.early-peak,-0.5592000000000001 -2040,22,electricity,all-year.early-peak,0.5592000000000001 -2040,22,wind,all-year.late-peak,-0.5592000000000001 -2040,22,electricity,all-year.late-peak,0.5592000000000001 -2040,22,wind,all-year.evening,-0.5592000000000001 -2040,22,electricity,all-year.evening,0.5592000000000001 -2040,23,gas,all-year.night,-0.4669320000000001 -2040,23,electricity,all-year.night,0.27960000000000007 -2040,23,CO2f,all-year.night,25.63093200000001 -2040,23,gas,all-year.morning,-0.4669320000000001 -2040,23,electricity,all-year.morning,0.27960000000000007 -2040,23,CO2f,all-year.morning,25.63093200000001 -2040,23,gas,all-year.afternoon,-0.4669320000000001 -2040,23,electricity,all-year.afternoon,0.27960000000000007 -2040,23,CO2f,all-year.afternoon,25.63093200000001 -2040,23,gas,all-year.early-peak,-0.4669320000000001 -2040,23,electricity,all-year.early-peak,0.27960000000000007 -2040,23,CO2f,all-year.early-peak,25.63093200000001 -2040,23,gas,all-year.late-peak,-0.4669320000000001 -2040,23,electricity,all-year.late-peak,0.27960000000000007 -2040,23,CO2f,all-year.late-peak,25.63093200000001 -2040,23,gas,all-year.evening,-0.4669320000000001 -2040,23,electricity,all-year.evening,0.27960000000000007 -2040,23,CO2f,all-year.evening,25.63093200000001 -2040,24,gas,all-year.night,0.6734243999999999 -2040,24,gas,all-year.morning,0.6734243999999999 -2040,24,gas,all-year.afternoon,0.6734243999999999 -2040,24,gas,all-year.early-peak,0.6734243999999999 -2040,24,gas,all-year.late-peak,0.6734243999999999 -2040,24,gas,all-year.evening,0.6734243999999999 -2045,0,gas,all-year.night,-0.0 -2045,0,gas,all-year.morning,-0.0 -2045,0,gas,all-year.afternoon,-0.0 -2045,0,gas,all-year.early-peak,-0.0 -2045,0,gas,all-year.late-peak,1.597188000000001 -2045,0,gas,all-year.evening,-0.0 +2040,17,gas,all-year.early-peak,-0.47675999999999946 +2040,17,heat,all-year.early-peak,0.4109999999999996 +2040,17,CO2f,all-year.early-peak,26.59580999999997 +2040,17,gas,all-year.late-peak,-0.8576193199999994 +2040,17,heat,all-year.late-peak,0.7393269999999995 +2040,17,CO2f,all-year.late-peak,47.841850169999965 +2040,17,gas,all-year.evening,-0.8576193199999994 +2040,17,heat,all-year.evening,0.7393269999999995 +2040,17,CO2f,all-year.evening,47.841850169999965 +2040,18,wind,all-year.night,-0.0 +2040,18,electricity,all-year.night,0.0 +2040,18,wind,all-year.morning,-1.3980000000000001 +2040,18,electricity,all-year.morning,1.3980000000000001 +2040,18,wind,all-year.afternoon,-0.0 +2040,18,electricity,all-year.afternoon,0.0 +2040,18,wind,all-year.early-peak,-1.2808799999999996 +2040,18,electricity,all-year.early-peak,1.2808799999999996 +2040,18,wind,all-year.late-peak,-0.0 +2040,18,electricity,all-year.late-peak,0.0 +2040,18,wind,all-year.evening,-0.0 +2040,18,electricity,all-year.evening,0.0 +2040,19,wind,all-year.night,-0.0 +2040,19,electricity,all-year.night,0.0 +2040,19,wind,all-year.morning,-0.07568616239520966 +2040,19,electricity,all-year.morning,0.07568616239520966 +2040,19,wind,all-year.afternoon,-0.0 +2040,19,electricity,all-year.afternoon,0.0 +2040,19,wind,all-year.early-peak,-0.06586558562874266 +2040,19,electricity,all-year.early-peak,0.06586558562874266 +2040,19,wind,all-year.late-peak,-0.05947225197604773 +2040,19,electricity,all-year.late-peak,0.05947225197604773 +2040,19,wind,all-year.evening,-0.0 +2040,19,electricity,all-year.evening,0.0 +2040,20,gas,all-year.night,-0.14808223999999998 +2040,20,electricity,all-year.night,0.08867199999999999 +2040,20,CO2f,all-year.night,8.128562239999999 +2040,20,gas,all-year.morning,-0.09801697600000014 +2040,20,electricity,all-year.morning,0.05869280000000009 +2040,20,CO2f,all-year.morning,5.380368976000008 +2040,20,gas,all-year.afternoon,-0.10929815999999996 +2040,20,electricity,all-year.afternoon,0.06544799999999998 +2040,20,CO2f,all-year.afternoon,5.999618159999998 +2040,20,gas,all-year.early-peak,-0.14808223999999998 +2040,20,electricity,all-year.early-peak,0.08867199999999999 +2040,20,CO2f,all-year.early-peak,8.128562239999999 +2040,20,gas,all-year.late-peak,-0.14808223999999998 +2040,20,electricity,all-year.late-peak,0.08867199999999999 +2040,20,CO2f,all-year.late-peak,8.128562239999999 +2040,20,gas,all-year.evening,-0.14808223999999998 +2040,20,electricity,all-year.evening,0.08867199999999999 +2040,20,CO2f,all-year.evening,8.128562239999999 +2040,21,gas,all-year.night,0.0 +2040,21,gas,all-year.morning,0.0 +2040,21,gas,all-year.afternoon,1.5564400000000003 +2040,21,gas,all-year.early-peak,1.7275446432000001 +2040,21,gas,all-year.late-peak,1.7275446432000001 +2040,21,gas,all-year.evening,0.0 +2040,22,electricity,all-year.night,-0.39600000000000013 +2040,22,heat,all-year.night,0.9900000000000002 +2040,22,electricity,all-year.morning,-0.39600000000000013 +2040,22,heat,all-year.morning,0.9900000000000002 +2040,22,electricity,all-year.afternoon,-0.39600000000000013 +2040,22,heat,all-year.afternoon,0.9900000000000002 +2040,22,electricity,all-year.early-peak,-0.39600000000000013 +2040,22,heat,all-year.early-peak,0.9900000000000002 +2040,22,electricity,all-year.late-peak,-0.39600000000000013 +2040,22,heat,all-year.late-peak,0.9900000000000002 +2040,22,electricity,all-year.evening,-0.39600000000000013 +2040,22,heat,all-year.evening,0.9900000000000002 +2040,23,electricity,all-year.night,-0.2796 +2040,23,heat,all-year.night,0.6990000000000001 +2040,23,electricity,all-year.morning,-0.2796 +2040,23,heat,all-year.morning,0.6990000000000001 +2040,23,electricity,all-year.afternoon,-0.2796 +2040,23,heat,all-year.afternoon,0.6990000000000001 +2040,23,electricity,all-year.early-peak,-0.2796 +2040,23,heat,all-year.early-peak,0.6990000000000001 +2040,23,electricity,all-year.late-peak,-0.2796 +2040,23,heat,all-year.late-peak,0.6990000000000001 +2040,23,electricity,all-year.evening,-0.2796 +2040,23,heat,all-year.evening,0.6990000000000001 +2040,24,gas,all-year.night,-0.0 +2040,24,heat,all-year.night,0.0 +2040,24,CO2f,all-year.night,0.0 +2040,24,gas,all-year.morning,-0.3375600000000004 +2040,24,heat,all-year.morning,0.29100000000000037 +2040,24,CO2f,all-year.morning,18.83061000000002 +2040,24,gas,all-year.afternoon,-0.0 +2040,24,heat,all-year.afternoon,0.0 +2040,24,CO2f,all-year.afternoon,0.0 +2040,24,gas,all-year.early-peak,-0.3375600000000004 +2040,24,heat,all-year.early-peak,0.29100000000000037 +2040,24,CO2f,all-year.early-peak,18.83061000000002 +2040,24,gas,all-year.late-peak,-0.3375600000000004 +2040,24,heat,all-year.late-peak,0.29100000000000037 +2040,24,CO2f,all-year.late-peak,18.83061000000002 +2040,24,gas,all-year.evening,-0.3375600000000004 +2040,24,heat,all-year.evening,0.29100000000000037 +2040,24,CO2f,all-year.evening,18.83061000000002 +2040,25,wind,all-year.night,-0.0 +2040,25,electricity,all-year.night,0.0 +2040,25,wind,all-year.morning,-0.0 +2040,25,electricity,all-year.morning,0.0 +2040,25,wind,all-year.afternoon,-0.9320000000000002 +2040,25,electricity,all-year.afternoon,0.9320000000000002 +2040,25,wind,all-year.early-peak,-0.11712000000000056 +2040,25,electricity,all-year.early-peak,0.11712000000000056 +2040,25,wind,all-year.late-peak,-1.2828000000000002 +2040,25,electricity,all-year.late-peak,1.2828000000000002 +2040,25,wind,all-year.evening,-0.7468000000000004 +2040,25,electricity,all-year.evening,0.7468000000000004 +2040,26,gas,all-year.night,-0.3250621600000001 +2040,26,electricity,all-year.night,0.19464800000000007 +2040,26,CO2f,all-year.night,17.843382160000008 +2040,26,gas,all-year.morning,-0.3250621600000001 +2040,26,electricity,all-year.morning,0.19464800000000007 +2040,26,CO2f,all-year.morning,17.843382160000008 +2040,26,gas,all-year.afternoon,-0.3250621600000001 +2040,26,electricity,all-year.afternoon,0.19464800000000007 +2040,26,CO2f,all-year.afternoon,17.843382160000008 +2040,26,gas,all-year.early-peak,-0.3250621600000001 +2040,26,electricity,all-year.early-peak,0.19464800000000007 +2040,26,CO2f,all-year.early-peak,17.843382160000008 +2040,26,gas,all-year.late-peak,-0.3250621600000001 +2040,26,electricity,all-year.late-peak,0.19464800000000007 +2040,26,CO2f,all-year.late-peak,17.843382160000008 +2040,26,gas,all-year.evening,-0.12036558400000019 +2040,26,electricity,all-year.evening,0.07207520000000012 +2040,26,CO2f,all-year.evening,6.607133584000011 +2040,27,wind,all-year.night,-0.0 +2040,27,electricity,all-year.night,0.0 +2040,27,wind,all-year.morning,-0.11172000000000001 +2040,27,electricity,all-year.morning,0.11172000000000001 +2040,27,wind,all-year.afternoon,-0.0 +2040,27,electricity,all-year.afternoon,0.0 +2040,27,wind,all-year.early-peak,-0.0 +2040,27,electricity,all-year.early-peak,0.0 +2040,27,wind,all-year.late-peak,-0.044688000000000005 +2040,27,electricity,all-year.late-peak,0.044688000000000005 +2040,27,wind,all-year.evening,-0.11172000000000001 +2040,27,electricity,all-year.evening,0.11172000000000001 +2040,28,gas,all-year.night,0.639958936 +2040,28,gas,all-year.morning,0.639958936 +2040,28,gas,all-year.afternoon,0.0 +2040,28,gas,all-year.early-peak,0.639958936 +2040,28,gas,all-year.late-peak,0.639958936 +2040,28,gas,all-year.evening,0.0 2045,2,gas,all-year.night,0.0 2045,2,gas,all-year.morning,0.0 2045,2,gas,all-year.afternoon,0.0 -2045,2,gas,all-year.early-peak,0.0 -2045,2,gas,all-year.late-peak,3.1131132 -2045,2,gas,all-year.evening,0.02751320000000035 +2045,2,gas,all-year.early-peak,3.2542440000000004 +2045,2,gas,all-year.late-peak,2.3587717967999993 +2045,2,gas,all-year.evening,0.0 2045,3,gas,all-year.night,-0.0 2045,3,heat,all-year.night,0.0 2045,3,CO2f,all-year.night,0.0 @@ -860,9 +968,9 @@ milestone_year,asset_id,commodity_id,time_slice,flow 2045,3,gas,all-year.late-peak,-3.67334068 2045,3,heat,all-year.late-peak,3.1666730000000003 2045,3,CO2f,all-year.late-peak,204.91540983 -2045,3,gas,all-year.evening,-0.5877406800000001 -2045,3,heat,all-year.evening,0.5066730000000002 -2045,3,CO2f,all-year.evening,32.78680983000001 +2045,3,gas,all-year.evening,-0.5877406799999999 +2045,3,heat,all-year.evening,0.5066729999999999 +2045,3,CO2f,all-year.evening,32.786809829999996 2045,4,electricity,all-year.night,-0.0 2045,4,heat,all-year.night,0.0 2045,4,electricity,all-year.morning,-0.0 @@ -871,10 +979,10 @@ milestone_year,asset_id,commodity_id,time_slice,flow 2045,4,heat,all-year.afternoon,0.0 2045,4,electricity,all-year.early-peak,-0.0 2045,4,heat,all-year.early-peak,0.0 -2045,4,electricity,all-year.late-peak,-1.0308000000000006 -2045,4,heat,all-year.late-peak,2.5770000000000013 -2045,4,electricity,all-year.evening,-0.0 -2045,4,heat,all-year.evening,0.0 +2045,4,electricity,all-year.late-peak,-1.1172000000000002 +2045,4,heat,all-year.late-peak,2.7930000000000006 +2045,4,electricity,all-year.evening,-0.053200000000000185 +2045,4,heat,all-year.evening,0.13300000000000045 2045,5,electricity,all-year.night,-0.5851999999999999 2045,5,heat,all-year.night,1.4629999999999999 2045,5,electricity,all-year.morning,-0.6384000000000001 @@ -887,312 +995,372 @@ milestone_year,asset_id,commodity_id,time_slice,flow 2045,5,heat,all-year.late-peak,1.596 2045,5,electricity,all-year.evening,-0.6384000000000001 2045,5,heat,all-year.evening,1.596 -2045,6,wind,all-year.night,-1.1171999999999997 -2045,6,electricity,all-year.night,1.1171999999999997 -2045,6,wind,all-year.morning,-1.1171999999999997 -2045,6,electricity,all-year.morning,1.1171999999999997 -2045,6,wind,all-year.afternoon,-1.1171999999999997 -2045,6,electricity,all-year.afternoon,1.1171999999999997 -2045,6,wind,all-year.early-peak,-1.1171999999999997 -2045,6,electricity,all-year.early-peak,1.1171999999999997 -2045,6,wind,all-year.late-peak,-1.1171999999999997 -2045,6,electricity,all-year.late-peak,1.1171999999999997 -2045,6,wind,all-year.evening,-1.1171999999999997 -2045,6,electricity,all-year.evening,1.1171999999999997 -2045,7,gas,all-year.night,-0.9772839999999998 -2045,7,electricity,all-year.night,0.5851999999999999 -2045,7,CO2f,all-year.night,53.645284 -2045,7,gas,all-year.morning,-1.0661280000000002 -2045,7,electricity,all-year.morning,0.6384000000000001 -2045,7,CO2f,all-year.morning,58.52212800000001 -2045,7,gas,all-year.afternoon,-0.9772839999999998 -2045,7,electricity,all-year.afternoon,0.5851999999999999 -2045,7,CO2f,all-year.afternoon,53.645284 -2045,7,gas,all-year.early-peak,-1.0661280000000002 -2045,7,electricity,all-year.early-peak,0.6384000000000001 -2045,7,CO2f,all-year.early-peak,58.52212800000001 -2045,7,gas,all-year.late-peak,-1.0661280000000002 -2045,7,electricity,all-year.late-peak,0.6384000000000002 -2045,7,CO2f,all-year.late-peak,58.522128000000016 -2045,7,gas,all-year.evening,-1.0661280000000002 -2045,7,electricity,all-year.evening,0.6384000000000002 -2045,7,CO2f,all-year.evening,58.522128000000016 -2045,8,gas,all-year.night,0.0 -2045,8,gas,all-year.morning,0.0 -2045,8,gas,all-year.afternoon,0.0 -2045,8,gas,all-year.early-peak,0.0 -2045,8,gas,all-year.late-peak,0.38431680000000007 -2045,8,gas,all-year.evening,0.38431680000000007 -2045,9,electricity,all-year.night,-0.0 -2045,9,heat,all-year.night,0.0 -2045,9,electricity,all-year.morning,-0.3096000000000002 -2045,9,heat,all-year.morning,0.7740000000000005 -2045,9,electricity,all-year.afternoon,-0.0 -2045,9,heat,all-year.afternoon,0.0 -2045,9,electricity,all-year.early-peak,-0.3096000000000002 -2045,9,heat,all-year.early-peak,0.7740000000000005 -2045,9,electricity,all-year.late-peak,-0.8748 -2045,9,heat,all-year.late-peak,2.187 -2045,9,electricity,all-year.evening,-0.8416000000000002 -2045,9,heat,all-year.evening,2.1040000000000005 -2045,10,electricity,all-year.night,-0.19920000000000004 -2045,10,heat,all-year.night,0.49800000000000005 -2045,10,electricity,all-year.morning,-0.19920000000000004 -2045,10,heat,all-year.morning,0.49800000000000005 -2045,10,electricity,all-year.afternoon,-0.19920000000000004 -2045,10,heat,all-year.afternoon,0.49800000000000005 -2045,10,electricity,all-year.early-peak,-0.19920000000000004 -2045,10,heat,all-year.early-peak,0.49800000000000005 -2045,10,electricity,all-year.late-peak,-0.19920000000000004 -2045,10,heat,all-year.late-peak,0.49800000000000005 -2045,10,electricity,all-year.evening,-0.19920000000000004 -2045,10,heat,all-year.evening,0.49800000000000005 -2045,11,gas,all-year.night,-0.0 -2045,11,electricity,all-year.night,0.0 -2045,11,CO2f,all-year.night,0.0 -2045,11,gas,all-year.morning,-0.0 -2045,11,electricity,all-year.morning,0.0 -2045,11,CO2f,all-year.morning,0.0 -2045,11,gas,all-year.afternoon,-0.0 -2045,11,electricity,all-year.afternoon,0.0 -2045,11,CO2f,all-year.afternoon,0.0 -2045,11,gas,all-year.early-peak,-0.0 -2045,11,electricity,all-year.early-peak,0.0 -2045,11,CO2f,all-year.early-peak,0.0 -2045,11,gas,all-year.late-peak,-1.3166280000000006 -2045,11,electricity,all-year.late-peak,0.7884000000000004 -2045,11,CO2f,all-year.late-peak,72.27262800000004 -2045,11,gas,all-year.evening,-0.0 -2045,11,electricity,all-year.evening,0.0 -2045,11,CO2f,all-year.evening,0.0 -2045,12,gas,all-year.night,-0.33266399999999985 -2045,12,electricity,all-year.night,0.19919999999999993 -2045,12,CO2f,all-year.night,18.260663999999995 -2045,12,gas,all-year.morning,-0.33266399999999985 -2045,12,electricity,all-year.morning,0.19919999999999993 -2045,12,CO2f,all-year.morning,18.260663999999995 -2045,12,gas,all-year.afternoon,-0.33266399999999985 -2045,12,electricity,all-year.afternoon,0.19919999999999993 -2045,12,CO2f,all-year.afternoon,18.260663999999995 -2045,12,gas,all-year.early-peak,-0.33266399999999985 -2045,12,electricity,all-year.early-peak,0.19919999999999993 -2045,12,CO2f,all-year.early-peak,18.260663999999995 -2045,12,gas,all-year.late-peak,-0.33266399999999985 -2045,12,electricity,all-year.late-peak,0.19919999999999993 -2045,12,CO2f,all-year.late-peak,18.260663999999995 -2045,12,gas,all-year.evening,-0.33266399999999985 -2045,12,electricity,all-year.evening,0.19919999999999993 -2045,12,CO2f,all-year.evening,18.260663999999995 -2045,13,gas,all-year.night,0.0 -2045,13,gas,all-year.morning,0.0 -2045,13,gas,all-year.afternoon,0.0 -2045,13,gas,all-year.early-peak,0.0 -2045,13,gas,all-year.late-peak,0.9493103999999999 -2045,13,gas,all-year.evening,0.9493103999999999 -2045,14,electricity,all-year.night,-0.1856 -2045,14,heat,all-year.night,0.46399999999999997 -2045,14,electricity,all-year.morning,-0.40799999999999986 -2045,14,heat,all-year.morning,1.0199999999999996 -2045,14,electricity,all-year.afternoon,-0.1856 -2045,14,heat,all-year.afternoon,0.46399999999999997 -2045,14,electricity,all-year.early-peak,-0.40799999999999986 -2045,14,heat,all-year.early-peak,1.0199999999999996 -2045,14,electricity,all-year.late-peak,-0.40799999999999986 -2045,14,heat,all-year.late-peak,1.0199999999999996 -2045,14,electricity,all-year.evening,-0.40799999999999986 -2045,14,heat,all-year.evening,1.0199999999999996 -2045,15,gas,all-year.night,-0.0 -2045,15,heat,all-year.night,0.0 -2045,15,CO2f,all-year.night,0.0 -2045,15,gas,all-year.morning,-0.0 -2045,15,heat,all-year.morning,0.0 -2045,15,CO2f,all-year.morning,0.0 -2045,15,gas,all-year.afternoon,-0.0 -2045,15,heat,all-year.afternoon,0.0 -2045,15,CO2f,all-year.afternoon,0.0 -2045,15,gas,all-year.early-peak,-0.0 -2045,15,heat,all-year.early-peak,0.0 -2045,15,CO2f,all-year.early-peak,0.0 -2045,15,gas,all-year.late-peak,-0.8576193199999994 -2045,15,heat,all-year.late-peak,0.7393269999999995 -2045,15,CO2f,all-year.late-peak,47.841850169999965 -2045,15,gas,all-year.evening,-0.8576193199999994 -2045,15,heat,all-year.evening,0.7393269999999995 -2045,15,CO2f,all-year.evening,47.841850169999965 -2045,16,wind,all-year.night,-0.24000000000000005 -2045,16,electricity,all-year.night,0.24000000000000005 -2045,16,wind,all-year.morning,-0.24000000000000005 -2045,16,electricity,all-year.morning,0.24000000000000005 -2045,16,wind,all-year.afternoon,-0.24000000000000005 -2045,16,electricity,all-year.afternoon,0.24000000000000005 -2045,16,wind,all-year.early-peak,-0.24000000000000005 -2045,16,electricity,all-year.early-peak,0.24000000000000005 -2045,16,wind,all-year.late-peak,-0.24000000000000005 -2045,16,electricity,all-year.late-peak,0.24000000000000005 -2045,16,wind,all-year.evening,-0.24000000000000005 -2045,16,electricity,all-year.evening,0.24000000000000005 +2045,6,wind,all-year.night,-0.0 +2045,6,electricity,all-year.night,0.0 +2045,6,wind,all-year.morning,-0.0 +2045,6,electricity,all-year.morning,0.0 +2045,6,wind,all-year.afternoon,-0.0 +2045,6,electricity,all-year.afternoon,0.0 +2045,6,wind,all-year.early-peak,-0.0 +2045,6,electricity,all-year.early-peak,0.0 +2045,6,wind,all-year.late-peak,-0.0 +2045,6,electricity,all-year.late-peak,0.0 +2045,6,wind,all-year.evening,-0.0 +2045,6,electricity,all-year.evening,0.0 +2045,8,gas,all-year.night,-1.066128 +2045,8,electricity,all-year.night,0.6384 +2045,8,CO2f,all-year.night,58.522127999999995 +2045,8,gas,all-year.morning,-0.9100417552000004 +2045,8,electricity,all-year.morning,0.5449351827544913 +2045,8,CO2f,all-year.morning,49.954208203104216 +2045,8,gas,all-year.afternoon,-1.066128 +2045,8,electricity,all-year.afternoon,0.6384 +2045,8,CO2f,all-year.afternoon,58.522127999999995 +2045,8,gas,all-year.early-peak,-0.9506308000000003 +2045,8,electricity,all-year.early-peak,0.5692400000000002 +2045,8,CO2f,all-year.early-peak,52.18223080000002 +2045,8,gas,all-year.late-peak,-0.2448634447999993 +2045,8,electricity,all-year.late-peak,0.14662481724550858 +2045,8,CO2f,all-year.late-peak,13.441096996895771 +2045,8,gas,all-year.evening,-0.0 +2045,8,electricity,all-year.evening,0.0 +2045,8,CO2f,all-year.evening,0.0 +2045,9,wind,all-year.night,-0.0 +2045,9,electricity,all-year.night,0.0 +2045,9,wind,all-year.morning,-0.1198888172455086 +2045,9,electricity,all-year.morning,0.1198888172455086 +2045,9,wind,all-year.afternoon,-0.002683982754491443 +2045,9,electricity,all-year.afternoon,0.002683982754491443 +2045,9,wind,all-year.early-peak,-0.0 +2045,9,electricity,all-year.early-peak,0.0 +2045,9,wind,all-year.late-peak,-0.30643199999999987 +2045,9,electricity,all-year.late-peak,0.30643199999999987 +2045,9,wind,all-year.evening,-0.30643199999999987 +2045,9,electricity,all-year.evening,0.30643199999999987 +2045,10,electricity,all-year.night,-0.0 +2045,10,heat,all-year.night,0.0 +2045,10,electricity,all-year.morning,-0.39600000000000013 +2045,10,heat,all-year.morning,0.9900000000000002 +2045,10,electricity,all-year.afternoon,-0.0 +2045,10,heat,all-year.afternoon,0.0 +2045,10,electricity,all-year.early-peak,-0.39600000000000013 +2045,10,heat,all-year.early-peak,0.9900000000000002 +2045,10,electricity,all-year.late-peak,-0.8748 +2045,10,heat,all-year.late-peak,2.187 +2045,10,electricity,all-year.evening,-0.8748 +2045,10,heat,all-year.evening,2.187 +2045,11,electricity,all-year.night,-0.19920000000000004 +2045,11,heat,all-year.night,0.49800000000000005 +2045,11,electricity,all-year.morning,-0.19920000000000004 +2045,11,heat,all-year.morning,0.49800000000000005 +2045,11,electricity,all-year.afternoon,-0.19920000000000004 +2045,11,heat,all-year.afternoon,0.49800000000000005 +2045,11,electricity,all-year.early-peak,-0.19920000000000004 +2045,11,heat,all-year.early-peak,0.49800000000000005 +2045,11,electricity,all-year.late-peak,-0.19920000000000004 +2045,11,heat,all-year.late-peak,0.49800000000000005 +2045,11,electricity,all-year.evening,-0.19920000000000004 +2045,11,heat,all-year.evening,0.49800000000000005 +2045,12,wind,all-year.night,-0.0 +2045,12,electricity,all-year.night,0.0 +2045,12,wind,all-year.morning,-0.0 +2045,12,electricity,all-year.morning,0.0 +2045,12,wind,all-year.afternoon,-0.0 +2045,12,electricity,all-year.afternoon,0.0 +2045,12,wind,all-year.early-peak,-1.5960000000000003 +2045,12,electricity,all-year.early-peak,1.5960000000000003 +2045,12,wind,all-year.late-peak,-1.9919999999999998 +2045,12,electricity,all-year.late-peak,1.9919999999999998 +2045,12,wind,all-year.evening,-0.0 +2045,12,electricity,all-year.evening,0.0 +2045,13,gas,all-year.night,-0.0 +2045,13,electricity,all-year.night,0.0 +2045,13,CO2f,all-year.night,0.0 +2045,13,gas,all-year.morning,-0.0 +2045,13,electricity,all-year.morning,0.0 +2045,13,CO2f,all-year.morning,0.0 +2045,13,gas,all-year.afternoon,-0.0 +2045,13,electricity,all-year.afternoon,0.0 +2045,13,CO2f,all-year.afternoon,0.0 +2045,13,gas,all-year.early-peak,-0.1398792 +2045,13,electricity,all-year.early-peak,0.08376000000000001 +2045,13,CO2f,all-year.early-peak,7.678279200000001 +2045,13,gas,all-year.late-peak,-0.1398792 +2045,13,electricity,all-year.late-peak,0.08376000000000001 +2045,13,CO2f,all-year.late-peak,7.678279200000001 +2045,13,gas,all-year.evening,-0.1398792 +2045,13,electricity,all-year.evening,0.08376000000000001 +2045,13,CO2f,all-year.evening,7.678279200000001 +2045,14,wind,all-year.night,-0.0 +2045,14,electricity,all-year.night,0.0 +2045,14,wind,all-year.morning,-0.046176000000000064 +2045,14,electricity,all-year.morning,0.046176000000000064 +2045,14,wind,all-year.afternoon,-0.0 +2045,14,electricity,all-year.afternoon,0.0 +2045,14,wind,all-year.early-peak,-0.0 +2045,14,electricity,all-year.early-peak,0.0 +2045,14,wind,all-year.late-peak,-0.11544000000000014 +2045,14,electricity,all-year.late-peak,0.11544000000000014 +2045,14,wind,all-year.evening,-0.11544000000000014 +2045,14,electricity,all-year.evening,0.11544000000000014 +2045,15,gas,all-year.night,0.24226419199999982 +2045,15,gas,all-year.morning,0.4042025760000001 +2045,15,gas,all-year.afternoon,0.0 +2045,15,gas,all-year.early-peak,0.0 +2045,15,gas,all-year.late-peak,0.4042025760000001 +2045,15,gas,all-year.evening,0.0 +2045,16,electricity,all-year.night,-0.2719999999999999 +2045,16,heat,all-year.night,0.6799999999999997 +2045,16,electricity,all-year.morning,-0.40799999999999986 +2045,16,heat,all-year.morning,1.0199999999999996 +2045,16,electricity,all-year.afternoon,-0.2719999999999999 +2045,16,heat,all-year.afternoon,0.6799999999999997 +2045,16,electricity,all-year.early-peak,-0.40799999999999986 +2045,16,heat,all-year.early-peak,1.0199999999999996 +2045,16,electricity,all-year.late-peak,-0.40799999999999986 +2045,16,heat,all-year.late-peak,1.0199999999999996 +2045,16,electricity,all-year.evening,-0.40799999999999986 +2045,16,heat,all-year.evening,1.0199999999999996 2045,17,gas,all-year.night,-0.0 -2045,17,electricity,all-year.night,0.0 +2045,17,heat,all-year.night,0.0 2045,17,CO2f,all-year.night,0.0 2045,17,gas,all-year.morning,-0.0 -2045,17,electricity,all-year.morning,0.0 +2045,17,heat,all-year.morning,0.0 2045,17,CO2f,all-year.morning,0.0 2045,17,gas,all-year.afternoon,-0.0 -2045,17,electricity,all-year.afternoon,0.0 +2045,17,heat,all-year.afternoon,0.0 2045,17,CO2f,all-year.afternoon,0.0 2045,17,gas,all-year.early-peak,-0.0 -2045,17,electricity,all-year.early-peak,0.0 +2045,17,heat,all-year.early-peak,0.0 2045,17,CO2f,all-year.early-peak,0.0 -2045,17,gas,all-year.late-peak,-0.28056000000000025 -2045,17,electricity,all-year.late-peak,0.16800000000000015 -2045,17,CO2f,all-year.late-peak,15.400560000000015 -2045,17,gas,all-year.evening,-0.0 -2045,17,electricity,all-year.evening,0.0 -2045,17,CO2f,all-year.evening,0.0 -2045,18,gas,all-year.night,0.0 -2045,18,gas,all-year.morning,1.0042908 -2045,18,gas,all-year.afternoon,0.0 -2045,18,gas,all-year.early-peak,1.0042908 -2045,18,gas,all-year.late-peak,1.1859503999999998 -2045,18,gas,all-year.evening,1.1859503999999998 -2045,19,electricity,all-year.night,-0.5592 -2045,19,heat,all-year.night,1.3980000000000001 -2045,19,electricity,all-year.morning,-0.5592 -2045,19,heat,all-year.morning,1.3980000000000001 -2045,19,electricity,all-year.afternoon,-0.5592 -2045,19,heat,all-year.afternoon,1.3980000000000001 -2045,19,electricity,all-year.early-peak,-0.5592 -2045,19,heat,all-year.early-peak,1.3980000000000001 -2045,19,electricity,all-year.late-peak,-0.5592 -2045,19,heat,all-year.late-peak,1.3980000000000001 -2045,19,electricity,all-year.evening,-0.5592 -2045,19,heat,all-year.evening,1.3980000000000001 -2045,20,electricity,all-year.night,-0.2796 -2045,20,heat,all-year.night,0.6990000000000001 -2045,20,electricity,all-year.morning,-0.2796 -2045,20,heat,all-year.morning,0.6990000000000001 -2045,20,electricity,all-year.afternoon,-0.2796 -2045,20,heat,all-year.afternoon,0.6990000000000001 -2045,20,electricity,all-year.early-peak,-0.2796 -2045,20,heat,all-year.early-peak,0.6990000000000001 -2045,20,electricity,all-year.late-peak,-0.2796 -2045,20,heat,all-year.late-peak,0.6990000000000001 -2045,20,electricity,all-year.evening,-0.2796 -2045,20,heat,all-year.evening,0.6990000000000001 -2045,21,gas,all-year.night,-0.0 -2045,21,heat,all-year.night,0.0 -2045,21,CO2f,all-year.night,0.0 -2045,21,gas,all-year.morning,-0.2401199999999998 -2045,21,heat,all-year.morning,0.20699999999999985 -2045,21,CO2f,all-year.morning,13.394969999999988 -2045,21,gas,all-year.afternoon,-0.0 -2045,21,heat,all-year.afternoon,0.0 -2045,21,CO2f,all-year.afternoon,0.0 -2045,21,gas,all-year.early-peak,-0.2401199999999998 -2045,21,heat,all-year.early-peak,0.20699999999999985 -2045,21,CO2f,all-year.early-peak,13.394969999999988 -2045,21,gas,all-year.late-peak,-0.3375600000000004 -2045,21,heat,all-year.late-peak,0.29100000000000037 -2045,21,CO2f,all-year.late-peak,18.83061000000002 -2045,21,gas,all-year.evening,-0.3375600000000004 -2045,21,heat,all-year.evening,0.29100000000000037 -2045,21,CO2f,all-year.evening,18.83061000000002 -2045,22,wind,all-year.night,-0.5592000000000001 -2045,22,electricity,all-year.night,0.5592000000000001 -2045,22,wind,all-year.morning,-0.5592000000000001 -2045,22,electricity,all-year.morning,0.5592000000000001 -2045,22,wind,all-year.afternoon,-0.5592000000000001 -2045,22,electricity,all-year.afternoon,0.5592000000000001 -2045,22,wind,all-year.early-peak,-0.5592000000000001 -2045,22,electricity,all-year.early-peak,0.5592000000000001 -2045,22,wind,all-year.late-peak,-0.5592000000000001 -2045,22,electricity,all-year.late-peak,0.5592000000000001 -2045,22,wind,all-year.evening,-0.5592000000000001 -2045,22,electricity,all-year.evening,0.5592000000000001 -2045,23,gas,all-year.night,-0.4669320000000001 -2045,23,electricity,all-year.night,0.27960000000000007 -2045,23,CO2f,all-year.night,25.63093200000001 -2045,23,gas,all-year.morning,-0.4669320000000001 -2045,23,electricity,all-year.morning,0.27960000000000007 -2045,23,CO2f,all-year.morning,25.63093200000001 -2045,23,gas,all-year.afternoon,-0.4669320000000001 -2045,23,electricity,all-year.afternoon,0.27960000000000007 -2045,23,CO2f,all-year.afternoon,25.63093200000001 -2045,23,gas,all-year.early-peak,-0.4669320000000001 -2045,23,electricity,all-year.early-peak,0.27960000000000007 -2045,23,CO2f,all-year.early-peak,25.63093200000001 -2045,23,gas,all-year.late-peak,-0.4669320000000001 -2045,23,electricity,all-year.late-peak,0.27960000000000007 -2045,23,CO2f,all-year.late-peak,25.63093200000001 -2045,23,gas,all-year.evening,-0.4669320000000001 -2045,23,electricity,all-year.evening,0.27960000000000007 -2045,23,CO2f,all-year.evening,25.63093200000001 -2045,24,gas,all-year.night,0.20035119999999962 -2045,24,gas,all-year.morning,0.6734243999999999 -2045,24,gas,all-year.afternoon,0.20035119999999962 -2045,24,gas,all-year.early-peak,0.6734243999999999 -2045,24,gas,all-year.late-peak,0.6734243999999999 -2045,24,gas,all-year.evening,0.6734243999999999 -2045,25,electricity,all-year.night,-0.31920000000000004 -2045,25,heat,all-year.night,0.798 -2045,25,electricity,all-year.morning,-0.31920000000000004 -2045,25,heat,all-year.morning,0.798 -2045,25,electricity,all-year.afternoon,-0.31920000000000004 -2045,25,heat,all-year.afternoon,0.798 -2045,25,electricity,all-year.early-peak,-0.31920000000000004 -2045,25,heat,all-year.early-peak,0.798 -2045,25,electricity,all-year.late-peak,-0.31920000000000004 -2045,25,heat,all-year.late-peak,0.798 -2045,25,electricity,all-year.evening,-0.31920000000000004 -2045,25,heat,all-year.evening,0.798 -2045,26,gas,all-year.night,-0.0 -2045,26,heat,all-year.night,0.0 -2045,26,CO2f,all-year.night,0.0 -2045,26,gas,all-year.morning,-1.1484 -2045,26,heat,all-year.morning,0.9900000000000002 -2045,26,CO2f,all-year.morning,64.06290000000001 -2045,26,gas,all-year.afternoon,-0.0 -2045,26,heat,all-year.afternoon,0.0 -2045,26,CO2f,all-year.afternoon,0.0 -2045,26,gas,all-year.early-peak,-1.1484 -2045,26,heat,all-year.early-peak,0.9900000000000002 -2045,26,CO2f,all-year.early-peak,64.06290000000001 -2045,26,gas,all-year.late-peak,-1.1484 -2045,26,heat,all-year.late-peak,0.9900000000000002 -2045,26,CO2f,all-year.late-peak,64.06290000000001 -2045,26,gas,all-year.evening,-1.1484 -2045,26,heat,all-year.evening,0.9900000000000002 -2045,26,CO2f,all-year.evening,64.06290000000001 -2045,27,wind,all-year.night,-0.31920000000000004 -2045,27,electricity,all-year.night,0.31920000000000004 -2045,27,wind,all-year.morning,-0.31920000000000004 -2045,27,electricity,all-year.morning,0.31920000000000004 -2045,27,wind,all-year.afternoon,-0.31920000000000004 -2045,27,electricity,all-year.afternoon,0.31920000000000004 -2045,27,wind,all-year.early-peak,-0.31920000000000004 -2045,27,electricity,all-year.early-peak,0.31920000000000004 -2045,27,wind,all-year.late-peak,-0.31920000000000004 -2045,27,electricity,all-year.late-peak,0.31920000000000004 -2045,27,wind,all-year.evening,-0.31920000000000004 -2045,27,electricity,all-year.evening,0.31920000000000004 -2045,28,gas,all-year.night,1.5765288000000002 -2045,28,gas,all-year.morning,1.5765288000000002 -2045,28,gas,all-year.afternoon,1.5765288000000002 -2045,28,gas,all-year.early-peak,1.5765288000000002 -2045,28,gas,all-year.late-peak,1.5765288000000002 -2045,28,gas,all-year.evening,1.5765288000000002 -2050,0,gas,all-year.night,-0.0 -2050,0,gas,all-year.morning,-0.0 -2050,0,gas,all-year.afternoon,-0.0 -2050,0,gas,all-year.early-peak,-0.0 -2050,0,gas,all-year.late-peak,1.6773480000000012 -2050,0,gas,all-year.evening,-0.0 +2045,17,gas,all-year.late-peak,-0.8576193199999994 +2045,17,heat,all-year.late-peak,0.7393269999999995 +2045,17,CO2f,all-year.late-peak,47.841850169999965 +2045,17,gas,all-year.evening,-0.8576193199999994 +2045,17,heat,all-year.evening,0.7393269999999995 +2045,17,CO2f,all-year.evening,47.841850169999965 +2045,18,wind,all-year.night,-0.0 +2045,18,electricity,all-year.night,0.0 +2045,18,wind,all-year.morning,-0.14879999999999938 +2045,18,electricity,all-year.morning,0.14879999999999938 +2045,18,wind,all-year.afternoon,-0.0 +2045,18,electricity,all-year.afternoon,0.0 +2045,18,wind,all-year.early-peak,-0.0 +2045,18,electricity,all-year.early-peak,0.0 +2045,18,wind,all-year.late-peak,-1.2000000000000006 +2045,18,electricity,all-year.late-peak,1.2000000000000006 +2045,18,wind,all-year.evening,-0.0 +2045,18,electricity,all-year.evening,0.0 +2045,19,wind,all-year.night,-0.0 +2045,19,electricity,all-year.night,0.0 +2045,19,wind,all-year.morning,-0.033504000000000006 +2045,19,electricity,all-year.morning,0.033504000000000006 +2045,19,wind,all-year.afternoon,-0.0 +2045,19,electricity,all-year.afternoon,0.0 +2045,19,wind,all-year.early-peak,-0.0 +2045,19,electricity,all-year.early-peak,0.0 +2045,19,wind,all-year.late-peak,-0.08376000000000001 +2045,19,electricity,all-year.late-peak,0.08376000000000001 +2045,19,wind,all-year.evening,-0.08376000000000001 +2045,19,electricity,all-year.evening,0.08376000000000001 +2045,20,gas,all-year.night,-0.14808223999999998 +2045,20,electricity,all-year.night,0.08867199999999999 +2045,20,CO2f,all-year.night,8.128562239999999 +2045,20,gas,all-year.morning,-0.14808223999999998 +2045,20,electricity,all-year.morning,0.08867199999999999 +2045,20,CO2f,all-year.morning,8.128562239999999 +2045,20,gas,all-year.afternoon,-0.14808223999999998 +2045,20,electricity,all-year.afternoon,0.08867199999999999 +2045,20,CO2f,all-year.afternoon,8.128562239999999 +2045,20,gas,all-year.early-peak,-0.14808223999999998 +2045,20,electricity,all-year.early-peak,0.08867199999999999 +2045,20,CO2f,all-year.early-peak,8.128562239999999 +2045,20,gas,all-year.late-peak,-0.0 +2045,20,electricity,all-year.late-peak,0.0 +2045,20,CO2f,all-year.late-peak,0.0 +2045,20,gas,all-year.evening,-0.14808223999999998 +2045,20,electricity,all-year.evening,0.08867199999999999 +2045,20,CO2f,all-year.evening,8.128562239999999 +2045,21,gas,all-year.night,0.0 +2045,21,gas,all-year.morning,1.7275446432000001 +2045,21,gas,all-year.afternoon,1.7275446432000001 +2045,21,gas,all-year.early-peak,0.0 +2045,21,gas,all-year.late-peak,1.7275446432000001 +2045,21,gas,all-year.evening,1.7275446432000001 +2045,22,electricity,all-year.night,-0.39600000000000013 +2045,22,heat,all-year.night,0.9900000000000002 +2045,22,electricity,all-year.morning,-0.39600000000000013 +2045,22,heat,all-year.morning,0.9900000000000002 +2045,22,electricity,all-year.afternoon,-0.39600000000000013 +2045,22,heat,all-year.afternoon,0.9900000000000002 +2045,22,electricity,all-year.early-peak,-0.39600000000000013 +2045,22,heat,all-year.early-peak,0.9900000000000002 +2045,22,electricity,all-year.late-peak,-0.39600000000000013 +2045,22,heat,all-year.late-peak,0.9900000000000002 +2045,22,electricity,all-year.evening,-0.39600000000000013 +2045,22,heat,all-year.evening,0.9900000000000002 +2045,23,electricity,all-year.night,-0.2796 +2045,23,heat,all-year.night,0.6990000000000001 +2045,23,electricity,all-year.morning,-0.2796 +2045,23,heat,all-year.morning,0.6990000000000001 +2045,23,electricity,all-year.afternoon,-0.2796 +2045,23,heat,all-year.afternoon,0.6990000000000001 +2045,23,electricity,all-year.early-peak,-0.2796 +2045,23,heat,all-year.early-peak,0.6990000000000001 +2045,23,electricity,all-year.late-peak,-0.2796 +2045,23,heat,all-year.late-peak,0.6990000000000001 +2045,23,electricity,all-year.evening,-0.2796 +2045,23,heat,all-year.evening,0.6990000000000001 +2045,24,gas,all-year.night,-0.0 +2045,24,heat,all-year.night,0.0 +2045,24,CO2f,all-year.night,0.0 +2045,24,gas,all-year.morning,-0.2401199999999998 +2045,24,heat,all-year.morning,0.20699999999999985 +2045,24,CO2f,all-year.morning,13.394969999999988 +2045,24,gas,all-year.afternoon,-0.0 +2045,24,heat,all-year.afternoon,0.0 +2045,24,CO2f,all-year.afternoon,0.0 +2045,24,gas,all-year.early-peak,-0.2401199999999998 +2045,24,heat,all-year.early-peak,0.20699999999999985 +2045,24,CO2f,all-year.early-peak,13.394969999999988 +2045,24,gas,all-year.late-peak,-0.3375600000000004 +2045,24,heat,all-year.late-peak,0.29100000000000037 +2045,24,CO2f,all-year.late-peak,18.83061000000002 +2045,24,gas,all-year.evening,-0.3375600000000004 +2045,24,heat,all-year.evening,0.29100000000000037 +2045,24,CO2f,all-year.evening,18.83061000000002 +2045,25,wind,all-year.night,-1.064 +2045,25,electricity,all-year.night,1.064 +2045,25,wind,all-year.morning,-0.0 +2045,25,electricity,all-year.morning,0.0 +2045,25,wind,all-year.afternoon,-1.064 +2045,25,electricity,all-year.afternoon,1.064 +2045,25,wind,all-year.early-peak,-0.0 +2045,25,electricity,all-year.early-peak,0.0 +2045,25,wind,all-year.late-peak,-0.0 +2045,25,electricity,all-year.late-peak,0.0 +2045,25,wind,all-year.evening,-0.6807999999999994 +2045,25,electricity,all-year.evening,0.6807999999999994 +2045,26,gas,all-year.night,-0.2606001600000002 +2045,26,electricity,all-year.night,0.15604800000000013 +2045,26,CO2f,all-year.night,14.304920160000012 +2045,26,gas,all-year.morning,-0.3250621600000001 +2045,26,electricity,all-year.morning,0.19464800000000007 +2045,26,CO2f,all-year.morning,17.843382160000008 +2045,26,gas,all-year.afternoon,-0.2561179087999995 +2045,26,electricity,all-year.afternoon,0.1533640172455087 +2045,26,CO2f,all-year.afternoon,14.058879460895781 +2045,26,gas,all-year.early-peak,-0.3250621600000001 +2045,26,electricity,all-year.early-peak,0.19464800000000007 +2045,26,CO2f,all-year.early-peak,17.843382160000008 +2045,26,gas,all-year.late-peak,-0.2634311152000007 +2045,26,electricity,all-year.late-peak,0.15774318275449142 +2045,26,CO2f,all-year.late-peak,14.46031756310423 +2045,26,gas,all-year.evening,-0.3250621600000001 +2045,26,electricity,all-year.evening,0.19464800000000007 +2045,26,CO2f,all-year.evening,17.843382160000008 +2045,27,wind,all-year.night,-0.0 +2045,27,electricity,all-year.night,0.0 +2045,27,wind,all-year.morning,-0.044688000000000005 +2045,27,electricity,all-year.morning,0.044688000000000005 +2045,27,wind,all-year.afternoon,-0.0 +2045,27,electricity,all-year.afternoon,0.0 +2045,27,wind,all-year.early-peak,-0.0 +2045,27,electricity,all-year.early-peak,0.0 +2045,27,wind,all-year.late-peak,-0.11172000000000001 +2045,27,electricity,all-year.late-peak,0.11172000000000001 +2045,27,wind,all-year.evening,-0.11172000000000001 +2045,27,electricity,all-year.evening,0.11172000000000001 +2045,28,gas,all-year.night,0.0 +2045,28,gas,all-year.morning,0.639958936 +2045,28,gas,all-year.afternoon,0.0 +2045,28,gas,all-year.early-peak,0.0 +2045,28,gas,all-year.late-peak,0.639958936 +2045,28,gas,all-year.evening,0.639958936 +2045,29,electricity,all-year.night,-0.39600000000000013 +2045,29,heat,all-year.night,0.9900000000000002 +2045,29,electricity,all-year.morning,-0.39600000000000013 +2045,29,heat,all-year.morning,0.9900000000000002 +2045,29,electricity,all-year.afternoon,-0.39600000000000013 +2045,29,heat,all-year.afternoon,0.9900000000000002 +2045,29,electricity,all-year.early-peak,-0.39600000000000013 +2045,29,heat,all-year.early-peak,0.9900000000000002 +2045,29,electricity,all-year.late-peak,-0.39600000000000013 +2045,29,heat,all-year.late-peak,0.9900000000000002 +2045,29,electricity,all-year.evening,-0.39600000000000013 +2045,29,heat,all-year.evening,0.9900000000000002 +2045,30,gas,all-year.night,-0.0 +2045,30,heat,all-year.night,0.0 +2045,30,CO2f,all-year.night,0.0 +2045,30,gas,all-year.morning,-1.1484 +2045,30,heat,all-year.morning,0.9900000000000002 +2045,30,CO2f,all-year.morning,64.06290000000001 +2045,30,gas,all-year.afternoon,-0.0 +2045,30,heat,all-year.afternoon,0.0 +2045,30,CO2f,all-year.afternoon,0.0 +2045,30,gas,all-year.early-peak,-1.1484 +2045,30,heat,all-year.early-peak,0.9900000000000002 +2045,30,CO2f,all-year.early-peak,64.06290000000001 +2045,30,gas,all-year.late-peak,-1.1484 +2045,30,heat,all-year.late-peak,0.9900000000000002 +2045,30,CO2f,all-year.late-peak,64.06290000000001 +2045,30,gas,all-year.evening,-1.1484 +2045,30,heat,all-year.evening,0.9900000000000002 +2045,30,CO2f,all-year.evening,64.06290000000001 +2045,31,wind,all-year.night,-0.0 +2045,31,electricity,all-year.night,0.0 +2045,31,wind,all-year.morning,-1.447200000000001 +2045,31,electricity,all-year.morning,1.447200000000001 +2045,31,wind,all-year.afternoon,-0.0 +2045,31,electricity,all-year.afternoon,0.0 +2045,31,wind,all-year.early-peak,-0.0 +2045,31,electricity,all-year.early-peak,0.0 +2045,31,wind,all-year.late-peak,-0.0 +2045,31,electricity,all-year.late-peak,0.0 +2045,31,wind,all-year.evening,-1.447200000000001 +2045,31,electricity,all-year.evening,1.447200000000001 +2045,32,wind,all-year.night,-0.0 +2045,32,electricity,all-year.night,0.0 +2045,32,wind,all-year.morning,-0.044688000000000005 +2045,32,electricity,all-year.morning,0.044688000000000005 +2045,32,wind,all-year.afternoon,-0.0 +2045,32,electricity,all-year.afternoon,0.0 +2045,32,wind,all-year.early-peak,-0.0 +2045,32,electricity,all-year.early-peak,0.0 +2045,32,wind,all-year.late-peak,-0.11172000000000001 +2045,32,electricity,all-year.late-peak,0.11172000000000001 +2045,32,wind,all-year.evening,-0.11172000000000001 +2045,32,electricity,all-year.evening,0.11172000000000001 +2045,33,gas,all-year.night,-0.3020695999999999 +2045,33,electricity,all-year.night,0.18087999999999993 +2045,33,CO2f,all-year.night,16.581269599999995 +2045,33,gas,all-year.morning,-0.0 +2045,33,electricity,all-year.morning,0.0 +2045,33,CO2f,all-year.morning,0.0 +2045,33,gas,all-year.afternoon,-0.3020695999999999 +2045,33,electricity,all-year.afternoon,0.18087999999999993 +2045,33,CO2f,all-year.afternoon,16.581269599999995 +2045,33,gas,all-year.early-peak,-0.3020695999999999 +2045,33,electricity,all-year.early-peak,0.18087999999999993 +2045,33,CO2f,all-year.early-peak,16.581269599999995 +2045,33,gas,all-year.late-peak,-0.0 +2045,33,electricity,all-year.late-peak,0.0 +2045,33,CO2f,all-year.late-peak,0.0 +2045,33,gas,all-year.evening,-0.03515016000000016 +2045,33,electricity,all-year.evening,0.021048000000000094 +2045,33,CO2f,all-year.evening,1.9294701600000086 +2045,34,gas,all-year.night,1.534615808 +2045,34,gas,all-year.morning,0.0 +2045,34,gas,all-year.afternoon,0.044853105599999166 +2045,34,gas,all-year.early-peak,0.0 +2045,34,gas,all-year.late-peak,1.534615808 +2045,34,gas,all-year.evening,1.2119901808 2050,2,gas,all-year.night,0.0 -2050,2,gas,all-year.morning,0.0 -2050,2,gas,all-year.afternoon,0.0 -2050,2,gas,all-year.early-peak,0.0 -2050,2,gas,all-year.late-peak,2.991208799999999 -2050,2,gas,all-year.evening,0.0 +2050,2,gas,all-year.morning,1.2682464767999992 +2050,2,gas,all-year.afternoon,2.004 +2050,2,gas,all-year.early-peak,0.6282875407999993 +2050,2,gas,all-year.late-peak,4.000008 +2050,2,gas,all-year.evening,1.4736306687999994 2050,3,gas,all-year.night,-0.0 2050,3,heat,all-year.night,0.0 2050,3,CO2f,all-year.night,0.0 @@ -1205,12 +1373,12 @@ milestone_year,asset_id,commodity_id,time_slice,flow 2050,3,gas,all-year.early-peak,-0.0 2050,3,heat,all-year.early-peak,0.0 2050,3,CO2f,all-year.early-peak,0.0 -2050,3,gas,all-year.late-peak,-3.67334068 -2050,3,heat,all-year.late-peak,3.1666730000000003 -2050,3,CO2f,all-year.late-peak,204.91540983 -2050,3,gas,all-year.evening,-0.1933406800000007 -2050,3,heat,all-year.evening,0.16667300000000063 -2050,3,CO2f,all-year.evening,10.78540983000004 +2050,3,gas,all-year.late-peak,-3.673340680000001 +2050,3,heat,all-year.late-peak,3.1666730000000007 +2050,3,CO2f,all-year.late-peak,204.91540983000002 +2050,3,gas,all-year.evening,-0.1933406800000006 +2050,3,heat,all-year.evening,0.16667300000000052 +2050,3,CO2f,all-year.evening,10.785409830000033 2050,4,electricity,all-year.night,-0.0 2050,4,heat,all-year.night,0.0 2050,4,electricity,all-year.morning,-0.0 @@ -1219,8 +1387,8 @@ milestone_year,asset_id,commodity_id,time_slice,flow 2050,4,heat,all-year.afternoon,0.0 2050,4,electricity,all-year.early-peak,-0.0 2050,4,heat,all-year.early-peak,0.0 -2050,4,electricity,all-year.late-peak,-1.0788000000000006 -2050,4,heat,all-year.late-peak,2.6970000000000014 +2050,4,electricity,all-year.late-peak,-1.1172000000000002 +2050,4,heat,all-year.late-peak,2.7930000000000006 2050,4,electricity,all-year.evening,-0.0 2050,4,heat,all-year.evening,0.0 2050,5,electricity,all-year.night,-0.3611999999999999 @@ -1235,375 +1403,447 @@ milestone_year,asset_id,commodity_id,time_slice,flow 2050,5,heat,all-year.late-peak,1.596 2050,5,electricity,all-year.evening,-0.6384000000000001 2050,5,heat,all-year.evening,1.596 -2050,6,wind,all-year.night,-1.1171999999999997 -2050,6,electricity,all-year.night,1.1171999999999997 -2050,6,wind,all-year.morning,-1.1171999999999997 -2050,6,electricity,all-year.morning,1.1171999999999997 -2050,6,wind,all-year.afternoon,-1.1171999999999997 -2050,6,electricity,all-year.afternoon,1.1171999999999997 -2050,6,wind,all-year.early-peak,-1.1171999999999997 -2050,6,electricity,all-year.early-peak,1.1171999999999997 -2050,6,wind,all-year.late-peak,-1.1171999999999997 -2050,6,electricity,all-year.late-peak,1.1171999999999997 -2050,6,wind,all-year.evening,-1.1171999999999997 -2050,6,electricity,all-year.evening,1.1171999999999997 -2050,7,gas,all-year.night,-0.6032039999999999 -2050,7,electricity,all-year.night,0.3611999999999999 -2050,7,CO2f,all-year.night,33.111203999999994 -2050,7,gas,all-year.morning,-1.0661280000000002 -2050,7,electricity,all-year.morning,0.6384000000000001 -2050,7,CO2f,all-year.morning,58.52212800000001 -2050,7,gas,all-year.afternoon,-0.6032039999999999 -2050,7,electricity,all-year.afternoon,0.3611999999999999 -2050,7,CO2f,all-year.afternoon,33.111203999999994 -2050,7,gas,all-year.early-peak,-1.0661280000000002 -2050,7,electricity,all-year.early-peak,0.6384000000000001 -2050,7,CO2f,all-year.early-peak,58.52212800000001 -2050,7,gas,all-year.late-peak,-1.0661280000000002 -2050,7,electricity,all-year.late-peak,0.6384000000000002 -2050,7,CO2f,all-year.late-peak,58.522128000000016 -2050,7,gas,all-year.evening,-1.0661280000000002 -2050,7,electricity,all-year.evening,0.6384000000000001 -2050,7,CO2f,all-year.evening,58.52212800000001 -2050,8,gas,all-year.night,0.0 -2050,8,gas,all-year.morning,0.0 -2050,8,gas,all-year.afternoon,0.0 -2050,8,gas,all-year.early-peak,0.0 -2050,8,gas,all-year.late-peak,0.38431680000000007 -2050,8,gas,all-year.evening,0.0 -2050,9,electricity,all-year.night,-0.0 -2050,9,heat,all-year.night,0.0 -2050,9,electricity,all-year.morning,-0.15360000000000015 -2050,9,heat,all-year.morning,0.38400000000000034 -2050,9,electricity,all-year.afternoon,-0.0 -2050,9,heat,all-year.afternoon,0.0 -2050,9,electricity,all-year.early-peak,-0.15360000000000015 -2050,9,heat,all-year.early-peak,0.38400000000000034 -2050,9,electricity,all-year.late-peak,-0.8748 -2050,9,heat,all-year.late-peak,2.187 -2050,9,electricity,all-year.evening,-0.7536 -2050,9,heat,all-year.evening,1.884 -2050,10,electricity,all-year.night,-0.19920000000000004 -2050,10,heat,all-year.night,0.49800000000000005 -2050,10,electricity,all-year.morning,-0.19920000000000004 -2050,10,heat,all-year.morning,0.49800000000000005 -2050,10,electricity,all-year.afternoon,-0.19920000000000004 -2050,10,heat,all-year.afternoon,0.49800000000000005 -2050,10,electricity,all-year.early-peak,-0.19920000000000004 -2050,10,heat,all-year.early-peak,0.49800000000000005 -2050,10,electricity,all-year.late-peak,-0.19920000000000004 -2050,10,heat,all-year.late-peak,0.49800000000000005 -2050,10,electricity,all-year.evening,-0.19920000000000004 -2050,10,heat,all-year.evening,0.49800000000000005 -2050,11,gas,all-year.night,-0.0 -2050,11,electricity,all-year.night,0.0 -2050,11,CO2f,all-year.night,0.0 -2050,11,gas,all-year.morning,-0.0 -2050,11,electricity,all-year.morning,0.0 -2050,11,CO2f,all-year.morning,0.0 -2050,11,gas,all-year.afternoon,-0.0 -2050,11,electricity,all-year.afternoon,0.0 -2050,11,CO2f,all-year.afternoon,0.0 -2050,11,gas,all-year.early-peak,-0.0 -2050,11,electricity,all-year.early-peak,0.0 -2050,11,CO2f,all-year.early-peak,0.0 -2050,11,gas,all-year.late-peak,-1.3967880000000008 -2050,11,electricity,all-year.late-peak,0.8364000000000005 -2050,11,CO2f,all-year.late-peak,76.67278800000004 -2050,11,gas,all-year.evening,-0.0 -2050,11,electricity,all-year.evening,0.0 -2050,11,CO2f,all-year.evening,0.0 -2050,12,gas,all-year.night,-0.33266399999999985 -2050,12,electricity,all-year.night,0.19919999999999993 -2050,12,CO2f,all-year.night,18.260663999999995 -2050,12,gas,all-year.morning,-0.33266399999999985 -2050,12,electricity,all-year.morning,0.19919999999999993 -2050,12,CO2f,all-year.morning,18.260663999999995 -2050,12,gas,all-year.afternoon,-0.33266399999999985 -2050,12,electricity,all-year.afternoon,0.19919999999999993 -2050,12,CO2f,all-year.afternoon,18.260663999999995 -2050,12,gas,all-year.early-peak,-0.33266399999999985 -2050,12,electricity,all-year.early-peak,0.19919999999999993 -2050,12,CO2f,all-year.early-peak,18.260663999999995 -2050,12,gas,all-year.late-peak,-0.33266399999999985 -2050,12,electricity,all-year.late-peak,0.19919999999999993 -2050,12,CO2f,all-year.late-peak,18.260663999999995 -2050,12,gas,all-year.evening,-0.33266399999999985 -2050,12,electricity,all-year.evening,0.19919999999999993 -2050,12,CO2f,all-year.evening,18.260663999999995 -2050,13,gas,all-year.night,0.0 -2050,13,gas,all-year.morning,0.0 -2050,13,gas,all-year.afternoon,0.0 -2050,13,gas,all-year.early-peak,0.0 -2050,13,gas,all-year.late-peak,0.9493103999999999 -2050,13,gas,all-year.evening,0.844836 -2050,14,electricity,all-year.night,-0.0 -2050,14,heat,all-year.night,0.0 -2050,14,electricity,all-year.morning,-0.40799999999999986 -2050,14,heat,all-year.morning,1.0199999999999996 -2050,14,electricity,all-year.afternoon,-0.0 -2050,14,heat,all-year.afternoon,0.0 -2050,14,electricity,all-year.early-peak,-0.40799999999999986 -2050,14,heat,all-year.early-peak,1.0199999999999996 -2050,14,electricity,all-year.late-peak,-0.40799999999999986 -2050,14,heat,all-year.late-peak,1.0199999999999996 -2050,14,electricity,all-year.evening,-0.40799999999999986 -2050,14,heat,all-year.evening,1.0199999999999996 -2050,15,gas,all-year.night,-0.0 -2050,15,heat,all-year.night,0.0 -2050,15,CO2f,all-year.night,0.0 -2050,15,gas,all-year.morning,-0.0 -2050,15,heat,all-year.morning,0.0 -2050,15,CO2f,all-year.morning,0.0 -2050,15,gas,all-year.afternoon,-0.0 -2050,15,heat,all-year.afternoon,0.0 -2050,15,CO2f,all-year.afternoon,0.0 -2050,15,gas,all-year.early-peak,-0.0 -2050,15,heat,all-year.early-peak,0.0 -2050,15,CO2f,all-year.early-peak,0.0 -2050,15,gas,all-year.late-peak,-0.8576193199999994 -2050,15,heat,all-year.late-peak,0.7393269999999995 -2050,15,CO2f,all-year.late-peak,47.841850169999965 -2050,15,gas,all-year.evening,-0.8576193199999994 -2050,15,heat,all-year.evening,0.7393269999999995 -2050,15,CO2f,all-year.evening,47.841850169999965 -2050,16,wind,all-year.night,-0.24000000000000005 -2050,16,electricity,all-year.night,0.24000000000000005 -2050,16,wind,all-year.morning,-0.24000000000000005 -2050,16,electricity,all-year.morning,0.24000000000000005 -2050,16,wind,all-year.afternoon,-0.24000000000000005 -2050,16,electricity,all-year.afternoon,0.24000000000000005 -2050,16,wind,all-year.early-peak,-0.24000000000000005 -2050,16,electricity,all-year.early-peak,0.24000000000000005 -2050,16,wind,all-year.late-peak,-0.24000000000000005 -2050,16,electricity,all-year.late-peak,0.24000000000000005 -2050,16,wind,all-year.evening,-0.24000000000000005 -2050,16,electricity,all-year.evening,0.24000000000000005 +2050,6,wind,all-year.night,-1.1172 +2050,6,electricity,all-year.night,1.1172 +2050,6,wind,all-year.morning,-0.3527999999999993 +2050,6,electricity,all-year.morning,0.3527999999999993 +2050,6,wind,all-year.afternoon,-0.0 +2050,6,electricity,all-year.afternoon,0.0 +2050,6,wind,all-year.early-peak,-0.0 +2050,6,electricity,all-year.early-peak,0.0 +2050,6,wind,all-year.late-peak,-0.0 +2050,6,electricity,all-year.late-peak,0.0 +2050,6,wind,all-year.evening,-0.2112000000000005 +2050,6,electricity,all-year.evening,0.2112000000000005 +2050,8,gas,all-year.night,-0.612120464000001 +2050,8,electricity,all-year.night,0.3665392000000006 +2050,8,CO2f,all-year.night,33.60064846400006 +2050,8,gas,all-year.morning,-1.066128 +2050,8,electricity,all-year.morning,0.6384 +2050,8,CO2f,all-year.morning,58.522127999999995 +2050,8,gas,all-year.afternoon,-1.066128 +2050,8,electricity,all-year.afternoon,0.6384 +2050,8,CO2f,all-year.afternoon,58.522127999999995 +2050,8,gas,all-year.early-peak,-1.066128 +2050,8,electricity,all-year.early-peak,0.6384 +2050,8,CO2f,all-year.early-peak,58.522127999999995 +2050,8,gas,all-year.late-peak,-0.0 +2050,8,electricity,all-year.late-peak,0.0 +2050,8,CO2f,all-year.late-peak,0.0 +2050,8,gas,all-year.evening,-1.066128 +2050,8,electricity,all-year.evening,0.6384 +2050,8,CO2f,all-year.evening,58.522127999999995 +2050,9,wind,all-year.night,-0.30058079999999976 +2050,9,electricity,all-year.night,0.30058079999999976 +2050,9,wind,all-year.morning,-0.0 +2050,9,electricity,all-year.morning,0.0 +2050,9,wind,all-year.afternoon,-0.0 +2050,9,electricity,all-year.afternoon,0.0 +2050,9,wind,all-year.early-peak,-0.0 +2050,9,electricity,all-year.early-peak,0.0 +2050,9,wind,all-year.late-peak,-0.30643199999999987 +2050,9,electricity,all-year.late-peak,0.30643199999999987 +2050,9,wind,all-year.evening,-0.12842400000000012 +2050,9,electricity,all-year.evening,0.12842400000000012 +2050,10,electricity,all-year.night,-0.0 +2050,10,heat,all-year.night,0.0 +2050,10,electricity,all-year.morning,-0.19200000000000017 +2050,10,heat,all-year.morning,0.4800000000000004 +2050,10,electricity,all-year.afternoon,-0.0 +2050,10,heat,all-year.afternoon,0.0 +2050,10,electricity,all-year.early-peak,-0.19200000000000017 +2050,10,heat,all-year.early-peak,0.4800000000000004 +2050,10,electricity,all-year.late-peak,-0.8748 +2050,10,heat,all-year.late-peak,2.187 +2050,10,electricity,all-year.evening,-0.7920000000000003 +2050,10,heat,all-year.evening,1.9800000000000004 +2050,11,electricity,all-year.night,-0.19920000000000004 +2050,11,heat,all-year.night,0.49800000000000005 +2050,11,electricity,all-year.morning,-0.19920000000000004 +2050,11,heat,all-year.morning,0.49800000000000005 +2050,11,electricity,all-year.afternoon,-0.19920000000000004 +2050,11,heat,all-year.afternoon,0.49800000000000005 +2050,11,electricity,all-year.early-peak,-0.19920000000000004 +2050,11,heat,all-year.early-peak,0.49800000000000005 +2050,11,electricity,all-year.late-peak,-0.19920000000000004 +2050,11,heat,all-year.late-peak,0.49800000000000005 +2050,11,electricity,all-year.evening,-0.19920000000000004 +2050,11,heat,all-year.evening,0.49800000000000005 +2050,12,wind,all-year.night,-0.08280000000000015 +2050,12,electricity,all-year.night,0.08280000000000015 +2050,12,wind,all-year.morning,-0.0 +2050,12,electricity,all-year.morning,0.0 +2050,12,wind,all-year.afternoon,-0.0 +2050,12,electricity,all-year.afternoon,0.0 +2050,12,wind,all-year.early-peak,-1.8000000000000003 +2050,12,electricity,all-year.early-peak,1.8000000000000003 +2050,12,wind,all-year.late-peak,-1.9919999999999998 +2050,12,electricity,all-year.late-peak,1.9919999999999998 +2050,12,wind,all-year.evening,-0.9059999999999997 +2050,12,electricity,all-year.evening,0.9059999999999997 +2050,13,gas,all-year.night,-0.1398792 +2050,13,electricity,all-year.night,0.08376000000000001 +2050,13,CO2f,all-year.night,7.678279200000001 +2050,13,gas,all-year.morning,-0.1398792 +2050,13,electricity,all-year.morning,0.08376000000000001 +2050,13,CO2f,all-year.morning,7.678279200000001 +2050,13,gas,all-year.afternoon,-0.08420808000000013 +2050,13,electricity,all-year.afternoon,0.05042400000000008 +2050,13,CO2f,all-year.afternoon,4.622368080000007 +2050,13,gas,all-year.early-peak,-0.1398792 +2050,13,electricity,all-year.early-peak,0.08376000000000001 +2050,13,CO2f,all-year.early-peak,7.678279200000001 +2050,13,gas,all-year.late-peak,-0.1116228 +2050,13,electricity,all-year.late-peak,0.06684 +2050,13,CO2f,all-year.late-peak,6.1272228 +2050,13,gas,all-year.evening,-0.1398792 +2050,13,electricity,all-year.evening,0.08376000000000001 +2050,13,CO2f,all-year.evening,7.678279200000001 +2050,14,wind,all-year.night,-0.0 +2050,14,electricity,all-year.night,0.0 +2050,14,wind,all-year.morning,-0.046176000000000064 +2050,14,electricity,all-year.morning,0.046176000000000064 +2050,14,wind,all-year.afternoon,-0.0 +2050,14,electricity,all-year.afternoon,0.0 +2050,14,wind,all-year.early-peak,-0.0 +2050,14,electricity,all-year.early-peak,0.0 +2050,14,wind,all-year.late-peak,-0.11544000000000014 +2050,14,electricity,all-year.late-peak,0.11544000000000014 +2050,14,wind,all-year.evening,-0.11544000000000014 +2050,14,electricity,all-year.evening,0.11544000000000014 +2050,15,gas,all-year.night,0.0 +2050,15,gas,all-year.morning,0.0 +2050,15,gas,all-year.afternoon,0.0 +2050,15,gas,all-year.early-peak,0.0 +2050,15,gas,all-year.late-peak,0.0 +2050,15,gas,all-year.evening,0.0 +2050,16,electricity,all-year.night,-0.0 +2050,16,heat,all-year.night,0.0 +2050,16,electricity,all-year.morning,-0.40799999999999986 +2050,16,heat,all-year.morning,1.0199999999999996 +2050,16,electricity,all-year.afternoon,-0.0 +2050,16,heat,all-year.afternoon,0.0 +2050,16,electricity,all-year.early-peak,-0.40799999999999986 +2050,16,heat,all-year.early-peak,1.0199999999999996 +2050,16,electricity,all-year.late-peak,-0.40799999999999986 +2050,16,heat,all-year.late-peak,1.0199999999999996 +2050,16,electricity,all-year.evening,-0.40799999999999986 +2050,16,heat,all-year.evening,1.0199999999999996 2050,17,gas,all-year.night,-0.0 -2050,17,electricity,all-year.night,0.0 +2050,17,heat,all-year.night,0.0 2050,17,CO2f,all-year.night,0.0 2050,17,gas,all-year.morning,-0.0 -2050,17,electricity,all-year.morning,0.0 +2050,17,heat,all-year.morning,0.0 2050,17,CO2f,all-year.morning,0.0 2050,17,gas,all-year.afternoon,-0.0 -2050,17,electricity,all-year.afternoon,0.0 +2050,17,heat,all-year.afternoon,0.0 2050,17,CO2f,all-year.afternoon,0.0 2050,17,gas,all-year.early-peak,-0.0 -2050,17,electricity,all-year.early-peak,0.0 +2050,17,heat,all-year.early-peak,0.0 2050,17,CO2f,all-year.early-peak,0.0 -2050,17,gas,all-year.late-peak,-0.28056000000000025 -2050,17,electricity,all-year.late-peak,0.16800000000000015 -2050,17,CO2f,all-year.late-peak,15.400560000000015 -2050,17,gas,all-year.evening,-0.0 -2050,17,electricity,all-year.evening,0.0 -2050,17,CO2f,all-year.evening,0.0 -2050,18,gas,all-year.night,0.0 -2050,18,gas,all-year.morning,0.29078639999999956 -2050,18,gas,all-year.afternoon,0.0 -2050,18,gas,all-year.early-peak,0.29078639999999956 -2050,18,gas,all-year.late-peak,1.1859503999999998 -2050,18,gas,all-year.evening,1.1859503999999998 -2050,19,electricity,all-year.night,-0.5208 -2050,19,heat,all-year.night,1.302 -2050,19,electricity,all-year.morning,-0.5592 -2050,19,heat,all-year.morning,1.3980000000000001 -2050,19,electricity,all-year.afternoon,-0.5208 -2050,19,heat,all-year.afternoon,1.302 -2050,19,electricity,all-year.early-peak,-0.5592 -2050,19,heat,all-year.early-peak,1.3980000000000001 -2050,19,electricity,all-year.late-peak,-0.5592 -2050,19,heat,all-year.late-peak,1.3980000000000001 -2050,19,electricity,all-year.evening,-0.5592 -2050,19,heat,all-year.evening,1.3980000000000001 -2050,20,electricity,all-year.night,-0.2796 -2050,20,heat,all-year.night,0.6990000000000001 -2050,20,electricity,all-year.morning,-0.2796 -2050,20,heat,all-year.morning,0.6990000000000001 -2050,20,electricity,all-year.afternoon,-0.2796 -2050,20,heat,all-year.afternoon,0.6990000000000001 -2050,20,electricity,all-year.early-peak,-0.2796 -2050,20,heat,all-year.early-peak,0.6990000000000001 -2050,20,electricity,all-year.late-peak,-0.2796 -2050,20,heat,all-year.late-peak,0.6990000000000001 -2050,20,electricity,all-year.evening,-0.2796 -2050,20,heat,all-year.evening,0.6990000000000001 -2050,21,gas,all-year.night,-0.0 -2050,21,heat,all-year.night,0.0 -2050,21,CO2f,all-year.night,0.0 -2050,21,gas,all-year.morning,-0.0 -2050,21,heat,all-year.morning,0.0 -2050,21,CO2f,all-year.morning,0.0 -2050,21,gas,all-year.afternoon,-0.0 -2050,21,heat,all-year.afternoon,0.0 -2050,21,CO2f,all-year.afternoon,0.0 -2050,21,gas,all-year.early-peak,-0.0 -2050,21,heat,all-year.early-peak,0.0 -2050,21,CO2f,all-year.early-peak,0.0 -2050,21,gas,all-year.late-peak,-0.3375600000000004 -2050,21,heat,all-year.late-peak,0.29100000000000037 -2050,21,CO2f,all-year.late-peak,18.83061000000002 -2050,21,gas,all-year.evening,-0.3375600000000004 -2050,21,heat,all-year.evening,0.29100000000000037 -2050,21,CO2f,all-year.evening,18.83061000000002 -2050,22,wind,all-year.night,-0.5592000000000001 -2050,22,electricity,all-year.night,0.5592000000000001 -2050,22,wind,all-year.morning,-0.5592000000000001 -2050,22,electricity,all-year.morning,0.5592000000000001 -2050,22,wind,all-year.afternoon,-0.5592000000000001 -2050,22,electricity,all-year.afternoon,0.5592000000000001 -2050,22,wind,all-year.early-peak,-0.5592000000000001 -2050,22,electricity,all-year.early-peak,0.5592000000000001 -2050,22,wind,all-year.late-peak,-0.5592000000000001 -2050,22,electricity,all-year.late-peak,0.5592000000000001 -2050,22,wind,all-year.evening,-0.5592000000000001 -2050,22,electricity,all-year.evening,0.5592000000000001 -2050,23,gas,all-year.night,-0.4669320000000001 -2050,23,electricity,all-year.night,0.27960000000000007 -2050,23,CO2f,all-year.night,25.63093200000001 -2050,23,gas,all-year.morning,-0.4669320000000001 -2050,23,electricity,all-year.morning,0.27960000000000007 -2050,23,CO2f,all-year.morning,25.63093200000001 -2050,23,gas,all-year.afternoon,-0.4669320000000001 -2050,23,electricity,all-year.afternoon,0.27960000000000007 -2050,23,CO2f,all-year.afternoon,25.63093200000001 -2050,23,gas,all-year.early-peak,-0.4669320000000001 -2050,23,electricity,all-year.early-peak,0.27960000000000007 -2050,23,CO2f,all-year.early-peak,25.63093200000001 -2050,23,gas,all-year.late-peak,-0.4669320000000001 -2050,23,electricity,all-year.late-peak,0.27960000000000007 -2050,23,CO2f,all-year.late-peak,25.63093200000001 -2050,23,gas,all-year.evening,-0.4669320000000001 -2050,23,electricity,all-year.evening,0.27960000000000007 -2050,23,CO2f,all-year.evening,25.63093200000001 -2050,24,gas,all-year.night,0.0 -2050,24,gas,all-year.morning,0.6734243999999999 -2050,24,gas,all-year.afternoon,0.0 -2050,24,gas,all-year.early-peak,0.6734243999999999 -2050,24,gas,all-year.late-peak,0.6734243999999999 -2050,24,gas,all-year.evening,0.6734243999999999 -2050,25,electricity,all-year.night,-0.31920000000000004 -2050,25,heat,all-year.night,0.798 -2050,25,electricity,all-year.morning,-0.31920000000000004 -2050,25,heat,all-year.morning,0.798 -2050,25,electricity,all-year.afternoon,-0.31920000000000004 -2050,25,heat,all-year.afternoon,0.798 -2050,25,electricity,all-year.early-peak,-0.31920000000000004 -2050,25,heat,all-year.early-peak,0.798 -2050,25,electricity,all-year.late-peak,-0.31920000000000004 -2050,25,heat,all-year.late-peak,0.798 -2050,25,electricity,all-year.evening,-0.31920000000000004 -2050,25,heat,all-year.evening,0.798 +2050,17,gas,all-year.late-peak,-0.8576193199999994 +2050,17,heat,all-year.late-peak,0.7393269999999995 +2050,17,CO2f,all-year.late-peak,47.841850169999965 +2050,17,gas,all-year.evening,-0.8576193199999994 +2050,17,heat,all-year.evening,0.7393269999999995 +2050,17,CO2f,all-year.evening,47.841850169999965 +2050,18,wind,all-year.night,-0.0 +2050,18,electricity,all-year.night,0.0 +2050,18,wind,all-year.morning,-0.0 +2050,18,electricity,all-year.morning,0.0 +2050,18,wind,all-year.afternoon,-0.0 +2050,18,electricity,all-year.afternoon,0.0 +2050,18,wind,all-year.early-peak,-0.0 +2050,18,electricity,all-year.early-peak,0.0 +2050,18,wind,all-year.late-peak,-0.0 +2050,18,electricity,all-year.late-peak,0.0 +2050,18,wind,all-year.evening,-0.0 +2050,18,electricity,all-year.evening,0.0 +2050,19,wind,all-year.night,-0.08376000000000001 +2050,19,electricity,all-year.night,0.08376000000000001 +2050,19,wind,all-year.morning,-0.033504000000000006 +2050,19,electricity,all-year.morning,0.033504000000000006 +2050,19,wind,all-year.afternoon,-0.0 +2050,19,electricity,all-year.afternoon,0.0 +2050,19,wind,all-year.early-peak,-0.0 +2050,19,electricity,all-year.early-peak,0.0 +2050,19,wind,all-year.late-peak,-0.08376000000000001 +2050,19,electricity,all-year.late-peak,0.08376000000000001 +2050,19,wind,all-year.evening,-0.0 +2050,19,electricity,all-year.evening,0.0 +2050,20,gas,all-year.night,-0.0 +2050,20,electricity,all-year.night,0.0 +2050,20,CO2f,all-year.night,0.0 +2050,20,gas,all-year.morning,-0.14808223999999998 +2050,20,electricity,all-year.morning,0.08867199999999999 +2050,20,CO2f,all-year.morning,8.128562239999999 +2050,20,gas,all-year.afternoon,-0.14808223999999998 +2050,20,electricity,all-year.afternoon,0.08867199999999999 +2050,20,CO2f,all-year.afternoon,8.128562239999999 +2050,20,gas,all-year.early-peak,-0.14808223999999998 +2050,20,electricity,all-year.early-peak,0.08867199999999999 +2050,20,CO2f,all-year.early-peak,8.128562239999999 +2050,20,gas,all-year.late-peak,-0.14808223999999998 +2050,20,electricity,all-year.late-peak,0.08867199999999999 +2050,20,CO2f,all-year.late-peak,8.128562239999999 +2050,20,gas,all-year.evening,-0.14808223999999998 +2050,20,electricity,all-year.evening,0.08867199999999999 +2050,20,CO2f,all-year.evening,8.128562239999999 +2050,21,gas,all-year.night,0.8304495840000009 +2050,21,gas,all-year.morning,1.7275446432000001 +2050,21,gas,all-year.afternoon,0.0 +2050,21,gas,all-year.early-peak,1.7275446432000001 +2050,21,gas,all-year.late-peak,1.7275446432000001 +2050,21,gas,all-year.evening,1.7275446432000001 +2050,22,electricity,all-year.night,-0.39600000000000013 +2050,22,heat,all-year.night,0.9900000000000002 +2050,22,electricity,all-year.morning,-0.39600000000000013 +2050,22,heat,all-year.morning,0.9900000000000002 +2050,22,electricity,all-year.afternoon,-0.39600000000000013 +2050,22,heat,all-year.afternoon,0.9900000000000002 +2050,22,electricity,all-year.early-peak,-0.39600000000000013 +2050,22,heat,all-year.early-peak,0.9900000000000002 +2050,22,electricity,all-year.late-peak,-0.39600000000000013 +2050,22,heat,all-year.late-peak,0.9900000000000002 +2050,22,electricity,all-year.evening,-0.39600000000000013 +2050,22,heat,all-year.evening,0.9900000000000002 +2050,23,electricity,all-year.night,-0.2796 +2050,23,heat,all-year.night,0.6990000000000001 +2050,23,electricity,all-year.morning,-0.2796 +2050,23,heat,all-year.morning,0.6990000000000001 +2050,23,electricity,all-year.afternoon,-0.2796 +2050,23,heat,all-year.afternoon,0.6990000000000001 +2050,23,electricity,all-year.early-peak,-0.2796 +2050,23,heat,all-year.early-peak,0.6990000000000001 +2050,23,electricity,all-year.late-peak,-0.2796 +2050,23,heat,all-year.late-peak,0.6990000000000001 +2050,23,electricity,all-year.evening,-0.2796 +2050,23,heat,all-year.evening,0.6990000000000001 +2050,24,gas,all-year.night,-0.0 +2050,24,heat,all-year.night,0.0 +2050,24,CO2f,all-year.night,0.0 +2050,24,gas,all-year.morning,-0.0 +2050,24,heat,all-year.morning,0.0 +2050,24,CO2f,all-year.morning,0.0 +2050,24,gas,all-year.afternoon,-0.0 +2050,24,heat,all-year.afternoon,0.0 +2050,24,CO2f,all-year.afternoon,0.0 +2050,24,gas,all-year.early-peak,-0.0 +2050,24,heat,all-year.early-peak,0.0 +2050,24,CO2f,all-year.early-peak,0.0 +2050,24,gas,all-year.late-peak,-0.3375600000000004 +2050,24,heat,all-year.late-peak,0.29100000000000037 +2050,24,CO2f,all-year.late-peak,18.83061000000002 +2050,24,gas,all-year.evening,-0.3375600000000004 +2050,24,heat,all-year.evening,0.29100000000000037 +2050,24,CO2f,all-year.evening,18.83061000000002 +2050,25,wind,all-year.night,-0.0 +2050,25,electricity,all-year.night,0.0 +2050,25,wind,all-year.morning,-0.0 +2050,25,electricity,all-year.morning,0.0 +2050,25,wind,all-year.afternoon,-0.0 +2050,25,electricity,all-year.afternoon,0.0 +2050,25,wind,all-year.early-peak,-0.0 +2050,25,electricity,all-year.early-peak,0.0 +2050,25,wind,all-year.late-peak,-1.2828000000000002 +2050,25,electricity,all-year.late-peak,1.2828000000000002 +2050,25,wind,all-year.evening,-1.2828000000000002 +2050,25,electricity,all-year.evening,1.2828000000000002 2050,26,gas,all-year.night,-0.0 -2050,26,heat,all-year.night,0.0 +2050,26,electricity,all-year.night,0.0 2050,26,CO2f,all-year.night,0.0 -2050,26,gas,all-year.morning,-0.7969200000000004 -2050,26,heat,all-year.morning,0.6870000000000004 -2050,26,CO2f,all-year.morning,44.45577000000002 -2050,26,gas,all-year.afternoon,-0.0 -2050,26,heat,all-year.afternoon,0.0 -2050,26,CO2f,all-year.afternoon,0.0 -2050,26,gas,all-year.early-peak,-0.7969200000000004 -2050,26,heat,all-year.early-peak,0.6870000000000004 -2050,26,CO2f,all-year.early-peak,44.45577000000002 -2050,26,gas,all-year.late-peak,-1.1484 -2050,26,heat,all-year.late-peak,0.9900000000000002 -2050,26,CO2f,all-year.late-peak,64.06290000000001 -2050,26,gas,all-year.evening,-1.1484 -2050,26,heat,all-year.evening,0.9900000000000002 -2050,26,CO2f,all-year.evening,64.06290000000001 -2050,27,wind,all-year.night,-0.31920000000000004 -2050,27,electricity,all-year.night,0.31920000000000004 -2050,27,wind,all-year.morning,-0.31920000000000004 -2050,27,electricity,all-year.morning,0.31920000000000004 -2050,27,wind,all-year.afternoon,-0.31920000000000004 -2050,27,electricity,all-year.afternoon,0.31920000000000004 -2050,27,wind,all-year.early-peak,-0.31920000000000004 -2050,27,electricity,all-year.early-peak,0.31920000000000004 -2050,27,wind,all-year.late-peak,-0.31920000000000004 -2050,27,electricity,all-year.late-peak,0.31920000000000004 -2050,27,wind,all-year.evening,-0.31920000000000004 -2050,27,electricity,all-year.evening,0.31920000000000004 -2050,28,gas,all-year.night,1.1416955999999998 -2050,28,gas,all-year.morning,1.5765288000000002 -2050,28,gas,all-year.afternoon,1.1416955999999998 -2050,28,gas,all-year.early-peak,1.5765288000000002 -2050,28,gas,all-year.late-peak,1.5765288000000002 -2050,28,gas,all-year.evening,1.5765288000000002 -2050,29,electricity,all-year.night,-0.36000000000000004 -2050,29,heat,all-year.night,0.9 -2050,29,electricity,all-year.morning,-0.36000000000000004 -2050,29,heat,all-year.morning,0.9 -2050,29,electricity,all-year.afternoon,-0.36000000000000004 -2050,29,heat,all-year.afternoon,0.9 -2050,29,electricity,all-year.early-peak,-0.36000000000000004 -2050,29,heat,all-year.early-peak,0.9 -2050,29,electricity,all-year.late-peak,-0.36000000000000004 -2050,29,heat,all-year.late-peak,0.9 -2050,29,electricity,all-year.evening,-0.36000000000000004 -2050,29,heat,all-year.evening,0.9 -2050,30,electricity,all-year.night,-0.36000000000000004 -2050,30,heat,all-year.night,0.9 -2050,30,electricity,all-year.morning,-0.36000000000000004 -2050,30,heat,all-year.morning,0.9 -2050,30,electricity,all-year.afternoon,-0.36000000000000004 -2050,30,heat,all-year.afternoon,0.9 -2050,30,electricity,all-year.early-peak,-0.36000000000000004 -2050,30,heat,all-year.early-peak,0.9 -2050,30,electricity,all-year.late-peak,-0.36000000000000004 -2050,30,heat,all-year.late-peak,0.9 -2050,30,electricity,all-year.evening,-0.36000000000000004 -2050,30,heat,all-year.evening,0.9 -2050,31,gas,all-year.night,-0.0 -2050,31,heat,all-year.night,0.0 -2050,31,CO2f,all-year.night,0.0 -2050,31,gas,all-year.morning,-0.13919999999999907 -2050,31,heat,all-year.morning,0.1199999999999992 -2050,31,CO2f,all-year.morning,7.765199999999948 -2050,31,gas,all-year.afternoon,-0.0 -2050,31,heat,all-year.afternoon,0.0 -2050,31,CO2f,all-year.afternoon,0.0 -2050,31,gas,all-year.early-peak,-0.13919999999999907 -2050,31,heat,all-year.early-peak,0.1199999999999992 -2050,31,CO2f,all-year.early-peak,7.765199999999948 -2050,31,gas,all-year.late-peak,-0.13919999999999907 -2050,31,heat,all-year.late-peak,0.1199999999999992 -2050,31,CO2f,all-year.late-peak,7.765199999999948 -2050,31,gas,all-year.evening,-0.13919999999999907 -2050,31,heat,all-year.evening,0.1199999999999992 -2050,31,CO2f,all-year.evening,7.765199999999948 -2050,32,wind,all-year.night,-0.36 -2050,32,electricity,all-year.night,0.36 -2050,32,wind,all-year.morning,-0.36 -2050,32,electricity,all-year.morning,0.36 -2050,32,wind,all-year.afternoon,-0.36 -2050,32,electricity,all-year.afternoon,0.36 -2050,32,wind,all-year.early-peak,-0.36 -2050,32,electricity,all-year.early-peak,0.36 -2050,32,wind,all-year.late-peak,-0.36 -2050,32,electricity,all-year.late-peak,0.36 -2050,32,wind,all-year.evening,-0.36 -2050,32,electricity,all-year.evening,0.36 -2050,33,gas,all-year.night,-0.6012000000000002 -2050,33,electricity,all-year.night,0.3600000000000001 -2050,33,CO2f,all-year.night,33.00120000000001 -2050,33,gas,all-year.morning,-0.6012000000000002 -2050,33,electricity,all-year.morning,0.3600000000000001 -2050,33,CO2f,all-year.morning,33.00120000000001 -2050,33,gas,all-year.afternoon,-0.6012000000000002 -2050,33,electricity,all-year.afternoon,0.3600000000000001 -2050,33,CO2f,all-year.afternoon,33.00120000000001 -2050,33,gas,all-year.early-peak,-0.6012000000000002 -2050,33,electricity,all-year.early-peak,0.3600000000000001 -2050,33,CO2f,all-year.early-peak,33.00120000000001 -2050,33,gas,all-year.late-peak,-0.6012000000000002 -2050,33,electricity,all-year.late-peak,0.3600000000000001 -2050,33,CO2f,all-year.late-peak,33.00120000000001 -2050,33,gas,all-year.evening,-0.6012000000000002 -2050,33,electricity,all-year.evening,0.3600000000000001 -2050,33,CO2f,all-year.evening,33.00120000000001 -2050,34,gas,all-year.night,0.8623044000000001 -2050,34,gas,all-year.morning,0.8623044000000001 -2050,34,gas,all-year.afternoon,0.8623044000000001 -2050,34,gas,all-year.early-peak,0.8623044000000001 -2050,34,gas,all-year.late-peak,0.8623044000000001 -2050,34,gas,all-year.evening,0.8623044000000001 +2050,26,gas,all-year.morning,-0.3250621600000001 +2050,26,electricity,all-year.morning,0.19464800000000007 +2050,26,CO2f,all-year.morning,17.843382160000008 +2050,26,gas,all-year.afternoon,-0.3250621600000001 +2050,26,electricity,all-year.afternoon,0.19464800000000007 +2050,26,CO2f,all-year.afternoon,17.843382160000008 +2050,26,gas,all-year.early-peak,-0.3250621600000001 +2050,26,electricity,all-year.early-peak,0.19464800000000007 +2050,26,CO2f,all-year.early-peak,17.843382160000008 +2050,26,gas,all-year.late-peak,-0.3250621600000001 +2050,26,electricity,all-year.late-peak,0.19464800000000007 +2050,26,CO2f,all-year.late-peak,17.843382160000008 +2050,26,gas,all-year.evening,-0.3250621600000001 +2050,26,electricity,all-year.evening,0.19464800000000007 +2050,26,CO2f,all-year.evening,17.843382160000008 +2050,27,wind,all-year.night,-0.044688000000000005 +2050,27,electricity,all-year.night,0.044688000000000005 +2050,27,wind,all-year.morning,-0.11172000000000001 +2050,27,electricity,all-year.morning,0.11172000000000001 +2050,27,wind,all-year.afternoon,-0.0 +2050,27,electricity,all-year.afternoon,0.0 +2050,27,wind,all-year.early-peak,-0.0 +2050,27,electricity,all-year.early-peak,0.0 +2050,27,wind,all-year.late-peak,-0.11172000000000001 +2050,27,electricity,all-year.late-peak,0.11172000000000001 +2050,27,wind,all-year.evening,-0.0 +2050,27,electricity,all-year.evening,0.0 +2050,28,gas,all-year.night,0.0 +2050,28,gas,all-year.morning,0.0 +2050,28,gas,all-year.afternoon,0.0 +2050,28,gas,all-year.early-peak,0.639958936 +2050,28,gas,all-year.late-peak,0.639958936 +2050,28,gas,all-year.evening,0.0 +2050,29,electricity,all-year.night,-0.39600000000000013 +2050,29,heat,all-year.night,0.9900000000000002 +2050,29,electricity,all-year.morning,-0.39600000000000013 +2050,29,heat,all-year.morning,0.9900000000000002 +2050,29,electricity,all-year.afternoon,-0.39600000000000013 +2050,29,heat,all-year.afternoon,0.9900000000000002 +2050,29,electricity,all-year.early-peak,-0.39600000000000013 +2050,29,heat,all-year.early-peak,0.9900000000000002 +2050,29,electricity,all-year.late-peak,-0.39600000000000013 +2050,29,heat,all-year.late-peak,0.9900000000000002 +2050,29,electricity,all-year.evening,-0.39600000000000013 +2050,29,heat,all-year.evening,0.9900000000000002 +2050,30,gas,all-year.night,-0.0 +2050,30,heat,all-year.night,0.0 +2050,30,CO2f,all-year.night,0.0 +2050,30,gas,all-year.morning,-0.7969200000000004 +2050,30,heat,all-year.morning,0.6870000000000004 +2050,30,CO2f,all-year.morning,44.45577000000002 +2050,30,gas,all-year.afternoon,-0.0 +2050,30,heat,all-year.afternoon,0.0 +2050,30,CO2f,all-year.afternoon,0.0 +2050,30,gas,all-year.early-peak,-0.7969200000000004 +2050,30,heat,all-year.early-peak,0.6870000000000004 +2050,30,CO2f,all-year.early-peak,44.45577000000002 +2050,30,gas,all-year.late-peak,-1.1484 +2050,30,heat,all-year.late-peak,0.9900000000000002 +2050,30,CO2f,all-year.late-peak,64.06290000000001 +2050,30,gas,all-year.evening,-1.1484 +2050,30,heat,all-year.evening,0.9900000000000002 +2050,30,CO2f,all-year.evening,64.06290000000001 +2050,31,wind,all-year.night,-0.0 +2050,31,electricity,all-year.night,0.0 +2050,31,wind,all-year.morning,-1.447200000000001 +2050,31,electricity,all-year.morning,1.447200000000001 +2050,31,wind,all-year.afternoon,-1.2000000000000002 +2050,31,electricity,all-year.afternoon,1.2000000000000002 +2050,31,wind,all-year.early-peak,-0.0 +2050,31,electricity,all-year.early-peak,0.0 +2050,31,wind,all-year.late-peak,-0.3252000000000003 +2050,31,electricity,all-year.late-peak,0.3252000000000003 +2050,31,wind,all-year.evening,-0.0 +2050,31,electricity,all-year.evening,0.0 +2050,32,wind,all-year.night,-0.044688000000000005 +2050,32,electricity,all-year.night,0.044688000000000005 +2050,32,wind,all-year.morning,-0.0 +2050,32,electricity,all-year.morning,0.0 +2050,32,wind,all-year.afternoon,-0.0 +2050,32,electricity,all-year.afternoon,0.0 +2050,32,wind,all-year.early-peak,-0.11172000000000001 +2050,32,electricity,all-year.early-peak,0.11172000000000001 +2050,32,wind,all-year.late-peak,-0.11172000000000001 +2050,32,electricity,all-year.late-peak,0.11172000000000001 +2050,32,wind,all-year.evening,-0.0 +2050,32,electricity,all-year.evening,0.0 +2050,33,gas,all-year.night,-0.0 +2050,33,electricity,all-year.night,0.0 +2050,33,CO2f,all-year.night,0.0 +2050,33,gas,all-year.morning,-0.3020695999999999 +2050,33,electricity,all-year.morning,0.18087999999999993 +2050,33,CO2f,all-year.morning,16.581269599999995 +2050,33,gas,all-year.afternoon,-0.3020695999999999 +2050,33,electricity,all-year.afternoon,0.18087999999999993 +2050,33,CO2f,all-year.afternoon,16.581269599999995 +2050,33,gas,all-year.early-peak,-0.3020695999999999 +2050,33,electricity,all-year.early-peak,0.18087999999999993 +2050,33,CO2f,all-year.early-peak,16.581269599999995 +2050,33,gas,all-year.late-peak,-0.13984179200000024 +2050,33,electricity,all-year.late-peak,0.08373760000000015 +2050,33,CO2f,all-year.late-peak,7.676225792000014 +2050,33,gas,all-year.evening,-0.3020695999999999 +2050,33,electricity,all-year.evening,0.18087999999999993 +2050,33,CO2f,all-year.evening,16.581269599999995 +2050,34,gas,all-year.night,0.0 +2050,34,gas,all-year.morning,0.0 +2050,34,gas,all-year.afternoon,0.0 +2050,34,gas,all-year.early-peak,0.0 +2050,34,gas,all-year.late-peak,0.5445973808000002 +2050,34,gas,all-year.evening,1.534615808 +2050,35,electricity,all-year.night,-0.40799999999999986 +2050,35,heat,all-year.night,1.0199999999999996 +2050,35,electricity,all-year.morning,-0.40799999999999986 +2050,35,heat,all-year.morning,1.0199999999999996 +2050,35,electricity,all-year.afternoon,-0.40799999999999986 +2050,35,heat,all-year.afternoon,1.0199999999999996 +2050,35,electricity,all-year.early-peak,-0.40799999999999986 +2050,35,heat,all-year.early-peak,1.0199999999999996 +2050,35,electricity,all-year.late-peak,-0.40799999999999986 +2050,35,heat,all-year.late-peak,1.0199999999999996 +2050,35,electricity,all-year.evening,-0.40799999999999986 +2050,35,heat,all-year.evening,1.0199999999999996 +2050,36,electricity,all-year.night,-0.36000000000000004 +2050,36,heat,all-year.night,0.9 +2050,36,electricity,all-year.morning,-0.36000000000000004 +2050,36,heat,all-year.morning,0.9 +2050,36,electricity,all-year.afternoon,-0.36000000000000004 +2050,36,heat,all-year.afternoon,0.9 +2050,36,electricity,all-year.early-peak,-0.36000000000000004 +2050,36,heat,all-year.early-peak,0.9 +2050,36,electricity,all-year.late-peak,-0.36000000000000004 +2050,36,heat,all-year.late-peak,0.9 +2050,36,electricity,all-year.evening,-0.36000000000000004 +2050,36,heat,all-year.evening,0.9 +2050,37,gas,all-year.night,-0.0 +2050,37,heat,all-year.night,0.0 +2050,37,CO2f,all-year.night,0.0 +2050,37,gas,all-year.morning,-0.13919999999999907 +2050,37,heat,all-year.morning,0.1199999999999992 +2050,37,CO2f,all-year.morning,7.765199999999948 +2050,37,gas,all-year.afternoon,-0.0 +2050,37,heat,all-year.afternoon,0.0 +2050,37,CO2f,all-year.afternoon,0.0 +2050,37,gas,all-year.early-peak,-0.13919999999999907 +2050,37,heat,all-year.early-peak,0.1199999999999992 +2050,37,CO2f,all-year.early-peak,7.765199999999948 +2050,37,gas,all-year.late-peak,-0.13919999999999907 +2050,37,heat,all-year.late-peak,0.1199999999999992 +2050,37,CO2f,all-year.late-peak,7.765199999999948 +2050,37,gas,all-year.evening,-0.13919999999999907 +2050,37,heat,all-year.evening,0.1199999999999992 +2050,37,CO2f,all-year.evening,7.765199999999948 +2050,38,wind,all-year.night,-0.0 +2050,38,electricity,all-year.night,0.0 +2050,38,wind,all-year.morning,-0.0 +2050,38,electricity,all-year.morning,0.0 +2050,38,wind,all-year.afternoon,-0.0 +2050,38,electricity,all-year.afternoon,0.0 +2050,38,wind,all-year.early-peak,-0.0 +2050,38,electricity,all-year.early-peak,0.0 +2050,38,wind,all-year.late-peak,-0.0 +2050,38,electricity,all-year.late-peak,0.0 +2050,38,wind,all-year.evening,-0.0 +2050,38,electricity,all-year.evening,0.0 +2050,39,wind,all-year.night,-0.2290079999999997 +2050,39,electricity,all-year.night,0.2290079999999997 +2050,39,wind,all-year.morning,-0.05246400000000019 +2050,39,electricity,all-year.morning,0.05246400000000019 +2050,39,wind,all-year.afternoon,-0.0 +2050,39,electricity,all-year.afternoon,0.0 +2050,39,wind,all-year.early-peak,-0.13214400000000026 +2050,39,electricity,all-year.early-peak,0.13214400000000026 +2050,39,wind,all-year.late-peak,-0.2954400000000001 +2050,39,electricity,all-year.late-peak,0.2954400000000001 +2050,39,wind,all-year.evening,-0.0 +2050,39,electricity,all-year.evening,0.0 +2050,40,gas,all-year.night,-0.07844991999999994 +2050,40,electricity,all-year.night,0.04697599999999996 +2050,40,CO2f,all-year.night,4.306289919999997 +2050,40,gas,all-year.morning,-0.07844991999999994 +2050,40,electricity,all-year.morning,0.04697599999999996 +2050,40,CO2f,all-year.morning,4.306289919999997 +2050,40,gas,all-year.afternoon,-0.07844991999999994 +2050,40,electricity,all-year.afternoon,0.04697599999999996 +2050,40,CO2f,all-year.afternoon,4.306289919999997 +2050,40,gas,all-year.early-peak,-0.07844991999999994 +2050,40,electricity,all-year.early-peak,0.04697599999999996 +2050,40,CO2f,all-year.early-peak,4.306289919999997 +2050,40,gas,all-year.late-peak,-0.03137996799999997 +2050,40,electricity,all-year.late-peak,0.018790399999999985 +2050,40,CO2f,all-year.late-peak,1.7225159679999986 +2050,40,gas,all-year.evening,-0.07844991999999994 +2050,40,electricity,all-year.evening,0.04697599999999996 +2050,40,CO2f,all-year.evening,4.306289919999997 diff --git a/tests/data/two_regions/commodity_prices.csv b/tests/data/two_regions/commodity_prices.csv index 37ba3a33f..b8e6140ee 100644 --- a/tests/data/two_regions/commodity_prices.csv +++ b/tests/data/two_regions/commodity_prices.csv @@ -35,36 +35,36 @@ milestone_year,commodity_id,region_id,time_slice,price 2020,heat,R2,all-year.late-peak,2.9579999999999997 2020,heat,R2,all-year.morning,2.9579999999999997 2020,heat,R2,all-year.night,2.9579999999999997 -2025,electricity,R1,all-year.afternoon,-0.0 -2025,electricity,R1,all-year.early-peak,-0.0 -2025,electricity,R1,all-year.evening,-0.0 -2025,electricity,R1,all-year.late-peak,-0.0 -2025,electricity,R1,all-year.morning,-0.0 -2025,electricity,R1,all-year.night,-0.0 +2025,electricity,R1,all-year.afternoon,15.26529810765 +2025,electricity,R1,all-year.early-peak,15.26529810765 +2025,electricity,R1,all-year.evening,15.26529810765 +2025,electricity,R1,all-year.late-peak,15.26529810765 +2025,electricity,R1,all-year.morning,15.26529810765 +2025,electricity,R1,all-year.night,15.26529810765 2025,electricity,R2,all-year.afternoon,4.2585 2025,electricity,R2,all-year.early-peak,4.2585 2025,electricity,R2,all-year.evening,4.2585 2025,electricity,R2,all-year.late-peak,4.2585 2025,electricity,R2,all-year.morning,4.2585 2025,electricity,R2,all-year.night,4.2585 -2025,gas,R1,all-year.afternoon,-0.0 -2025,gas,R1,all-year.early-peak,-0.0 -2025,gas,R1,all-year.evening,-0.0 +2025,gas,R1,all-year.afternoon,2.55 +2025,gas,R1,all-year.early-peak,2.5500000000000007 +2025,gas,R1,all-year.evening,2.5500000000000007 2025,gas,R1,all-year.late-peak,2.55 -2025,gas,R1,all-year.morning,-0.0 -2025,gas,R1,all-year.night,-0.0 +2025,gas,R1,all-year.morning,2.55 +2025,gas,R1,all-year.night,2.5500000000000007 2025,gas,R2,all-year.afternoon,2.55 2025,gas,R2,all-year.early-peak,2.55 2025,gas,R2,all-year.evening,2.55 2025,gas,R2,all-year.late-peak,2.55 2025,gas,R2,all-year.morning,2.55 2025,gas,R2,all-year.night,2.55 -2025,heat,R1,all-year.afternoon,-0.0 -2025,heat,R1,all-year.early-peak,-0.0 -2025,heat,R1,all-year.evening,-0.0 +2025,heat,R1,all-year.afternoon,6.10611924306 +2025,heat,R1,all-year.early-peak,6.10611924306 +2025,heat,R1,all-year.evening,6.10611924306 2025,heat,R1,all-year.late-peak,10.727716434449999 -2025,heat,R1,all-year.morning,-0.0 -2025,heat,R1,all-year.night,-0.0 +2025,heat,R1,all-year.morning,6.10611924306 +2025,heat,R1,all-year.night,6.10611924306 2025,heat,R2,all-year.afternoon,1.7034 2025,heat,R2,all-year.early-peak,2.9579999999999997 2025,heat,R2,all-year.evening,2.9579999999999997 @@ -73,8 +73,8 @@ milestone_year,commodity_id,region_id,time_slice,price 2025,heat,R2,all-year.night,1.7034 2030,electricity,R1,all-year.afternoon,-0.0 2030,electricity,R1,all-year.early-peak,-0.0 -2030,electricity,R1,all-year.evening,18.65054323633 -2030,electricity,R1,all-year.late-peak,18.65054323633 +2030,electricity,R1,all-year.evening,-0.0 +2030,electricity,R1,all-year.late-peak,-0.0 2030,electricity,R1,all-year.morning,-0.0 2030,electricity,R1,all-year.night,-0.0 2030,electricity,R2,all-year.afternoon,4.2585 @@ -83,34 +83,34 @@ milestone_year,commodity_id,region_id,time_slice,price 2030,electricity,R2,all-year.late-peak,4.2585 2030,electricity,R2,all-year.morning,4.2585 2030,electricity,R2,all-year.night,4.2585 -2030,gas,R1,all-year.afternoon,2.55 -2030,gas,R1,all-year.early-peak,2.55 -2030,gas,R1,all-year.evening,2.55 -2030,gas,R1,all-year.late-peak,2.55 -2030,gas,R1,all-year.morning,2.55 -2030,gas,R1,all-year.night,2.55 +2030,gas,R1,all-year.afternoon,-0.0 +2030,gas,R1,all-year.early-peak,-0.0 +2030,gas,R1,all-year.evening,-0.0 +2030,gas,R1,all-year.late-peak,-0.0 +2030,gas,R1,all-year.morning,-0.0 +2030,gas,R1,all-year.night,-0.0 2030,gas,R2,all-year.afternoon,2.55 2030,gas,R2,all-year.early-peak,2.55 2030,gas,R2,all-year.evening,2.55 -2030,gas,R2,all-year.late-peak,2.55 +2030,gas,R2,all-year.late-peak,2.5500000000000003 2030,gas,R2,all-year.morning,2.55 2030,gas,R2,all-year.night,2.55 2030,heat,R1,all-year.afternoon,-0.0 2030,heat,R1,all-year.early-peak,-0.0 -2030,heat,R1,all-year.evening,7.460217294532001 -2030,heat,R1,all-year.late-peak,7.460217294532001 +2030,heat,R1,all-year.evening,-0.0 +2030,heat,R1,all-year.late-peak,-0.0 2030,heat,R1,all-year.morning,-0.0 2030,heat,R1,all-year.night,-0.0 2030,heat,R2,all-year.afternoon,1.7034 2030,heat,R2,all-year.early-peak,2.9579999999999997 2030,heat,R2,all-year.evening,2.9579999999999997 -2030,heat,R2,all-year.late-peak,2.9579999999999997 +2030,heat,R2,all-year.late-peak,2.958 2030,heat,R2,all-year.morning,2.9579999999999997 2030,heat,R2,all-year.night,1.7034 2035,electricity,R1,all-year.afternoon,-0.0 2035,electricity,R1,all-year.early-peak,-0.0 -2035,electricity,R1,all-year.evening,23.95632656689 -2035,electricity,R1,all-year.late-peak,23.95632656689 +2035,electricity,R1,all-year.evening,-0.0 +2035,electricity,R1,all-year.late-peak,-0.0 2035,electricity,R1,all-year.morning,-0.0 2035,electricity,R1,all-year.night,-0.0 2035,electricity,R2,all-year.afternoon,4.2585 @@ -119,12 +119,12 @@ milestone_year,commodity_id,region_id,time_slice,price 2035,electricity,R2,all-year.late-peak,4.2585 2035,electricity,R2,all-year.morning,4.2585 2035,electricity,R2,all-year.night,4.2585 -2035,gas,R1,all-year.afternoon,2.55 -2035,gas,R1,all-year.early-peak,2.55 -2035,gas,R1,all-year.evening,2.55 -2035,gas,R1,all-year.late-peak,2.55 -2035,gas,R1,all-year.morning,2.55 -2035,gas,R1,all-year.night,2.55 +2035,gas,R1,all-year.afternoon,-0.0 +2035,gas,R1,all-year.early-peak,-0.0 +2035,gas,R1,all-year.evening,-0.0 +2035,gas,R1,all-year.late-peak,-0.0 +2035,gas,R1,all-year.morning,-0.0 +2035,gas,R1,all-year.night,-0.0 2035,gas,R2,all-year.afternoon,2.55 2035,gas,R2,all-year.early-peak,2.55 2035,gas,R2,all-year.evening,2.55 @@ -133,8 +133,8 @@ milestone_year,commodity_id,region_id,time_slice,price 2035,gas,R2,all-year.night,2.55 2035,heat,R1,all-year.afternoon,-0.0 2035,heat,R1,all-year.early-peak,-0.0 -2035,heat,R1,all-year.evening,9.582530626756 -2035,heat,R1,all-year.late-peak,9.582530626756 +2035,heat,R1,all-year.evening,-0.0 +2035,heat,R1,all-year.late-peak,-0.0 2035,heat,R1,all-year.morning,-0.0 2035,heat,R1,all-year.night,-0.0 2035,heat,R2,all-year.afternoon,1.7034 @@ -146,7 +146,7 @@ milestone_year,commodity_id,region_id,time_slice,price 2040,electricity,R1,all-year.afternoon,-0.0 2040,electricity,R1,all-year.early-peak,-0.0 2040,electricity,R1,all-year.evening,-0.0 -2040,electricity,R1,all-year.late-peak,29.26210980578 +2040,electricity,R1,all-year.late-peak,-0.0 2040,electricity,R1,all-year.morning,-0.0 2040,electricity,R1,all-year.night,-0.0 2040,electricity,R2,all-year.afternoon,4.2585 @@ -155,12 +155,12 @@ milestone_year,commodity_id,region_id,time_slice,price 2040,electricity,R2,all-year.late-peak,4.2585 2040,electricity,R2,all-year.morning,4.2585 2040,electricity,R2,all-year.night,4.2585 -2040,gas,R1,all-year.afternoon,2.55 -2040,gas,R1,all-year.early-peak,2.55 -2040,gas,R1,all-year.evening,2.55 -2040,gas,R1,all-year.late-peak,2.55 -2040,gas,R1,all-year.morning,2.55 -2040,gas,R1,all-year.night,2.55 +2040,gas,R1,all-year.afternoon,-0.0 +2040,gas,R1,all-year.early-peak,-0.0 +2040,gas,R1,all-year.evening,-0.0 +2040,gas,R1,all-year.late-peak,-0.0 +2040,gas,R1,all-year.morning,-0.0 +2040,gas,R1,all-year.night,-0.0 2040,gas,R2,all-year.afternoon,2.55 2040,gas,R2,all-year.early-peak,2.55 2040,gas,R2,all-year.evening,2.55 @@ -170,7 +170,7 @@ milestone_year,commodity_id,region_id,time_slice,price 2040,heat,R1,all-year.afternoon,-0.0 2040,heat,R1,all-year.early-peak,-0.0 2040,heat,R1,all-year.evening,-0.0 -2040,heat,R1,all-year.late-peak,11.704843922312001 +2040,heat,R1,all-year.late-peak,-0.0 2040,heat,R1,all-year.morning,-0.0 2040,heat,R1,all-year.night,-0.0 2040,heat,R2,all-year.afternoon,1.7034 @@ -182,7 +182,7 @@ milestone_year,commodity_id,region_id,time_slice,price 2045,electricity,R1,all-year.afternoon,-0.0 2045,electricity,R1,all-year.early-peak,-0.0 2045,electricity,R1,all-year.evening,-0.0 -2045,electricity,R1,all-year.late-peak,36.7049140767 +2045,electricity,R1,all-year.late-peak,-0.0 2045,electricity,R1,all-year.morning,-0.0 2045,electricity,R1,all-year.night,-0.0 2045,electricity,R2,all-year.afternoon,4.2585 @@ -191,26 +191,26 @@ milestone_year,commodity_id,region_id,time_slice,price 2045,electricity,R2,all-year.late-peak,4.2585 2045,electricity,R2,all-year.morning,4.2585 2045,electricity,R2,all-year.night,4.2585 -2045,gas,R1,all-year.afternoon,2.55 -2045,gas,R1,all-year.early-peak,2.55 -2045,gas,R1,all-year.evening,2.55 -2045,gas,R1,all-year.late-peak,2.55 -2045,gas,R1,all-year.morning,2.55 -2045,gas,R1,all-year.night,2.55 +2045,gas,R1,all-year.afternoon,-0.0 +2045,gas,R1,all-year.early-peak,-0.0 +2045,gas,R1,all-year.evening,-0.0 +2045,gas,R1,all-year.late-peak,-0.0 +2045,gas,R1,all-year.morning,-0.0 +2045,gas,R1,all-year.night,-0.0 2045,gas,R2,all-year.afternoon,2.55 -2045,gas,R2,all-year.early-peak,2.55 +2045,gas,R2,all-year.early-peak,2.5500000000000003 2045,gas,R2,all-year.evening,2.55 2045,gas,R2,all-year.late-peak,2.55 2045,gas,R2,all-year.morning,2.55 -2045,gas,R2,all-year.night,2.55 +2045,gas,R2,all-year.night,2.5500000000000003 2045,heat,R1,all-year.afternoon,-0.0 2045,heat,R1,all-year.early-peak,-0.0 2045,heat,R1,all-year.evening,-0.0 -2045,heat,R1,all-year.late-peak,14.68196563068 +2045,heat,R1,all-year.late-peak,-0.0 2045,heat,R1,all-year.morning,-0.0 2045,heat,R1,all-year.night,-0.0 2045,heat,R2,all-year.afternoon,1.7034 -2045,heat,R2,all-year.early-peak,2.9579999999999997 +2045,heat,R2,all-year.early-peak,2.958 2045,heat,R2,all-year.evening,2.9579999999999997 2045,heat,R2,all-year.late-peak,2.9579999999999997 2045,heat,R2,all-year.morning,2.9579999999999997 @@ -218,7 +218,7 @@ milestone_year,commodity_id,region_id,time_slice,price 2050,electricity,R1,all-year.afternoon,-0.0 2050,electricity,R1,all-year.early-peak,-0.0 2050,electricity,R1,all-year.evening,-0.0 -2050,electricity,R1,all-year.late-peak,44.14771825595 +2050,electricity,R1,all-year.late-peak,-0.0 2050,electricity,R1,all-year.morning,-0.0 2050,electricity,R1,all-year.night,-0.0 2050,electricity,R2,all-year.afternoon,4.2585 @@ -227,12 +227,6 @@ milestone_year,commodity_id,region_id,time_slice,price 2050,electricity,R2,all-year.late-peak,4.2585 2050,electricity,R2,all-year.morning,4.2585 2050,electricity,R2,all-year.night,4.2585 -2050,gas,R1,all-year.afternoon,2.55 -2050,gas,R1,all-year.early-peak,2.55 -2050,gas,R1,all-year.evening,2.55 -2050,gas,R1,all-year.late-peak,2.55 -2050,gas,R1,all-year.morning,2.55 -2050,gas,R1,all-year.night,2.55 2050,gas,R2,all-year.afternoon,2.55 2050,gas,R2,all-year.early-peak,2.55 2050,gas,R2,all-year.evening,2.55 @@ -242,7 +236,7 @@ milestone_year,commodity_id,region_id,time_slice,price 2050,heat,R1,all-year.afternoon,-0.0 2050,heat,R1,all-year.early-peak,-0.0 2050,heat,R1,all-year.evening,-0.0 -2050,heat,R1,all-year.late-peak,17.659087302379998 +2050,heat,R1,all-year.late-peak,-0.0 2050,heat,R1,all-year.morning,-0.0 2050,heat,R1,all-year.night,-0.0 2050,heat,R2,all-year.afternoon,1.7034 From 9a5473ce44591457d0ee4b02af29e84357e31efe Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Thu, 27 Nov 2025 17:24:01 +0000 Subject: [PATCH 16/27] Add tests --- src/process.rs | 97 ++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 94 insertions(+), 3 deletions(-) diff --git a/src/process.rs b/src/process.rs index 85e3d7fde..a990030aa 100644 --- a/src/process.rs +++ b/src/process.rs @@ -10,6 +10,7 @@ use crate::units::{ }; use anyhow::{Result, ensure}; use indexmap::{IndexMap, IndexSet}; +use itertools::Itertools; use serde_string_enum::DeserializeLabeledStringEnum; use std::collections::HashMap; use std::ops::RangeInclusive; @@ -146,7 +147,8 @@ impl ActivityLimits { .collect::>(); ensure!( missing.is_empty(), - "Missing availability limits for time slices: {missing:?}. Please provide", + "Missing availability limits for time slices: [{}]. Please provide", + missing.iter().join(", ") ); } @@ -168,7 +170,8 @@ impl ActivityLimits { .collect::>(); ensure!( missing.is_empty(), - "Missing availability limits for seasons: {missing:?}. Please provide", + "Missing availability limits for seasons: [{}]. Please provide", + missing.iter().join(", "), ); } @@ -487,9 +490,12 @@ pub struct ProcessInvestmentConstraint { mod tests { use super::*; use crate::commodity::{CommodityLevyMap, CommodityType, DemandMap}; - use crate::fixture::{region_id, time_slice}; + use crate::fixture::{assert_error, region_id, time_slice, time_slice_info2}; use crate::time_slice::TimeSliceLevel; + use crate::time_slice::TimeSliceSelection; + use float_cmp::assert_approx_eq; use rstest::{fixture, rstest}; + use std::collections::HashMap; use std::rc::Rc; #[fixture] @@ -969,4 +975,89 @@ mod tests { assert!(flow_out.direction() == FlowDirection::Output); assert!(flow_zero.direction() == FlowDirection::Zero); } + + #[rstest] + fn test_new_with_full_availability(time_slice_info2: TimeSliceInfo) { + let limits = ActivityLimits::new_with_full_availability(&time_slice_info2); + + // Each timeslice from the info should be present in the limits + for (ts_id, ts_len) in time_slice_info2.iter() { + let l = limits.get_limit_for_time_slice(&ts_id); + // Lower bound should be zero and upper bound equal to timeslice length + assert_eq!(*l.start(), Dimensionless(0.0)); + assert_eq!(*l.end(), Dimensionless(ts_len.value())); + } + + // Annual limit should be 0..1 + let annual_limit = limits.get_limit(&TimeSliceSelection::Annual, &time_slice_info2); + assert_approx_eq!(Dimensionless, *annual_limit.start(), Dimensionless(0.0)); + assert_approx_eq!(Dimensionless, *annual_limit.end(), Dimensionless(1.0)); + } + + #[rstest] + fn test_new_from_limits_with_seasonal_limit_applied(time_slice_info2: TimeSliceInfo) { + let mut limits = HashMap::new(); + + // Set a seasonal upper limit that is stricter than the sum of timeslices + limits.insert( + TimeSliceSelection::Season("winter".into()), + Dimensionless(0.0)..=Dimensionless(0.01), + ); + + let result = ActivityLimits::new_from_limits(&limits, &time_slice_info2).unwrap(); + + // Each timeslice upper bound should be capped by the seasonal upper bound (0.01) + for (ts_id, _ts_len) in time_slice_info2.iter() { + let ts_limit = result.get_limit_for_time_slice(&ts_id); + assert_eq!(*ts_limit.end(), Dimensionless(0.01)); + } + + // The seasonal limit should reflect the given bound + let season_limit = result.get_limit( + &TimeSliceSelection::Season("winter".into()), + &time_slice_info2, + ); + assert_eq!(*season_limit.end(), Dimensionless(0.01)); + } + + #[rstest] + fn test_new_from_limits_missing_timeslices_error(time_slice_info2: TimeSliceInfo) { + let mut limits = HashMap::new(); + + // Add a single timeslice limit but do not provide limits for all timeslices + let first_ts = time_slice_info2.iter().next().unwrap().0.clone(); + limits.insert( + TimeSliceSelection::Single(first_ts), + Dimensionless(0.0)..=Dimensionless(0.1), + ); + + assert_error!( + ActivityLimits::new_from_limits(&limits, &time_slice_info2), + "Missing availability limits for time slices: [winter.night]. Please provide" + ); + } + + #[rstest] + fn test_new_from_limits_incompatible_limits(time_slice_info2: TimeSliceInfo) { + let mut limits = HashMap::new(); + + // Time slice limits capping activity to 0.1 in each ts + for (ts_id, _ts_len) in time_slice_info2.iter() { + limits.insert( + TimeSliceSelection::Single(ts_id.clone()), + Dimensionless(0.0)..=Dimensionless(0.1), + ); + } + + // Seasonal limit that is incompatible (lower limit above the sum of time slice upper limits) + limits.insert( + TimeSliceSelection::Season("winter".into()), + Dimensionless(0.99)..=Dimensionless(1.0), + ); + + assert_error!( + ActivityLimits::new_from_limits(&limits, &time_slice_info2), + "Availability limit for season winter clashes with time slice limits" + ); + } } From 85b317846bd6e5735a73850126e427d3a7a03919 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Fri, 28 Nov 2025 11:27:25 +0000 Subject: [PATCH 17/27] Small imprevements from self-review --- schemas/input/process_availabilities.yaml | 5 ++-- src/process.rs | 26 ++++++++++++++++--- .../investment/appraisal/constraints.rs | 21 ++++++++------- src/simulation/optimisation.rs | 12 +++++---- src/simulation/optimisation/constraints.rs | 23 +++++++++------- 5 files changed, 59 insertions(+), 28 deletions(-) diff --git a/schemas/input/process_availabilities.yaml b/schemas/input/process_availabilities.yaml index 5cf3e2874..757274667 100644 --- a/schemas/input/process_availabilities.yaml +++ b/schemas/input/process_availabilities.yaml @@ -37,5 +37,6 @@ fields: description: Lower and upper limits on the availability of the process within the specified time slice(s) notes: A string in the format `min..max`, where `min` and `max` are decimal numbers between 0 and 1 - (inclusive). 0 represents no availability, and 1 represents full availability. Either `min` - or `max` can be omitted, which will set the corresponding limit to 0 or 1, respectively. + inclusive (e.g. "0.2..0.9"). 0 represents no availability, and 1 represents full availability. + Either `min` or `max` can be omitted (e.g "0.2.." or "..0.9"), which will set the + corresponding limit to 0 or 1, respectively. diff --git a/src/process.rs b/src/process.rs index a990030aa..b945a79ef 100644 --- a/src/process.rs +++ b/src/process.rs @@ -78,7 +78,8 @@ impl Process { /// can be undertaken in each time slice, season, or the year as a whole. The limits stored and /// returned by this struct are dimensionless; to convert to actual activity limits for an asset, /// multiply by the capacity to activity factor of the process and the installed capacity of the -/// asset. +/// asset. In other words, the limits stored and returned by this struct are the absolute limits on +/// activity per `1/capacity_to_activity` units of capacity. /// /// All time slices must have an entry in `self.time_slice_limits`. If no specific availability limit /// is provided for a time slice, this will just represent the length of the time slice as a @@ -124,6 +125,25 @@ impl ActivityLimits { /// Create a new `ActivityLimits` from a map of limits for time slice selections /// /// The limits provided here may be for individual time slices, seasons, or the entire year. + /// Provided limits must reflect the fraction of potential annual activity available in the + /// given time slice selection. In other words, these are the absolute limits on activity per + /// `1/capacity_to_activity` units of capacity. + /// + /// It is not mandatory to provide any limits; if no limits are provided, full availability + /// will be assumed for all time slices (limited only by time slice lengths). However, if + /// limits are provided for any individual time slices, they must be provided for ALL time + /// slices. Similarly, if limits are provided for any seasons, they must be provided for ALL + /// seasons. + /// + /// No calculations are done here to account for time slice lengths; this must be handled by the + /// user when providing the limits. For example, a limit of 0..=0.1 for a time slice indicates + /// that 10% of the potential annual activity can be undertaken in that time slice. If the time + /// slice is 10% of the year, then this provides no additional constraint. + /// + /// Checks are done to ensure that provided limits are compatible with each other. For example, + /// a limit of "..0.01" for "winter" would be incompatible with a limit of "0.2.." for + /// "winter.day" (i.e. if activity must be >0.2 in "winter.night", then if cannot possibly be + /// ≤0.01 in winter as a whole). pub fn new_from_limits( limits: &HashMap>, time_slice_info: &TimeSliceInfo, @@ -139,7 +159,7 @@ impl ActivityLimits { } } - // Check that limits have been added for all/no time slices + // Check that limits have been added for all or no time slices if !time_slices_added.is_empty() { let missing = time_slice_info .iter_ids() @@ -162,7 +182,7 @@ impl ActivityLimits { } } - // Check that limits have been added for all/no seasons + // Check that limits have been added for all or no seasons if !seasons_added.is_empty() { let missing = time_slice_info .iter_seasons() diff --git a/src/simulation/investment/appraisal/constraints.rs b/src/simulation/investment/appraisal/constraints.rs index e13f2377f..3248738a8 100644 --- a/src/simulation/investment/appraisal/constraints.rs +++ b/src/simulation/investment/appraisal/constraints.rs @@ -80,13 +80,14 @@ fn add_activity_constraints_for_existing( ) { for (ts_selection, limits) in asset.iter_activity_limits() { let limits = limits.start().value()..=limits.end().value(); + + // Collect activity terms for the time slices in this selection let terms = ts_selection .iter(time_slice_info) - .map(|(time_slice, _)| { - let var = *activity_vars.get(time_slice).unwrap(); - (var, 1.0) - }) + .map(|(time_slice, _)| (*activity_vars.get(time_slice).unwrap(), 1.0)) .collect::>(); + + // Constraint: sum of activities in selection within limits problem.add_row(limits, &terms); } } @@ -102,19 +103,21 @@ fn add_activity_constraints_for_candidate( let upper_limit = limits.end().value(); let lower_limit = limits.start().value(); + // Collect capacity and activity terms + // We have a single capacity term, and activity terms for all time slices in the selection let mut terms_upper = vec![(capacity_var, -upper_limit)]; - let mut terms_lower = vec![(capacity_var, lower_limit)]; + let mut terms_lower = vec![(capacity_var, -lower_limit)]; for (time_slice, _) in ts_selection.iter(time_slice_info) { let var = *activity_vars.get(time_slice).unwrap(); terms_upper.push((var, 1.0)); - terms_lower.push((var, -1.0)); + terms_lower.push((var, 1.0)); } - // Upper bound: activity ≤ capacity * upper_limit + // Upper bound: sum(activity) - (capacity * upper_limit_per_capacity) ≤ 0 problem.add_row(..=0.0, &terms_upper); - // Lower bound: activity ≥ capacity * lower_limit - problem.add_row(..=0.0, &terms_lower); + // Lower bound: sum(activity) - (capacity * lower_limit_per_capacity) ≥ 0 + problem.add_row(0.0.., &terms_lower); } } diff --git a/src/simulation/optimisation.rs b/src/simulation/optimisation.rs index e4b760463..1be56aac8 100644 --- a/src/simulation/optimisation.rs +++ b/src/simulation/optimisation.rs @@ -9,7 +9,7 @@ use crate::model::Model; use crate::output::DataWriter; use crate::region::RegionID; use crate::simulation::CommodityPrices; -use crate::time_slice::{TimeSliceID, TimeSliceInfo}; +use crate::time_slice::{TimeSliceID, TimeSliceInfo, TimeSliceSelection}; use crate::units::{ Activity, Capacity, Flow, Money, MoneyPerActivity, MoneyPerCapacity, MoneyPerFlow, Year, }; @@ -281,10 +281,12 @@ impl Solution<'_> { .activity_keys .zip_duals(self.solution.dual_rows()) .filter_map(move |((asset, ts_selection), dual)| { - let mut it = ts_selection.iter(self.time_slice_info); - match (it.next(), it.next()) { - (Some((time_slice, _)), None) => Some((asset, time_slice, dual)), - _ => None, + if matches!(ts_selection, TimeSliceSelection::Single(_)) { + // `iter(...).next()` is safe here because we just matched Single(_) + let (time_slice, _) = ts_selection.iter(self.time_slice_info).next().unwrap(); + Some((asset, time_slice, dual)) + } else { + None } }) } diff --git a/src/simulation/optimisation/constraints.rs b/src/simulation/optimisation/constraints.rs index fd27f3f94..8dc5f612e 100644 --- a/src/simulation/optimisation/constraints.rs +++ b/src/simulation/optimisation/constraints.rs @@ -208,22 +208,24 @@ where if let Some(&capacity_var) = capacity_vars.get(asset) { // Asset with flexible capacity for (ts_selection, limits) in asset.iter_activity_per_capacity_limits() { - // Create constraints for this time slice selection let upper_limit = limits.end().value(); let lower_limit = limits.start().value(); + + // Collect capacity and activity terms + // We have a single capacity term, and activity terms for all time slices in the selection let mut terms_upper = vec![(capacity_var, -upper_limit)]; - let mut terms_lower = vec![(capacity_var, lower_limit)]; + let mut terms_lower = vec![(capacity_var, -lower_limit)]; for (time_slice, _) in ts_selection.iter(time_slice_info) { let var = variables.get_activity_var(asset, time_slice); terms_upper.push((var, 1.0)); - terms_lower.push((var, -1.0)); + terms_lower.push((var, 1.0)); } - // Upper bound: activity ≤ capacity * upper_limit + // Upper bound: sum(activity) - (capacity * upper_limit_per_capacity) ≤ 0 problem.add_row(..=0.0, &terms_upper); - // Lower bound: activity ≥ capacity * lower_limit - problem.add_row(..=0.0, &terms_lower); + // Lower bound: sum(activity) - (capacity * lower_limit_per_capacity) ≥ 0 + problem.add_row(0.0.., &terms_lower); // Store keys for retrieving duals later. // TODO: a bit of a hack pushing identical keys twice. Safe for now so long as we don't @@ -234,13 +236,16 @@ where } else { // Fixed-capacity asset: simple absolute activity limits. for (ts_selection, limits) in asset.iter_activity_limits() { - // Create constraint for this time slice selection let limits = limits.start().value()..=limits.end().value(); - let vars = ts_selection + + // Collect activity terms for the time slices in this selection + let terms = ts_selection .iter(time_slice_info) .map(|(time_slice, _)| (variables.get_activity_var(asset, time_slice), 1.0)) .collect::>(); - problem.add_row(limits, &vars); + + // Constraint: sum of activities in selection within limits + problem.add_row(limits, &terms); // Store keys for retrieving duals later. keys.push((asset.clone(), ts_selection.clone())); From ac3c8e60ec35bb7cfa5ea36cfef2aa2d2a5f47d2 Mon Sep 17 00:00:00 2001 From: Tom Bland Date: Tue, 2 Dec 2025 10:18:09 +0000 Subject: [PATCH 18/27] Address review comments --- src/process.rs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/process.rs b/src/process.rs index b945a79ef..8cdcaa00c 100644 --- a/src/process.rs +++ b/src/process.rs @@ -222,7 +222,8 @@ impl ActivityLimits { // Get current limit for the season let current_limit = self.get_limit_for_season(&season); - // Ensure that the new limit is compatible with the current limit + // Ensure that the new limit overlaps with the current limit + // If not, it's impossible to satisfy both limits, so we must exit with an error ensure!( *limit.start() <= *current_limit.end() && *limit.end() >= *current_limit.start(), "Availability limit for season {season} clashes with time slice limits", @@ -244,7 +245,8 @@ impl ActivityLimits { // Get current limit for the year let current_limit = self.get_limit_for_year(&TimeSliceInfo::default()); - // Ensure that the new limit is compatible with the current limit + // Ensure that the new limit overlaps with the current limit + // If not, it's impossible to satisfy both limits, so we must exit with an error ensure!( *limit.start() <= *current_limit.end() && *limit.end() >= *current_limit.start(), "Annual availability limit clashes with time slice/seasonal limits", From 0c5eedca21e770b1fa8ada62fe7a0321caa1c6c9 Mon Sep 17 00:00:00 2001 From: Aurash Karimi Date: Fri, 5 Dec 2025 18:01:34 +0000 Subject: [PATCH 19/27] simplify investment constraints map --- src/fixture.rs | 4 ++-- src/process.rs | 11 +++-------- 2 files changed, 5 insertions(+), 10 deletions(-) diff --git a/src/fixture.rs b/src/fixture.rs index feb62a375..6aa8b4f3a 100644 --- a/src/fixture.rs +++ b/src/fixture.rs @@ -7,8 +7,8 @@ use crate::agent::{ use crate::asset::{Asset, AssetPool, AssetRef}; use crate::commodity::{Commodity, CommodityID, CommodityLevyMap, CommodityType, DemandMap}; use crate::process::{ - ActivityLimits, Process, ProcessActivityLimitsMap, ProcessFlow, ProcessFlowsMap, ProcessMap, - ProcessParameter, ProcessParameterMap, + ActivityLimits, Process, ProcessActivityLimitsMap, ProcessFlow, ProcessFlowsMap, + ProcessInvestmentConstraintsMap, ProcessMap, ProcessParameter, ProcessParameterMap, }; use crate::region::RegionID; use crate::simulation::investment::appraisal::{ diff --git a/src/process.rs b/src/process.rs index 8cdcaa00c..f32ca2696 100644 --- a/src/process.rs +++ b/src/process.rs @@ -34,7 +34,7 @@ pub type ProcessFlowsMap = HashMap<(RegionID, u32), Rc>>; + HashMap<(RegionID, u32), Rc>; /// Represents a process within the simulation #[derive(PartialEq, Debug)] @@ -486,13 +486,10 @@ pub enum InvestmentConstraintValue { /// proportion of the processes primary commodity demand Addition { /// constraint value to apply - addition_limit: f64, + addition_limit: Option, }, /// Growth constraint: Not implemented yet - Growth { - /// growth constraint seed value - growth_constraint_seed: f64, - }, + Growth {}, /// Limit constraint: Not implemented yet Limit {}, } @@ -504,8 +501,6 @@ pub struct ProcessInvestmentConstraint { pub constraint_name: String, /// The parameters value required to impose the constraint pub constraint_value: InvestmentConstraintValue, - /// The limit type for the constraint - pub limit_type: String, } #[cfg(test)] From 83d57342fe6865b6668a019884c1d223366a1ff9 Mon Sep 17 00:00:00 2001 From: Aurash Karimi Date: Mon, 8 Dec 2025 13:52:23 +0000 Subject: [PATCH 20/27] simplify process investment constraints --- src/input/process/investment_constraints.rs | 248 ++++++++++++-------- src/process.rs | 24 +- 2 files changed, 153 insertions(+), 119 deletions(-) diff --git a/src/input/process/investment_constraints.rs b/src/input/process/investment_constraints.rs index 2d0b31d00..3f784a615 100644 --- a/src/input/process/investment_constraints.rs +++ b/src/input/process/investment_constraints.rs @@ -2,14 +2,12 @@ use super::super::input_err_msg; use crate::input::read_csv_optional; use crate::process::{ - InvestmentConstraintValue, ProcessID, ProcessInvestmentConstraint, - ProcessInvestmentConstraintsMap, ProcessMap, + ProcessID, ProcessInvestmentConstraint, ProcessInvestmentConstraintsMap, ProcessMap, }; use crate::region::parse_region_str; -use anyhow::{Context, Result, bail, ensure}; +use anyhow::{Context, Result, ensure}; use serde::Deserialize; -use serde_string_enum::DeserializeLabeledStringEnum; -use std::collections::{HashMap, HashSet}; +use std::collections::HashMap; use std::path::Path; use std::rc::Rc; @@ -22,55 +20,30 @@ struct ProcessInvestmentConstraintRaw { process_id: String, regions: String, commission_years: u32, - constraint_type: ConstraintType, - value: f64, + addition_limit: f64, } impl ProcessInvestmentConstraintRaw { /// Validate the constraint record for logical consistency and required fields fn validate(&self) -> Result<()> { - // Validate that growth_constraint_seed is provided when constraint_type is growth - if matches!(self.constraint_type, ConstraintType::Growth) { - bail!("Growth constraints are not supported yet!") - } - if matches!(self.constraint_type, ConstraintType::Limit) { - bail!("Limit constraints are not supported yet!") - } - // Validate that value is finite ensure!( - self.value.is_finite(), + self.addition_limit.is_finite(), "Constraint value must be finite for constraint '{}'", self.constraint_name ); - if matches!(self.constraint_type, ConstraintType::Addition) { - // For addition constraints, value must be non-negative - ensure!( - self.value >= 0.0, - "Addition constraint value must be non-negative for constraint '{}'", - self.constraint_name - ); - } + // For addition constraints, value must be non-negative + ensure!( + self.addition_limit >= 0.0, + "Addition constraint value must be non-negative for constraint '{}'", + self.constraint_name + ); Ok(()) } } -/// The type of investment constraint being applied -#[derive(DeserializeLabeledStringEnum, Debug, Clone, Copy, PartialEq, Eq)] -pub enum ConstraintType { - /// Growth rate constraint (relative change between periods) - #[string = "growth"] - Growth, - /// Addition constraint (absolute change between periods) - #[string = "addition"] - Addition, - /// Absolute limit constraint (total capacity limit) - #[string = "limit"] - Limit, -} - /// Read the process investment constraints CSV file. /// /// This file contains information about investment constraints that limit how processes can be @@ -154,20 +127,11 @@ where process_years ); - // Create a processed constraint for each region for region in &record_regions { - let constraint_value = match record.constraint_type { - ConstraintType::Addition => InvestmentConstraintValue::Addition { - addition_limit: Some(record.value), - }, - ConstraintType::Growth => InvestmentConstraintValue::Growth {}, - ConstraintType::Limit => InvestmentConstraintValue::Limit {}, - }; - let constraint = ProcessInvestmentConstraint { - constraint_name: record.constraint_name.clone(), - constraint_value, + addition_limit: Some(record.addition_limit), }; + let process_map = map.entry(process_id.clone()).or_default(); process_map .entry((region.clone(), record.commission_years)) @@ -175,95 +139,181 @@ where } } - validate_constraint_consistency(&map)?; - Ok(map) } -/// Validate that constraints are internally consistent -/// -/// Checks for duplicate constraint names within each process/region/year combination. -fn validate_constraint_consistency( - map: &HashMap, -) -> Result<()> { - for (process_id, constraints_map) in map { - for ((region_id, year), constraint) in constraints_map { - // Check for duplicate constraint names - let mut seen = HashSet::new(); - if !seen.insert(&constraint.constraint_name) { - bail!( - "Duplicate constraint name '{}' for process '{}', region '{}', year {}", - constraint.constraint_name, - process_id, - region_id, - year - ); - } - } - } - - Ok(()) -} - #[cfg(test)] mod tests { use super::*; + use crate::fixture::processes; + use crate::region::RegionID; + use rstest::rstest; - fn create_raw_constraint( - constraint_type: ConstraintType, - value: f64, - ) -> ProcessInvestmentConstraintRaw { + fn create_raw_constraint(addition_limit: f64) -> ProcessInvestmentConstraintRaw { ProcessInvestmentConstraintRaw { constraint_name: "test_constraint".into(), process_id: "test_process".into(), regions: "ALL".into(), commission_years: 2030, - constraint_type, - value, + addition_limit: addition_limit, } } - #[test] - fn test_validate_growth_not_supported() { - // Growth constraints should fail with "not supported yet" message - let constraint = create_raw_constraint(ConstraintType::Growth, 0.1); - let result = constraint.validate(); + #[rstest] + fn test_read_process_investment_constraints_from_iter(processes: ProcessMap) { + // Create milestone years matching the process years + let milestone_years: Vec = vec![2010, 2015, 2020]; + + // Create constraint records for the test process + let constraints = vec![ + ProcessInvestmentConstraintRaw { + constraint_name: "gbr_2015_limit".into(), + process_id: "process1".into(), + regions: "GBR".into(), + commission_years: 2015, + addition_limit: 100.0, + }, + ProcessInvestmentConstraintRaw { + constraint_name: "usa_2015_limit".into(), + process_id: "process1".into(), + regions: "USA".into(), + commission_years: 2015, + addition_limit: 200.0, + }, + ProcessInvestmentConstraintRaw { + constraint_name: "all_regions_2020_limit".into(), + process_id: "process1".into(), + regions: "ALL".into(), + commission_years: 2020, + addition_limit: 50.0, + }, + ]; + + // Read constraints into the map + let result = read_process_investment_constraints_from_iter( + constraints.into_iter(), + &processes, + &milestone_years, + ) + .unwrap(); + + // Verify the constraints were correctly stored + let process_id: ProcessID = "process1".into(); + let process_constraints = result + .get(&process_id) + .expect("Process constraints should exist"); + + // Check GBR 2015 constraint + let gbr_region: RegionID = "GBR".into(); + let gbr_constraint = process_constraints + .get(&(gbr_region.clone(), 2015)) + .expect("GBR 2015 constraint should exist"); + assert_eq!(gbr_constraint.addition_limit, Some(100.0)); + + // Check USA 2015 constraint + let usa_region: RegionID = "USA".into(); + let usa_constraint = process_constraints + .get(&(usa_region.clone(), 2015)) + .expect("USA 2015 constraint should exist"); + assert_eq!(usa_constraint.addition_limit, Some(200.0)); + + // Check that ALL regions constraint created entries for both regions in 2020 + let gbr_2020_constraint = process_constraints + .get(&(gbr_region, 2020)) + .expect("GBR 2020 constraint should exist"); + assert_eq!(gbr_2020_constraint.addition_limit, Some(50.0)); + + let usa_2020_constraint = process_constraints + .get(&(usa_region, 2020)) + .expect("USA 2020 constraint should exist"); + assert_eq!(usa_2020_constraint.addition_limit, Some(50.0)); + + // Verify total number of constraints (2 for 2015 + 2 for 2020) + assert_eq!(process_constraints.len(), 4); + } + + #[rstest] + fn test_read_constraints_invalid_year(processes: ProcessMap) { + // Create constraint with year not in milestone years + let milestone_years = vec![2015, 2020]; + + let constraints = vec![ProcessInvestmentConstraintRaw { + constraint_name: "invalid_year_constraint".into(), + process_id: "process1".into(), + regions: "GBR".into(), + commission_years: 2025, // Not in milestone_years + addition_limit: 100.0, + }]; + + // Should fail with milestone year validation error + let result = read_process_investment_constraints_from_iter( + constraints.into_iter(), + &processes, + &milestone_years, + ); + assert!(result.is_err()); - assert!(result.unwrap_err().to_string().contains("not supported")); + assert!( + result + .unwrap_err() + .to_string() + .contains("not a milestone year") + ); } - #[test] - fn test_validate_limit_not_supported() { - // Limit constraints should fail with "not supported yet" message - let constraint = create_raw_constraint(ConstraintType::Limit, 100.0); - let result = constraint.validate(); + #[rstest] + fn test_read_constraints_year_outside_process_years(processes: ProcessMap) { + // Create constraint with year outside process operational years + // Process years are 2010..=2020 from the fixture + let milestone_years = vec![2005, 2015, 2025]; + + let constraints = vec![ProcessInvestmentConstraintRaw { + constraint_name: "out_of_range_year".into(), + process_id: "process1".into(), + regions: "GBR".into(), + commission_years: 2025, // Outside process years (2010-2020) + addition_limit: 100.0, + }]; + + // Should fail with process year validation error + let result = read_process_investment_constraints_from_iter( + constraints.into_iter(), + &processes, + &milestone_years, + ); + assert!(result.is_err()); - assert!(result.unwrap_err().to_string().contains("not supported")); + assert!( + result + .unwrap_err() + .to_string() + .contains("not valid for process") + ); } #[test] fn test_validate_addition_with_finite_value() { // Valid: addition constraint with positive value - let valid = create_raw_constraint(ConstraintType::Addition, 10.0); + let valid = create_raw_constraint(10.0); assert!(valid.validate().is_ok()); // Valid: addition constraint with zero value - let valid = create_raw_constraint(ConstraintType::Addition, 0.0); + let valid = create_raw_constraint(0.0); assert!(valid.validate().is_ok()); // Not valid: addition constraint with negative value - let valid = create_raw_constraint(ConstraintType::Addition, -10.0); + let valid = create_raw_constraint(-10.0); assert!(valid.validate().is_err()); } #[test] fn test_validate_addition_rejects_infinite() { // Invalid: infinite value - let invalid = create_raw_constraint(ConstraintType::Addition, f64::INFINITY); + let invalid = create_raw_constraint(f64::INFINITY); assert!(invalid.validate().is_err()); // Invalid: NaN value - let invalid = create_raw_constraint(ConstraintType::Addition, f64::NAN); + let invalid = create_raw_constraint(f64::NAN); assert!(invalid.validate().is_err()); } } diff --git a/src/process.rs b/src/process.rs index f32ca2696..c07b29575 100644 --- a/src/process.rs +++ b/src/process.rs @@ -478,29 +478,13 @@ pub struct ProcessParameter { pub discount_rate: Dimensionless, } -/// Value specification for different possible types of investment constraints -#[derive(Debug, Clone, PartialEq)] -pub enum InvestmentConstraintValue { - /// Addition constraint: Yearly limit an agent can invest - /// in the process, shared according to the agent's - /// proportion of the processes primary commodity demand - Addition { - /// constraint value to apply - addition_limit: Option, - }, - /// Growth constraint: Not implemented yet - Growth {}, - /// Limit constraint: Not implemented yet - Limit {}, -} - /// A constraint imposed on investments in the process #[derive(PartialEq, Debug, Clone)] pub struct ProcessInvestmentConstraint { - /// The name of the investment constraint - pub constraint_name: String, - /// The parameters value required to impose the constraint - pub constraint_value: InvestmentConstraintValue, + /// Addition constraint: Yearly limit an agent can invest + /// in the process, shared according to the agent's + /// proportion of the processes primary commodity demand + pub addition_limit: Option, } #[cfg(test)] From 4358102faa8d6597e6f1d7de3a9586dcc731b1a9 Mon Sep 17 00:00:00 2001 From: Aurash Karimi Date: Mon, 8 Dec 2025 15:07:45 +0000 Subject: [PATCH 21/27] fix commision years format for process investment constraints --- src/input/process/investment_constraints.rs | 176 ++++++++++++-------- 1 file changed, 109 insertions(+), 67 deletions(-) diff --git a/src/input/process/investment_constraints.rs b/src/input/process/investment_constraints.rs index 3f784a615..d731177fc 100644 --- a/src/input/process/investment_constraints.rs +++ b/src/input/process/investment_constraints.rs @@ -5,6 +5,7 @@ use crate::process::{ ProcessID, ProcessInvestmentConstraint, ProcessInvestmentConstraintsMap, ProcessMap, }; use crate::region::parse_region_str; +use crate::year::parse_year_str; use anyhow::{Context, Result, ensure}; use serde::Deserialize; use std::collections::HashMap; @@ -19,7 +20,7 @@ struct ProcessInvestmentConstraintRaw { constraint_name: String, process_id: String, regions: String, - commission_years: u32, + commission_years: String, addition_limit: f64, } @@ -108,34 +109,38 @@ where ) })?; - // Validate year is a milestone year - ensure!( - milestone_years.contains(&record.commission_years), - "Year {} is not a milestone year for constraint '{}'. Valid milestone years are: {:?}", - record.commission_years, - record.constraint_name, - milestone_years - ); + // Parse associated commission years + let constraint_years = parse_year_str(&record.commission_years, milestone_years) + .with_context(|| { + format!( + "Invalid year for constraint '{}' on process {}. Valid years are {:?}", + record.constraint_name, process_id, milestone_years + ) + })?; - // Validate year is within process operational years - let process_years: Vec = process.years.clone().collect(); - ensure!( - process_years.contains(&record.commission_years), - "Year {} is not valid for process {}. Valid years are: {:?}", - record.commission_years, - process_id, - process_years - ); + // Validate all parsed years are milestone years + for year in &constraint_years { + ensure!( + milestone_years.contains(year), + "Year {} is not a milestone year for constraint '{}'. Valid milestone years are: {:?}", + year, + record.constraint_name, + milestone_years + ); + } + // Create constraints for each region and year combination for region in &record_regions { - let constraint = ProcessInvestmentConstraint { - addition_limit: Some(record.addition_limit), - }; - - let process_map = map.entry(process_id.clone()).or_default(); - process_map - .entry((region.clone(), record.commission_years)) - .or_insert_with(|| Rc::new(constraint)); + for &year in &constraint_years { + let constraint = ProcessInvestmentConstraint { + addition_limit: Some(record.addition_limit), + }; + + let process_map = map.entry(process_id.clone()).or_default(); + process_map + .entry((region.clone(), year)) + .or_insert_with(|| Rc::new(constraint)); + } } } @@ -154,7 +159,7 @@ mod tests { constraint_name: "test_constraint".into(), process_id: "test_process".into(), regions: "ALL".into(), - commission_years: 2030, + commission_years: "2030".into(), addition_limit: addition_limit, } } @@ -167,24 +172,24 @@ mod tests { // Create constraint records for the test process let constraints = vec![ ProcessInvestmentConstraintRaw { - constraint_name: "gbr_2015_limit".into(), + constraint_name: "gbr_2010_limit".into(), process_id: "process1".into(), regions: "GBR".into(), - commission_years: 2015, + commission_years: "2010".into(), addition_limit: 100.0, }, ProcessInvestmentConstraintRaw { - constraint_name: "usa_2015_limit".into(), + constraint_name: "all_2015_limit".into(), process_id: "process1".into(), - regions: "USA".into(), - commission_years: 2015, + regions: "ALL".into(), + commission_years: "2015".into(), addition_limit: 200.0, }, ProcessInvestmentConstraintRaw { - constraint_name: "all_regions_2020_limit".into(), + constraint_name: "usa_2020_limit".into(), process_id: "process1".into(), - regions: "ALL".into(), - commission_years: 2020, + regions: "USA".into(), + commission_years: "2020".into(), addition_limit: 50.0, }, ]; @@ -203,35 +208,84 @@ mod tests { .get(&process_id) .expect("Process constraints should exist"); - // Check GBR 2015 constraint let gbr_region: RegionID = "GBR".into(); - let gbr_constraint = process_constraints - .get(&(gbr_region.clone(), 2015)) + let usa_region: RegionID = "USA".into(); + + // Check GBR 2010 constraint + let gbr_2010 = process_constraints + .get(&(gbr_region.clone(), 2010)) + .expect("GBR 2010 constraint should exist"); + assert_eq!(gbr_2010.addition_limit, Some(100.0)); + + // Check GBR 2015 constraint (from ALL regions) + let gbr_2015 = process_constraints + .get(&(gbr_region, 2015)) .expect("GBR 2015 constraint should exist"); - assert_eq!(gbr_constraint.addition_limit, Some(100.0)); + assert_eq!(gbr_2015.addition_limit, Some(200.0)); - // Check USA 2015 constraint - let usa_region: RegionID = "USA".into(); - let usa_constraint = process_constraints + // Check USA 2015 constraint (from ALL regions) + let usa_2015 = process_constraints .get(&(usa_region.clone(), 2015)) .expect("USA 2015 constraint should exist"); - assert_eq!(usa_constraint.addition_limit, Some(200.0)); - - // Check that ALL regions constraint created entries for both regions in 2020 - let gbr_2020_constraint = process_constraints - .get(&(gbr_region, 2020)) - .expect("GBR 2020 constraint should exist"); - assert_eq!(gbr_2020_constraint.addition_limit, Some(50.0)); + assert_eq!(usa_2015.addition_limit, Some(200.0)); - let usa_2020_constraint = process_constraints + // Check USA 2020 constraint + let usa_2020 = process_constraints .get(&(usa_region, 2020)) .expect("USA 2020 constraint should exist"); - assert_eq!(usa_2020_constraint.addition_limit, Some(50.0)); + assert_eq!(usa_2020.addition_limit, Some(50.0)); - // Verify total number of constraints (2 for 2015 + 2 for 2020) + // Verify total number of constraints (2 GBR + 2 USA = 4) assert_eq!(process_constraints.len(), 4); } + #[rstest] + fn test_read_constraints_all_regions_all_years(processes: ProcessMap) { + // Create milestone years matching the process years + let milestone_years: Vec = vec![2010, 2015, 2020]; + + // Create a constraint that applies to all regions and all years + let constraints = vec![ProcessInvestmentConstraintRaw { + constraint_name: "all_regions_all_years_limit".into(), + process_id: "process1".into(), + regions: "ALL".into(), + commission_years: "ALL".into(), + addition_limit: 75.0, + }]; + + // Read constraints into the map + let result = read_process_investment_constraints_from_iter( + constraints.into_iter(), + &processes, + &milestone_years, + ) + .unwrap(); + + // Verify the constraints were correctly stored + let process_id: ProcessID = "process1".into(); + let process_constraints = result + .get(&process_id) + .expect("Process constraints should exist"); + + let gbr_region: RegionID = "GBR".into(); + let usa_region: RegionID = "USA".into(); + + // Verify constraint exists for all region-year combinations + for &year in &milestone_years { + let gbr_constraint = process_constraints + .get(&(gbr_region.clone(), year)) + .expect(&format!("GBR {} constraint should exist", year)); + assert_eq!(gbr_constraint.addition_limit, Some(75.0)); + + let usa_constraint = process_constraints + .get(&(usa_region.clone(), year)) + .expect(&format!("USA {} constraint should exist", year)); + assert_eq!(usa_constraint.addition_limit, Some(75.0)); + } + + // Verify total number of constraints (2 regions × 3 years = 6) + assert_eq!(process_constraints.len(), 6); + } #[rstest] fn test_read_constraints_invalid_year(processes: ProcessMap) { // Create constraint with year not in milestone years @@ -241,7 +295,7 @@ mod tests { constraint_name: "invalid_year_constraint".into(), process_id: "process1".into(), regions: "GBR".into(), - commission_years: 2025, // Not in milestone_years + commission_years: "2025".into(), // Not in milestone_years addition_limit: 100.0, }]; @@ -253,25 +307,19 @@ mod tests { ); assert!(result.is_err()); - assert!( - result - .unwrap_err() - .to_string() - .contains("not a milestone year") - ); } #[rstest] fn test_read_constraints_year_outside_process_years(processes: ProcessMap) { // Create constraint with year outside process operational years // Process years are 2010..=2020 from the fixture - let milestone_years = vec![2005, 2015, 2025]; + let milestone_years = vec![2010, 2015, 2020]; let constraints = vec![ProcessInvestmentConstraintRaw { constraint_name: "out_of_range_year".into(), process_id: "process1".into(), regions: "GBR".into(), - commission_years: 2025, // Outside process years (2010-2020) + commission_years: "2025".into(), // Outside process years (2010-2020) addition_limit: 100.0, }]; @@ -283,12 +331,6 @@ mod tests { ); assert!(result.is_err()); - assert!( - result - .unwrap_err() - .to_string() - .contains("not valid for process") - ); } #[test] From 7dd9790819c2d250f1dc14049d0ff46f27d9ea09 Mon Sep 17 00:00:00 2001 From: Aurash Karimi Date: Mon, 8 Dec 2025 15:15:06 +0000 Subject: [PATCH 22/27] remove constraint name from process investment constraints --- src/input/process/investment_constraints.rs | 29 ++++----------------- 1 file changed, 5 insertions(+), 24 deletions(-) diff --git a/src/input/process/investment_constraints.rs b/src/input/process/investment_constraints.rs index d731177fc..6bfd7e522 100644 --- a/src/input/process/investment_constraints.rs +++ b/src/input/process/investment_constraints.rs @@ -17,7 +17,6 @@ const PROCESS_INVESTMENT_CONSTRAINTS_FILE_NAME: &str = "process_investment_const /// Represents a row of the process investment constraints CSV file #[derive(Deserialize)] struct ProcessInvestmentConstraintRaw { - constraint_name: String, process_id: String, regions: String, commission_years: String, @@ -29,16 +28,9 @@ impl ProcessInvestmentConstraintRaw { fn validate(&self) -> Result<()> { // Validate that value is finite ensure!( - self.addition_limit.is_finite(), - "Constraint value must be finite for constraint '{}'", - self.constraint_name - ); - - // For addition constraints, value must be non-negative - ensure!( - self.addition_limit >= 0.0, - "Addition constraint value must be non-negative for constraint '{}'", - self.constraint_name + self.addition_limit.is_finite() && self.addition_limit >= 0.0, + "Invalid value for addition constraint: '{}'; must be non-negative and finite.", + self.addition_limit ); Ok(()) @@ -113,8 +105,7 @@ where let constraint_years = parse_year_str(&record.commission_years, milestone_years) .with_context(|| { format!( - "Invalid year for constraint '{}' on process {}. Valid years are {:?}", - record.constraint_name, process_id, milestone_years + "Invalid year for constraint on process {process_id}. Valid years are {milestone_years:?}", ) })?; @@ -122,10 +113,7 @@ where for year in &constraint_years { ensure!( milestone_years.contains(year), - "Year {} is not a milestone year for constraint '{}'. Valid milestone years are: {:?}", - year, - record.constraint_name, - milestone_years + "Year {year} is not a milestone year. Valid milestone years are: {milestone_years:?}", ); } @@ -156,7 +144,6 @@ mod tests { fn create_raw_constraint(addition_limit: f64) -> ProcessInvestmentConstraintRaw { ProcessInvestmentConstraintRaw { - constraint_name: "test_constraint".into(), process_id: "test_process".into(), regions: "ALL".into(), commission_years: "2030".into(), @@ -172,21 +159,18 @@ mod tests { // Create constraint records for the test process let constraints = vec![ ProcessInvestmentConstraintRaw { - constraint_name: "gbr_2010_limit".into(), process_id: "process1".into(), regions: "GBR".into(), commission_years: "2010".into(), addition_limit: 100.0, }, ProcessInvestmentConstraintRaw { - constraint_name: "all_2015_limit".into(), process_id: "process1".into(), regions: "ALL".into(), commission_years: "2015".into(), addition_limit: 200.0, }, ProcessInvestmentConstraintRaw { - constraint_name: "usa_2020_limit".into(), process_id: "process1".into(), regions: "USA".into(), commission_years: "2020".into(), @@ -246,7 +230,6 @@ mod tests { // Create a constraint that applies to all regions and all years let constraints = vec![ProcessInvestmentConstraintRaw { - constraint_name: "all_regions_all_years_limit".into(), process_id: "process1".into(), regions: "ALL".into(), commission_years: "ALL".into(), @@ -292,7 +275,6 @@ mod tests { let milestone_years = vec![2015, 2020]; let constraints = vec![ProcessInvestmentConstraintRaw { - constraint_name: "invalid_year_constraint".into(), process_id: "process1".into(), regions: "GBR".into(), commission_years: "2025".into(), // Not in milestone_years @@ -316,7 +298,6 @@ mod tests { let milestone_years = vec![2010, 2015, 2020]; let constraints = vec![ProcessInvestmentConstraintRaw { - constraint_name: "out_of_range_year".into(), process_id: "process1".into(), regions: "GBR".into(), commission_years: "2025".into(), // Outside process years (2010-2020) From 5282831763c3f7cfe45ec7171cf92946a23638f5 Mon Sep 17 00:00:00 2001 From: Aurashk Date: Mon, 8 Dec 2025 17:13:33 +0000 Subject: [PATCH 23/27] Update src/input/process/investment_constraints.rs Co-authored-by: Tom Bland --- src/input/process/investment_constraints.rs | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/src/input/process/investment_constraints.rs b/src/input/process/investment_constraints.rs index 6bfd7e522..ede3c18fe 100644 --- a/src/input/process/investment_constraints.rs +++ b/src/input/process/investment_constraints.rs @@ -118,19 +118,13 @@ where } // Create constraints for each region and year combination - for region in &record_regions { - for &year in &constraint_years { - let constraint = ProcessInvestmentConstraint { - addition_limit: Some(record.addition_limit), - }; - - let process_map = map.entry(process_id.clone()).or_default(); - process_map - .entry((region.clone(), year)) - .or_insert_with(|| Rc::new(constraint)); - } + let constraint = Rc::new(ProcessInvestmentConstraint { + addition_limit: Some(record.addition_limit), + }); + let process_map = map.entry(process_id.clone()).or_default(); + for (region, &year) in iproduct!(&record_regions, &constraint_years) { + try_insert(process_map, &(region.clone(), year), constraint.clone())?; } - } Ok(map) } From cd8a1fbd60519ea1c770912d41ec0e9d199259a0 Mon Sep 17 00:00:00 2001 From: Aurash Karimi Date: Tue, 9 Dec 2025 11:33:52 +0000 Subject: [PATCH 24/27] restrict investment constraint years to only milestone years within process years range add yaml for investment constraints file --- .../input/process_investment_constraints.yaml | 26 +++++++ src/input/process/investment_constraints.rs | 75 +++++++++++++++---- 2 files changed, 85 insertions(+), 16 deletions(-) create mode 100644 schemas/input/process_investment_constraints.yaml diff --git a/schemas/input/process_investment_constraints.yaml b/schemas/input/process_investment_constraints.yaml new file mode 100644 index 000000000..c2af9217a --- /dev/null +++ b/schemas/input/process_investment_constraints.yaml @@ -0,0 +1,26 @@ +$schema: https://specs.frictionlessdata.io/schemas/table-schema.json +description: | + Constraints on the amount agents can invest in processes. + +fields: + - name: process_id + type: string + description: The process to which this entry applies + - name: regions + type: string + description: The region(s) to which this entry applies + notes: | + One or more region IDs, separated by semicolons or the string `all`. Must be regions in which + the process operates. + - name: commission years + type: string + description: The milestone year(s) to which this entry applies + notes: One or more milestone years separated by semicolons, `all` to select all years or a year + range in the form 'start..end' to select all valid years within range, inclusive. Either 'start' + 'end' or both can be omitted, which will set the corresponding limit to the minimum or maximum + valid year, respectively. + - name: addition limit + type: number + description: Yearly constraint on the amount agents can invest in the process + notes: The addition limit is allocated evenly between all agents using their proportion + of the processes primary commodity demand. diff --git a/src/input/process/investment_constraints.rs b/src/input/process/investment_constraints.rs index ede3c18fe..db7affed2 100644 --- a/src/input/process/investment_constraints.rs +++ b/src/input/process/investment_constraints.rs @@ -1,12 +1,13 @@ //! Code for reading process investment constraints CSV file use super::super::input_err_msg; -use crate::input::read_csv_optional; +use crate::input::{read_csv_optional, try_insert}; use crate::process::{ ProcessID, ProcessInvestmentConstraint, ProcessInvestmentConstraintsMap, ProcessMap, }; use crate::region::parse_region_str; use crate::year::parse_year_str; use anyhow::{Context, Result, ensure}; +use itertools::iproduct; use serde::Deserialize; use std::collections::HashMap; use std::path::Path; @@ -102,21 +103,18 @@ where })?; // Parse associated commission years - let constraint_years = parse_year_str(&record.commission_years, milestone_years) + let milestone_years_in_process_range: Vec = milestone_years + .iter() + .copied() + .filter(|year| process.years.contains(year)) + .collect(); + let constraint_years = parse_year_str(&record.commission_years, &milestone_years_in_process_range) .with_context(|| { format!( - "Invalid year for constraint on process {process_id}. Valid years are {milestone_years:?}", + "Invalid year for constraint on process {process_id}. Valid years are {milestone_years_in_process_range:?}", ) })?; - // Validate all parsed years are milestone years - for year in &constraint_years { - ensure!( - milestone_years.contains(year), - "Year {year} is not a milestone year. Valid milestone years are: {milestone_years:?}", - ); - } - // Create constraints for each region and year combination let constraint = Rc::new(ProcessInvestmentConstraint { addition_limit: Some(record.addition_limit), @@ -125,7 +123,7 @@ where for (region, &year) in iproduct!(&record_regions, &constraint_years) { try_insert(process_map, &(region.clone(), year), constraint.clone())?; } - + } Ok(map) } @@ -145,6 +143,51 @@ mod tests { } } + #[rstest] + fn test_read_constraints_only_uses_milestone_years_within_process_range(processes: ProcessMap) { + // Process years are 2010..=2020 from the fixture (excludes 2008) + let milestone_years = vec![2008, 2012, 2016]; + + let constraints = vec![ProcessInvestmentConstraintRaw { + process_id: "process1".into(), + regions: "GBR".into(), + commission_years: "ALL".into(), // Should apply to milestone years [2012, 2016] + addition_limit: 100.0, + }]; + + let result = read_process_investment_constraints_from_iter( + constraints.into_iter(), + &processes, + &milestone_years, + ) + .unwrap(); + + let process_id: ProcessID = "process1".into(); + let process_constraints = result + .get(&process_id) + .expect("Process constraints should exist"); + + let gbr_region: RegionID = "GBR".into(); + + // Should have constraints for milestone years within process year + // range + assert_eq!(process_constraints.len(), 2); + assert!(process_constraints.contains_key(&(gbr_region.clone(), 2012))); + assert!(process_constraints.contains_key(&(gbr_region.clone(), 2016))); + + // All other years should not have constraints + let process = processes.get(&process_id).unwrap(); + for year in process.years.clone() { + if ![2012, 2016].contains(&year) { + assert!( + !process_constraints.contains_key(&(gbr_region.clone(), year)), + "Should not contain constraint for year {}", + year + ); + } + } + } + #[rstest] fn test_read_process_investment_constraints_from_iter(processes: ProcessMap) { // Create milestone years matching the process years @@ -286,19 +329,19 @@ mod tests { } #[rstest] - fn test_read_constraints_year_outside_process_years(processes: ProcessMap) { - // Create constraint with year outside process operational years + fn test_read_constraints_year_outside_milestone_years(processes: ProcessMap) { + // Create constraint with year outside milestone years // Process years are 2010..=2020 from the fixture let milestone_years = vec![2010, 2015, 2020]; let constraints = vec![ProcessInvestmentConstraintRaw { process_id: "process1".into(), regions: "GBR".into(), - commission_years: "2025".into(), // Outside process years (2010-2020) + commission_years: "2025".into(), // Outside milestone years (2010-2020) addition_limit: 100.0, }]; - // Should fail with process year validation error + // Should fail with milestone year validation error let result = read_process_investment_constraints_from_iter( constraints.into_iter(), &processes, From 0714c357ca4dbd1b5afdea7ea129b7f146c88c68 Mon Sep 17 00:00:00 2001 From: Aurash Karimi Date: Tue, 9 Dec 2025 12:12:35 +0000 Subject: [PATCH 25/27] more fine grained error message checking in investment constraints tests --- .../input/process_investment_constraints.yaml | 2 +- src/input/process/investment_constraints.rs | 19 ++++++++++++------- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/schemas/input/process_investment_constraints.yaml b/schemas/input/process_investment_constraints.yaml index c2af9217a..d583f1e7e 100644 --- a/schemas/input/process_investment_constraints.yaml +++ b/schemas/input/process_investment_constraints.yaml @@ -18,7 +18,7 @@ fields: notes: One or more milestone years separated by semicolons, `all` to select all years or a year range in the form 'start..end' to select all valid years within range, inclusive. Either 'start' 'end' or both can be omitted, which will set the corresponding limit to the minimum or maximum - valid year, respectively. + valid year, respectively. Must be within the process's year range. - name: addition limit type: number description: Yearly constraint on the amount agents can invest in the process diff --git a/src/input/process/investment_constraints.rs b/src/input/process/investment_constraints.rs index db7affed2..20ca85335 100644 --- a/src/input/process/investment_constraints.rs +++ b/src/input/process/investment_constraints.rs @@ -16,7 +16,7 @@ use std::rc::Rc; const PROCESS_INVESTMENT_CONSTRAINTS_FILE_NAME: &str = "process_investment_constraints.csv"; /// Represents a row of the process investment constraints CSV file -#[derive(Deserialize)] +#[derive(PartialEq, Debug, Deserialize)] struct ProcessInvestmentConstraintRaw { process_id: String, regions: String, @@ -130,7 +130,7 @@ where #[cfg(test)] mod tests { use super::*; - use crate::fixture::processes; + use crate::fixture::{assert_error, processes}; use crate::region::RegionID; use rstest::rstest; @@ -325,7 +325,10 @@ mod tests { &milestone_years, ); - assert!(result.is_err()); + assert_error!( + result, + "Invalid year for constraint on process process1. Valid years are [2015, 2020]" + ); } #[rstest] @@ -347,8 +350,10 @@ mod tests { &processes, &milestone_years, ); - - assert!(result.is_err()); + assert_error!( + result, + "Invalid year for constraint on process process1. Valid years are [2010, 2015, 2020]" + ); } #[test] @@ -362,8 +367,8 @@ mod tests { assert!(valid.validate().is_ok()); // Not valid: addition constraint with negative value - let valid = create_raw_constraint(-10.0); - assert!(valid.validate().is_err()); + let invalid = create_raw_constraint(-10.0); + assert!(invalid.validate().is_err()); } #[test] From b8b74462407e40a8cc9e21ed8051ab3ff6b1231e Mon Sep 17 00:00:00 2001 From: Aurash Karimi Date: Tue, 9 Dec 2025 12:29:05 +0000 Subject: [PATCH 26/27] more fine grained error checking in investment constraints tests --- src/input/process/investment_constraints.rs | 36 +++++++++++++-------- 1 file changed, 23 insertions(+), 13 deletions(-) diff --git a/src/input/process/investment_constraints.rs b/src/input/process/investment_constraints.rs index 20ca85335..97dd53840 100644 --- a/src/input/process/investment_constraints.rs +++ b/src/input/process/investment_constraints.rs @@ -134,13 +134,14 @@ mod tests { use crate::region::RegionID; use rstest::rstest; - fn create_raw_constraint(addition_limit: f64) -> ProcessInvestmentConstraintRaw { - ProcessInvestmentConstraintRaw { + fn validate_raw_constraint(addition_limit: f64) -> Result<()> { + let constraint = ProcessInvestmentConstraintRaw { process_id: "test_process".into(), regions: "ALL".into(), commission_years: "2030".into(), addition_limit: addition_limit, - } + }; + constraint.validate() } #[rstest] @@ -359,26 +360,35 @@ mod tests { #[test] fn test_validate_addition_with_finite_value() { // Valid: addition constraint with positive value - let valid = create_raw_constraint(10.0); - assert!(valid.validate().is_ok()); + let valid = validate_raw_constraint(10.0); + assert!(valid.is_ok()); // Valid: addition constraint with zero value - let valid = create_raw_constraint(0.0); - assert!(valid.validate().is_ok()); + let valid = validate_raw_constraint(0.0); + assert!(valid.is_ok()); // Not valid: addition constraint with negative value - let invalid = create_raw_constraint(-10.0); - assert!(invalid.validate().is_err()); + let invalid = validate_raw_constraint(-10.0); + assert_error!( + invalid, + "Invalid value for addition constraint: '-10'; must be non-negative and finite." + ); } #[test] fn test_validate_addition_rejects_infinite() { // Invalid: infinite value - let invalid = create_raw_constraint(f64::INFINITY); - assert!(invalid.validate().is_err()); + let invalid = validate_raw_constraint(f64::INFINITY); + assert_error!( + invalid, + "Invalid value for addition constraint: 'inf'; must be non-negative and finite." + ); // Invalid: NaN value - let invalid = create_raw_constraint(f64::NAN); - assert!(invalid.validate().is_err()); + let invalid = validate_raw_constraint(f64::NAN); + assert_error!( + invalid, + "Invalid value for addition constraint: 'NaN'; must be non-negative and finite." + ); } } From 2f30d33f9e501a22820a8194f6a262fd9b8eaf5c Mon Sep 17 00:00:00 2001 From: Aurash Karimi Date: Tue, 9 Dec 2025 16:22:43 +0000 Subject: [PATCH 27/27] remove duplicate test add note about unused input invemstment constraint --- .../input/process_investment_constraints.yaml | 3 +++ src/input/process/investment_constraints.rs | 24 ------------------- 2 files changed, 3 insertions(+), 24 deletions(-) diff --git a/schemas/input/process_investment_constraints.yaml b/schemas/input/process_investment_constraints.yaml index d583f1e7e..cbc27c68e 100644 --- a/schemas/input/process_investment_constraints.yaml +++ b/schemas/input/process_investment_constraints.yaml @@ -2,6 +2,9 @@ $schema: https://specs.frictionlessdata.io/schemas/table-schema.json description: | Constraints on the amount agents can invest in processes. +notes: | + Not implemented yet! This file is reserved for future use. + fields: - name: process_id type: string diff --git a/src/input/process/investment_constraints.rs b/src/input/process/investment_constraints.rs index 97dd53840..84dc490cf 100644 --- a/src/input/process/investment_constraints.rs +++ b/src/input/process/investment_constraints.rs @@ -307,30 +307,6 @@ mod tests { // Verify total number of constraints (2 regions × 3 years = 6) assert_eq!(process_constraints.len(), 6); } - #[rstest] - fn test_read_constraints_invalid_year(processes: ProcessMap) { - // Create constraint with year not in milestone years - let milestone_years = vec![2015, 2020]; - - let constraints = vec![ProcessInvestmentConstraintRaw { - process_id: "process1".into(), - regions: "GBR".into(), - commission_years: "2025".into(), // Not in milestone_years - addition_limit: 100.0, - }]; - - // Should fail with milestone year validation error - let result = read_process_investment_constraints_from_iter( - constraints.into_iter(), - &processes, - &milestone_years, - ); - - assert_error!( - result, - "Invalid year for constraint on process process1. Valid years are [2015, 2020]" - ); - } #[rstest] fn test_read_constraints_year_outside_milestone_years(processes: ProcessMap) {