diff --git a/src/example/patches.rs b/src/example/patches.rs index 580a6a6c..66dbd278 100644 --- a/src/example/patches.rs +++ b/src/example/patches.rs @@ -13,15 +13,26 @@ static PATCHES: LazyLock = LazyLock::new(get_all_patches); /// Get all patches fn get_all_patches() -> PatchMap { - [( - // The simple example with gas boiler process made divisible - "simple_divisible", - vec![ - FilePatch::new("processes.csv") - .with_deletion("RGASBR,Gas boiler,all,RSHEAT,2020,2040,1.0,") - .with_addition("RGASBR,Gas boiler,all,RSHEAT,2020,2040,1.0,1000"), - ], - )] + [ + ( + // The simple example with gas boiler process made divisible + "simple_divisible", + vec![ + FilePatch::new("processes.csv") + .with_deletion("RGASBR,Gas boiler,all,RSHEAT,2020,2040,1.0,") + .with_addition("RGASBR,Gas boiler,all,RSHEAT,2020,2040,1.0,1000"), + ], + ), + // The simple example with objective type set to NPV for one agent + ( + "simple_npv", + vec![ + FilePatch::new("agent_objectives.csv") + .with_deletion("A0_RES,all,lcox,,") + .with_addition("A0_RES,all,npv,,"), + ], + ), + ] .into_iter() .collect() } diff --git a/src/input/agent/objective.rs b/src/input/agent/objective.rs index a8e5c8be..7c036910 100644 --- a/src/input/agent/objective.rs +++ b/src/input/agent/objective.rs @@ -1,13 +1,10 @@ //! Code for reading agent objectives from a CSV file. use super::super::{input_err_msg, read_csv, try_insert}; -use crate::ISSUES_URL; use crate::agent::{AgentID, AgentMap, AgentObjectiveMap, DecisionRule, ObjectiveType}; -use crate::model::{ALLOW_BROKEN_OPTION_NAME, broken_model_options_allowed}; use crate::units::Dimensionless; use crate::year::parse_year_str; use anyhow::{Context, Result, ensure}; use itertools::Itertools; -use log::warn; use serde::Deserialize; use std::collections::HashMap; use std::path::Path; @@ -93,24 +90,6 @@ where missing_years.is_empty(), "Agent {agent_id} is missing objectives for the following milestone years: {missing_years:?}" ); - - let npv_years = milestone_years - .iter() - .copied() - .filter(|year| agent_objectives[year] == ObjectiveType::NetPresentValue) - .collect_vec(); - if !npv_years.is_empty() { - ensure!( - broken_model_options_allowed(), - "The NPV option is BROKEN and should not be used. See: {ISSUES_URL}/716.\n\ - If you are sure that you want to enable it anyway, you need to set the \ - {ALLOW_BROKEN_OPTION_NAME} option to true." - ); - warn!( - "Agent {agent_id} is using NPV in years {npv_years:?}. \ - The NPV option is BROKEN and should not be used. See: {ISSUES_URL}/716." - ); - } } Ok(all_objectives) diff --git a/src/patch.rs b/src/patch.rs index 1f60c305..7c28c0db 100644 --- a/src/patch.rs +++ b/src/patch.rs @@ -108,17 +108,22 @@ impl ModelPatch { } } +/// Represents all rows and columns of a CSV file. +/// +/// Assumes that each row is unique (as it should be for all MUSE2 input files). +type CSVTable = IndexSet>; + /// Structure to hold patches for a model csv file. -#[derive(Debug, Clone)] +#[derive(Clone)] pub struct FilePatch { /// The file that this patch applies to (e.g. "agents.csv") filename: String, /// The header row (optional). If `None`, the header is not checked against base files. header_row: Option>, /// Rows to delete (each row is a vector of fields) - to_delete: IndexSet>, + to_delete: CSVTable, /// Rows to add (each row is a vector of fields) - to_add: IndexSet>, + to_add: CSVTable, } impl FilePatch { @@ -229,7 +234,7 @@ fn modify_base_with_patch(base: &str, patch: &FilePatch) -> Result { } // Read all rows from the base, preserving order and checking for duplicates - let mut base_rows: IndexSet> = IndexSet::new(); + let mut base_rows: CSVTable = CSVTable::new(); for result in reader.records() { let record = result?; diff --git a/tests/data/simple_npv/assets.csv b/tests/data/simple_npv/assets.csv new file mode 100644 index 00000000..19ab193f --- /dev/null +++ b/tests/data/simple_npv/assets.csv @@ -0,0 +1,17 @@ +asset_id,process_id,region_id,agent_id,group_id,commission_year,decommission_year,capacity +0,GASDRV,GBR,A0_GEX,,2020,2030,4002.26 +1,GASPRC,GBR,A0_GPR,,2020,2030,3782.13 +2,WNDFRM,GBR,A0_ELC,,2020,,3.964844 +3,GASCGT,GBR,A0_ELC,,2020,,2.43 +4,RGASBR,GBR,A0_RES,,2020,2035,2900.0 +5,RELCHP,GBR,A0_RES,,2020,2035,399.98 +6,RELCHP,GBR,A0_RES,,2030,,3290.2365652888325 +7,RGASBR,GBR,A0_RES,,2030,,3655.8184058764805 +8,GASCGT,GBR,A0_ELC,,2030,,33.820477802912976 +9,GASPRC,GBR,A0_GPR,,2030,,879.1648830751317 +10,GASDRV,GBR,A0_GEX,,2030,,923.1231272288879 +11,RGASBR,GBR,A0_RES,,2040,,4011.65737547648 +12,RELCHP,GBR,A0_RES,,2040,,802.3314750952961 +13,GASCGT,GBR,A0_ELC,,2040,,3.7231090668357614 +14,GASPRC,GBR,A0_GPR,,2040,,94.9477829022087 +15,GASDRV,GBR,A0_GEX,,2040,,99.6951720473196 diff --git a/tests/data/simple_npv/commodity_flows.csv b/tests/data/simple_npv/commodity_flows.csv new file mode 100644 index 00000000..66576743 --- /dev/null +++ b/tests/data/simple_npv/commodity_flows.csv @@ -0,0 +1,1057 @@ +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,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,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 +2020,0,CO2EMT,summer.day,0.0 +2020,0,GASPRD,summer.peak,0.0 +2020,0,CO2EMT,summer.peak,0.0 +2020,0,GASPRD,summer.evening,0.16861964795988574 +2020,0,CO2EMT,summer.evening,0.8621522600188959 +2020,0,GASPRD,autumn.night,0.0 +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.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,-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,-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 +2020,1,GASPRD,summer.day,-0.0 +2020,1,GASNAT,summer.day,0.0 +2020,1,CO2EMT,summer.day,0.0 +2020,1,GASPRD,summer.peak,-0.0 +2020,1,GASNAT,summer.peak,0.0 +2020,1,CO2EMT,summer.peak,0.0 +2020,1,GASPRD,summer.evening,-0.16861964795988574 +2020,1,GASNAT,summer.evening,0.1605901409141769 +2020,1,CO2EMT,summer.evening,0.41054869524709325 +2020,1,GASPRD,autumn.night,-0.0 +2020,1,GASNAT,autumn.night,0.0 +2020,1,CO2EMT,autumn.night,0.0 +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,-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 +2020,2,ELCTRI,winter.evening,2.5696653598405335 +2020,2,ELCTRI,peak.night,2.851272517283696 +2020,2,ELCTRI,peak.day,6.3713620320039785 +2020,2,ELCTRI,peak.peak,1.7776452018191917 +2020,2,ELCTRI,peak.evening,1.72484387381507 +2020,2,ELCTRI,summer.night,1.6368416242136155 +2020,2,ELCTRI,summer.day,2.9055524196533997 +2020,2,ELCTRI,summer.peak,0.9567924409494001 +2020,2,ELCTRI,summer.evening,0.7124084843502 +2020,2,ELCTRI,autumn.night,3.203281465982185 +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.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.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 +2020,3,GASNAT,summer.day,-0.0 +2020,3,ELCTRI,summer.day,0.0 +2020,3,CO2EMT,summer.day,0.0 +2020,3,GASNAT,summer.peak,-0.0 +2020,3,ELCTRI,summer.peak,0.0 +2020,3,CO2EMT,summer.peak,0.0 +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,-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.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 +2020,4,GASNAT,summer.day,-0.0 +2020,4,RSHEAT,summer.day,0.0 +2020,4,CO2EMT,summer.day,0.0 +2020,4,GASNAT,summer.peak,-0.0 +2020,4,RSHEAT,summer.peak,0.0 +2020,4,CO2EMT,summer.peak,0.0 +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,-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.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 +2020,5,RSHEAT,summer.day,8.80470430198 +2020,5,ELCTRI,summer.peak,-0.9567924409494001 +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.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,2,ELCTRI,winter.night,4.435312795545212 +2030,2,ELCTRI,winter.day,7.075379933645912 +2030,2,ELCTRI,winter.peak,1.9712501261051125 +2030,2,ELCTRI,winter.evening,2.5696653598405335 +2030,2,ELCTRI,peak.night,2.851272517283696 +2030,2,ELCTRI,peak.day,6.3713620320039785 +2030,2,ELCTRI,peak.peak,1.7776452018191917 +2030,2,ELCTRI,peak.evening,1.72484387381507 +2030,2,ELCTRI,summer.night,1.6368416242136155 +2030,2,ELCTRI,summer.day,3.2188600626534005 +2030,2,ELCTRI,summer.peak,1.0599640039494003 +2030,2,ELCTRI,summer.evening,0.7892279633502001 +2030,2,ELCTRI,autumn.night,3.203281465982185 +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,-8.382740663321101 +2030,3,ELCTRI,winter.night,5.5884937755474 +2030,3,CO2EMT,winter.night,428.6095301156078 +2030,3,GASNAT,winter.day,-11.975343788321101 +2030,3,ELCTRI,winter.day,7.9835625255474 +2030,3,CO2EMT,winter.day,612.2993278968578 +2030,3,GASNAT,winter.peak,-3.592603124999987 +2030,3,ELCTRI,winter.peak,2.395068749999991 +2030,3,CO2EMT,winter.peak,183.6897977812493 +2030,3,GASNAT,winter.evening,-0.0 +2030,3,ELCTRI,winter.evening,0.0 +2030,3,CO2EMT,winter.evening,0.0 +2030,3,GASNAT,peak.night,-0.0 +2030,3,ELCTRI,peak.night,0.0 +2030,3,CO2EMT,peak.night,0.0 +2030,3,GASNAT,peak.day,-11.975343788321101 +2030,3,ELCTRI,peak.day,7.9835625255474 +2030,3,CO2EMT,peak.day,612.2993278968578 +2030,3,GASNAT,peak.peak,-3.592603125 +2030,3,ELCTRI,peak.peak,2.39506875 +2030,3,CO2EMT,peak.peak,183.68979778124998 +2030,3,GASNAT,peak.evening,-0.0 +2030,3,ELCTRI,peak.evening,0.0 +2030,3,CO2EMT,peak.evening,0.0 +2030,3,GASNAT,summer.night,-0.44265925791417715 +2030,3,ELCTRI,summer.night,0.29510617194278477 +2030,3,CO2EMT,summer.night,22.633167857151875 +2030,3,GASNAT,summer.day,-0.0 +2030,3,ELCTRI,summer.day,0.0 +2030,3,CO2EMT,summer.day,0.0 +2030,3,GASNAT,summer.peak,-0.0 +2030,3,ELCTRI,summer.peak,0.0 +2030,3,CO2EMT,summer.peak,0.0 +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,-8.382740663321101 +2030,3,ELCTRI,autumn.night,5.5884937755474 +2030,3,CO2EMT,autumn.night,428.6095301156078 +2030,3,GASNAT,autumn.day,-0.0 +2030,3,ELCTRI,autumn.day,0.0 +2030,3,CO2EMT,autumn.day,0.0 +2030,3,GASNAT,autumn.peak,-0.0 +2030,3,ELCTRI,autumn.peak,0.0 +2030,3,CO2EMT,autumn.peak,0.0 +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,-0.0 +2030,4,RSHEAT,winter.night,0.0 +2030,4,CO2EMT,winter.night,0.0 +2030,4,GASNAT,winter.day,-0.0 +2030,4,RSHEAT,winter.day,0.0 +2030,4,CO2EMT,winter.day,0.0 +2030,4,GASNAT,winter.peak,-0.0 +2030,4,RSHEAT,winter.peak,0.0 +2030,4,CO2EMT,winter.peak,0.0 +2030,4,GASNAT,winter.evening,-0.0 +2030,4,RSHEAT,winter.evening,0.0 +2030,4,CO2EMT,winter.evening,0.0 +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,-0.0 +2030,4,RSHEAT,peak.day,0.0 +2030,4,CO2EMT,peak.day,0.0 +2030,4,GASNAT,peak.peak,-0.0 +2030,4,RSHEAT,peak.peak,0.0 +2030,4,CO2EMT,peak.peak,0.0 +2030,4,GASNAT,peak.evening,-0.0 +2030,4,RSHEAT,peak.evening,0.0 +2030,4,CO2EMT,peak.evening,0.0 +2030,4,GASNAT,summer.night,-0.0 +2030,4,RSHEAT,summer.night,0.0 +2030,4,CO2EMT,summer.night,0.0 +2030,4,GASNAT,summer.day,-0.0 +2030,4,RSHEAT,summer.day,0.0 +2030,4,CO2EMT,summer.day,0.0 +2030,4,GASNAT,summer.peak,-0.0 +2030,4,RSHEAT,summer.peak,0.0 +2030,4,CO2EMT,summer.peak,0.0 +2030,4,GASNAT,summer.evening,-0.0 +2030,4,RSHEAT,summer.evening,0.0 +2030,4,CO2EMT,summer.evening,0.0 +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,-0.0 +2030,4,RSHEAT,autumn.day,0.0 +2030,4,CO2EMT,autumn.day,0.0 +2030,4,GASNAT,autumn.peak,-0.0 +2030,4,RSHEAT,autumn.peak,0.0 +2030,4,CO2EMT,autumn.peak,0.0 +2030,4,GASNAT,autumn.evening,-0.0 +2030,4,RSHEAT,autumn.evening,0.0 +2030,4,CO2EMT,autumn.evening,0.0 +2030,5,ELCTRI,winter.night,-0.0 +2030,5,RSHEAT,winter.night,0.0 +2030,5,ELCTRI,winter.day,-0.0 +2030,5,RSHEAT,winter.day,0.0 +2030,5,ELCTRI,winter.peak,-3.7700627310601202 +2030,5,RSHEAT,winter.peak,11.424432518364 +2030,5,ELCTRI,winter.evening,-0.0 +2030,5,RSHEAT,winter.evening,0.0 +2030,5,ELCTRI,peak.night,-0.0 +2030,5,RSHEAT,peak.night,0.0 +2030,5,ELCTRI,peak.day,-0.0 +2030,5,RSHEAT,peak.day,0.0 +2030,5,ELCTRI,peak.peak,-0.0 +2030,5,RSHEAT,peak.peak,0.0 +2030,5,ELCTRI,peak.evening,-0.0 +2030,5,RSHEAT,peak.evening,0.0 +2030,5,ELCTRI,summer.night,-0.0 +2030,5,RSHEAT,summer.night,0.0 +2030,5,ELCTRI,summer.day,-0.0 +2030,5,RSHEAT,summer.day,0.0 +2030,5,ELCTRI,summer.peak,-0.0 +2030,5,RSHEAT,summer.peak,0.0 +2030,5,ELCTRI,summer.evening,-0.0 +2030,5,RSHEAT,summer.evening,0.0 +2030,5,ELCTRI,autumn.night,-0.0 +2030,5,RSHEAT,autumn.night,0.0 +2030,5,ELCTRI,autumn.day,-0.0 +2030,5,RSHEAT,autumn.day,0.0 +2030,5,ELCTRI,autumn.peak,-0.0 +2030,5,RSHEAT,autumn.peak,0.0 +2030,5,ELCTRI,autumn.evening,-0.0 +2030,5,RSHEAT,autumn.evening,0.0 +2030,6,ELCTRI,winter.night,-22.206170125279804 +2030,6,RSHEAT,winter.night,67.29142462206 +2030,6,ELCTRI,winter.day,-76.67221052563382 +2030,6,RSHEAT,winter.day,232.34003189586002 +2030,6,ELCTRI,winter.peak,-33.930564579541084 +2030,6,RSHEAT,winter.peak,102.81989266527602 +2030,6,ELCTRI,winter.evening,-26.000081352253805 +2030,6,RSHEAT,winter.evening,78.78812530986 +2030,6,ELCTRI,peak.night,-15.555947357748602 +2030,6,RSHEAT,peak.night,47.139234417420006 +2030,6,ELCTRI,peak.day,-41.3582005369962 +2030,6,RSHEAT,peak.day,125.32788041514 +2030,6,ELCTRI,peak.peak,-23.10032547650521 +2030,6,RSHEAT,peak.peak,70.00098629244002 +2030,6,ELCTRI,peak.evening,-14.013868573326603 +2030,6,RSHEAT,peak.evening,42.466268404020006 +2030,6,ELCTRI,summer.night,-1.9319477961564002 +2030,6,RSHEAT,summer.night,5.85438726108 +2030,6,ELCTRI,summer.day,-3.2188600626534005 +2030,6,RSHEAT,summer.day,9.75412140198 +2030,6,ELCTRI,summer.peak,-1.0599640039494003 +2030,6,RSHEAT,summer.peak,3.2120121331800005 +2030,6,ELCTRI,summer.evening,-0.7892279633502001 +2030,6,RSHEAT,summer.evening,2.39159988894 +2030,6,ELCTRI,autumn.night,-12.635529986653204 +2030,6,RSHEAT,autumn.night,38.28948480804001 +2030,6,ELCTRI,autumn.day,-33.25496019426901 +2030,6,RSHEAT,autumn.day,100.77260664930002 +2030,6,ELCTRI,autumn.peak,-18.477622211142602 +2030,6,RSHEAT,autumn.peak,55.99279457922 +2030,6,ELCTRI,autumn.evening,-11.0598561844452 +2030,6,RSHEAT,autumn.evening,33.51471571044 +2030,7,GASNAT,winter.night,-0.0 +2030,7,RSHEAT,winter.night,0.0 +2030,7,CO2EMT,winter.night,0.0 +2030,7,GASNAT,winter.day,-0.0 +2030,7,RSHEAT,winter.day,0.0 +2030,7,CO2EMT,winter.day,0.0 +2030,7,GASNAT,winter.peak,-0.0 +2030,7,RSHEAT,winter.peak,0.0 +2030,7,CO2EMT,winter.peak,0.0 +2030,7,GASNAT,winter.evening,-0.0 +2030,7,RSHEAT,winter.evening,0.0 +2030,7,CO2EMT,winter.evening,0.0 +2030,7,GASNAT,peak.night,-0.0 +2030,7,RSHEAT,peak.night,0.0 +2030,7,CO2EMT,peak.night,0.0 +2030,7,GASNAT,peak.day,-0.0 +2030,7,RSHEAT,peak.day,0.0 +2030,7,CO2EMT,peak.day,0.0 +2030,7,GASNAT,peak.peak,-0.0 +2030,7,RSHEAT,peak.peak,0.0 +2030,7,CO2EMT,peak.peak,0.0 +2030,7,GASNAT,peak.evening,-0.0 +2030,7,RSHEAT,peak.evening,0.0 +2030,7,CO2EMT,peak.evening,0.0 +2030,7,GASNAT,summer.night,-0.0 +2030,7,RSHEAT,summer.night,0.0 +2030,7,CO2EMT,summer.night,0.0 +2030,7,GASNAT,summer.day,-0.0 +2030,7,RSHEAT,summer.day,0.0 +2030,7,CO2EMT,summer.day,0.0 +2030,7,GASNAT,summer.peak,-0.0 +2030,7,RSHEAT,summer.peak,0.0 +2030,7,CO2EMT,summer.peak,0.0 +2030,7,GASNAT,summer.evening,-0.0 +2030,7,RSHEAT,summer.evening,0.0 +2030,7,CO2EMT,summer.evening,0.0 +2030,7,GASNAT,autumn.night,-0.0 +2030,7,RSHEAT,autumn.night,0.0 +2030,7,CO2EMT,autumn.night,0.0 +2030,7,GASNAT,autumn.day,-0.0 +2030,7,RSHEAT,autumn.day,0.0 +2030,7,CO2EMT,autumn.day,0.0 +2030,7,GASNAT,autumn.peak,-0.0 +2030,7,RSHEAT,autumn.peak,0.0 +2030,7,CO2EMT,autumn.peak,0.0 +2030,7,GASNAT,autumn.evening,-0.0 +2030,7,RSHEAT,autumn.evening,0.0 +2030,7,CO2EMT,autumn.evening,0.0 +2030,8,GASNAT,winter.night,-18.27354533128079 +2030,8,ELCTRI,winter.night,12.182363554187193 +2030,8,CO2EMT,winter.night,934.3263727883866 +2030,8,GASNAT,winter.day,-92.41990209966076 +2030,8,ELCTRI,winter.day,61.613268066440504 +2030,8,CO2EMT,winter.day,4725.429594355654 +2030,8,GASNAT,winter.peak,-50.00146265174415 +2030,8,ELCTRI,winter.peak,33.3343084344961 +2030,8,CO2EMT,winter.peak,2556.5747853836783 +2030,8,GASNAT,winter.evening,-35.1456239886199 +2030,8,ELCTRI,winter.evening,23.43041599241327 +2030,8,CO2EMT,winter.evening,1796.9957545381355 +2030,8,GASNAT,peak.night,-19.05701226069736 +2030,8,ELCTRI,peak.night,12.704674840464905 +2030,8,CO2EMT,peak.night,974.3850368894558 +2030,8,GASNAT,peak.day,-40.504913969167234 +2030,8,ELCTRI,peak.day,27.003275979444822 +2030,8,CO2EMT,peak.day,2071.0162512435204 +2030,8,GASNAT,peak.peak,-28.39141728702902 +2030,8,ELCTRI,peak.peak,18.927611524686014 +2030,8,CO2EMT,peak.peak,1451.6531658857937 +2030,8,GASNAT,peak.evening,-18.4335370492673 +2030,8,ELCTRI,peak.evening,12.289024699511533 +2030,8,CO2EMT,peak.evening,942.5067493290369 +2030,8,GASNAT,summer.night,-0.0 +2030,8,ELCTRI,summer.night,0.0 +2030,8,CO2EMT,summer.night,0.0 +2030,8,GASNAT,summer.day,-0.0 +2030,8,ELCTRI,summer.day,0.0 +2030,8,CO2EMT,summer.day,0.0 +2030,8,GASNAT,summer.peak,-0.0 +2030,8,ELCTRI,summer.peak,0.0 +2030,8,CO2EMT,summer.peak,0.0 +2030,8,GASNAT,summer.evening,-0.0 +2030,8,ELCTRI,summer.evening,0.0 +2030,8,CO2EMT,summer.evening,0.0 +2030,8,GASNAT,autumn.night,-5.765632117685428 +2030,8,ELCTRI,autumn.night,3.8437547451236185 +2030,8,CO2EMT,autumn.night,294.7967701772559 +2030,8,GASNAT,autumn.day,-40.87981133800968 +2030,8,ELCTRI,autumn.day,27.25320755867312 +2030,8,CO2EMT,autumn.day,2090.184753712435 +2030,8,GASNAT,autumn.peak,-25.393174242868177 +2030,8,ELCTRI,autumn.peak,16.928782828578786 +2030,8,CO2EMT,autumn.peak,1298.35299903785 +2030,8,GASNAT,autumn.evening,-8.948374211287213 +2030,8,ELCTRI,autumn.evening,5.965582807524809 +2030,8,CO2EMT,autumn.evening,457.5303734231152 +2030,9,GASPRD,winter.night,-67.31106166814747 +2030,9,GASNAT,winter.night,64.10577301728331 +2030,9,CO2EMT,winter.night,163.8864087186848 +2030,9,GASPRD,winter.day,-96.15865939405025 +2030,9,GASNAT,winter.day,91.57967561338118 +2030,9,CO2EMT,winter.day,234.12344070560903 +2030,9,GASPRD,winter.peak,-28.84759772590276 +2030,9,GASNAT,winter.peak,27.473902596097865 +2030,9,CO2EMT,winter.peak,70.2370319869242 +2030,9,GASPRD,winter.evening,-38.46346394224472 +2030,9,GASNAT,winter.evening,36.63187042118545 +2030,9,CO2EMT,winter.evening,93.6493767317606 +2030,9,GASPRD,peak.night,-0.0 +2030,9,GASNAT,peak.night,0.0 +2030,9,CO2EMT,peak.night,0.0 +2030,9,GASPRD,peak.day,-60.74150718530864 +2030,9,GASNAT,peak.day,57.8490544621987 +2030,9,CO2EMT,peak.day,147.891107732611 +2030,9,GASPRD,peak.peak,-28.84759772590276 +2030,9,GASNAT,peak.peak,27.473902596097865 +2030,9,CO2EMT,peak.peak,70.2370319869242 +2030,9,GASPRD,peak.evening,-38.46346394224472 +2030,9,GASNAT,peak.evening,36.63187042118545 +2030,9,CO2EMT,peak.evening,93.6493767317606 +2030,9,GASPRD,summer.night,-0.0 +2030,9,GASNAT,summer.night,0.0 +2030,9,CO2EMT,summer.night,0.0 +2030,9,GASPRD,summer.day,-0.0 +2030,9,GASNAT,summer.day,0.0 +2030,9,CO2EMT,summer.day,0.0 +2030,9,GASPRD,summer.peak,-0.0 +2030,9,GASNAT,summer.peak,0.0 +2030,9,CO2EMT,summer.peak,0.0 +2030,9,GASPRD,summer.evening,-0.464792220809886 +2030,9,GASNAT,summer.evening,0.44265925791417715 +2030,9,CO2EMT,summer.evening,1.131658392857594 +2030,9,GASPRD,autumn.night,-0.0 +2030,9,GASNAT,autumn.night,0.0 +2030,9,CO2EMT,autumn.night,0.0 +2030,9,GASPRD,autumn.day,-31.556801948919844 +2030,9,GASNAT,autumn.day,30.054097094209375 +2030,9,CO2EMT,autumn.day,76.83329922134628 +2030,9,GASPRD,autumn.peak,-28.84759772590276 +2030,9,GASNAT,autumn.peak,27.473902596097865 +2030,9,CO2EMT,autumn.peak,70.2370319869242 +2030,9,GASPRD,autumn.evening,-38.46346394224472 +2030,9,GASNAT,autumn.evening,36.63187042118545 +2030,9,CO2EMT,autumn.evening,93.6493767317606 +2030,10,GASPRD,winter.night,67.31106166814757 +2030,10,CO2EMT,winter.night,344.1614583092386 +2030,10,GASPRD,winter.day,96.1586593940502 +2030,10,CO2EMT,winter.day,491.6592254817787 +2030,10,GASPRD,winter.peak,28.847597725902748 +2030,10,CO2EMT,winter.peak,147.49776717254076 +2030,10,GASPRD,winter.evening,38.4634639422447 +2030,10,CO2EMT,winter.evening,196.66369113669717 +2030,10,GASPRD,peak.night,0.0 +2030,10,CO2EMT,peak.night,0.0 +2030,10,GASPRD,peak.day,60.74150718530869 +2030,10,CO2EMT,peak.day,310.5713262384834 +2030,10,GASPRD,peak.peak,28.847597725902748 +2030,10,CO2EMT,peak.peak,147.49776717254076 +2030,10,GASPRD,peak.evening,38.4634639422447 +2030,10,CO2EMT,peak.evening,196.66369113669717 +2030,10,GASPRD,summer.night,0.0 +2030,10,CO2EMT,summer.night,0.0 +2030,10,GASPRD,summer.day,0.0 +2030,10,CO2EMT,summer.day,0.0 +2030,10,GASPRD,summer.peak,0.0 +2030,10,CO2EMT,summer.peak,0.0 +2030,10,GASPRD,summer.evening,0.464792220809886 +2030,10,CO2EMT,summer.evening,2.3764826250009476 +2030,10,GASPRD,autumn.night,0.0 +2030,10,CO2EMT,autumn.night,0.0 +2030,10,GASPRD,autumn.day,31.55680194891988 +2030,10,CO2EMT,autumn.day,161.34992836482735 +2030,10,GASPRD,autumn.peak,28.847597725902748 +2030,10,CO2EMT,autumn.peak,147.49776717254076 +2030,10,GASPRD,autumn.evening,38.4634639422447 +2030,10,CO2EMT,autumn.evening,196.66369113669717 +2040,2,ELCTRI,winter.night,4.435312795545212 +2040,2,ELCTRI,winter.day,7.075379933645912 +2040,2,ELCTRI,winter.peak,1.9712501261051125 +2040,2,ELCTRI,winter.evening,2.5696653598405335 +2040,2,ELCTRI,peak.night,2.851272517283696 +2040,2,ELCTRI,peak.day,6.3713620320039785 +2040,2,ELCTRI,peak.peak,1.7776452018191917 +2040,2,ELCTRI,peak.evening,1.72484387381507 +2040,2,ELCTRI,summer.night,1.6368416242136155 +2040,2,ELCTRI,summer.day,3.5321677056534004 +2040,2,ELCTRI,summer.peak,1.1631355669494001 +2040,2,ELCTRI,summer.evening,0.8660474423502 +2040,2,ELCTRI,autumn.night,3.203281465982185 +2040,2,ELCTRI,autumn.day,6.001752635595889 +2040,2,ELCTRI,autumn.peak,1.5488393825638174 +2040,2,ELCTRI,autumn.evening,1.9008483513729915 +2040,3,GASNAT,winter.night,-8.382740663321101 +2040,3,ELCTRI,winter.night,5.5884937755474 +2040,3,CO2EMT,winter.night,428.6095301156078 +2040,3,GASNAT,winter.day,-11.975343788321101 +2040,3,ELCTRI,winter.day,7.9835625255474 +2040,3,CO2EMT,winter.day,612.2993278968578 +2040,3,GASNAT,winter.peak,-3.592603125 +2040,3,ELCTRI,winter.peak,2.39506875 +2040,3,CO2EMT,winter.peak,183.68979778124998 +2040,3,GASNAT,winter.evening,-0.0 +2040,3,ELCTRI,winter.evening,0.0 +2040,3,CO2EMT,winter.evening,0.0 +2040,3,GASNAT,peak.night,-8.382740663321101 +2040,3,ELCTRI,peak.night,5.5884937755474 +2040,3,CO2EMT,peak.night,428.6095301156078 +2040,3,GASNAT,peak.day,-11.975343788321101 +2040,3,ELCTRI,peak.day,7.9835625255474 +2040,3,CO2EMT,peak.day,612.2993278968578 +2040,3,GASNAT,peak.peak,-0.0 +2040,3,ELCTRI,peak.peak,0.0 +2040,3,CO2EMT,peak.peak,0.0 +2040,3,GASNAT,peak.evening,-0.0 +2040,3,ELCTRI,peak.evening,0.0 +2040,3,CO2EMT,peak.evening,0.0 +2040,3,GASNAT,summer.night,-0.7247283749141771 +2040,3,ELCTRI,summer.night,0.4831522499427847 +2040,3,CO2EMT,summer.night,37.05536180936187 +2040,3,GASNAT,summer.day,-0.0 +2040,3,ELCTRI,summer.day,0.0 +2040,3,CO2EMT,summer.day,0.0 +2040,3,GASNAT,summer.peak,-0.0 +2040,3,ELCTRI,summer.peak,0.0 +2040,3,CO2EMT,summer.peak,0.0 +2040,3,GASNAT,summer.evening,-0.0 +2040,3,ELCTRI,summer.evening,0.0 +2040,3,CO2EMT,summer.evening,0.0 +2040,3,GASNAT,autumn.night,-0.0 +2040,3,ELCTRI,autumn.night,0.0 +2040,3,CO2EMT,autumn.night,0.0 +2040,3,GASNAT,autumn.day,-11.975343788321101 +2040,3,ELCTRI,autumn.day,7.9835625255474 +2040,3,CO2EMT,autumn.day,612.2993278968578 +2040,3,GASNAT,autumn.peak,-0.0 +2040,3,ELCTRI,autumn.peak,0.0 +2040,3,CO2EMT,autumn.peak,0.0 +2040,3,GASNAT,autumn.evening,-4.790137538321099 +2040,3,ELCTRI,autumn.evening,3.1934250255473997 +2040,3,CO2EMT,autumn.evening,244.9197323343578 +2040,6,ELCTRI,winter.night,-5.061505788542775 +2040,6,RSHEAT,winter.night,15.337896328917502 +2040,6,ELCTRI,winter.day,-56.55495318197654 +2040,6,RSHEAT,winter.day,171.3786460059895 +2040,6,ELCTRI,winter.peak,-33.09617334768097 +2040,6,RSHEAT,winter.peak,100.29143438691202 +2040,6,ELCTRI,winter.evening,-17.498740582437023 +2040,6,RSHEAT,winter.evening,53.02648661344552 +2040,6,ELCTRI,peak.night,-0.0 +2040,6,RSHEAT,peak.night,0.0 +2040,6,ELCTRI,peak.day,-17.803655141338936 +2040,6,RSHEAT,peak.day,53.950470125269504 +2040,6,ELCTRI,peak.peak,-17.074751593584963 +2040,6,RSHEAT,peak.peak,51.741671495712005 +2040,6,ELCTRI,peak.evening,-4.34585015950982 +2040,6,RSHEAT,peak.evening,13.169242907605515 +2040,6,ELCTRI,summer.night,-0.0 +2040,6,RSHEAT,summer.night,0.0 +2040,6,ELCTRI,summer.day,-0.0 +2040,6,RSHEAT,summer.day,0.0 +2040,6,ELCTRI,summer.peak,-0.0 +2040,6,RSHEAT,summer.peak,0.0 +2040,6,ELCTRI,summer.evening,-0.0 +2040,6,RSHEAT,summer.evening,0.0 +2040,6,ELCTRI,autumn.night,-0.0 +2040,6,RSHEAT,autumn.night,0.0 +2040,6,ELCTRI,autumn.day,-8.911686154611735 +2040,6,RSHEAT,autumn.day,27.0051095594295 +2040,6,ELCTRI,autumn.peak,-12.00209765122236 +2040,6,RSHEAT,autumn.peak,36.369992882492 +2040,6,ELCTRI,autumn.evening,-1.1043090676284177 +2040,6,RSHEAT,autumn.evening,3.346391114025508 +2040,7,GASNAT,winter.night,-0.0 +2040,7,RSHEAT,winter.night,0.0 +2040,7,CO2EMT,winter.night,0.0 +2040,7,GASNAT,winter.day,-0.0 +2040,7,RSHEAT,winter.day,0.0 +2040,7,CO2EMT,winter.day,0.0 +2040,7,GASNAT,winter.peak,-0.0 +2040,7,RSHEAT,winter.peak,0.0 +2040,7,CO2EMT,winter.peak,0.0 +2040,7,GASNAT,winter.evening,-0.0 +2040,7,RSHEAT,winter.evening,0.0 +2040,7,CO2EMT,winter.evening,0.0 +2040,7,GASNAT,peak.night,-0.0 +2040,7,RSHEAT,peak.night,0.0 +2040,7,CO2EMT,peak.night,0.0 +2040,7,GASNAT,peak.day,-0.0 +2040,7,RSHEAT,peak.day,0.0 +2040,7,CO2EMT,peak.day,0.0 +2040,7,GASNAT,peak.peak,-0.0 +2040,7,RSHEAT,peak.peak,0.0 +2040,7,CO2EMT,peak.peak,0.0 +2040,7,GASNAT,peak.evening,-0.0 +2040,7,RSHEAT,peak.evening,0.0 +2040,7,CO2EMT,peak.evening,0.0 +2040,7,GASNAT,summer.night,-0.0 +2040,7,RSHEAT,summer.night,0.0 +2040,7,CO2EMT,summer.night,0.0 +2040,7,GASNAT,summer.day,-0.0 +2040,7,RSHEAT,summer.day,0.0 +2040,7,CO2EMT,summer.day,0.0 +2040,7,GASNAT,summer.peak,-0.0 +2040,7,RSHEAT,summer.peak,0.0 +2040,7,CO2EMT,summer.peak,0.0 +2040,7,GASNAT,summer.evening,-0.0 +2040,7,RSHEAT,summer.evening,0.0 +2040,7,CO2EMT,summer.evening,0.0 +2040,7,GASNAT,autumn.night,-0.0 +2040,7,RSHEAT,autumn.night,0.0 +2040,7,CO2EMT,autumn.night,0.0 +2040,7,GASNAT,autumn.day,-0.0 +2040,7,RSHEAT,autumn.day,0.0 +2040,7,CO2EMT,autumn.day,0.0 +2040,7,GASNAT,autumn.peak,-0.0 +2040,7,RSHEAT,autumn.peak,0.0 +2040,7,CO2EMT,autumn.peak,0.0 +2040,7,GASNAT,autumn.evening,-0.0 +2040,7,RSHEAT,autumn.evening,0.0 +2040,7,CO2EMT,autumn.evening,0.0 +2040,8,GASNAT,winter.night,-8.672137770067362 +2040,8,ELCTRI,winter.night,5.781425180044908 +2040,8,CO2EMT,winter.night,443.4064041835442 +2040,8,GASNAT,winter.day,-85.26628597244733 +2040,8,ELCTRI,winter.day,56.84419064829822 +2040,8,CO2EMT,winter.day,4359.665201771232 +2040,8,GASNAT,winter.peak,-50.00146265174415 +2040,8,ELCTRI,winter.peak,33.3343084344961 +2040,8,CO2EMT,winter.peak,2556.5747853836783 +2040,8,GASNAT,winter.evening,-38.94169964011991 +2040,8,ELCTRI,winter.evening,25.961133093413274 +2040,8,CO2EMT,winter.evening,1991.0891025993308 +2040,8,GASNAT,peak.night,-12.945478067876259 +2040,8,ELCTRI,peak.night,8.630318711917505 +2040,8,CO2EMT,peak.night,661.902293610513 +2040,8,GASNAT,peak.day,-28.195365763953824 +2040,8,ELCTRI,peak.day,18.79691050930255 +2040,8,CO2EMT,peak.day,1441.6290515109588 +2040,8,GASNAT,peak.peak,-29.852340532029025 +2040,8,ELCTRI,peak.peak,19.901560354686016 +2040,8,CO2EMT,peak.peak,1526.3501714026438 +2040,8,GASNAT,peak.evening,-20.4795962347673 +2040,8,ELCTRI,peak.evening,13.653064156511533 +2040,8,CO2EMT,peak.evening,1047.121755483652 +2040,8,GASNAT,summer.night,-0.0 +2040,8,ELCTRI,summer.night,0.0 +2040,8,CO2EMT,summer.night,0.0 +2040,8,GASNAT,summer.day,-0.0 +2040,8,ELCTRI,summer.day,0.0 +2040,8,CO2EMT,summer.day,0.0 +2040,8,GASNAT,summer.peak,-0.0 +2040,8,ELCTRI,summer.peak,0.0 +2040,8,CO2EMT,summer.peak,0.0 +2040,8,GASNAT,summer.evening,-0.0 +2040,8,ELCTRI,summer.evening,0.0 +2040,8,CO2EMT,summer.evening,0.0 +2040,8,GASNAT,autumn.night,-15.993191152006526 +2040,8,ELCTRI,autumn.night,10.662127434671017 +2040,8,CO2EMT,autumn.night,817.7318636020937 +2040,8,GASNAT,autumn.day,-33.759773307188574 +2040,8,ELCTRI,autumn.day,22.506515538125715 +2040,8,CO2EMT,autumn.day,1726.1372091965516 +2040,8,GASNAT,autumn.peak,-28.090952408368175 +2040,8,ELCTRI,autumn.peak,18.727301605578784 +2040,8,CO2EMT,autumn.peak,1436.2903966398646 +2040,8,GASNAT,autumn.evening,-10.563140342287216 +2040,8,ELCTRI,autumn.evening,7.04209356152481 +2040,8,CO2EMT,autumn.evening,540.0933657011452 +2040,9,GASPRD,winter.night,-67.31106166814747 +2040,9,GASNAT,winter.night,64.10577301728331 +2040,9,CO2EMT,winter.night,163.8864087186848 +2040,9,GASPRD,winter.day,-96.15865939405025 +2040,9,GASNAT,winter.day,91.57967561338118 +2040,9,CO2EMT,winter.day,234.12344070560903 +2040,9,GASPRD,winter.peak,-28.84759772590276 +2040,9,GASNAT,winter.peak,27.473902596097865 +2040,9,CO2EMT,winter.peak,70.2370319869242 +2040,9,GASPRD,winter.evening,-38.46346394224472 +2040,9,GASNAT,winter.evening,36.63187042118545 +2040,9,CO2EMT,winter.evening,93.6493767317606 +2040,9,GASPRD,peak.night,-0.0 +2040,9,GASNAT,peak.night,0.0 +2040,9,CO2EMT,peak.night,0.0 +2040,9,GASPRD,peak.day,-75.15629417383364 +2040,9,GASNAT,peak.day,71.57742302269871 +2040,9,CO2EMT,peak.day,182.98768195752928 +2040,9,GASPRD,peak.peak,-28.84759772590276 +2040,9,GASNAT,peak.peak,27.473902596097865 +2040,9,CO2EMT,peak.peak,70.2370319869242 +2040,9,GASPRD,peak.evening,-38.46346394224472 +2040,9,GASNAT,peak.evening,36.63187042118545 +2040,9,CO2EMT,peak.evening,93.6493767317606 +2040,9,GASPRD,summer.night,-0.0 +2040,9,GASNAT,summer.night,0.0 +2040,9,CO2EMT,summer.night,0.0 +2040,9,GASPRD,summer.day,-0.0 +2040,9,GASNAT,summer.day,0.0 +2040,9,CO2EMT,summer.day,0.0 +2040,9,GASPRD,summer.peak,-0.0 +2040,9,GASNAT,summer.peak,0.0 +2040,9,CO2EMT,summer.peak,0.0 +2040,9,GASPRD,summer.evening,-0.0 +2040,9,GASNAT,summer.evening,0.0 +2040,9,CO2EMT,summer.evening,0.0 +2040,9,GASPRD,autumn.night,-0.0 +2040,9,GASNAT,autumn.night,0.0 +2040,9,CO2EMT,autumn.night,0.0 +2040,9,GASPRD,autumn.day,-18.196310683644896 +2040,9,GASNAT,autumn.day,17.329819698709425 +2040,9,CO2EMT,autumn.day,44.30368405975065 +2040,9,GASPRD,autumn.peak,-28.84759772590276 +2040,9,GASNAT,autumn.peak,27.473902596097865 +2040,9,CO2EMT,autumn.peak,70.2370319869242 +2040,9,GASPRD,autumn.evening,-38.46346394224472 +2040,9,GASNAT,autumn.evening,36.63187042118545 +2040,9,CO2EMT,autumn.evening,93.6493767317606 +2040,10,GASPRD,winter.night,67.31106166814746 +2040,10,CO2EMT,winter.night,344.161458309238 +2040,10,GASPRD,winter.day,96.1586593940502 +2040,10,CO2EMT,winter.day,491.6592254817787 +2040,10,GASPRD,winter.peak,28.847597725902748 +2040,10,CO2EMT,winter.peak,147.49776717254076 +2040,10,GASPRD,winter.evening,38.4634639422447 +2040,10,CO2EMT,winter.evening,196.66369113669717 +2040,10,GASPRD,peak.night,0.0 +2040,10,CO2EMT,peak.night,0.0 +2040,10,GASPRD,peak.day,75.1562941738337 +2040,10,CO2EMT,peak.day,384.27413211081176 +2040,10,GASPRD,peak.peak,28.847597725902748 +2040,10,CO2EMT,peak.peak,147.49776717254076 +2040,10,GASPRD,peak.evening,38.4634639422447 +2040,10,CO2EMT,peak.evening,196.66369113669717 +2040,10,GASPRD,summer.night,0.0 +2040,10,CO2EMT,summer.night,0.0 +2040,10,GASPRD,summer.day,0.0 +2040,10,CO2EMT,summer.day,0.0 +2040,10,GASPRD,summer.peak,0.0 +2040,10,CO2EMT,summer.peak,0.0 +2040,10,GASPRD,summer.evening,0.760964793659886 +2040,10,CO2EMT,summer.evening,3.8908129899829973 +2040,10,GASPRD,autumn.night,0.0 +2040,10,CO2EMT,autumn.night,0.0 +2040,10,GASPRD,autumn.day,43.120103795169896 +2040,10,CO2EMT,autumn.day,220.4730907047037 +2040,10,GASPRD,autumn.peak,28.847597725902748 +2040,10,CO2EMT,autumn.peak,147.49776717254076 +2040,10,GASPRD,autumn.evening,38.4634639422447 +2040,10,CO2EMT,autumn.evening,196.66369113669717 +2040,11,GASNAT,winter.night,-0.0 +2040,11,RSHEAT,winter.night,0.0 +2040,11,CO2EMT,winter.night,0.0 +2040,11,GASNAT,winter.day,-0.0 +2040,11,RSHEAT,winter.day,0.0 +2040,11,CO2EMT,winter.day,0.0 +2040,11,GASNAT,winter.peak,-0.0 +2040,11,RSHEAT,winter.peak,0.0 +2040,11,CO2EMT,winter.peak,0.0 +2040,11,GASNAT,winter.evening,-0.0 +2040,11,RSHEAT,winter.evening,0.0 +2040,11,CO2EMT,winter.evening,0.0 +2040,11,GASNAT,peak.night,-0.0 +2040,11,RSHEAT,peak.night,0.0 +2040,11,CO2EMT,peak.night,0.0 +2040,11,GASNAT,peak.day,-0.0 +2040,11,RSHEAT,peak.day,0.0 +2040,11,CO2EMT,peak.day,0.0 +2040,11,GASNAT,peak.peak,-0.0 +2040,11,RSHEAT,peak.peak,0.0 +2040,11,CO2EMT,peak.peak,0.0 +2040,11,GASNAT,peak.evening,-0.0 +2040,11,RSHEAT,peak.evening,0.0 +2040,11,CO2EMT,peak.evening,0.0 +2040,11,GASNAT,summer.night,-0.0 +2040,11,RSHEAT,summer.night,0.0 +2040,11,CO2EMT,summer.night,0.0 +2040,11,GASNAT,summer.day,-0.0 +2040,11,RSHEAT,summer.day,0.0 +2040,11,CO2EMT,summer.day,0.0 +2040,11,GASNAT,summer.peak,-0.0 +2040,11,RSHEAT,summer.peak,0.0 +2040,11,CO2EMT,summer.peak,0.0 +2040,11,GASNAT,summer.evening,-0.0 +2040,11,RSHEAT,summer.evening,0.0 +2040,11,CO2EMT,summer.evening,0.0 +2040,11,GASNAT,autumn.night,-0.0 +2040,11,RSHEAT,autumn.night,0.0 +2040,11,CO2EMT,autumn.night,0.0 +2040,11,GASNAT,autumn.day,-0.0 +2040,11,RSHEAT,autumn.day,0.0 +2040,11,CO2EMT,autumn.day,0.0 +2040,11,GASNAT,autumn.peak,-0.0 +2040,11,RSHEAT,autumn.peak,0.0 +2040,11,CO2EMT,autumn.peak,0.0 +2040,11,GASNAT,autumn.evening,-0.0 +2040,11,RSHEAT,autumn.evening,0.0 +2040,11,CO2EMT,autumn.evening,0.0 +2040,12,ELCTRI,winter.night,-19.306101207737026 +2040,12,RSHEAT,winter.night,58.503336993142504 +2040,12,ELCTRI,winter.day,-27.58014454465727 +2040,12,RSHEAT,winter.day,83.57619558987051 +2040,12,ELCTRI,winter.peak,-8.274043336920242 +2040,12,RSHEAT,winter.peak,25.072858596728004 +2040,12,ELCTRI,winter.evening,-11.032057870816784 +2040,12,RSHEAT,winter.evening,33.43047839641449 +2040,12,ELCTRI,peak.night,-17.070085004748602 +2040,12,RSHEAT,peak.night,51.727530317420005 +2040,12,ELCTRI,peak.day,-27.58014454465727 +2040,12,RSHEAT,peak.day,83.57619558987051 +2040,12,ELCTRI,peak.peak,-8.274043336920242 +2040,12,RSHEAT,peak.peak,25.072858596728004 +2040,12,ELCTRI,peak.evening,-11.032057870816784 +2040,12,RSHEAT,peak.evening,33.43047839641449 +2040,12,ELCTRI,summer.night,-2.1199938741564 +2040,12,RSHEAT,summer.night,6.424223861080001 +2040,12,ELCTRI,summer.day,-3.5321677056534004 +2040,12,RSHEAT,summer.day,10.70353850198 +2040,12,ELCTRI,summer.peak,-1.1631355669494001 +2040,12,RSHEAT,summer.peak,3.5246532331800005 +2040,12,ELCTRI,summer.evening,-0.8660474423502 +2040,12,RSHEAT,summer.evening,2.62438618894 +2040,12,ELCTRI,autumn.night,-13.865408900653202 +2040,12,RSHEAT,autumn.night,42.016390608040005 +2040,12,ELCTRI,autumn.day,-27.58014454465727 +2040,12,RSHEAT,autumn.day,83.57619558987051 +2040,12,ELCTRI,autumn.peak,-8.274043336920242 +2040,12,RSHEAT,autumn.peak,25.072858596728004 +2040,12,ELCTRI,autumn.evening,-11.032057870816784 +2040,12,RSHEAT,autumn.evening,33.43047839641449 +2040,13,GASNAT,winter.night,-12.843562867713421 +2040,13,ELCTRI,winter.night,8.562375245142281 +2040,13,CO2EMT,winter.night,656.6913694261872 +2040,13,GASNAT,winter.day,-18.34794692871342 +2040,13,ELCTRI,winter.day,12.231964619142278 +2040,13,CO2EMT,winter.day,938.130526465117 +2040,13,GASNAT,winter.peak,-5.504384060999996 +2040,13,ELCTRI,winter.peak,3.6695893739999974 +2040,13,CO2EMT,winter.peak,281.43915703892975 +2040,13,GASNAT,winter.evening,-0.0 +2040,13,ELCTRI,winter.evening,0.0 +2040,13,CO2EMT,winter.evening,0.0 +2040,13,GASNAT,peak.night,-0.0 +2040,13,ELCTRI,peak.night,0.0 +2040,13,CO2EMT,peak.night,0.0 +2040,13,GASNAT,peak.day,-18.34794692871342 +2040,13,ELCTRI,peak.day,12.231964619142278 +2040,13,CO2EMT,peak.day,938.130526465117 +2040,13,GASNAT,peak.peak,-5.504384060999996 +2040,13,ELCTRI,peak.peak,3.6695893739999974 +2040,13,CO2EMT,peak.peak,281.43915703892975 +2040,13,GASNAT,peak.evening,-0.0 +2040,13,ELCTRI,peak.evening,0.0 +2040,13,CO2EMT,peak.evening,0.0 +2040,13,GASNAT,summer.night,-0.0 +2040,13,ELCTRI,summer.night,0.0 +2040,13,CO2EMT,summer.night,0.0 +2040,13,GASNAT,summer.day,-0.0 +2040,13,ELCTRI,summer.day,0.0 +2040,13,CO2EMT,summer.day,0.0 +2040,13,GASNAT,summer.peak,-0.0 +2040,13,ELCTRI,summer.peak,0.0 +2040,13,CO2EMT,summer.peak,0.0 +2040,13,GASNAT,summer.evening,-0.0 +2040,13,ELCTRI,summer.evening,0.0 +2040,13,CO2EMT,summer.evening,0.0 +2040,13,GASNAT,autumn.night,-0.0 +2040,13,ELCTRI,autumn.night,0.0 +2040,13,CO2EMT,autumn.night,0.0 +2040,13,GASNAT,autumn.day,-0.0 +2040,13,ELCTRI,autumn.day,0.0 +2040,13,CO2EMT,autumn.day,0.0 +2040,13,GASNAT,autumn.peak,-0.0 +2040,13,ELCTRI,autumn.peak,0.0 +2040,13,CO2EMT,autumn.peak,0.0 +2040,13,GASNAT,autumn.evening,-0.0 +2040,13,ELCTRI,autumn.evening,0.0 +2040,13,CO2EMT,autumn.evening,0.0 +2040,14,GASPRD,winter.night,-7.2694396616820685 +2040,14,GASNAT,winter.night,6.923275868268636 +2040,14,CO2EMT,winter.night,17.699354757228768 +2040,14,GASPRD,winter.day,-10.384913788160802 +2040,14,GASNAT,winter.day,9.890394083962669 +2040,14,CO2EMT,winter.day,25.284792475650566 +2040,14,GASPRD,winter.peak,-3.115474126478723 +2040,14,GASNAT,winter.peak,2.967118215694022 +2040,14,CO2EMT,winter.peak,7.585437718421768 +2040,14,GASPRD,winter.evening,-4.153965535203355 +2040,14,GASNAT,winter.evening,3.9561576525746234 +2040,14,CO2EMT,winter.evening,10.113917038807026 +2040,14,GASPRD,peak.night,-0.0 +2040,14,GASNAT,peak.night,0.0 +2040,14,CO2EMT,peak.night,0.0 +2040,14,GASPRD,peak.day,-0.0 +2040,14,GASNAT,peak.day,0.0 +2040,14,CO2EMT,peak.day,0.0 +2040,14,GASPRD,peak.peak,-0.0 +2040,14,GASNAT,peak.peak,0.0 +2040,14,CO2EMT,peak.peak,0.0 +2040,14,GASPRD,peak.evening,-0.0 +2040,14,GASNAT,peak.evening,0.0 +2040,14,CO2EMT,peak.evening,0.0 +2040,14,GASPRD,summer.night,-0.0 +2040,14,GASNAT,summer.night,0.0 +2040,14,CO2EMT,summer.night,0.0 +2040,14,GASPRD,summer.day,-0.0 +2040,14,GASNAT,summer.day,0.0 +2040,14,CO2EMT,summer.day,0.0 +2040,14,GASPRD,summer.peak,-0.0 +2040,14,GASNAT,summer.peak,0.0 +2040,14,CO2EMT,summer.peak,0.0 +2040,14,GASPRD,summer.evening,-0.760964793659886 +2040,14,GASNAT,summer.evening,0.7247283749141771 +2040,14,CO2EMT,summer.evening,1.8527680904680939 +2040,14,GASPRD,autumn.night,-7.269439661682078 +2040,14,GASNAT,autumn.night,6.923275868268646 +2040,14,CO2EMT,autumn.night,17.699354757228793 +2040,14,GASPRD,autumn.day,-10.384913788160802 +2040,14,GASNAT,autumn.day,9.890394083962669 +2040,14,CO2EMT,autumn.day,25.284792475650566 +2040,14,GASPRD,autumn.peak,-3.115474126478723 +2040,14,GASNAT,autumn.peak,2.967118215694022 +2040,14,CO2EMT,autumn.peak,7.585437718421768 +2040,14,GASPRD,autumn.evening,-4.153965535203355 +2040,14,GASNAT,autumn.evening,3.9561576525746234 +2040,14,CO2EMT,autumn.evening,10.113917038807026 +2040,15,GASPRD,winter.night,7.269439661682059 +2040,15,CO2EMT,winter.night,37.16864499018037 +2040,15,GASPRD,winter.day,10.38491378816085 +2040,15,CO2EMT,winter.day,53.09806419886643 +2040,15,GASPRD,winter.peak,3.1154741264787376 +2040,15,CO2EMT,winter.peak,15.929419208685786 +2040,15,GASPRD,winter.evening,4.1539655352033735 +2040,15,CO2EMT,winter.evening,21.239225781494852 +2040,15,GASPRD,peak.night,0.0 +2040,15,CO2EMT,peak.night,0.0 +2040,15,GASPRD,peak.day,0.0 +2040,15,CO2EMT,peak.day,0.0 +2040,15,GASPRD,peak.peak,0.0 +2040,15,CO2EMT,peak.peak,0.0 +2040,15,GASPRD,peak.evening,0.0 +2040,15,CO2EMT,peak.evening,0.0 +2040,15,GASPRD,summer.night,0.0 +2040,15,CO2EMT,summer.night,0.0 +2040,15,GASPRD,summer.day,0.0 +2040,15,CO2EMT,summer.day,0.0 +2040,15,GASPRD,summer.peak,0.0 +2040,15,CO2EMT,summer.peak,0.0 +2040,15,GASPRD,summer.evening,0.0 +2040,15,CO2EMT,summer.evening,0.0 +2040,15,GASPRD,autumn.night,0.0 +2040,15,CO2EMT,autumn.night,0.0 +2040,15,GASPRD,autumn.day,0.0 +2040,15,CO2EMT,autumn.day,0.0 +2040,15,GASPRD,autumn.peak,0.0 +2040,15,CO2EMT,autumn.peak,0.0 +2040,15,GASPRD,autumn.evening,0.0 +2040,15,CO2EMT,autumn.evening,0.0 diff --git a/tests/data/simple_npv/commodity_prices.csv b/tests/data/simple_npv/commodity_prices.csv new file mode 100644 index 00000000..30207682 --- /dev/null +++ b/tests/data/simple_npv/commodity_prices.csv @@ -0,0 +1,193 @@ +milestone_year,commodity_id,region_id,time_slice,price +2020,GASPRD,GBR,winter.night,2.20452 +2020,GASPRD,GBR,winter.day,2.20452 +2020,GASPRD,GBR,winter.peak,2.20452 +2020,GASPRD,GBR,winter.evening,2.20452 +2020,GASPRD,GBR,peak.night,2.20452 +2020,GASPRD,GBR,peak.day,2.20452 +2020,GASPRD,GBR,peak.peak,2.20452 +2020,GASPRD,GBR,peak.evening,2.20452 +2020,GASPRD,GBR,summer.night,2.20452 +2020,GASPRD,GBR,summer.day,2.20452 +2020,GASPRD,GBR,summer.peak,2.20452 +2020,GASPRD,GBR,summer.evening,2.20452 +2020,GASPRD,GBR,autumn.night,2.20452 +2020,GASPRD,GBR,autumn.day,2.20452 +2020,GASPRD,GBR,autumn.peak,2.20452 +2020,GASPRD,GBR,autumn.evening,2.20452 +2020,GASNAT,GBR,winter.night,2.9170059999999998 +2020,GASNAT,GBR,winter.day,2.9170059999999998 +2020,GASNAT,GBR,winter.peak,2.9170059999999998 +2020,GASNAT,GBR,winter.evening,2.9170059999999998 +2020,GASNAT,GBR,peak.night,2.9170059999999998 +2020,GASNAT,GBR,peak.day,2.9170059999999998 +2020,GASNAT,GBR,peak.peak,2.9170059999999998 +2020,GASNAT,GBR,peak.evening,2.9170059999999998 +2020,GASNAT,GBR,summer.night,2.9170059999999998 +2020,GASNAT,GBR,summer.day,2.9170059999999998 +2020,GASNAT,GBR,summer.peak,2.9170059999999998 +2020,GASNAT,GBR,summer.evening,2.9170059999999998 +2020,GASNAT,GBR,autumn.night,2.9170059999999998 +2020,GASNAT,GBR,autumn.day,2.9170059999999998 +2020,GASNAT,GBR,autumn.peak,2.9170059999999998 +2020,GASNAT,GBR,autumn.evening,2.9170059999999998 +2020,ELCTRI,GBR,winter.night,7.993308999999999 +2020,ELCTRI,GBR,winter.day,7.993308999999999 +2020,ELCTRI,GBR,winter.peak,7.993308999999999 +2020,ELCTRI,GBR,winter.evening,7.993308999999999 +2020,ELCTRI,GBR,peak.night,17.26223303030303 +2020,ELCTRI,GBR,peak.day,7.993308999999999 +2020,ELCTRI,GBR,peak.peak,7.993308999999999 +2020,ELCTRI,GBR,peak.evening,17.26223303030303 +2020,ELCTRI,GBR,summer.night,7.993308999999999 +2020,ELCTRI,GBR,summer.day,0.4 +2020,ELCTRI,GBR,summer.peak,0.4 +2020,ELCTRI,GBR,summer.evening,0.4 +2020,ELCTRI,GBR,autumn.night,17.26223303030303 +2020,ELCTRI,GBR,autumn.day,7.993308999999999 +2020,ELCTRI,GBR,autumn.peak,17.26223303030303 +2020,ELCTRI,GBR,autumn.evening,17.26223303030303 +2020,RSHEAT,GBR,winter.night,5.8665369 +2020,RSHEAT,GBR,winter.day,5.8665369 +2020,RSHEAT,GBR,winter.peak,5.8665369 +2020,RSHEAT,GBR,winter.evening,5.8665369 +2020,RSHEAT,GBR,peak.night,5.8665369 +2020,RSHEAT,GBR,peak.day,5.8665369 +2020,RSHEAT,GBR,peak.peak,5.8665369 +2020,RSHEAT,GBR,peak.evening,5.8665369 +2020,RSHEAT,GBR,summer.night,2.80779197 +2020,RSHEAT,GBR,summer.day,0.30200000000000005 +2020,RSHEAT,GBR,summer.peak,0.30200000000000005 +2020,RSHEAT,GBR,summer.evening,0.30200000000000005 +2020,RSHEAT,GBR,autumn.night,5.8665369 +2020,RSHEAT,GBR,autumn.day,5.8665369 +2020,RSHEAT,GBR,autumn.peak,5.8665369 +2020,RSHEAT,GBR,autumn.evening,5.8665369 +2030,GASPRD,GBR,winter.night,2.20452 +2030,GASPRD,GBR,winter.day,2.20452 +2030,GASPRD,GBR,winter.peak,2.20452 +2030,GASPRD,GBR,winter.evening,2.20452 +2030,GASPRD,GBR,peak.night,2.20452 +2030,GASPRD,GBR,peak.day,2.20452 +2030,GASPRD,GBR,peak.peak,2.20452 +2030,GASPRD,GBR,peak.evening,2.20452 +2030,GASPRD,GBR,summer.night,2.20452 +2030,GASPRD,GBR,summer.day,2.20452 +2030,GASPRD,GBR,summer.peak,2.20452 +2030,GASPRD,GBR,summer.evening,2.20452 +2030,GASPRD,GBR,autumn.night,2.20452 +2030,GASPRD,GBR,autumn.day,2.20452 +2030,GASPRD,GBR,autumn.peak,2.20452 +2030,GASPRD,GBR,autumn.evening,2.20452 +2030,GASNAT,GBR,winter.night,2.9170059999999998 +2030,GASNAT,GBR,winter.day,2.9170059999999998 +2030,GASNAT,GBR,winter.peak,2.9170059999999998 +2030,GASNAT,GBR,winter.evening,2.9170059999999998 +2030,GASNAT,GBR,peak.night,2.9170059999999998 +2030,GASNAT,GBR,peak.day,2.9170059999999998 +2030,GASNAT,GBR,peak.peak,2.9170059999999998 +2030,GASNAT,GBR,peak.evening,2.9170059999999998 +2030,GASNAT,GBR,summer.night,2.9170059999999998 +2030,GASNAT,GBR,summer.day,2.9170059999999998 +2030,GASNAT,GBR,summer.peak,2.9170059999999998 +2030,GASNAT,GBR,summer.evening,2.9170059999999998 +2030,GASNAT,GBR,autumn.night,2.9170059999999998 +2030,GASNAT,GBR,autumn.day,2.9170059999999998 +2030,GASNAT,GBR,autumn.peak,2.9170059999999998 +2030,GASNAT,GBR,autumn.evening,2.9170059999999998 +2030,ELCTRI,GBR,winter.night,7.993308999999999 +2030,ELCTRI,GBR,winter.day,7.993308999999999 +2030,ELCTRI,GBR,winter.peak,7.993308999999999 +2030,ELCTRI,GBR,winter.evening,7.993308999999999 +2030,ELCTRI,GBR,peak.night,7.993308999999999 +2030,ELCTRI,GBR,peak.day,7.993308999999999 +2030,ELCTRI,GBR,peak.peak,7.993308999999999 +2030,ELCTRI,GBR,peak.evening,7.993308999999999 +2030,ELCTRI,GBR,summer.night,7.993308999999999 +2030,ELCTRI,GBR,summer.day,0.4 +2030,ELCTRI,GBR,summer.peak,0.4 +2030,ELCTRI,GBR,summer.evening,0.4 +2030,ELCTRI,GBR,autumn.night,7.993308999999999 +2030,ELCTRI,GBR,autumn.day,7.993308999999999 +2030,ELCTRI,GBR,autumn.peak,7.993308999999999 +2030,ELCTRI,GBR,autumn.evening,7.993308999999999 +2030,RSHEAT,GBR,winter.night,2.80779197 +2030,RSHEAT,GBR,winter.day,2.80779197 +2030,RSHEAT,GBR,winter.peak,2.80779197 +2030,RSHEAT,GBR,winter.evening,2.80779197 +2030,RSHEAT,GBR,peak.night,2.80779197 +2030,RSHEAT,GBR,peak.day,2.80779197 +2030,RSHEAT,GBR,peak.peak,2.80779197 +2030,RSHEAT,GBR,peak.evening,2.80779197 +2030,RSHEAT,GBR,summer.night,2.80779197 +2030,RSHEAT,GBR,summer.day,0.30200000000000005 +2030,RSHEAT,GBR,summer.peak,0.30200000000000005 +2030,RSHEAT,GBR,summer.evening,0.30200000000000005 +2030,RSHEAT,GBR,autumn.night,2.80779197 +2030,RSHEAT,GBR,autumn.day,2.80779197 +2030,RSHEAT,GBR,autumn.peak,2.80779197 +2030,RSHEAT,GBR,autumn.evening,2.80779197 +2040,GASPRD,GBR,winter.night,2.20452 +2040,GASPRD,GBR,winter.day,2.20452 +2040,GASPRD,GBR,winter.peak,2.20452 +2040,GASPRD,GBR,winter.evening,2.20452 +2040,GASPRD,GBR,peak.night,2.20452 +2040,GASPRD,GBR,peak.day,2.20452 +2040,GASPRD,GBR,peak.peak,2.20452 +2040,GASPRD,GBR,peak.evening,2.20452 +2040,GASPRD,GBR,summer.night,2.20452 +2040,GASPRD,GBR,summer.day,2.20452 +2040,GASPRD,GBR,summer.peak,2.20452 +2040,GASPRD,GBR,summer.evening,2.20452 +2040,GASPRD,GBR,autumn.night,2.20452 +2040,GASPRD,GBR,autumn.day,2.20452 +2040,GASPRD,GBR,autumn.peak,2.20452 +2040,GASPRD,GBR,autumn.evening,2.20452 +2040,GASNAT,GBR,winter.night,2.9170059999999998 +2040,GASNAT,GBR,winter.day,2.9170059999999998 +2040,GASNAT,GBR,winter.peak,2.9170059999999998 +2040,GASNAT,GBR,winter.evening,2.9170059999999998 +2040,GASNAT,GBR,peak.night,2.9170059999999998 +2040,GASNAT,GBR,peak.day,2.9170059999999998 +2040,GASNAT,GBR,peak.peak,2.9170059999999998 +2040,GASNAT,GBR,peak.evening,2.9170059999999998 +2040,GASNAT,GBR,summer.night,2.9170059999999998 +2040,GASNAT,GBR,summer.day,2.9170059999999998 +2040,GASNAT,GBR,summer.peak,2.9170059999999998 +2040,GASNAT,GBR,summer.evening,2.9170059999999998 +2040,GASNAT,GBR,autumn.night,2.9170059999999998 +2040,GASNAT,GBR,autumn.day,2.9170059999999998 +2040,GASNAT,GBR,autumn.peak,2.9170059999999998 +2040,GASNAT,GBR,autumn.evening,2.9170059999999998 +2040,ELCTRI,GBR,winter.night,7.993308999999999 +2040,ELCTRI,GBR,winter.day,7.993308999999999 +2040,ELCTRI,GBR,winter.peak,7.993308999999999 +2040,ELCTRI,GBR,winter.evening,7.993308999999999 +2040,ELCTRI,GBR,peak.night,7.993308999999999 +2040,ELCTRI,GBR,peak.day,7.993308999999999 +2040,ELCTRI,GBR,peak.peak,7.993308999999999 +2040,ELCTRI,GBR,peak.evening,7.993308999999999 +2040,ELCTRI,GBR,summer.night,7.993308999999999 +2040,ELCTRI,GBR,summer.day,0.4 +2040,ELCTRI,GBR,summer.peak,0.4 +2040,ELCTRI,GBR,summer.evening,0.4 +2040,ELCTRI,GBR,autumn.night,7.993308999999999 +2040,ELCTRI,GBR,autumn.day,7.993308999999999 +2040,ELCTRI,GBR,autumn.peak,7.993308999999999 +2040,ELCTRI,GBR,autumn.evening,7.993308999999999 +2040,RSHEAT,GBR,winter.night,2.80779197 +2040,RSHEAT,GBR,winter.day,2.80779197 +2040,RSHEAT,GBR,winter.peak,2.80779197 +2040,RSHEAT,GBR,winter.evening,2.80779197 +2040,RSHEAT,GBR,peak.night,2.80779197 +2040,RSHEAT,GBR,peak.day,2.80779197 +2040,RSHEAT,GBR,peak.peak,2.80779197 +2040,RSHEAT,GBR,peak.evening,2.80779197 +2040,RSHEAT,GBR,summer.night,2.80779197 +2040,RSHEAT,GBR,summer.day,0.30200000000000005 +2040,RSHEAT,GBR,summer.peak,0.30200000000000005 +2040,RSHEAT,GBR,summer.evening,0.30200000000000005 +2040,RSHEAT,GBR,autumn.night,2.80779197 +2040,RSHEAT,GBR,autumn.day,2.80779197 +2040,RSHEAT,GBR,autumn.peak,2.80779197 +2040,RSHEAT,GBR,autumn.evening,2.80779197 diff --git a/tests/regression.rs b/tests/regression.rs index e4dd53b6..b60ac228 100644 --- a/tests/regression.rs +++ b/tests/regression.rs @@ -25,6 +25,7 @@ define_regression_test!(circularity); // Patched examples define_regression_test_with_patches!(simple_divisible); +define_regression_test_with_patches!(simple_npv); // ------ END: regression tests ------